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

Jeremy Allison jra at samba.org
Wed Oct 28 17:20:06 MDT 2009


The branch, v3-5-test has been updated
       via  a5af824... s3-passdb: move open_schannel_session_store() to passdb/secrets_schannel.c.
       via  50b1a41... s3-net: acct_flags are uint32_t in net_sam_set_userflag().
       via  ed9df48... adssearch: dump some more nttime timestamps.
       via  d8f6db0... s3-lsa: add lsa_trusted_domain_mapping.
       via  6e3444c... lsa: add LSA_TRUSTED_DOMAIN access masks.
       via  87c1eb2... s3-passdb: add secrets_delete_generic().
       via  cebefbe... s3-lsa: add lsa_secret_mapping.
       via  c765a61... lsa: add LSA_SECRET access masks.
       via  cd3b6ee... s3-lsa: use correct function name in_lsa_RemoveAccountRights().
       via  70e65d3... s3-lsa: pure cosmetic indentation fixes.
       via  48e7b9e... s3-lsa: use enum lsa_LookupNamesLevel in lsa_lookup_level_to_flags().
      from  4b69d99... Fix map readonly in smb.conf, it is a single word

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


- Log -----------------------------------------------------------------
commit a5af824b953a7446ac7ce2e0efc18f0e1ca538bd
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 28 11:36:13 2009 +0100

    s3-passdb: move open_schannel_session_store() to passdb/secrets_schannel.c.
    
    Guenther

commit 50b1a41bc19c6ca8a9364fe5a95e8bd6ba4f9894
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 28 10:56:01 2009 +0100

    s3-net: acct_flags are uint32_t in net_sam_set_userflag().
    
    Guenther

commit ed9df48953fc3877013e2cf09bc782fce36ea825
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 28 10:55:14 2009 +0100

    adssearch: dump some more nttime timestamps.
    
    Guenther

commit d8f6db0626c6a7e404e98fa708cd29d55ec9e381
Author: Günther Deschner <gd at samba.org>
Date:   Tue Oct 27 15:29:02 2009 +0100

    s3-lsa: add lsa_trusted_domain_mapping.
    
    Guenther

commit 6e3444cc8b5c1989c3076f7656289b6226222e45
Author: Günther Deschner <gd at samba.org>
Date:   Tue Oct 27 15:28:06 2009 +0100

    lsa: add LSA_TRUSTED_DOMAIN access masks.
    
    Guenther

commit 87c1eb24a5d63bdb53b7400d111ff13fb4d35c48
Author: Günther Deschner <gd at samba.org>
Date:   Tue Oct 27 14:59:25 2009 +0100

    s3-passdb: add secrets_delete_generic().
    
    Guenther

commit cebefbeaeec5acf646964c52862e8337719fafb1
Author: Günther Deschner <gd at samba.org>
Date:   Tue Oct 27 13:50:43 2009 +0100

    s3-lsa: add lsa_secret_mapping.
    
    Guenther

commit c765a61bbff44666d78f80ec2ce87a58f32bd034
Author: Günther Deschner <gd at samba.org>
Date:   Tue Oct 27 13:49:21 2009 +0100

    lsa: add LSA_SECRET access masks.
    
    Guenther

commit cd3b6eead757434d32535107746713d9631c15be
Author: Günther Deschner <gd at samba.org>
Date:   Mon Oct 26 23:47:01 2009 +0100

    s3-lsa: use correct function name in_lsa_RemoveAccountRights().
    
    Guenther

commit 70e65d3c947b261f1d26d95b620627237a3c4fe2
Author: Günther Deschner <gd at samba.org>
Date:   Mon Oct 26 23:37:21 2009 +0100

    s3-lsa: pure cosmetic indentation fixes.
    
    Guenther

commit 48e7b9e2c0ef95b9e3fbf439ad68ff412c156ebd
Author: Günther Deschner <gd at samba.org>
Date:   Mon Oct 26 23:28:30 2009 +0100

    s3-lsa: use enum lsa_LookupNamesLevel in lsa_lookup_level_to_flags().
    
    Guenther

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

