comparison session.h @ 1681:435cfb9ec96e

send and handle SSH_MSG_EXT_INFO only at the correct point - other fixes for rsa pubkey auth - only include ext-info handling when rsa pubkey auth is compiled
author Matt Johnston <matt@ucc.asn.au>
date Sun, 24 May 2020 14:16:58 +0800
parents d5cdc60db08e
children 41bf8f216644
comparison
equal deleted inserted replaced
1680:5e763ad6e2e0 1681:435cfb9ec96e
184 can add it to the hash when generating keys */ 184 can add it to the hash when generating keys */
185 185
186 /* Enables/disables compression */ 186 /* Enables/disables compression */
187 algo_type *compress_algos; 187 algo_type *compress_algos;
188 188
189 /* Other side allows SSH_MSG_EXT_INFO */ 189 /* Other side allows SSH_MSG_EXT_INFO. Currently only set for server */
190 int allow_ext_info; 190 int allow_ext_info;
191 191
192 /* a list of queued replies that should be sent after a KEX has 192 /* a list of queued replies that should be sent after a KEX has
193 concluded (ie, while dataallowed was unset)*/ 193 concluded (ie, while dataallowed was unset)*/
194 struct packetlist *reply_queue_head, *reply_queue_tail; 194 struct packetlist *reply_queue_head, *reply_queue_tail;
251 #if DROPBEAR_VFORK 251 #if DROPBEAR_VFORK
252 pid_t server_pid; 252 pid_t server_pid;
253 #endif 253 #endif
254 254
255 #if DROPBEAR_PLUGIN 255 #if DROPBEAR_PLUGIN
256 /* The shared library handle */ 256 /* The shared library handle */
257 void *plugin_handle; 257 void *plugin_handle;
258 258
259 /* The instance created by the plugin_new function */ 259 /* The instance created by the plugin_new function */
260 struct PluginInstance *plugin_instance; 260 struct PluginInstance *plugin_instance;
261 #endif 261 #endif
262
263 }; 262 };
264 263
265 typedef enum { 264 typedef enum {
266 KEX_NOTHING, 265 KEX_NOTHING,
267 KEXINIT_RCVD, 266 KEXINIT_RCVD,
286 struct kex_curve25519_param *curve25519_param; 285 struct kex_curve25519_param *curve25519_param;
287 const struct dropbear_kex *param_kex_algo; /* KEX algorithm corresponding to current dh_e and dh_x */ 286 const struct dropbear_kex *param_kex_algo; /* KEX algorithm corresponding to current dh_e and dh_x */
288 287
289 cli_kex_state kex_state; /* Used for progressing KEX */ 288 cli_kex_state kex_state; /* Used for progressing KEX */
290 cli_state state; /* Used to progress auth/channelsession etc */ 289 cli_state state; /* Used to progress auth/channelsession etc */
291 unsigned donefirstkex : 1; /* Set when we set sentnewkeys, never reset */
292 290
293 int tty_raw_mode; /* Whether we're in raw mode (and have to clean up) */ 291 int tty_raw_mode; /* Whether we're in raw mode (and have to clean up) */
294 struct termios saved_tio; 292 struct termios saved_tio;
295 int stdincopy; 293 int stdincopy;
296 int stdinflags; 294 int stdinflags;