]> andersk Git - openssh.git/blobdiff - auth.h
- markus@cvs.openbsd.org 2002/01/11 13:39:36
[openssh.git] / auth.h
diff --git a/auth.h b/auth.h
index a299441136c375423310cab27bad364409a9eb54..ef2772d89cefb3d702c033021ad09b5a13a65f49 100644 (file)
--- a/auth.h
+++ b/auth.h
@@ -21,7 +21,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $OpenBSD: auth.h,v 1.20 2001/06/26 06:32:47 itojun Exp $
+ * $OpenBSD: auth.h,v 1.26 2001/12/27 19:54:53 markus Exp $
  */
 #ifndef AUTH_H
 #define AUTH_H
 #ifdef BSD_AUTH
 #include <bsd_auth.h>
 #endif
+#ifdef KRB5
+#include <krb5.h>
+#endif
 
 typedef struct Authctxt Authctxt;
 typedef struct KbdintDevice KbdintDevice;
 
 struct Authctxt {
-       int success;
-       int postponed;
-       int valid;
-       int attempt;
-       int failures;
-       char *user;
-       char *service;
-       struct passwd *pw;
-       char *style;
-       void *kbdintctxt;
+       int              success;
+       int              postponed;
+       int              valid;
+       int              attempt;
+       int              failures;
+       char            *user;
+       char            *service;
+       struct passwd   *pw;
+       char            *style;
+       void            *kbdintctxt;
 #ifdef BSD_AUTH
-       auth_session_t *as;
+       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
 };
 
 /*
  * Keyboard interactive device:
- * init_ctx    returns: non NULL upon success 
- * query       returns: 0 - success, otherwise failure 
+ * init_ctx    returns: non NULL upon success
+ * query       returns: 0 - success, otherwise failure
  * respond     returns: 0 - success, 1 - need further interaction,
  *             otherwise - failure
  */
@@ -74,71 +87,35 @@ struct KbdintDevice
        void    (*free_ctx)     __P((void *ctx));
 };
 
-/*
- * Tries to authenticate the user using the .rhosts file.  Returns true if
- * authentication succeeds.  If ignore_rhosts is non-zero, this will not
- * consider .rhosts and .shosts (/etc/hosts.equiv will still be used).
- */
 int     auth_rhosts(struct passwd *, const char *);
-
-/* extended interface similar to auth_rhosts() */
 int
 auth_rhosts2(struct passwd *, const char *, const char *, const char *);
 
-/*
- * Tries to authenticate the user using the .rhosts file and the host using
- * its host key.  Returns true if authentication succeeds.
- */
-int
-auth_rhosts_rsa(struct passwd *, const char *, RSA *);
-
-/*
- * Tries to authenticate the user using password.  Returns true if
- * authentication succeeds.
- */
-int     auth_password(Authctxt *, const char *);
-
-/*
- * Performs the RSA authentication dialog with the client.  This returns 0 if
- * the client could not be authenticated, and 1 if authentication was
- * successful.  This may exit if there is a serious protocol violation.
- */
-int     auth_rsa(struct passwd *, BIGNUM *);
-
-/*
- * Parses an RSA key (number of bits, e, n) from a string.  Moves the pointer
- * over the key.  Skips any whitespace at the beginning and at end.
- */
-int     auth_rsa_read_key(char **, u_int *, BIGNUM *, BIGNUM *);
-
-/*
- * Performs the RSA authentication challenge-response dialog with the client,
- * and returns true (non-zero) if the client gave the correct answer to our
- * challenge; returns zero if the client gives a wrong answer.
- */
-int     auth_rsa_challenge_dialog(RSA *);
+int     auth_rhosts_rsa(struct passwd *, const char *, Key *);
+int      auth_password(Authctxt *, const char *);
+int      auth_rsa(struct passwd *, BIGNUM *);
+int      auth_rsa_challenge_dialog(RSA *);
 
 #ifdef KRB4
 #include <krb.h>
-/*
- * Performs Kerberos v4 mutual authentication with the client. This returns 0
- * if the client could not be authenticated, and 1 if authentication was
- * successful.  This may exit if there is a serious protocol violation.
- */
-int     auth_krb4(const char *, KTEXT, char **);
-int     krb4_init(uid_t);
+int     auth_krb4(Authctxt *, KTEXT, char **);
+int    auth_krb4_password(Authctxt *, const char *);
 void    krb4_cleanup_proc(void *);
-int    auth_krb4_password(struct passwd *, const char *);
 
 #ifdef AFS
 #include <kafs.h>
+int     auth_krb4_tgt(Authctxt *, const char *);
+int     auth_afs_token(Authctxt *, const char *);
+#endif /* AFS */
 
-/* Accept passed Kerberos v4 ticket-granting ticket and AFS tokens. */
-int     auth_kerberos_tgt(struct passwd *, const char *);
-int     auth_afs_token(struct passwd *, const char *);
-#endif                         /* AFS */
+#endif /* KRB4 */
 
-#endif                         /* KRB4 */
+#ifdef KRB5
+int    auth_krb5(Authctxt *authctxt, krb5_data *auth, char **client);
+int    auth_krb5_tgt(Authctxt *authctxt, krb5_data *tgt);
+int    auth_krb5_password(Authctxt *authctxt, const char *password);
+void   krb5_cleanup_proc(void *authctxt);
+#endif /* KRB5 */
 
 #include "auth-pam.h"
 #include "auth2-pam.h"
@@ -152,6 +129,7 @@ void        userauth_finish(Authctxt *, int, char *);
 int    auth_root_allowed(char *);
 
 int    auth2_challenge(Authctxt *, char *);
+void   auth2_challenge_stop(Authctxt *);
 
 int    allowed_user(struct passwd *);
 
@@ -160,16 +138,13 @@ int       verify_response(Authctxt *, const char *);
 
 struct passwd * auth_get_user(void);
 
-/* expand a filename - return buffer is allocated by xmalloc */
 char   *expand_filename(const char *, struct passwd *);
 char   *authorized_keys_file(struct passwd *);
 char   *authorized_keys_file2(struct passwd *);
 
-/* check a file and the path to it */
 int
 secure_filename(FILE *, const char *, struct passwd *, char *, size_t);
 
-/* helper for hostbased auth */
 HostStatus
 check_key_in_hostfiles(struct passwd *, Key *, const char *,
     const char *, const char *);
This page took 0.048606 seconds and 4 git commands to generate.