Mercurial > dropbear
comparison svr-tcpfwd.c @ 1121:bb3a03feb31f
Merge pull request #13 from gazoo74/fix-warnings
Fix warnings
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Thu, 04 Jun 2015 22:25:28 +0800 |
parents | db7963049308 |
children | aaf576b27a10 |
comparison
equal
deleted
inserted
replaced
1087:1e486f368ec3 | 1121:bb3a03feb31f |
---|---|
63 /* At the moment this is completely used for tcp code (with the name reflecting | 63 /* At the moment this is completely used for tcp code (with the name reflecting |
64 * that). If new request types are added, this should be replaced with code | 64 * that). If new request types are added, this should be replaced with code |
65 * similar to the request-switching in chansession.c */ | 65 * similar to the request-switching in chansession.c */ |
66 void recv_msg_global_request_remotetcp() { | 66 void recv_msg_global_request_remotetcp() { |
67 | 67 |
68 unsigned char* reqname = NULL; | 68 char* reqname = NULL; |
69 unsigned int namelen; | 69 unsigned int namelen; |
70 unsigned int wantreply = 0; | 70 unsigned int wantreply = 0; |
71 int ret = DROPBEAR_FAILURE; | 71 int ret = DROPBEAR_FAILURE; |
72 | 72 |
73 TRACE(("enter recv_msg_global_request_remotetcp")) | 73 TRACE(("enter recv_msg_global_request_remotetcp")) |
75 if (svr_opts.noremotetcp || !svr_pubkey_allows_tcpfwd()) { | 75 if (svr_opts.noremotetcp || !svr_pubkey_allows_tcpfwd()) { |
76 TRACE(("leave recv_msg_global_request_remotetcp: remote tcp forwarding disabled")) | 76 TRACE(("leave recv_msg_global_request_remotetcp: remote tcp forwarding disabled")) |
77 goto out; | 77 goto out; |
78 } | 78 } |
79 | 79 |
80 reqname = buf_getstring(ses.payload, &namelen); | 80 reqname = (char *)buf_getstring(ses.payload, &namelen); |
81 wantreply = buf_getbool(ses.payload); | 81 wantreply = buf_getbool(ses.payload); |
82 | 82 |
83 if (namelen > MAX_NAME_LEN) { | 83 if (namelen > MAX_NAME_LEN) { |
84 TRACE(("name len is wrong: %d", namelen)) | 84 TRACE(("name len is wrong: %d", namelen)) |
85 goto out; | 85 goto out; |
118 } | 118 } |
119 | 119 |
120 static int svr_cancelremotetcp() { | 120 static int svr_cancelremotetcp() { |
121 | 121 |
122 int ret = DROPBEAR_FAILURE; | 122 int ret = DROPBEAR_FAILURE; |
123 unsigned char * bindaddr = NULL; | 123 char * bindaddr = NULL; |
124 unsigned int addrlen; | 124 unsigned int addrlen; |
125 unsigned int port; | 125 unsigned int port; |
126 struct Listener * listener = NULL; | 126 struct Listener * listener = NULL; |
127 struct TCPListener tcpinfo; | 127 struct TCPListener tcpinfo; |
128 | 128 |
129 TRACE(("enter cancelremotetcp")) | 129 TRACE(("enter cancelremotetcp")) |
130 | 130 |
131 bindaddr = buf_getstring(ses.payload, &addrlen); | 131 bindaddr = (char *)buf_getstring(ses.payload, &addrlen); |
132 if (addrlen > MAX_IP_LEN) { | 132 if (addrlen > MAX_IP_LEN) { |
133 TRACE(("addr len too long: %d", addrlen)) | 133 TRACE(("addr len too long: %d", addrlen)) |
134 goto out; | 134 goto out; |
135 } | 135 } |
136 | 136 |
153 } | 153 } |
154 | 154 |
155 static int svr_remotetcpreq() { | 155 static int svr_remotetcpreq() { |
156 | 156 |
157 int ret = DROPBEAR_FAILURE; | 157 int ret = DROPBEAR_FAILURE; |
158 unsigned char * request_addr = NULL; | 158 char * request_addr = NULL; |
159 unsigned int addrlen; | 159 unsigned int addrlen; |
160 struct TCPListener *tcpinfo = NULL; | 160 struct TCPListener *tcpinfo = NULL; |
161 unsigned int port; | 161 unsigned int port; |
162 | 162 |
163 TRACE(("enter remotetcpreq")) | 163 TRACE(("enter remotetcpreq")) |
164 | 164 |
165 request_addr = buf_getstring(ses.payload, &addrlen); | 165 request_addr = (char *)buf_getstring(ses.payload, &addrlen); |
166 if (addrlen > MAX_IP_LEN) { | 166 if (addrlen > MAX_IP_LEN) { |
167 TRACE(("addr len too long: %d", addrlen)) | 167 TRACE(("addr len too long: %d", addrlen)) |
168 goto out; | 168 goto out; |
169 } | 169 } |
170 | 170 |
230 | 230 |
231 /* Called upon creating a new direct tcp channel (ie we connect out to an | 231 /* Called upon creating a new direct tcp channel (ie we connect out to an |
232 * address */ | 232 * address */ |
233 static int newtcpdirect(struct Channel * channel) { | 233 static int newtcpdirect(struct Channel * channel) { |
234 | 234 |
235 unsigned char* desthost = NULL; | 235 char* desthost = NULL; |
236 unsigned int destport; | 236 unsigned int destport; |
237 unsigned char* orighost = NULL; | 237 char* orighost = NULL; |
238 unsigned int origport; | 238 unsigned int origport; |
239 char portstring[NI_MAXSERV]; | 239 char portstring[NI_MAXSERV]; |
240 int len; | 240 unsigned int len; |
241 int err = SSH_OPEN_ADMINISTRATIVELY_PROHIBITED; | 241 int err = SSH_OPEN_ADMINISTRATIVELY_PROHIBITED; |
242 | 242 |
243 TRACE(("newtcpdirect channel %d", channel->index)) | 243 TRACE(("newtcpdirect channel %d", channel->index)) |
244 | 244 |
245 if (svr_opts.nolocaltcp || !svr_pubkey_allows_tcpfwd()) { | 245 if (svr_opts.nolocaltcp || !svr_pubkey_allows_tcpfwd()) { |
246 TRACE(("leave newtcpdirect: local tcp forwarding disabled")) | 246 TRACE(("leave newtcpdirect: local tcp forwarding disabled")) |
247 goto out; | 247 goto out; |
248 } | 248 } |
249 | 249 |
250 desthost = buf_getstring(ses.payload, &len); | 250 desthost = (char *)buf_getstring(ses.payload, &len); |
251 if (len > MAX_HOST_LEN) { | 251 if (len > MAX_HOST_LEN) { |
252 TRACE(("leave newtcpdirect: desthost too long")) | 252 TRACE(("leave newtcpdirect: desthost too long")) |
253 goto out; | 253 goto out; |
254 } | 254 } |
255 | 255 |
256 destport = buf_getint(ses.payload); | 256 destport = buf_getint(ses.payload); |
257 | 257 |
258 orighost = buf_getstring(ses.payload, &len); | 258 orighost = (char *)buf_getstring(ses.payload, &len); |
259 if (len > MAX_HOST_LEN) { | 259 if (len > MAX_HOST_LEN) { |
260 TRACE(("leave newtcpdirect: orighost too long")) | 260 TRACE(("leave newtcpdirect: orighost too long")) |
261 goto out; | 261 goto out; |
262 } | 262 } |
263 | 263 |