s3:smbd: explicitly ask for GENSEC_FEATURE_UNIX_TOKEN
authorStefan Metzmacher <metze@samba.org>
Wed, 11 Jan 2012 21:25:38 +0000 (22:25 +0100)
committerStefan Metzmacher <metze@samba.org>
Thu, 12 Jan 2012 10:22:53 +0000 (11:22 +0100)
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Thu Jan 12 11:22:53 CET 2012 on sn-devel-104

source3/smbd/sesssetup.c
source3/smbd/smb2_sesssetup.c

index 08a3c2c238d0d6890f932bc39662c86172f65022..ca380a836e6f294e1dfd5a852c42b0d5b84345f8 100644 (file)
@@ -634,6 +634,7 @@ static void reply_spnego_negotiate(struct smb_request *req,
        }
 
        gensec_want_feature(*gensec_security, GENSEC_FEATURE_SESSION_KEY);
+       gensec_want_feature(*gensec_security, GENSEC_FEATURE_UNIX_TOKEN);
 
        status = gensec_start_mech_by_oid(*gensec_security, GENSEC_OID_NTLMSSP);
        if (!NT_STATUS_IS_OK(status)) {
@@ -746,6 +747,7 @@ static void reply_spnego_auth(struct smb_request *req,
                }
 
                gensec_want_feature(*gensec_security, GENSEC_FEATURE_SESSION_KEY);
+               gensec_want_feature(*gensec_security, GENSEC_FEATURE_UNIX_TOKEN);
 
                status = gensec_start_mech_by_oid(*gensec_security, GENSEC_OID_NTLMSSP);
                if (!NT_STATUS_IS_OK(status)) {
@@ -1155,6 +1157,7 @@ static void reply_sesssetup_and_X_spnego(struct smb_request *req)
                        }
 
                        gensec_want_feature(vuser->gensec_security, GENSEC_FEATURE_SESSION_KEY);
+                       gensec_want_feature(vuser->gensec_security, GENSEC_FEATURE_UNIX_TOKEN);
 
                        if (sconn->use_gensec_hook) {
                                status = gensec_start_mech_by_oid(vuser->gensec_security, GENSEC_OID_SPNEGO);
index 017319ea7fe5c963fcbfc13f215490c6e2e8f48a..0cd24c9b7e58d061a5a92615ac52e633f6a6a3e8 100644 (file)
@@ -381,6 +381,7 @@ static NTSTATUS smbd_smb2_spnego_negotiate(struct smbd_smb2_session *session,
                }
 
                gensec_want_feature(session->gensec_security, GENSEC_FEATURE_SESSION_KEY);
+               gensec_want_feature(session->gensec_security, GENSEC_FEATURE_UNIX_TOKEN);
 
                status = gensec_start_mech_by_oid(session->gensec_security, GENSEC_OID_NTLMSSP);
                if (!NT_STATUS_IS_OK(status)) {
@@ -569,6 +570,7 @@ static NTSTATUS smbd_smb2_spnego_auth(struct smbd_smb2_session *session,
                }
 
                gensec_want_feature(session->gensec_security, GENSEC_FEATURE_SESSION_KEY);
+               gensec_want_feature(session->gensec_security, GENSEC_FEATURE_UNIX_TOKEN);
 
                status = gensec_start_mech_by_oid(session->gensec_security, GENSEC_OID_NTLMSSP);
                if (!NT_STATUS_IS_OK(status)) {
@@ -643,6 +645,7 @@ static NTSTATUS smbd_smb2_raw_ntlmssp_auth(struct smbd_smb2_session *session,
                }
 
                gensec_want_feature(session->gensec_security, GENSEC_FEATURE_SESSION_KEY);
+               gensec_want_feature(session->gensec_security, GENSEC_FEATURE_UNIX_TOKEN);
 
                if (session->sconn->use_gensec_hook) {
                        status = gensec_start_mech_by_oid(session->gensec_security, GENSEC_OID_SPNEGO);