Lines Matching refs:proposal
80 * Fill out a proposal array with dynamically allocated values, which may
97 fatal_f("proposal missing");
143 /* put algorithm proposal into buffer */
145 kex_prop2buf(struct sshbuf *b, char *proposal[PROPOSAL_MAX])
161 if ((r = sshbuf_put_cstring(b, proposal[i])) != 0)
170 /* parse buffer and return algorithm proposal */
177 char **proposal = NULL;
181 if ((proposal = calloc(PROPOSAL_MAX, sizeof(char *))) == NULL)
191 /* extract kex init proposal strings */
193 if ((r = sshbuf_get_cstring(b, &(proposal[i]), NULL)) != 0) {
194 error_fr(r, "parse proposal %u", i);
197 debug2("%s: %s", proposal_names[i], proposal[i]);
210 *propp = proposal;
212 if (r != 0 && proposal != NULL)
213 kex_prop_free(proposal);
219 kex_prop_free(char **proposal)
223 if (proposal == NULL)
226 free(proposal[i]);
227 free(proposal);
535 /* Remove initial KEX signalling from proposal for rekeying */
632 error_fr(r, "discard proposal");
742 kex_ready(struct ssh *ssh, char *proposal[PROPOSAL_MAX])
746 if ((r = kex_prop2buf(ssh->kex->my, proposal)) != 0)
755 kex_setup(struct ssh *ssh, char *proposal[PROPOSAL_MAX])
759 if ((r = kex_ready(ssh, proposal)) != 0)
905 debug2("proposal mismatch: my %s peer %s",
931 debug2("local %s KEXINIT proposal", kex->server ? "server" : "client");
934 debug2("peer %s KEXINIT proposal", kex->server ? "client" : "server");