]> andersk Git - gssapi-openssh.git/blobdiff - openssh/auth.h
Import of OpenSSH 3.7p1
[gssapi-openssh.git] / openssh / auth.h
index c75d75366bca2ff823691d572b28d5fa4bafc04d..beaacb8bc9350109ef84f219ada19c6da4e64a01 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: auth.h,v 1.41 2002/09/26 11:38:43 markus Exp $        */
+/*     $OpenBSD: auth.h,v 1.46 2003/08/28 12:54:34 markus Exp $        */
 
 /*
  * Copyright (c) 2000 Markus Friedl.  All rights reserved.
@@ -48,29 +48,32 @@ typedef struct KbdintDevice KbdintDevice;
 
 struct Authctxt {
        int              success;
-       int              postponed;
-       int              valid;
+       int              postponed;     /* authentication needs another step */
+       int              valid;         /* user exists and is allowed to login */
        int              attempt;
        int              failures;
-       char            *user;
+       char            *user;          /* username sent by the client */
        char            *service;
-       struct passwd   *pw;
+       struct passwd   *pw;            /* set if 'valid' */
        char            *style;
        void            *kbdintctxt;
 #ifdef BSD_AUTH
        auth_session_t  *as;
 #endif
-#ifdef KRB4
-       char            *krb4_ticket_file;
-#endif
 #ifdef KRB5
        krb5_context     krb5_ctx;
-       krb5_auth_context krb5_auth_ctx;
        krb5_ccache      krb5_fwd_ccache;
        krb5_principal   krb5_user;
        char            *krb5_ticket_file;
 #endif
+       void            *methoddata;
 };
+/*
+ * Every authentication method has to handle authentication requests for
+ * non-existing users, or for users that are not allowed to login. In this
+ * case 'valid' is set to 0, but 'user' points to the username requested by
+ * the client.
+ */
 
 struct Authmethod {
        char    *name;
@@ -111,20 +114,6 @@ int         auth_rhosts_rsa_key_allowed(struct passwd *, char *, char *, Key *);
 int     hostbased_key_allowed(struct passwd *, const char *, char *, Key *);
 int     user_key_allowed(struct passwd *, Key *);
 
-#ifdef KRB4
-#include <krb.h>
-int     auth_krb4(Authctxt *, KTEXT, char **, KTEXT);
-int    auth_krb4_password(Authctxt *, const char *);
-void    krb4_cleanup_proc(void *);
-
-#ifdef AFS
-#include <kafs.h>
-int     auth_krb4_tgt(Authctxt *, const char *);
-int     auth_afs_token(Authctxt *, const char *);
-#endif /* AFS */
-
-#endif /* KRB4 */
-
 #ifdef KRB5
 int    auth_krb5(Authctxt *authctxt, krb5_data *auth, char **client, krb5_data *);
 int    auth_krb5_tgt(Authctxt *authctxt, krb5_data *tgt);
@@ -133,7 +122,6 @@ void        krb5_cleanup_proc(void *authctxt);
 #endif /* KRB5 */
 
 #include "auth-pam.h"
-#include "auth2-pam.h"
 
 Authctxt *do_authentication(void);
 Authctxt *do_authentication2(void);
@@ -159,6 +147,7 @@ struct passwd * getpwnamallow(const char *user);
 
 char   *get_challenge(Authctxt *);
 int    verify_response(Authctxt *, const char *);
+void   abandon_challenge_response(Authctxt *);
 
 struct passwd * auth_get_user(void);
 
@@ -184,6 +173,8 @@ void         auth_debug_add(const char *fmt,...) __attribute__((format(printf, 1, 2)));
 void    auth_debug_send(void);
 void    auth_debug_reset(void);
 
+struct passwd *fakepw(void);
+
 #define AUTH_FAIL_MAX 6
 #define AUTH_FAIL_LOG (AUTH_FAIL_MAX/2)
 #define AUTH_FAIL_MSG "Too many authentication failures for %.100s"
This page took 0.037241 seconds and 4 git commands to generate.