From 1cba0a757970ffd8b81d61c88965010968ab3eff Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Tue, 28 Jan 2003 12:07:02 +0000 Subject: Merge from HEAD: - NTLMSSP over SPENGO (sesssion-setup-and-x) cleanup and code refactor. - also consequential changes to the NTLMSSP and SPNEGO parsing functions - and the client code that uses the same functions - Add ntlm_auth, a NTLMSSP authentication interface for use by applications like Squid and Apache. - also consquential changes to use common code for base64 encode/decode. - Winbind changes to support ntlm_auth (I don't want this program to need to read smb.conf, instead getting all it's details over the pipe). - nmbd changes for fstrcat() instead of fstrcpy(). Andrew Bartlett (This used to be commit fbb46da79cf322570a7e3318100c304bbf33409e) --- source3/include/asn_1.h | 4 ++++ source3/include/auth.h | 9 +++++++++ source3/include/ntlmssp.h | 19 +++++++++++++++---- 3 files changed, 28 insertions(+), 4 deletions(-) (limited to 'source3/include') diff --git a/source3/include/asn_1.h b/source3/include/asn_1.h index 7783ab4c2f..9cd873c18a 100644 --- a/source3/include/asn_1.h +++ b/source3/include/asn_1.h @@ -55,4 +55,8 @@ typedef struct { #define OID_KERBEROS5_OLD "1 2 840 48018 1 2 2" #define OID_KERBEROS5 "1 2 840 113554 1 2 2" +#define SPNGEO_NEG_RESULT_ACCEPT 0 +#define SPNGEO_NEG_RESULT_INCOMPLETE 1 +#define SPNGEO_NEG_RESULT_REJECT 2 + #endif /* _ASN_1_H */ diff --git a/source3/include/auth.h b/source3/include/auth.h index 846662d17c..e37f181082 100644 --- a/source3/include/auth.h +++ b/source3/include/auth.h @@ -149,4 +149,13 @@ struct auth_init_function_entry { auth_init_function init; }; + +typedef struct auth_ntlmssp_state +{ + TALLOC_CTX *mem_ctx; + struct auth_context *auth_context; + struct auth_serversupplied_info *server_info; + struct ntlmssp_state *ntlmssp_state; +} AUTH_NTLMSSP_STATE; + #endif /* _SMBAUTH_H_ */ diff --git a/source3/include/ntlmssp.h b/source3/include/ntlmssp.h index 673be83532..79d0446a77 100644 --- a/source3/include/ntlmssp.h +++ b/source3/include/ntlmssp.h @@ -71,9 +71,20 @@ typedef struct ntlmssp_state { TALLOC_CTX *mem_ctx; enum NTLMSSP_ROLE role; - struct auth_context *auth_context; - struct auth_serversupplied_info *server_info; BOOL unicode; - char *orig_user; - char *orig_domain; + char *user; + char *domain; + char *workstation; + DATA_BLOB lm_resp; + DATA_BLOB nt_resp; + DATA_BLOB chal; + void *auth_context; + const uint8 *(*get_challenge)(struct ntlmssp_state *ntlmssp_state); + NTSTATUS (*check_password)(struct ntlmssp_state *ntlmssp_state); + + const char *(*get_global_myname)(void); + const char *(*get_domain)(void); + + int server_role; } NTLMSSP_STATE; + -- cgit