summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2007-03-27 00:50:53 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:18:54 -0500
commit8b63654c2e63448cc21505d7996e1a4805e391df (patch)
tree45d6b32ce71d44d0b0e6744751b9c9ac1d73f249 /source3/include
parent9d34ee1c8b2977986518f3720ae0e98c487cda47 (diff)
downloadsamba-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.h9
-rw-r--r--source3/include/includes.h4
-rw-r--r--source3/include/trans2.h1
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