Summary of changes:
 examples/misc/adssearch.pl        |    2 +
 librpc/gen_ndr/lsa.h              |    8 ++++
 librpc/idl/lsa.idl                |   48 +++++++++++++++++++++++++
 source3/include/proto.h           |    3 +-
 source3/passdb/secrets.c          |   69 ++++++-------------------------------
 source3/passdb/secrets_schannel.c |   63 +++++++++++++++++++++++++++++++++
 source3/rpc_server/srv_lsa_nt.c   |   63 ++++++++++++++++++++-------------
 source3/utils/net_sam.c           |    2 +-
 8 files changed, 173 insertions(+), 85 deletions(-)


Changeset truncated at 500 lines:

diff --git a/examples/misc/adssearch.pl b/examples/misc/adssearch.pl
index 026853d..13a85be 100755
--- a/examples/misc/adssearch.pl
+++ b/examples/misc/adssearch.pl
@@ -518,6 +518,7 @@ my %attr_handler = (
 	"instanceType"			=> \&dump_instance_type,
 	"lastLogon"			=> \&dump_nttime,
 	"lastLogonTimestamp"		=> \&dump_nttime,
+	"lastSetTime"			=> \&dump_nttime,
 	"lockOutObservationWindow"	=> \&dump_nttime_abs,
 	"lockoutDuration"		=> \&dump_nttime_abs,
 	"lockoutTime"			=> \&dump_nttime,
@@ -538,6 +539,7 @@ my %attr_handler = (
 	"objectSid"			=> \&dump_sid,
 	"pKT"				=> \&dump_pkt,
 	"pKTGuid"			=> \&dump_guid,
+	"priorSetTime"			=> \&dump_nttime,
 	"pwdLastSet"			=> \&dump_nttime,
 	"pwdProperties"			=> \&dump_pwdproperties,
 	"sAMAccountType"		=> \&dump_atype,
diff --git a/librpc/gen_ndr/lsa.h b/librpc/gen_ndr/lsa.h
index f101fb6..a0af571 100644
--- a/librpc/gen_ndr/lsa.h
+++ b/librpc/gen_ndr/lsa.h
@@ -17,6 +17,14 @@
 #define LSA_ACCOUNT_READ	( (STANDARD_RIGHTS_READ_ACCESS|LSA_ACCOUNT_VIEW) )
 #define LSA_ACCOUNT_WRITE	( (STANDARD_RIGHTS_READ_ACCESS|LSA_ACCOUNT_ADJUST_PRIVILEGES|LSA_ACCOUNT_ADJUST_QUOTAS|LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS) )
 #define LSA_ACCOUNT_EXECUTE	( (STANDARD_RIGHTS_EXECUTE_ACCESS) )
+#define LSA_SECRET_ALL_ACCESS	( (LSA_SECRET_QUERY_VALUE|LSA_SECRET_SET_VALUE|SEC_STD_DELETE|STANDARD_RIGHTS_READ_ACCESS|SEC_STD_WRITE_DAC|SEC_STD_WRITE_OWNER) )
+#define LSA_SECRET_READ	( (LSA_SECRET_QUERY_VALUE|STANDARD_RIGHTS_READ_ACCESS) )
+#define LSA_SECRET_WRITE	( (LSA_SECRET_SET_VALUE|STANDARD_RIGHTS_READ_ACCESS) )
+#define LSA_SECRET_EXECUTE	( (STANDARD_RIGHTS_READ_ACCESS) )
+#define LSA_TRUSTED_DOMAIN_ALL_ACCESS	( (LSA_TRUSTED_QUERY_DOMAIN_NAME|LSA_TRUSTED_QUERY_CONTROLLERS|LSA_TRUSTED_SET_CONTROLLERS|LSA_TRUSTED_QUERY_POSIX|LSA_TRUSTED_SET_POSIX|LSA_TRUSTED_SET_AUTH|LSA_TRUSTED_QUERY_AUTH|SEC_STD_DELETE|STANDARD_RIGHTS_READ_ACCESS|SEC_STD_WRITE_DAC|SEC_STD_WRITE_OWNER) )
+#define LSA_TRUSTED_DOMAIN_READ	( (LSA_TRUSTED_QUERY_DOMAIN_NAME|STANDARD_RIGHTS_READ_ACCESS) )
+#define LSA_TRUSTED_DOMAIN_WRITE	( (LSA_TRUSTED_SET_CONTROLLERS|LSA_TRUSTED_SET_POSIX|LSA_TRUSTED_SET_AUTH|STANDARD_RIGHTS_READ_ACCESS) )
+#define LSA_TRUSTED_DOMAIN_EXECUTE	( (LSA_TRUSTED_QUERY_DOMAIN_NAME|LSA_TRUSTED_QUERY_POSIX|STANDARD_RIGHTS_READ_ACCESS) )
 #define LSA_ENUM_TRUST_DOMAIN_MULTIPLIER	( 60 )
 #define LSA_REF_DOMAIN_LIST_MULTIPLIER	( 32 )
 #define LSA_ENUM_TRUST_DOMAIN_EX_MULTIPLIER	( 82 )
diff --git a/librpc/idl/lsa.idl b/librpc/idl/lsa.idl
index 253b6d7..097dda5 100644
--- a/librpc/idl/lsa.idl
+++ b/librpc/idl/lsa.idl
@@ -213,6 +213,25 @@ import "misc.idl", "security.idl";
 		LSA_SECRET_QUERY_VALUE			= 0x00000002
 	} lsa_SecretAccessMask;
 
+	const int LSA_SECRET_ALL_ACCESS =
+		(LSA_SECRET_QUERY_VALUE |
+		 LSA_SECRET_SET_VALUE |
+		 SEC_STD_DELETE |
+		 STANDARD_RIGHTS_READ_ACCESS |
+		 SEC_STD_WRITE_DAC |
+		 SEC_STD_WRITE_OWNER); /* 0x000F0003 */
+
+	const int LSA_SECRET_READ =
+		(LSA_SECRET_QUERY_VALUE |
+		STANDARD_RIGHTS_READ_ACCESS); /* 0x00020002 */
+
+	const int LSA_SECRET_WRITE =
+		(LSA_SECRET_SET_VALUE |
+		STANDARD_RIGHTS_READ_ACCESS); /* 0x00020001 */
+
+	const int LSA_SECRET_EXECUTE =
+		(STANDARD_RIGHTS_READ_ACCESS); /* 0x00020000 */
+
 	typedef [public,bitmap32bit] bitmap {
 		LSA_TRUSTED_QUERY_DOMAIN_NAME		= 0x00000001,
 		LSA_TRUSTED_QUERY_CONTROLLERS		= 0x00000002,
@@ -223,6 +242,35 @@ import "misc.idl", "security.idl";
 		LSA_TRUSTED_QUERY_AUTH			= 0x00000040
 	} lsa_TrustedAccessMask;
 
+	const int LSA_TRUSTED_DOMAIN_ALL_ACCESS =
+		(LSA_TRUSTED_QUERY_DOMAIN_NAME |
+		 LSA_TRUSTED_QUERY_CONTROLLERS |
+		 LSA_TRUSTED_SET_CONTROLLERS |
+		 LSA_TRUSTED_QUERY_POSIX |
+		 LSA_TRUSTED_SET_POSIX |
+		 LSA_TRUSTED_SET_AUTH |
+		 LSA_TRUSTED_QUERY_AUTH |
+		 SEC_STD_DELETE |
+		 STANDARD_RIGHTS_READ_ACCESS |
+		 SEC_STD_WRITE_DAC |
+		 SEC_STD_WRITE_OWNER); /* 0x000F007F */
+
+	const int LSA_TRUSTED_DOMAIN_READ =
+		(LSA_TRUSTED_QUERY_DOMAIN_NAME |
+		 STANDARD_RIGHTS_READ_ACCESS); /* 0x00020001 */
+
+	const int LSA_TRUSTED_DOMAIN_WRITE =
+		(LSA_TRUSTED_SET_CONTROLLERS |
+		 LSA_TRUSTED_SET_POSIX |
+		 LSA_TRUSTED_SET_AUTH |
+		 STANDARD_RIGHTS_READ_ACCESS); /* 0x00020034 */
+
+	const int LSA_TRUSTED_DOMAIN_EXECUTE =
+		(LSA_TRUSTED_QUERY_DOMAIN_NAME |
+		 LSA_TRUSTED_QUERY_POSIX |
+		 STANDARD_RIGHTS_READ_ACCESS); /* 0x0002000C */
+
+
 	/* notice the screwup with the system_name - thats why MS created
 	   OpenPolicy2 */
 	[public] NTSTATUS lsa_OpenPolicy (
diff --git a/source3/include/proto.h b/source3/include/proto.h
index b79ced7..c863d55 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -4718,14 +4718,15 @@ NTSTATUS secrets_trusted_domains(TALLOC_CTX *mem_ctx, uint32 *num_domains,
 bool secrets_store_afs_keyfile(const char *cell, const struct afs_keyfile *keyfile);
 bool secrets_fetch_afs_key(const char *cell, struct afs_key *result);
 void secrets_fetch_ipc_userpass(char **username, char **domain, char **password);
-TDB_CONTEXT *open_schannel_session_store(TALLOC_CTX *mem_ctx);
 bool secrets_store_generic(const char *owner, const char *key, const char *secret);
 char *secrets_fetch_generic(const char *owner, const char *key);
+bool secrets_delete_generic(const char *owner, const char *key);
 bool secrets_store_local_schannel_key(uint8_t schannel_key[16]);
 bool secrets_fetch_local_schannel_key(uint8_t schannel_key[16]);
 
 /* The following definitions come from passdb/secrets_schannel.c  */
 
+TDB_CONTEXT *open_schannel_session_store(TALLOC_CTX *mem_ctx);
 NTSTATUS schannel_fetch_session_key(TALLOC_CTX *mem_ctx,
 				    const char *computer_name,
 				    struct netlogon_creds_CredentialState **pcreds);
diff --git a/source3/passdb/secrets.c b/source3/passdb/secrets.c
index 29e0662..369abf8 100644
--- a/source3/passdb/secrets.c
+++ b/source3/passdb/secrets.c
@@ -1132,70 +1132,23 @@ void secrets_fetch_ipc_userpass(char **username, char **domain, char **password)
 	}
 }
 
-/******************************************************************************
- Open or create the schannel session store tdb.
-*******************************************************************************/
-
-#define SCHANNEL_STORE_VERSION_1 1
-#define SCHANNEL_STORE_VERSION_2 2 /* should not be used */
-#define SCHANNEL_STORE_VERSION_CURRENT SCHANNEL_STORE_VERSION_1
-
-TDB_CONTEXT *open_schannel_session_store(TALLOC_CTX *mem_ctx)
+bool secrets_store_generic(const char *owner, const char *key, const char *secret)
 {
-	TDB_DATA vers;
-	uint32 ver;
-	TDB_CONTEXT *tdb_sc = NULL;
-	char *fname = talloc_asprintf(mem_ctx, "%s/schannel_store.tdb", lp_private_dir());
-
-	if (!fname) {
-		return NULL;
-	}
-
-        tdb_sc = tdb_open_log(fname, 0, TDB_DEFAULT, O_RDWR|O_CREAT, 0600);
+	char *tdbkey = NULL;
+	bool ret;
 
-        if (!tdb_sc) {
-                DEBUG(0,("open_schannel_session_store: Failed to open %s\n", fname));
-		TALLOC_FREE(fname);
-                return NULL;
-        }
-
- again:
-	vers = tdb_fetch_bystring(tdb_sc, "SCHANNEL_STORE_VERSION");
-	if (vers.dptr == NULL) {
-		/* First opener, no version. */
-		SIVAL(&ver,0,SCHANNEL_STORE_VERSION_CURRENT);
-		vers.dptr = (uint8 *)&ver;
-		vers.dsize = 4;
-		tdb_store_bystring(tdb_sc, "SCHANNEL_STORE_VERSION", vers, TDB_REPLACE);
-		vers.dptr = NULL;
-	} else if (vers.dsize == 4) {
-		ver = IVAL(vers.dptr,0);
-		if (ver == SCHANNEL_STORE_VERSION_2) {
-			DEBUG(0,("open_schannel_session_store: wrong version number %d in %s\n",
-				(int)ver, fname ));
-			tdb_wipe_all(tdb_sc);
-			goto again;
-		}
-		if (ver != SCHANNEL_STORE_VERSION_CURRENT) {
-			DEBUG(0,("open_schannel_session_store: wrong version number %d in %s\n",
-				(int)ver, fname ));
-			tdb_close(tdb_sc);
-			tdb_sc = NULL;
-		}
-	} else {
-		tdb_close(tdb_sc);
-		tdb_sc = NULL;
-		DEBUG(0,("open_schannel_session_store: wrong version number size %d in %s\n",
-			(int)vers.dsize, fname ));
+	if (asprintf(&tdbkey, "SECRETS/GENERIC/%s/%s", owner, key) < 0) {
+		DEBUG(0, ("asprintf failed!\n"));
+		return False;
 	}
 
-	SAFE_FREE(vers.dptr);
-	TALLOC_FREE(fname);
+	ret = secrets_store(tdbkey, secret, strlen(secret)+1);
 
-	return tdb_sc;
+	SAFE_FREE(tdbkey);
+	return ret;
 }
 
-bool secrets_store_generic(const char *owner, const char *key, const char *secret)
+bool secrets_delete_generic(const char *owner, const char *key)
 {
 	char *tdbkey = NULL;
 	bool ret;
@@ -1205,7 +1158,7 @@ bool secrets_store_generic(const char *owner, const char *key, const char *secre
 		return False;
 	}
 
-	ret = secrets_store(tdbkey, secret, strlen(secret)+1);
+	ret = secrets_delete(tdbkey);
 
 	SAFE_FREE(tdbkey);
 	return ret;
diff --git a/source3/passdb/secrets_schannel.c b/source3/passdb/secrets_schannel.c
index 84a860e..f4da625 100644
--- a/source3/passdb/secrets_schannel.c
+++ b/source3/passdb/secrets_schannel.c
@@ -21,6 +21,69 @@
 #include "../libcli/auth/schannel_state.h"
 
 /******************************************************************************
+ Open or create the schannel session store tdb.
+*******************************************************************************/
+
+#define SCHANNEL_STORE_VERSION_1 1
+#define SCHANNEL_STORE_VERSION_2 2 /* should not be used */
+#define SCHANNEL_STORE_VERSION_CURRENT SCHANNEL_STORE_VERSION_1
+
+TDB_CONTEXT *open_schannel_session_store(TALLOC_CTX *mem_ctx)
+{
+	TDB_DATA vers;
+	uint32 ver;
+	TDB_CONTEXT *tdb_sc = NULL;
+	char *fname = talloc_asprintf(mem_ctx, "%s/schannel_store.tdb", lp_private_dir());
+
+	if (!fname) {
+		return NULL;
+	}
+
+	tdb_sc = tdb_open_log(fname, 0, TDB_DEFAULT, O_RDWR|O_CREAT, 0600);
+
+	if (!tdb_sc) {
+		DEBUG(0,("open_schannel_session_store: Failed to open %s\n", fname));
+		TALLOC_FREE(fname);
+		return NULL;
+	}
+
+ again:
+	vers = tdb_fetch_bystring(tdb_sc, "SCHANNEL_STORE_VERSION");
+	if (vers.dptr == NULL) {
+		/* First opener, no version. */
+		SIVAL(&ver,0,SCHANNEL_STORE_VERSION_CURRENT);
+		vers.dptr = (uint8 *)&ver;
+		vers.dsize = 4;
+		tdb_store_bystring(tdb_sc, "SCHANNEL_STORE_VERSION", vers, TDB_REPLACE);
+		vers.dptr = NULL;
+	} else if (vers.dsize == 4) {
+		ver = IVAL(vers.dptr,0);
+		if (ver == SCHANNEL_STORE_VERSION_2) {
+			DEBUG(0,("open_schannel_session_store: wrong version number %d in %s\n",
+				(int)ver, fname ));
+			tdb_wipe_all(tdb_sc);
+			goto again;
+		}
+		if (ver != SCHANNEL_STORE_VERSION_CURRENT) {
+			DEBUG(0,("open_schannel_session_store: wrong version number %d in %s\n",
+				(int)ver, fname ));
+			tdb_close(tdb_sc);
+			tdb_sc = NULL;
+		}
+	} else {
+		tdb_close(tdb_sc);
+		tdb_sc = NULL;
+		DEBUG(0,("open_schannel_session_store: wrong version number size %d in %s\n",
+			(int)vers.dsize, fname ));
+	}
+
+	SAFE_FREE(vers.dptr);
+	TALLOC_FREE(fname);
+
+	return tdb_sc;
+}
+
+/******************************************************************************
  Wrapper around schannel_fetch_session_key_tdb()
  Note we must be root here.
 *******************************************************************************/
diff --git a/source3/rpc_server/srv_lsa_nt.c b/source3/rpc_server/srv_lsa_nt.c
index a9a4fa5..d90dfee 100644
--- a/source3/rpc_server/srv_lsa_nt.c
+++ b/source3/rpc_server/srv_lsa_nt.c
@@ -59,6 +59,20 @@ const struct generic_mapping lsa_policy_mapping = {
 	LSA_POLICY_ALL_ACCESS
 };
 
+const struct generic_mapping lsa_secret_mapping = {
+	LSA_SECRET_READ,
+	LSA_SECRET_WRITE,
+	LSA_SECRET_EXECUTE,
+	LSA_SECRET_ALL_ACCESS
+};
+
+const struct generic_mapping lsa_trusted_domain_mapping = {
+	LSA_TRUSTED_DOMAIN_READ,
+	LSA_TRUSTED_DOMAIN_WRITE,
+	LSA_TRUSTED_DOMAIN_EXECUTE,
+	LSA_TRUSTED_DOMAIN_ALL_ACCESS
+};
+
 /***************************************************************************
  init_lsa_ref_domain_list - adds a domain if it's not already in, returns the index.
 ***************************************************************************/
@@ -372,9 +386,8 @@ NTSTATUS _lsa_OpenPolicy2(pipes_struct *p,
 	}
 
 	status = access_check_object(psd, p->server_info->ptok,
-		NULL, 0, des_access,
-		&acc_granted, "_lsa_OpenPolicy2" );
-
+				     NULL, 0, des_access,
+				     &acc_granted, "_lsa_OpenPolicy2" );
 	if (!NT_STATUS_IS_OK(status)) {
 		return status;
 	}
@@ -1017,23 +1030,24 @@ NTSTATUS _lsa_LookupSids3(pipes_struct *p,
 /***************************************************************************
  ***************************************************************************/
 
-static int lsa_lookup_level_to_flags(uint16 level)
+static int lsa_lookup_level_to_flags(enum lsa_LookupNamesLevel level)
 {
 	int flags;
 
 	switch (level) {
-		case 1:
+		case LSA_LOOKUP_NAMES_ALL: /* 1 */
 			flags = LOOKUP_NAME_ALL;
 			break;
-		case 2:
+		case LSA_LOOKUP_NAMES_DOMAINS_ONLY: /* 2 */
 			flags = LOOKUP_NAME_DOMAIN|LOOKUP_NAME_REMOTE|LOOKUP_NAME_ISOLATED;
 			break;
-		case 3:
+		case LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY: /* 3 */
 			flags = LOOKUP_NAME_DOMAIN|LOOKUP_NAME_ISOLATED;
 			break;
-		case 4:
-		case 5:
-		case 6:
+		case LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY: /* 4 */
+		case LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY: /* 5 */
+		case LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2: /* 6 */
+		case LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC: /* 7 */
 		default:
 			flags = LOOKUP_NAME_NONE;
 			break;
@@ -1674,9 +1688,9 @@ NTSTATUS _lsa_CreateAccount(pipes_struct *p,
 		return status;
 	}
 
-        status = access_check_object(psd, p->server_info->ptok,
-                NULL, 0, r->in.access_mask,
-                &acc_granted, "_lsa_CreateAccount");
+	status = access_check_object(psd, p->server_info->ptok,
+				     NULL, 0, r->in.access_mask,
+				     &acc_granted, "_lsa_CreateAccount");
 	if (!NT_STATUS_IS_OK(status)) {
 		return status;
 	}
@@ -1745,9 +1759,8 @@ NTSTATUS _lsa_OpenAccount(pipes_struct *p,
 	}
 
 	status = access_check_object(psd, p->server_info->ptok,
-		NULL, 0, des_access,
-		&acc_granted, "_lsa_OpenAccount" );
-
+				     NULL, 0, des_access,
+				     &acc_granted, "_lsa_OpenAccount" );
 	if (!NT_STATUS_IS_OK(status)) {
 		return status;
 	}
@@ -2137,10 +2150,10 @@ NTSTATUS _lsa_AddAccountRights(pipes_struct *p,
  	 * on the account sid. We don't check here so just use the latter. JRA.
  	 */
 
-        status = access_check_object(psd, p->server_info->ptok,
-                NULL, 0, LSA_ACCOUNT_ADJUST_PRIVILEGES|LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS|LSA_ACCOUNT_VIEW,
-                &acc_granted, "_lsa_AddAccountRights" );
-
+	status = access_check_object(psd, p->server_info->ptok,
+				     NULL, 0,
+				     LSA_ACCOUNT_ADJUST_PRIVILEGES|LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS|LSA_ACCOUNT_VIEW,
+				     &acc_granted, "_lsa_AddAccountRights" );
         if (!NT_STATUS_IS_OK(status)) {
                 return status;
         }
@@ -2207,11 +2220,11 @@ NTSTATUS _lsa_RemoveAccountRights(pipes_struct *p,
 	 * and DELETE on the account sid.
  	 */
 
-        status = access_check_object(psd, p->server_info->ptok,
-                NULL, 0, LSA_ACCOUNT_ADJUST_PRIVILEGES|LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS|
-			LSA_ACCOUNT_VIEW|STD_RIGHT_DELETE_ACCESS,
-                &acc_granted, "_lsa_AddAccountRights" );
-
+	status = access_check_object(psd, p->server_info->ptok,
+				     NULL, 0,
+				     LSA_ACCOUNT_ADJUST_PRIVILEGES|LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS|
+				     LSA_ACCOUNT_VIEW|STD_RIGHT_DELETE_ACCESS,
+				     &acc_granted, "_lsa_RemoveAccountRights");
         if (!NT_STATUS_IS_OK(status)) {
                 return status;
         }
diff --git a/source3/utils/net_sam.c b/source3/utils/net_sam.c
index 95405f3..fe84ce4 100644
--- a/source3/utils/net_sam.c
+++ b/source3/utils/net_sam.c
@@ -137,7 +137,7 @@ static int net_sam_set_userflag(struct net_context *c, int argc,
 	enum lsa_SidType type;
 	const char *dom, *name;
 	NTSTATUS status;
-	uint16 acct_flags;
+	uint32_t acct_flags;
 
 	if ((argc != 2) || c->display_usage ||
 	    (!strequal(argv[1], "yes") &&


-- 
Samba Shared Repository


More information about the samba-cvs mailing list