]> andersk Git - openssh.git/blobdiff - sshconnect2.c
- (dtucker) [auth-pam.c scard-opensc.c] Tinderbox says auth-pam.c uses
[openssh.git] / sshconnect2.c
index 76670e8a8a778f9d7943b005335a428f3856df2d..06d88428561d7603978d79fdb24b3aa93b2e6802 100644 (file)
@@ -23,7 +23,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: sshconnect2.c,v 1.133 2003/11/21 11:57:03 djm Exp $");
+RCSID("$OpenBSD: sshconnect2.c,v 1.137 2004/05/08 00:21:31 djm Exp $");
 
 #include "openbsd-compat/sys-queue.h"
 
@@ -43,7 +43,7 @@ RCSID("$OpenBSD: sshconnect2.c,v 1.133 2003/11/21 11:57:03 djm Exp $");
 #include "authfd.h"
 #include "log.h"
 #include "readconf.h"
-#include "readpass.h"
+#include "misc.h"
 #include "match.h"
 #include "dispatch.h"
 #include "canohost.h"
@@ -458,7 +458,7 @@ input_userauth_pk_ok(int type, u_int32_t seq, void *ctxt)
         * 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;
@@ -546,7 +546,7 @@ process_gssapi_token(void *ctxt, gss_buffer_t recv_tok)
        gss_buffer_desc gssbuf, mic;
        OM_uint32 status, ms, flags;
        Buffer b;
-       
+
        status = ssh_gssapi_init_ctx(gssctxt, options.gss_deleg_creds,
            recv_tok, &send_tok, &flags);
 
@@ -555,12 +555,12 @@ process_gssapi_token(void *ctxt, gss_buffer_t recv_tok)
                        packet_start(SSH2_MSG_USERAUTH_GSSAPI_ERRTOK);
                else
                        packet_start(SSH2_MSG_USERAUTH_GSSAPI_TOKEN);
-                       
+
                packet_put_string(send_tok.value, send_tok.length);
                packet_send();
                gss_release_buffer(&ms, &send_tok);
        }
-       
+
        if (status == GSS_S_COMPLETE) {
                /* send either complete or MIC, depending on mechanism */
                if (!(flags & GSS_C_INTEG_FLAG)) {
@@ -572,21 +572,21 @@ process_gssapi_token(void *ctxt, gss_buffer_t recv_tok)
 
                        gssbuf.value = buffer_ptr(&b);
                        gssbuf.length = buffer_len(&b);
-                       
+
                        status = ssh_gssapi_sign(gssctxt, &gssbuf, &mic);
-                       
+
                        if (!GSS_ERROR(status)) {
                                packet_start(SSH2_MSG_USERAUTH_GSSAPI_MIC);
                                packet_put_string(mic.value, mic.length);
-                               
+
                                packet_send();
                        }
-                               
+
                        buffer_free(&b);
                        gss_release_buffer(&ms, &mic);
-               }       
+               }
        }
-       
+
        return status;
 }
 
@@ -1044,7 +1044,7 @@ pubkey_prepare(Authctxt *authctxt)
                                        break;
                                }
                        }
-                       if (!found) {
+                       if (!found && !options.identities_only) {
                                id = xmalloc(sizeof(*id));
                                memset(id, 0, sizeof(*id));
                                id->key = key;
@@ -1267,7 +1267,7 @@ ssh_keysign(Key *key, u_char **sigp, u_int *lenp,
 
        if (ssh_msg_recv(from[0], &b) < 0) {
                error("ssh_keysign: no reply");
-               buffer_clear(&b);
+               buffer_free(&b);
                return -1;
        }
        close(from[0]);
@@ -1279,11 +1279,11 @@ ssh_keysign(Key *key, u_char **sigp, u_int *lenp,
 
        if (buffer_get_char(&b) != version) {
                error("ssh_keysign: bad version");
-               buffer_clear(&b);
+               buffer_free(&b);
                return -1;
        }
        *sigp = buffer_get_string(&b, lenp);
-       buffer_clear(&b);
+       buffer_free(&b);
 
        return 0;
 }
This page took 0.037617 seconds and 4 git commands to generate.