diff options
Diffstat (limited to 'auth.h')
-rw-r--r-- | auth.h | 66 |
1 files changed, 65 insertions, 1 deletions
@@ -21,11 +21,13 @@ | |||
21 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | 21 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
22 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 22 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
23 | * | 23 | * |
24 | * $OpenBSD: auth.h,v 1.9 2001/01/18 16:59:59 markus Exp $ | 24 | * $OpenBSD: auth.h,v 1.10 2001/01/21 19:05:43 markus Exp $ |
25 | */ | 25 | */ |
26 | #ifndef AUTH_H | 26 | #ifndef AUTH_H |
27 | #define AUTH_H | 27 | #define AUTH_H |
28 | 28 | ||
29 | #include <openssl/rsa.h> | ||
30 | |||
29 | typedef struct Authctxt Authctxt; | 31 | typedef struct Authctxt Authctxt; |
30 | struct Authctxt { | 32 | struct Authctxt { |
31 | int success; | 33 | int success; |
@@ -39,6 +41,68 @@ struct Authctxt { | |||
39 | char *style; | 41 | char *style; |
40 | }; | 42 | }; |
41 | 43 | ||
44 | /* | ||
45 | * Tries to authenticate the user using the .rhosts file. Returns true if | ||
46 | * authentication succeeds. If ignore_rhosts is non-zero, this will not | ||
47 | * consider .rhosts and .shosts (/etc/hosts.equiv will still be used). | ||
48 | */ | ||
49 | int auth_rhosts(struct passwd * pw, const char *client_user); | ||
50 | |||
51 | /* | ||
52 | * Tries to authenticate the user using the .rhosts file and the host using | ||
53 | * its host key. Returns true if authentication succeeds. | ||
54 | */ | ||
55 | int | ||
56 | auth_rhosts_rsa(struct passwd * pw, const char *client_user, RSA* client_host_key); | ||
57 | |||
58 | /* | ||
59 | * Tries to authenticate the user using password. Returns true if | ||
60 | * authentication succeeds. | ||
61 | */ | ||
62 | int auth_password(struct passwd * pw, const char *password); | ||
63 | |||
64 | /* | ||
65 | * Performs the RSA authentication dialog with the client. This returns 0 if | ||
66 | * the client could not be authenticated, and 1 if authentication was | ||
67 | * successful. This may exit if there is a serious protocol violation. | ||
68 | */ | ||
69 | int auth_rsa(struct passwd * pw, BIGNUM * client_n); | ||
70 | |||
71 | /* | ||
72 | * Parses an RSA key (number of bits, e, n) from a string. Moves the pointer | ||
73 | * over the key. Skips any whitespace at the beginning and at end. | ||
74 | */ | ||
75 | int auth_rsa_read_key(char **cpp, u_int *bitsp, BIGNUM * e, BIGNUM * n); | ||
76 | |||
77 | /* | ||
78 | * Performs the RSA authentication challenge-response dialog with the client, | ||
79 | * and returns true (non-zero) if the client gave the correct answer to our | ||
80 | * challenge; returns zero if the client gives a wrong answer. | ||
81 | */ | ||
82 | int auth_rsa_challenge_dialog(RSA *pk); | ||
83 | |||
84 | #ifdef KRB4 | ||
85 | #include <krb.h> | ||
86 | /* | ||
87 | * Performs Kerberos v4 mutual authentication with the client. This returns 0 | ||
88 | * if the client could not be authenticated, and 1 if authentication was | ||
89 | * successful. This may exit if there is a serious protocol violation. | ||
90 | */ | ||
91 | int auth_krb4(const char *server_user, KTEXT auth, char **client); | ||
92 | int krb4_init(uid_t uid); | ||
93 | void krb4_cleanup_proc(void *ignore); | ||
94 | int auth_krb4_password(struct passwd * pw, const char *password); | ||
95 | |||
96 | #ifdef AFS | ||
97 | #include <kafs.h> | ||
98 | |||
99 | /* Accept passed Kerberos v4 ticket-granting ticket and AFS tokens. */ | ||
100 | int auth_kerberos_tgt(struct passwd * pw, const char *string); | ||
101 | int auth_afs_token(struct passwd * pw, const char *token_string); | ||
102 | #endif /* AFS */ | ||
103 | |||
104 | #endif /* KRB4 */ | ||
105 | |||
42 | #include "auth-pam.h" | 106 | #include "auth-pam.h" |
43 | #include "auth2-pam.h" | 107 | #include "auth2-pam.h" |
44 | 108 | ||