comparison session.h @ 747:077bbe1eb220

merge kexguess branch
author Matt Johnston <matt@ucc.asn.au>
date Wed, 03 Apr 2013 00:49:24 +0800
parents 70811267715c 15999b098cc9
children d63ef1e211ea
comparison
equal deleted inserted replaced
736:0b854ab00333 747:077bbe1eb220
169 169
170 /* a list of queued replies that should be sent after a KEX has 170 /* a list of queued replies that should be sent after a KEX has
171 concluded (ie, while dataallowed was unset)*/ 171 concluded (ie, while dataallowed was unset)*/
172 struct packetlist *reply_queue_head, *reply_queue_tail; 172 struct packetlist *reply_queue_head, *reply_queue_tail;
173 173
174 algo_type*(*buf_match_algo)(buffer*buf, algo_type localalgos[],
175 int *goodguess); /* The function to use to choose which algorithm
176 to use from the ones presented by the remote
177 side. Is specific to the client/server mode,
178 hence the function-pointer callback.*/
179
180 void(*remoteclosed)(); /* A callback to handle closure of the 174 void(*remoteclosed)(); /* A callback to handle closure of the
181 remote connection */ 175 remote connection */
182 176
183 void(*extra_session_cleanup)(); /* client or server specific cleanup */ 177 void(*extra_session_cleanup)(); /* client or server specific cleanup */
178 void(*send_kex_first_guess)();
184 179
185 struct AuthState authstate; /* Common amongst client and server, since most 180 struct AuthState authstate; /* Common amongst client and server, since most
186 struct elements are common */ 181 struct elements are common */
187 182
188 /* Channel related */ 183 /* Channel related */
243 } cli_state; 238 } cli_state;
244 239
245 struct clientsession { 240 struct clientsession {
246 241
247 mp_int *dh_e, *dh_x; /* Used during KEX */ 242 mp_int *dh_e, *dh_x; /* Used during KEX */
243 int dh_val_algo; /* KEX algorithm corresponding to current dh_e and dh_x */
248 cli_kex_state kex_state; /* Used for progressing KEX */ 244 cli_kex_state kex_state; /* Used for progressing KEX */
249 cli_state state; /* Used to progress auth/channelsession etc */ 245 cli_state state; /* Used to progress auth/channelsession etc */
250 unsigned donefirstkex : 1; /* Set when we set sentnewkeys, never reset */ 246 unsigned donefirstkex : 1; /* Set when we set sentnewkeys, never reset */
251 247
252 int tty_raw_mode; /* Whether we're in raw mode (and have to clean up) */ 248 int tty_raw_mode; /* Whether we're in raw mode (and have to clean up) */