diff options
author | Jeremy Allison <jra@samba.org> | 2007-03-27 00:50:53 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:18:54 -0500 |
commit | 8b63654c2e63448cc21505d7996e1a4805e391df (patch) | |
tree | 45d6b32ce71d44d0b0e6744751b9c9ac1d73f249 /source3/include | |
parent | 9d34ee1c8b2977986518f3720ae0e98c487cda47 (diff) | |
download | samba-8b63654c2e63448cc21505d7996e1a4805e391df.tar.gz samba-8b63654c2e63448cc21505d7996e1a4805e391df.tar.bz2 samba-8b63654c2e63448cc21505d7996e1a4805e391df.zip |
r21969: Start working on the gss-side of the server negotiation.
Jeremy.
(This used to be commit fbc569b530104679e47fe743963eb0c4384de6ae)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/client.h | 9 | ||||
-rw-r--r-- | source3/include/includes.h | 4 | ||||
-rw-r--r-- | source3/include/trans2.h | 1 |
3 files changed, 11 insertions, 3 deletions
diff --git a/source3/include/client.h b/source3/include/client.h index 817ab0d540..3185f05ac1 100644 --- a/source3/include/client.h +++ b/source3/include/client.h @@ -81,13 +81,20 @@ struct rpc_pipe_client { /* Transport encryption state. */ enum smb_trans_enc_type { SMB_TRANS_ENC_NTLM, SMB_TRANS_ENC_GSS }; +#if defined(HAVE_GSSAPI) && defined(HAVE_KRB5) +struct smb_tran_enc_state_gss { + gss_ctx_id_t gss_ctx; + gss_cred_id_t creds; +}; +#endif + struct smb_trans_enc_state { enum smb_trans_enc_type smb_enc_type; BOOL enc_on; union { NTLMSSP_STATE *ntlmssp_state; #if defined(HAVE_GSSAPI) && defined(HAVE_KRB5) - gss_ctx_id_t context_handle; + struct smb_tran_enc_state_gss *gss_state; #endif } s; }; diff --git a/source3/include/includes.h b/source3/include/includes.h index c51da335a2..b4485ba30d 100644 --- a/source3/include/includes.h +++ b/source3/include/includes.h @@ -1188,10 +1188,10 @@ krb5_error_code smb_krb5_mk_error(krb5_context context, /* Call for SMB transport encryption. */ #if defined(HAVE_GSSAPI) -NTSTATUS common_gss_decrypt_buffer(gss_ctx_id_t context_handle, char *buf); +NTSTATUS common_gss_decrypt_buffer(struct smb_tran_enc_state_gss *gss_state, char *buf); #endif #if defined(HAVE_GSSAPI) -NTSTATUS common_gss_encrypt_buffer(gss_ctx_id_t context_handle, char *buf, char **buf_out); +NTSTATUS common_gss_encrypt_buffer(struct smb_tran_enc_state_gss *gss_state, char *buf, char **buf_out); #endif #endif /* HAVE_KRB5 */ diff --git a/source3/include/trans2.h b/source3/include/trans2.h index 32ea7d927f..5f7587d6ea 100644 --- a/source3/include/trans2.h +++ b/source3/include/trans2.h @@ -530,6 +530,7 @@ findfirst/findnext is SMB_FIND_FILE_UNIX_INFO2. #define CIFS_UNIX_POSIX_PATHNAMES_CAP 0x10 /* Use POSIX pathnames on the wire. */ #define CIFS_UNIX_POSIX_PATH_OPERATIONS_CAP 0x20 /* We can cope with POSIX open/mkdir/unlink etc. */ #define CIFS_UNIX_TRANSPORT_ENCRYPTION_CAP 0x40 /* We can do SPNEGO negotiations for encryption. */ +#define CIFS_UNIX_TRANSPORT_ENCRYPTION_MANDATORY_CAP 0x80 /* We *must* SPNEGO negotiations for encryption. */ #define SMB_QUERY_POSIX_FS_INFO 0x201 |