diff options
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 |