if (options.rekey_limit) packet_set_rekey_limit(options.rekey_limit);
ssh_kex2(char *host, struct sockaddr *hostaddr){	Kex *kex;	xxx_host = host;	xxx_hostaddr = hostaddr;	if (options.ciphers == (char *)-1) {		log("No valid ciphers for protocol version 2 given, using defaults.");		options.ciphers = NULL;	}	if (options.ciphers != NULL) {		myproposal[PROPOSAL_ENC_ALGS_CTOS] =		myproposal[PROPOSAL_ENC_ALGS_STOC] = options.ciphers;	}	myproposal[PROPOSAL_ENC_ALGS_CTOS] =	    compat_cipher_proposal(myproposal[PROPOSAL_ENC_ALGS_CTOS]);	myproposal[PROPOSAL_ENC_ALGS_STOC] =	    compat_cipher_proposal(myproposal[PROPOSAL_ENC_ALGS_STOC]);	if (options.compression) {		myproposal[PROPOSAL_COMP_ALGS_CTOS] =		myproposal[PROPOSAL_COMP_ALGS_STOC] = "zlib,none";	} else {		myproposal[PROPOSAL_COMP_ALGS_CTOS] =		myproposal[PROPOSAL_COMP_ALGS_STOC] = "none,zlib";	}	if (options.macs != NULL) {		myproposal[PROPOSAL_MAC_ALGS_CTOS] =		myproposal[PROPOSAL_MAC_ALGS_STOC] = options.macs;	}	if (options.hostkeyalgorithms != NULL)		myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] =		    options.hostkeyalgorithms;	/* start key exchange */	kex = kex_setup(myproposal);	kex->kex[KEX_DH_GRP1_SHA1] = kexdh_client;	kex->kex[KEX_DH_GEX_SHA1] = kexgex_client;	kex->client_version_string=client_version_string;	kex->server_version_string=server_version_string;	kex->verify_host_key=&verify_host_key_callback;	xxx_kex = kex;	dispatch_run(DISPATCH_BLOCK, &kex->done, kex);	session_id2 = kex->session_id;	session_id2_len = kex->session_id_len;#ifdef DEBUG_KEXDH	/* send 1st encrypted/maced/compressed message */	packet_start(SSH2_MSG_IGNORE);	packet_put_cstring("markus");	packet_send();	packet_write_wait();#endif}