Lines Matching defs:proposal
87 * Fill out a proposal array with dynamically allocated values, which may
104 fatal_f("proposal missing");
150 /* put algorithm proposal into buffer */
152 kex_prop2buf(struct sshbuf *b, char *proposal[PROPOSAL_MAX])
168 if ((r = sshbuf_put_cstring(b, proposal[i])) != 0)
177 /* parse buffer and return algorithm proposal */
184 char **proposal = NULL;
188 if ((proposal = calloc(PROPOSAL_MAX, sizeof(char *))) == NULL)
198 /* extract kex init proposal strings */
200 if ((r = sshbuf_get_cstring(b, &(proposal[i]), NULL)) != 0) {
201 error_fr(r, "parse proposal %u", i);
204 debug2("%s: %s", proposal_names[i], proposal[i]);
217 *propp = proposal;
219 if (r != 0 && proposal != NULL)
220 kex_prop_free(proposal);
226 kex_prop_free(char **proposal)
230 if (proposal == NULL)
233 free(proposal[i]);
234 free(proposal);
542 /* Remove initial KEX signalling from proposal for rekeying */
639 error_fr(r, "discard proposal");
750 kex_ready(struct ssh *ssh, char *proposal[PROPOSAL_MAX])
754 if ((r = kex_prop2buf(ssh->kex->my, proposal)) != 0)
763 kex_setup(struct ssh *ssh, char *proposal[PROPOSAL_MAX])
767 if ((r = kex_ready(ssh, proposal)) != 0)
911 debug2("proposal mismatch: my %s peer %s",
938 debug2("local %s KEXINIT proposal", kex->server ? "server" : "client");
941 debug2("peer %s KEXINIT proposal", kex->server ? "client" : "server");