[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-313-g50ca5af

Volker Lendecke vlendec at samba.org
Sun Feb 1 13:35:04 GMT 2009


The branch, master has been updated
       via  50ca5af9f38b46fb3c7dea5b50997d3bd1c7e46f (commit)
       via  7967d8c779935df17363dd1cd3bea25d6e1b8479 (commit)
       via  53394980ad7dc09af4412a6c4ee75241798b0e7c (commit)
       via  3cd8c121dc27739a9a70bf47e32dcd19e35ddf14 (commit)
       via  57de60a83f3f88566d356547eb20a6f0569f76ec (commit)
       via  dba6624dca024d144b0adb1016d17d176d38b735 (commit)
       via  19ce90b90e0024aa1d2453fcdc52828f6bee2f33 (commit)
      from  16f072809cf0e8542b776988d3fe1a0db055a74b (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 50ca5af9f38b46fb3c7dea5b50997d3bd1c7e46f
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jan 31 17:58:30 2009 +0100

    Convert api_RNetUserEnum to use the srv_samr_nt.c directly
    
    This is a sample for other accesses to pdb to go via samr. The goal is to
    access passdb only via srv_samr_nt.c. If that is done, then we can easily swap
    in another samr implementation like for example samba4's via a unix domain
    socket.

commit 7967d8c779935df17363dd1cd3bea25d6e1b8479
Author: Volker Lendecke <vl at samba.org>
Date:   Sun Feb 1 13:01:54 2009 +0100

    Move rpc_pipe_open_internal to srv_pipe_hnd.c
    
    This is a smbd-only function

commit 53394980ad7dc09af4412a6c4ee75241798b0e7c
Author: Volker Lendecke <vl at samba.org>
Date:   Sun Feb 1 12:03:31 2009 +0100

    Replace pipe names in pipes_struct by ndr_syntax_id
    
    This was mainly used for debugging output

commit 3cd8c121dc27739a9a70bf47e32dcd19e35ddf14
Author: Volker Lendecke <vl at samba.org>
Date:   Sun Feb 1 00:31:16 2009 +0100

    Fix some type-punned warnings

commit 57de60a83f3f88566d356547eb20a6f0569f76ec
Author: Volker Lendecke <vl at samba.org>
Date:   Sun Feb 1 00:30:04 2009 +0100

    cli_get_pipe_name_from_interface does not really need a talloc_ctx

commit dba6624dca024d144b0adb1016d17d176d38b735
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jan 31 16:57:46 2009 +0100

    Fix nonempty blank lines

commit 19ce90b90e0024aa1d2453fcdc52828f6bee2f33
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jan 31 16:47:15 2009 +0100

    Just for fun: Move some bytes from bss to text

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

Summary of changes:
 source3/include/ntdomain.h            |    3 +-
 source3/include/proto.h               |    8 +-
 source3/lib/netapi/cm.c               |    2 +-
 source3/passdb/passdb.c               |  121 +++++++++---------
 source3/rpc_client/cli_pipe.c         |   67 +++-------
 source3/rpc_client/rpc_transport_np.c |   13 +--
 source3/rpc_server/srv_lsa_hnd.c      |   22 ++--
 source3/rpc_server/srv_pipe.c         |   81 ++++++++-----
 source3/rpc_server/srv_pipe_hnd.c     |  115 +++++++++++++-----
 source3/rpcclient/rpcclient.c         |    9 +-
 source3/smbd/lanman.c                 |  218 ++++++++++++++++++++-------------
 source3/smbd/mangle_hash.c            |    2 +-
 source3/smbd/mangle_hash2.c           |    2 +-
 source3/utils/net_rpc.c               |    9 +-
 14 files changed, 381 insertions(+), 291 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/ntdomain.h b/source3/include/ntdomain.h
index 3f50155..2d6a358 100644
--- a/source3/include/ntdomain.h
+++ b/source3/include/ntdomain.h
@@ -214,8 +214,7 @@ typedef struct pipes_struct {
 
 	struct auth_serversupplied_info *server_info;
 
-	fstring name;
-	fstring pipe_srv_name;
+	struct ndr_syntax_id syntax;
 
 	/* linked list of rpc dispatch tables associated 
 	   with the open rpc contexts */
diff --git a/source3/include/proto.h b/source3/include/proto.h
index fd55669..c97adaa 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -5852,8 +5852,7 @@ bool prs_data_blob(prs_struct *prs, DATA_BLOB *blob, TALLOC_CTX *mem_ctx);
 
 /* The following definitions come from rpc_parse/parse_rpc.c  */
 
-const char *cli_get_pipe_name_from_iface(TALLOC_CTX *mem_ctx,
-					 const struct ndr_syntax_id *interface);
+const char *get_pipe_name_from_iface(const struct ndr_syntax_id *interface);
 void init_rpc_hdr(RPC_HDR *hdr, enum RPC_PKT_TYPE pkt_type, uint8 flags,
 				uint32 call_id, int data_len, int auth_len);
 bool smb_io_rpc_hdr(const char *desc,  RPC_HDR *rpc, prs_struct *ps, int depth);
@@ -6272,7 +6271,8 @@ NTSTATUS _eventlog_read_eventlog( pipes_struct * p,
 
 /* The following definitions come from rpc_server/srv_lsa_hnd.c  */
 
-bool init_pipe_handle_list(pipes_struct *p, const char *pipe_name);
+bool init_pipe_handle_list(pipes_struct *p,
+			   const struct ndr_syntax_id *syntax);
 bool create_policy_hnd(pipes_struct *p, POLICY_HND *hnd, void *data_ptr);
 bool find_policy_by_hnd(pipes_struct *p, POLICY_HND *hnd, void **data_p);
 bool close_policy_hnd(pipes_struct *p, POLICY_HND *hnd);
@@ -6295,7 +6295,7 @@ NTSTATUS rpc_srv_register(int version, const char *clnt,
 			  const char *srv,
 			  const struct ndr_interface_table *iface,
 			  const struct api_struct *cmds, int size);
-bool is_known_pipename(const char *cli_filename);
+bool is_known_pipename(const char *cli_filename, struct ndr_syntax_id *syntax);
 bool api_pipe_bind_req(pipes_struct *p, prs_struct *rpc_in_p);
 bool api_pipe_alter_context(pipes_struct *p, prs_struct *rpc_in_p);
 bool api_pipe_ntlmssp_auth_process(pipes_struct *p, prs_struct *rpc_in,
diff --git a/source3/lib/netapi/cm.c b/source3/lib/netapi/cm.c
index d5ef09d..233255f 100644
--- a/source3/lib/netapi/cm.c
+++ b/source3/lib/netapi/cm.c
@@ -184,7 +184,7 @@ WERROR libnetapi_open_pipe(struct libnetapi_ctx *ctx,
 	status = pipe_cm_open(ctx, cli, interface, &result);
 	if (!NT_STATUS_IS_OK(status)) {
 		libnetapi_set_error_string(ctx, "failed to open PIPE %s: %s",
-			cli_get_pipe_name_from_iface(debug_ctx(), interface),
+			get_pipe_name_from_iface(interface),
 			get_friendly_nt_error_msg(status));
 		return WERR_DEST_NOT_FOUND;
 	}
diff --git a/source3/passdb/passdb.c b/source3/passdb/passdb.c
index e677d42..d26a667 100644
--- a/source3/passdb/passdb.c
+++ b/source3/passdb/passdb.c
@@ -7,17 +7,17 @@
    Copyright (C) Andrew Bartlett		2001-2002
    Copyright (C) Simo Sorce			2003
    Copyright (C) Volker Lendecke 		2006
-      
+
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
-   
+
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
-   
+
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
@@ -67,16 +67,16 @@ static int samu_destroy(struct samu *user)
 struct samu *samu_new( TALLOC_CTX *ctx )
 {
 	struct samu *user;
-	
+
 	if ( !(user = TALLOC_ZERO_P( ctx, struct samu )) ) {
 		DEBUG(0,("samuser_new: Talloc failed!\n"));
 		return NULL;
 	}
-	
+
 	talloc_set_destructor( user, samu_destroy );
-	
+
 	/* no initial methods */
-	
+
 	user->methods = NULL;
 
         /* Don't change these timestamp settings without a good reason.
@@ -98,7 +98,7 @@ struct samu *samu_new( TALLOC_CTX *ctx )
 
 	/* Some parts of samba strlen their pdb_get...() returns, 
 	   so this keeps the interface unchanged for now. */
-	   
+
 	user->username = "";
 	user->domain = "";
 	user->nt_username = "";
@@ -118,8 +118,7 @@ struct samu *samu_new( TALLOC_CTX *ctx )
 	   asks for a filtered list of users. */
 
 	user->acct_ctrl = ACB_NORMAL;
-	
-	
+
 	return user;
 }
 
@@ -140,7 +139,7 @@ static NTSTATUS samu_set_unix_internal(struct samu *user, const struct passwd *p
 	}
 
 	/* Basic properties based upon the Unix account information */
-	
+
 	pdb_set_username(user, pwd->pw_name, PDB_SET);
 	pdb_set_fullname(user, pwd->pw_gecos, PDB_SET);
 	pdb_set_domain (user, get_global_sam_name(), PDB_DEFAULT);
@@ -149,29 +148,29 @@ static NTSTATUS samu_set_unix_internal(struct samu *user, const struct passwd *p
 	   will be rejected by other parts of the Samba code. 
 	   Rely on pdb_get_group_sid() to "Do The Right Thing" (TM)  
 	   --jerry */
-	   
+
 	gid_to_sid(&group_sid, pwd->pw_gid);
 	pdb_set_group_sid(user, &group_sid, PDB_SET);
 #endif
-	
+
 	/* save the password structure for later use */
-	
+
 	user->unix_pw = tcopy_passwd( user, pwd );
 
 	/* Special case for the guest account which must have a RID of 501 */
-	
+
 	if ( strequal( pwd->pw_name, guest_account ) ) {
 		if ( !pdb_set_user_sid_from_rid(user, DOMAIN_USER_RID_GUEST, PDB_DEFAULT)) {
 			return NT_STATUS_NO_SUCH_USER;
 		}
 		return NT_STATUS_OK;
 	}
-	
+
 	/* Non-guest accounts...Check for a workstation or user account */
 
 	if (pwd->pw_name[strlen(pwd->pw_name)-1] == '$') {
 		/* workstation */
-		
+
 		if (!pdb_set_acct_ctrl(user, ACB_WSTRUST, PDB_DEFAULT)) {
 			DEBUG(1, ("Failed to set 'workstation account' flags for user %s.\n", 
 				pwd->pw_name));
@@ -180,15 +179,15 @@ static NTSTATUS samu_set_unix_internal(struct samu *user, const struct passwd *p
 	} 
 	else {
 		/* user */
-		
+
 		if (!pdb_set_acct_ctrl(user, ACB_NORMAL, PDB_DEFAULT)) {
 			DEBUG(1, ("Failed to set 'normal account' flags for user %s.\n", 
 				pwd->pw_name));
 			return NT_STATUS_INVALID_ACCOUNT_NAME;
 		}
-		
+
 		/* set some basic attributes */
-	
+
 		pdb_set_profile_path(user, talloc_sub_specified(user, 
 			lp_logon_path(), pwd->pw_name, domain, pwd->pw_uid, pwd->pw_gid), 
 			PDB_DEFAULT);		
@@ -202,7 +201,7 @@ static NTSTATUS samu_set_unix_internal(struct samu *user, const struct passwd *p
 			lp_logon_script(), pwd->pw_name, domain, pwd->pw_uid, pwd->pw_gid), 
 			PDB_DEFAULT);
 	}
-	
+
 	/* Now deal with the user SID.  If we have a backend that can generate 
 	   RIDs, then do so.  But sometimes the caller just wanted a structure 
 	   initialized and will fill in these fields later (such as from a 
@@ -211,7 +210,7 @@ static NTSTATUS samu_set_unix_internal(struct samu *user, const struct passwd *p
 	if ( create && !pdb_rid_algorithm() ) {
 		uint32 user_rid;
 		DOM_SID user_sid;
-		
+
 		if ( !pdb_new_rid( &user_rid ) ) {
 			DEBUG(3, ("Could not allocate a new RID\n"));
 			return NT_STATUS_ACCESS_DENIED;
@@ -224,18 +223,18 @@ static NTSTATUS samu_set_unix_internal(struct samu *user, const struct passwd *p
 			DEBUG(3, ("pdb_set_user_sid failed\n"));
 			return NT_STATUS_INTERNAL_ERROR;
 		}
-		
+
 		return NT_STATUS_OK;
 	}
 
 	/* generate a SID for the user with the RID algorithm */
-	
+
 	urid = algorithmic_pdb_uid_to_user_rid( user->unix_pw->pw_uid );
-		
+
 	if ( !pdb_set_user_sid_from_rid( user, urid, PDB_SET) ) {
 		return NT_STATUS_INTERNAL_ERROR;
 	}
-	
+
 	return NT_STATUS_OK;
 }
 
@@ -365,10 +364,10 @@ bool pdb_gethexpwd(const char *p, unsigned char *pwd)
 	unsigned char   lonybble, hinybble;
 	const char      *hexchars = "0123456789ABCDEF";
 	char           *p1, *p2;
-	
+
 	if (!p)
 		return false;
-	
+
 	for (i = 0; i < 32; i += 2) {
 		hinybble = toupper_ascii(p[i]);
 		lonybble = toupper_ascii(p[i + 1]);
@@ -554,16 +553,16 @@ bool lookup_global_sam_name(const char *name, int flags, uint32_t *rid,
 {
 	GROUP_MAP map;
 	bool ret;
-	
+
 	/* Windows treats "MACHINE\None" as a special name for 
 	   rid 513 on non-DCs.  You cannot create a user or group
 	   name "None" on Windows.  You will get an error that 
 	   the group already exists. */
-	   
+
 	if ( strequal( name, "None" ) ) {
 		*rid = DOMAIN_GROUP_RID_USERS;
 		*type = SID_NAME_DOM_GRP;
-		
+
 		return True;
 	}
 
@@ -578,7 +577,7 @@ bool lookup_global_sam_name(const char *name, int flags, uint32_t *rid,
 		if ( !(sam_account = samu_new( NULL )) ) {
 			return False;
 		}
-	
+
 		become_root();
 		ret =  pdb_getsampwnam(sam_account, name);
 		unbecome_root();
@@ -586,7 +585,7 @@ bool lookup_global_sam_name(const char *name, int flags, uint32_t *rid,
 		if (ret) {
 			sid_copy(&user_sid, pdb_get_user_sid(sam_account));
 		}
-		
+
 		TALLOC_FREE(sam_account);
 
 		if (ret) {
@@ -654,7 +653,7 @@ NTSTATUS local_password_change(const char *user_name,
 	if(!pdb_getsampwnam(sam_pass, user_name)) {
 		unbecome_root();
 		TALLOC_FREE(sam_pass);
-		
+
 		if ((local_flags & LOCAL_ADD_USER) || (local_flags & LOCAL_DELETE_USER)) {
 			int tmp_debug = DEBUGLEVEL;
 			struct passwd *pwd;
@@ -754,7 +753,7 @@ NTSTATUS local_password_change(const char *user_name,
 			return NT_STATUS_UNSUCCESSFUL;
 		}
 	}
-	
+
 	if (local_flags & LOCAL_SET_NO_PASSWORD) {
 		if (!pdb_set_acct_ctrl (sam_pass, pdb_get_acct_ctrl(sam_pass)|ACB_PWNOTREQ, PDB_CHANGED)) {
 			if (asprintf(pp_err_str, "Failed to set 'no password required' flag for user %s.\n", user_name) < 0) {
@@ -789,7 +788,7 @@ NTSTATUS local_password_change(const char *user_name,
 			TALLOC_FREE(sam_pass);
 			return NT_STATUS_UNSUCCESSFUL;
 		}
-		
+
 		if (!pdb_set_plaintext_passwd (sam_pass, new_passwd)) {
 			if (asprintf(pp_err_str, "Failed to set password for user %s.\n", user_name) < 0) {
 				*pp_err_str = NULL;
@@ -893,7 +892,7 @@ static bool init_samu_from_buffer_v0(struct samu *sampass, uint8 *buf, uint32 bu
 		dir_drive_len, unknown_str_len, munged_dial_len,
 		fullname_len, homedir_len, logon_script_len,
 		profile_path_len, acct_desc_len, workstations_len;
-		
+
 	uint32	user_rid, group_rid, remove_me, hours_len, unknown_6;
 	uint16	acct_ctrl, logon_divs;
 	uint16	bad_password_count, logon_count;
@@ -902,7 +901,7 @@ static bool init_samu_from_buffer_v0(struct samu *sampass, uint8 *buf, uint32 bu
 	uint32		len = 0;
 	uint32		lm_pw_len, nt_pw_len, hourslen;
 	bool ret = True;
-	
+
 	if(sampass == NULL || buf == NULL) {
 		DEBUG(0, ("init_samu_from_buffer_v0: NULL parameters found!\n"));
 		return False;
@@ -942,7 +941,7 @@ static bool init_samu_from_buffer_v0(struct samu *sampass, uint8 *buf, uint32 bu
 		&bad_password_count,					/* w */
 		&logon_count,						/* w */
 		&unknown_6);						/* d */
-		
+
 	if (len == (uint32) -1)  {
 		ret = False;
 		goto done;
@@ -987,7 +986,7 @@ static bool init_samu_from_buffer_v0(struct samu *sampass, uint8 *buf, uint32 bu
 					 lp_logon_script()),
 			PDB_DEFAULT);
 	}
-	
+
 	if (profile_path) {	
 		pdb_set_profile_path(sampass, profile_path, PDB_SET);
 	} else {
@@ -1079,7 +1078,7 @@ static bool init_samu_from_buffer_v1(struct samu *sampass, uint8 *buf, uint32 bu
 		dir_drive_len, unknown_str_len, munged_dial_len,
 		fullname_len, homedir_len, logon_script_len,
 		profile_path_len, acct_desc_len, workstations_len;
-		
+
 	uint32	user_rid, group_rid, remove_me, hours_len, unknown_6;
 	uint16	acct_ctrl, logon_divs;
 	uint16	bad_password_count, logon_count;
@@ -1088,7 +1087,7 @@ static bool init_samu_from_buffer_v1(struct samu *sampass, uint8 *buf, uint32 bu
 	uint32		len = 0;
 	uint32		lm_pw_len, nt_pw_len, hourslen;
 	bool ret = True;
-	
+
 	if(sampass == NULL || buf == NULL) {
 		DEBUG(0, ("init_samu_from_buffer_v1: NULL parameters found!\n"));
 		return False;
@@ -1130,7 +1129,7 @@ static bool init_samu_from_buffer_v1(struct samu *sampass, uint8 *buf, uint32 bu
 		&bad_password_count,					/* w */
 		&logon_count,						/* w */
 		&unknown_6);						/* d */
-		
+
 	if (len == (uint32) -1)  {
 		ret = False;
 		goto done;
@@ -1178,7 +1177,7 @@ static bool init_samu_from_buffer_v1(struct samu *sampass, uint8 *buf, uint32 bu
 					 lp_logon_script()),
 			PDB_DEFAULT);
 	}
-	
+
 	if (profile_path) {	
 		pdb_set_profile_path(sampass, profile_path, PDB_SET);
 	} else {
@@ -1268,7 +1267,7 @@ static bool init_samu_from_buffer_v2(struct samu *sampass, uint8 *buf, uint32 bu
 		dir_drive_len, unknown_str_len, munged_dial_len,
 		fullname_len, homedir_len, logon_script_len,
 		profile_path_len, acct_desc_len, workstations_len;
-		
+
 	uint32	user_rid, group_rid, hours_len, unknown_6;
 	uint16	acct_ctrl, logon_divs;
 	uint16	bad_password_count, logon_count;
@@ -1280,12 +1279,12 @@ static bool init_samu_from_buffer_v2(struct samu *sampass, uint8 *buf, uint32 bu
 	bool ret = True;
 	fstring tmp_string;
 	bool expand_explicit = lp_passdb_expand_explicit();
-	
+
 	if(sampass == NULL || buf == NULL) {
 		DEBUG(0, ("init_samu_from_buffer_v2: NULL parameters found!\n"));
 		return False;
 	}
-									
+
 /* SAMU_BUFFER_FORMAT_V2       "dddddddBBBBBBBBBBBBddBBBwwdBwwd" */
 
 	/* unpack the buffer into variables */
@@ -1323,7 +1322,7 @@ static bool init_samu_from_buffer_v2(struct samu *sampass, uint8 *buf, uint32 bu
 		&bad_password_count,					/* w */
 		&logon_count,						/* w */
 		&unknown_6);						/* d */
-		
+
 	if (len == (uint32) -1)  {
 		ret = False;
 		goto done;
@@ -1376,7 +1375,7 @@ static bool init_samu_from_buffer_v2(struct samu *sampass, uint8 *buf, uint32 bu
 					 lp_logon_script()),
 			PDB_DEFAULT);
 	}
-	
+
 	if (profile_path) {	
 		fstrcpy( tmp_string, profile_path );
 		if (expand_explicit) {
@@ -1503,7 +1502,7 @@ static bool init_samu_from_buffer_v3(struct samu *sampass, uint8 *buf, uint32 bu
 		dir_drive_len, unknown_str_len, munged_dial_len,
 		fullname_len, homedir_len, logon_script_len,
 		profile_path_len, acct_desc_len, workstations_len;
-		
+
 	uint32	user_rid, group_rid, hours_len, unknown_6, acct_ctrl;
 	uint16  logon_divs;
 	uint16	bad_password_count, logon_count;
@@ -1515,12 +1514,12 @@ static bool init_samu_from_buffer_v3(struct samu *sampass, uint8 *buf, uint32 bu
 	bool ret = True;
 	fstring tmp_string;
 	bool expand_explicit = lp_passdb_expand_explicit();
-	
+
 	if(sampass == NULL || buf == NULL) {
 		DEBUG(0, ("init_samu_from_buffer_v3: NULL parameters found!\n"));
 		return False;
 	}
-									
+
 /* SAMU_BUFFER_FORMAT_V3       "dddddddBBBBBBBBBBBBddBBBdwdBwwd" */
 
 	/* unpack the buffer into variables */
@@ -1559,7 +1558,7 @@ static bool init_samu_from_buffer_v3(struct samu *sampass, uint8 *buf, uint32 bu
 		&bad_password_count,					/* w */
 		&logon_count,						/* w */
 		&unknown_6);						/* d */
-		
+
 	if (len == (uint32) -1)  {
 		ret = False;
 		goto done;
@@ -1612,7 +1611,7 @@ static bool init_samu_from_buffer_v3(struct samu *sampass, uint8 *buf, uint32 bu
 					 lp_logon_script()),
 			PDB_DEFAULT);
 	}
-	
+
 	if (profile_path) {	
 		fstrcpy( tmp_string, profile_path );
 		if (expand_explicit) {
@@ -1839,12 +1838,12 @@ static uint32 init_buffer_from_samu_v3 (uint8 **buf, struct samu *sampass, bool
 	} else {
 		profile_path_len = 0;
 	}
-	
+
 	lm_pw = pdb_get_lanman_passwd(sampass);
 	if (!lm_pw) {
 		lm_pw_len = 0;
 	}
-	
+
 	nt_pw = pdb_get_nt_passwd(sampass);
 	if (!nt_pw) {
 		nt_pw_len = 0;
@@ -1927,7 +1926,7 @@ static uint32 init_buffer_from_samu_v3 (uint8 **buf, struct samu *sampass, bool
 		DEBUG(0,("init_buffer_from_samu_v3: Unable to malloc() memory for buffer!\n"));
 		return (-1);
 	}
-	
+
 	/* now for the real call to tdb_pack() */
 	buflen = tdb_pack(*buf, len,  SAMU_BUFFER_FORMAT_V3,
 		logon_time,				/* d */
@@ -1961,7 +1960,7 @@ static uint32 init_buffer_from_samu_v3 (uint8 **buf, struct samu *sampass, bool
 		pdb_get_bad_password_count(sampass),	/* w */
 		pdb_get_logon_count(sampass),		/* w */
 		pdb_get_unknown_6(sampass));		/* d */
-	
+
 	/* check to make sure we got it correct */
 	if (buflen != len) {
 		DEBUG(0, ("init_buffer_from_samu_v3: somthing odd is going on here: bufflen (%lu) != len (%lu) in tdb_pack operations!\n", 
@@ -2038,7 +2037,7 @@ bool pdb_copy_sam_account(struct samu *dst, struct samu *src )
 	}
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list