[SCM] Samba Shared Repository - branch v3-6-test updated

Karolin Seeger kseeger at samba.org
Tue Apr 30 00:51:35 MDT 2013


The branch, v3-6-test has been updated
       via  24d68d7 s3-smbd: Split make_serverinfo_from_username guest parameters into two parts
      from  022d37a WHATSNEW: Start release notes for Samba 3.6.15.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-6-test


- Log -----------------------------------------------------------------
commit 24d68d799553b0806e580a47aed70a4eaac09191
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Thu Apr 4 09:53:34 2013 +1100

    s3-smbd: Split make_serverinfo_from_username guest parameters into two parts
    
    This handles differently the case where we are the guest (from security=share) and
    when we are forced to be a different user with force user.  We want to maintain
    only the is_guest flag if were forced to become any other user, we need the rest
    of the token to change.
    
    Andrew Bartlett
    
    Fix bug #9746 - guest ok + force user + force group doesn't work.

-----------------------------------------------------------------------

Summary of changes:
 source3/auth/auth_util.c |    3 ++-
 source3/auth/proto.h     |    1 +
 source3/smbd/service.c   |    4 ++--
 3 files changed, 5 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/auth/auth_util.c b/source3/auth/auth_util.c
index 0e1f437..288f461 100644
--- a/source3/auth/auth_util.c
+++ b/source3/auth/auth_util.c
@@ -902,6 +902,7 @@ static NTSTATUS make_new_session_info_system(TALLOC_CTX *mem_ctx,
 
 NTSTATUS make_serverinfo_from_username(TALLOC_CTX *mem_ctx,
 				       const char *username,
+				       bool use_guest_token,
 				       bool is_guest,
 				       struct auth_serversupplied_info **presult)
 {
@@ -925,7 +926,7 @@ NTSTATUS make_serverinfo_from_username(TALLOC_CTX *mem_ctx,
 	result->nss_token = true;
 	result->guest = is_guest;
 
-	if (is_guest) {
+	if (use_guest_token) {
 		status = make_server_info_guest(mem_ctx, &result);
 	} else {
 		status = create_local_token(result);
diff --git a/source3/auth/proto.h b/source3/auth/proto.h
index b23d827..3d1fa06 100644
--- a/source3/auth/proto.h
+++ b/source3/auth/proto.h
@@ -149,6 +149,7 @@ NTSTATUS make_server_info_pw(struct auth_serversupplied_info **server_info,
 			     struct passwd *pwd);
 NTSTATUS make_serverinfo_from_username(TALLOC_CTX *mem_ctx,
 				       const char *username,
+				       bool use_guest_token,
 				       bool is_guest,
 				       struct auth_serversupplied_info **presult);
 struct auth_serversupplied_info *copy_serverinfo(TALLOC_CTX *mem_ctx,
diff --git a/source3/smbd/service.c b/source3/smbd/service.c
index 6c8c8d3..a22b0df 100644
--- a/source3/smbd/service.c
+++ b/source3/smbd/service.c
@@ -656,7 +656,7 @@ static NTSTATUS create_connection_session_info(struct smbd_server_connection *sc
 			return NT_STATUS_WRONG_PASSWORD;
                 }
 
-		return make_serverinfo_from_username(mem_ctx, user, guest,
+		return make_serverinfo_from_username(mem_ctx, user, guest, guest,
 						     presult);
         }
 
@@ -690,7 +690,7 @@ NTSTATUS set_conn_force_user_group(connection_struct *conn, int snum)
 		}
 
 		status = make_serverinfo_from_username(
-			conn, fuser, conn->session_info->guest,
+			conn, fuser, false, conn->session_info->guest,
 			&forced_serverinfo);
 		if (!NT_STATUS_IS_OK(status)) {
 			return status;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list