comparison session.h @ 1511:5916af64acd4 fuzz

merge from main
author Matt Johnston <matt@ucc.asn.au>
date Sat, 17 Feb 2018 19:29:51 +0800
parents 0c16b4ccbd54
children d68d61e7056a
comparison
equal deleted inserted replaced
1457:32f990cc96b1 1511:5916af64acd4
38 #include "tcpfwd.h" 38 #include "tcpfwd.h"
39 #include "chansession.h" 39 #include "chansession.h"
40 #include "dbutil.h" 40 #include "dbutil.h"
41 #include "netio.h" 41 #include "netio.h"
42 42
43 extern int sessinitdone; /* Is set to 0 somewhere */
44 extern int exitflag;
45
46 void common_session_init(int sock_in, int sock_out); 43 void common_session_init(int sock_in, int sock_out);
47 void session_loop(void(*loophandler)()) ATTRIB_NORETURN; 44 void session_loop(void(*loophandler)()) ATTRIB_NORETURN;
48 void session_cleanup(void); 45 void session_cleanup(void);
49 void send_session_identification(void); 46 void send_session_identification(void);
50 void send_msg_ignore(void); 47 void send_msg_ignore(void);
155 152
156 unsigned char lastpacket; /* What the last received packet type was */ 153 unsigned char lastpacket; /* What the last received packet type was */
157 154
158 int signal_pipe[2]; /* stores endpoints of a self-pipe used for 155 int signal_pipe[2]; /* stores endpoints of a self-pipe used for
159 race-free signal handling */ 156 race-free signal handling */
157 int channel_signal_pending; /* Flag set when the signal pipe is triggered */
160 158
161 m_list conn_pending; 159 m_list conn_pending;
162 160
163 /* time of the last packet send/receive, for keepalive. Not real-world clock */ 161 /* time of the last packet send/receive, for keepalive. Not real-world clock */
164 time_t last_packet_time_keepalive_sent; 162 time_t last_packet_time_keepalive_sent;
201 /* Channel related */ 199 /* Channel related */
202 struct Channel ** channels; /* these pointers may be null */ 200 struct Channel ** channels; /* these pointers may be null */
203 unsigned int chansize; /* the number of Channel*s allocated for channels */ 201 unsigned int chansize; /* the number of Channel*s allocated for channels */
204 unsigned int chancount; /* the number of Channel*s in use */ 202 unsigned int chancount; /* the number of Channel*s in use */
205 const struct ChanType **chantypes; /* The valid channel types */ 203 const struct ChanType **chantypes; /* The valid channel types */
206 int channel_signal_pending; /* Flag set by sigchld handler */
207 204
208 /* TCP priority level for the main "port 22" tcp socket */ 205 /* TCP priority level for the main "port 22" tcp socket */
209 enum dropbear_prio socket_prio; 206 enum dropbear_prio socket_prio;
210 207
211 /* TCP forwarding - where manage listeners */ 208 /* TCP forwarding - where manage listeners */
214 211
215 /* Whether to allow binding to privileged ports (<1024). This doesn't 212 /* Whether to allow binding to privileged ports (<1024). This doesn't
216 * really belong here, but nowhere else fits nicely */ 213 * really belong here, but nowhere else fits nicely */
217 int allowprivport; 214 int allowprivport;
218 215
216 /* this is set when we get SIGINT or SIGTERM, the handler is in main.c */
217 volatile int exitflag;
218 /* set once the ses structure (and cli_ses/svr_ses) have been populated to their initial state */
219 int init_done;
219 }; 220 };
220 221
221 struct serversession { 222 struct serversession {
222 223
223 /* Server specific options */ 224 /* Server specific options */
281 int stderrflags; 282 int stderrflags;
282 283
283 /* for escape char handling */ 284 /* for escape char handling */
284 int last_char; 285 int last_char;
285 286
286 int winchange; /* Set to 1 when a windowchange signal happens */ 287 volatile int winchange; /* Set to 1 when a windowchange signal happens */
287 288
288 int lastauthtype; /* either AUTH_TYPE_PUBKEY or AUTH_TYPE_PASSWORD, 289 int lastauthtype; /* either AUTH_TYPE_PUBKEY or AUTH_TYPE_PASSWORD,
289 for the last type of auth we tried */ 290 for the last type of auth we tried */
290 int ignore_next_auth_response; 291 int ignore_next_auth_response;
291 #if DROPBEAR_CLI_INTERACT_AUTH 292 #if DROPBEAR_CLI_INTERACT_AUTH
293 be used */ 294 be used */
294 int interact_request_received; /* flag whether we've received an 295 int interact_request_received; /* flag whether we've received an
295 info request from the server for 296 info request from the server for
296 interactive auth.*/ 297 interactive auth.*/
297 #endif 298 #endif
298 int cipher_none_after_auth; /* Set to 1 if the user requested "none"
299 auth */
300 sign_key *lastprivkey; 299 sign_key *lastprivkey;
301 300
302 int retval; /* What the command exit status was - we emulate it */ 301 int retval; /* What the command exit status was - we emulate it */
303 #if 0 302 #if 0
304 TODO 303 TODO