comparison cli-kex.c @ 1742:6e71440b1e47 fuzz

Add fuzzer-client_nomaths, fix client fuzzer
author Matt Johnston <matt@ucc.asn.au>
date Sun, 18 Oct 2020 15:08:54 +0800
parents 8f93f37c01de
children 62ae35ff833e
comparison
equal deleted inserted replaced
1741:d1b279aa5ed1 1742:6e71440b1e47
44 44
45 void send_msg_kexdh_init() { 45 void send_msg_kexdh_init() {
46 TRACE(("send_msg_kexdh_init()")) 46 TRACE(("send_msg_kexdh_init()"))
47 47
48 CHECKCLEARTOWRITE(); 48 CHECKCLEARTOWRITE();
49
50 #if DROPBEAR_FUZZ
51 if (fuzz.fuzzing && fuzz.skip_kexmaths) {
52 return;
53 }
54 #endif
55
49 buf_putbyte(ses.writepayload, SSH_MSG_KEXDH_INIT); 56 buf_putbyte(ses.writepayload, SSH_MSG_KEXDH_INIT);
50 switch (ses.newkeys->algo_kex->mode) { 57 switch (ses.newkeys->algo_kex->mode) {
51 #if DROPBEAR_NORMAL_DH 58 #if DROPBEAR_NORMAL_DH
52 case DROPBEAR_KEX_NORMAL_DH: 59 case DROPBEAR_KEX_NORMAL_DH:
53 if (ses.newkeys->algo_kex != cli_ses.param_kex_algo 60 if (ses.newkeys->algo_kex != cli_ses.param_kex_algo
96 sign_key *hostkey = NULL; 103 sign_key *hostkey = NULL;
97 unsigned int keytype, keybloblen; 104 unsigned int keytype, keybloblen;
98 unsigned char* keyblob = NULL; 105 unsigned char* keyblob = NULL;
99 106
100 TRACE(("enter recv_msg_kexdh_reply")) 107 TRACE(("enter recv_msg_kexdh_reply"))
108
109 #if DROPBEAR_FUZZ
110 if (fuzz.fuzzing && fuzz.skip_kexmaths) {
111 return;
112 }
113 #endif
101 114
102 if (cli_ses.kex_state != KEXDH_INIT_SENT) { 115 if (cli_ses.kex_state != KEXDH_INIT_SENT) {
103 dropbear_exit("Received out-of-order kexdhreply"); 116 dropbear_exit("Received out-of-order kexdhreply");
104 } 117 }
105 keytype = ses.newkeys->algo_hostkey; 118 keytype = ses.newkeys->algo_hostkey;