*/
#include "includes.h"
-RCSID("$OpenBSD: sshconnect2.c,v 1.135 2004/03/05 10:53:58 markus Exp $");
+RCSID("$OpenBSD: sshconnect2.c,v 1.138 2004/06/13 12:53:24 djm Exp $");
#include "openbsd-compat/sys-queue.h"
#include "authfd.h"
#include "log.h"
#include "readconf.h"
-#include "readpass.h"
+#include "misc.h"
#include "match.h"
#include "dispatch.h"
#include "canohost.h"
/* start key exchange */
kex = kex_setup(myproposal);
kex->kex[KEX_DH_GRP1_SHA1] = kexdh_client;
+ kex->kex[KEX_DH_GRP14_SHA1] = kexdh_client;
kex->kex[KEX_DH_GEX_SHA1] = kexgex_client;
#ifdef GSSAPI
kex->kex[KEX_GSS_GRP1_SHA1] = kexgss_client;
* moved to the end of the queue. this also avoids confusion by
* duplicate keys
*/
- TAILQ_FOREACH_REVERSE(id, &authctxt->keys, next, idlist) {
+ TAILQ_FOREACH_REVERSE(id, &authctxt->keys, idlist, next) {
if (key_equal(key, id->key)) {
sent = sign_and_send_pubkey(authctxt, id);
break;
/* My DER encoding requires length<128 */
if (gss_supported->elements[mech].length < 128 &&
+ ssh_gssapi_check_mechanism(&gss_supported->elements[mech],
+ get_canonical_hostname(1)) &&
!GSS_ERROR(ssh_gssapi_import_name(gssctxt,
get_canonical_hostname(1)))) {
ok = 1; /* Mechanism works */