comparison session.h @ 1683:41bf8f216644

merge rsa-sha256
author Matt Johnston <matt@ucc.asn.au>
date Tue, 26 May 2020 00:24:02 +0800
parents e0871128e61f 435cfb9ec96e
children d1b279aa5ed1
comparison
equal deleted inserted replaced
1673:e0871128e61f 1683:41bf8f216644
100 100
101 struct key_context_directional recv; 101 struct key_context_directional recv;
102 struct key_context_directional trans; 102 struct key_context_directional trans;
103 103
104 const struct dropbear_kex *algo_kex; 104 const struct dropbear_kex *algo_kex;
105 int algo_hostkey; 105 enum signkey_type algo_hostkey; /* server key type */
106 enum signature_type algo_signature; /* server signature type */
106 107
107 int allow_compress; /* whether compression has started (useful in 108 int allow_compress; /* whether compression has started (useful in
108 [email protected] delayed compression case) */ 109 [email protected] delayed compression case) */
109 }; 110 };
110 111
192 buffer* transkexinit; /* the kexinit packet we send should be kept so we 193 buffer* transkexinit; /* the kexinit packet we send should be kept so we
193 can add it to the hash when generating keys */ 194 can add it to the hash when generating keys */
194 195
195 /* Enables/disables compression */ 196 /* Enables/disables compression */
196 algo_type *compress_algos; 197 algo_type *compress_algos;
198
199 /* Other side allows SSH_MSG_EXT_INFO. Currently only set for server */
200 int allow_ext_info;
197 201
198 /* a list of queued replies that should be sent after a KEX has 202 /* a list of queued replies that should be sent after a KEX has
199 concluded (ie, while dataallowed was unset)*/ 203 concluded (ie, while dataallowed was unset)*/
200 struct packetlist *reply_queue_head, *reply_queue_tail; 204 struct packetlist *reply_queue_head, *reply_queue_tail;
201 205
257 #if DROPBEAR_VFORK 261 #if DROPBEAR_VFORK
258 pid_t server_pid; 262 pid_t server_pid;
259 #endif 263 #endif
260 264
261 #if DROPBEAR_PLUGIN 265 #if DROPBEAR_PLUGIN
262 /* The shared library handle */ 266 /* The shared library handle */
263 void *plugin_handle; 267 void *plugin_handle;
264 268
265 /* The instance created by the plugin_new function */ 269 /* The instance created by the plugin_new function */
266 struct PluginInstance *plugin_instance; 270 struct PluginInstance *plugin_instance;
267 #endif 271 #endif
268
269 }; 272 };
270 273
271 typedef enum { 274 typedef enum {
272 KEX_NOTHING, 275 KEX_NOTHING,
273 KEXINIT_RCVD, 276 KEXINIT_RCVD,
292 struct kex_curve25519_param *curve25519_param; 295 struct kex_curve25519_param *curve25519_param;
293 const struct dropbear_kex *param_kex_algo; /* KEX algorithm corresponding to current dh_e and dh_x */ 296 const struct dropbear_kex *param_kex_algo; /* KEX algorithm corresponding to current dh_e and dh_x */
294 297
295 cli_kex_state kex_state; /* Used for progressing KEX */ 298 cli_kex_state kex_state; /* Used for progressing KEX */
296 cli_state state; /* Used to progress auth/channelsession etc */ 299 cli_state state; /* Used to progress auth/channelsession etc */
297 unsigned donefirstkex : 1; /* Set when we set sentnewkeys, never reset */
298 300
299 int tty_raw_mode; /* Whether we're in raw mode (and have to clean up) */ 301 int tty_raw_mode; /* Whether we're in raw mode (and have to clean up) */
300 struct termios saved_tio; 302 struct termios saved_tio;
301 int stdincopy; 303 int stdincopy;
302 int stdinflags; 304 int stdinflags;
320 info request from the server for 322 info request from the server for
321 interactive auth.*/ 323 interactive auth.*/
322 #endif 324 #endif
323 sign_key *lastprivkey; 325 sign_key *lastprivkey;
324 326
327 buffer *server_sig_algs;
328
325 int retval; /* What the command exit status was - we emulate it */ 329 int retval; /* What the command exit status was - we emulate it */
326 #if 0 330 #if 0
327 TODO 331 TODO
328 struct AgentkeyList *agentkeys; /* Keys to use for public-key auth */ 332 struct AgentkeyList *agentkeys; /* Keys to use for public-key auth */
329 #endif 333 #endif