Mercurial > dropbear
annotate cli-channel.c @ 240:581f81e8c50c
common session initialiser doesn't need to call
chansessioninnitialise(), fix up header definition
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Mon, 05 Sep 2005 12:13:44 +0000 |
parents | 161557a9dde8 |
children | 1c7bf9cec6c8 |
rev | line source |
---|---|
107 | 1 /* |
2 * Dropbear SSH | |
3 * | |
4 * Copyright (c) 2002-2004 Matt Johnston | |
5 * All rights reserved. | |
6 * | |
7 * Permission is hereby granted, free of charge, to any person obtaining a copy | |
8 * of this software and associated documentation files (the "Software"), to deal | |
9 * in the Software without restriction, including without limitation the rights | |
10 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
11 * copies of the Software, and to permit persons to whom the Software is | |
12 * furnished to do so, subject to the following conditions: | |
13 * | |
14 * The above copyright notice and this permission notice shall be included in | |
15 * all copies or substantial portions of the Software. | |
16 * | |
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
18 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
20 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
21 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
22 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | |
23 * SOFTWARE. */ | |
24 | |
25 #include "includes.h" | |
26 #include "channel.h" | |
27 #include "buffer.h" | |
28 #include "circbuffer.h" | |
29 #include "dbutil.h" | |
30 #include "session.h" | |
31 #include "ssh.h" | |
32 | |
33 /* We receive channel data - only used by the client chansession code*/ | |
34 void recv_msg_channel_extended_data() { | |
35 | |
36 struct Channel *channel; | |
37 unsigned int datatype; | |
38 | |
165
0cfba3034be5
Fixed DEBUG_TRACE macro so that we don't get semicolons left about the place
Matt Johnston <matt@ucc.asn.au>
parents:
107
diff
changeset
|
39 TRACE(("enter recv_msg_channel_extended_data")) |
107 | 40 |
179
161557a9dde8
* fix longstanding bug with connections being closed on failure to
Matt Johnston <matt@ucc.asn.au>
parents:
165
diff
changeset
|
41 channel = getchannel(); |
107 | 42 if (channel == NULL) { |
43 dropbear_exit("Unknown channel"); | |
44 } | |
45 | |
46 if (channel->type != &clichansess) { | |
165
0cfba3034be5
Fixed DEBUG_TRACE macro so that we don't get semicolons left about the place
Matt Johnston <matt@ucc.asn.au>
parents:
107
diff
changeset
|
47 TRACE(("leave recv_msg_channel_extended_data: chantype is wrong")) |
107 | 48 return; /* we just ignore it */ |
49 } | |
50 | |
51 datatype = buf_getint(ses.payload); | |
52 | |
53 if (datatype != SSH_EXTENDED_DATA_STDERR) { | |
54 TRACE(("leave recv_msg_channel_extended_data: wrong datatype: %d", | |
165
0cfba3034be5
Fixed DEBUG_TRACE macro so that we don't get semicolons left about the place
Matt Johnston <matt@ucc.asn.au>
parents:
107
diff
changeset
|
55 datatype)) |
107 | 56 return; |
57 } | |
58 | |
59 common_recv_msg_channel_data(channel, channel->errfd, channel->extrabuf); | |
60 | |
165
0cfba3034be5
Fixed DEBUG_TRACE macro so that we don't get semicolons left about the place
Matt Johnston <matt@ucc.asn.au>
parents:
107
diff
changeset
|
61 TRACE(("leave recv_msg_channel_extended_data")) |
107 | 62 } |