[SCM] Samba Shared Repository - branch master updated

Jeremy Allison jra at samba.org
Wed Feb 27 02:23:02 UTC 2019


The branch, master has been updated
       via  0045a919b46 libcli:auth: Avoid explicit ZERO_STRUCT
       via  b451168d72e auth:gensec: Make sure we zero the checksum after use
       via  e9ee003b9e1 libcli:smb: Zero sensitive memory after use
       via  a89b0f3f4c7 rpc_server: Use dom_sid_str_buf
       via  908ef16567c libnet: Use dom_sid_str_buf
       via  54d2e88fc7d dsdb: Align integer types
       via  071af60d745 audit_log: Use dom_sid_str_buf
       via  7d9b7604180 winbind: Avoid a "==False"
       via  e8efe16b3cb winbind: Fix an error path memleak
       via  d48aa9a56b3 winbind: Align integer types
       via  d83741091fa winbindd: Fix typos
       via  f5cd535bf22 libads: Align integer types
       via  258d7d1ca97 libads: Use dom_sid_str_buf
       via  8284ed9cc84 pdbtest: Use dom_sid_str_buf
       via  e3902283f22 addns: Remove some unused defines
      from  09d281d69b6 ldb: version 1.6.2

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


- Log -----------------------------------------------------------------
commit 0045a919b46f55e631040833220f357079857b34
Author: Andreas Schneider <asn at samba.org>
Date:   Fri Oct 26 14:50:29 2018 +0200

    libcli:auth: Avoid explicit ZERO_STRUCT
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    
    Autobuild-User(master): Jeremy Allison <jra at samba.org>
    Autobuild-Date(master): Wed Feb 27 03:22:50 CET 2019 on sn-devel-144

commit b451168d72ec0026dd4ce36a3f2913a5842ba84d
Author: Andreas Schneider <asn at samba.org>
Date:   Tue Oct 30 17:08:35 2018 +0100

    auth:gensec: Make sure we zero the checksum after use
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit e9ee003b9e157270a8499c88721943d49a505d7f
Author: Andreas Schneider <asn at samba.org>
Date:   Thu Oct 11 14:33:52 2018 +0200

    libcli:smb: Zero sensitive memory after use
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit a89b0f3f4c7b4049893588d0e8d29e3854836619
Author: Volker Lendecke <vl at samba.org>
Date:   Thu Jan 10 21:13:36 2019 +0100

    rpc_server: Use dom_sid_str_buf
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 908ef16567c603be6e16b385c7ab0ba07d9e9eaa
Author: Volker Lendecke <vl at samba.org>
Date:   Mon Jan 7 21:03:06 2019 +0100

    libnet: Use dom_sid_str_buf
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 54d2e88fc7d3a5a06954d5f95a2b6347fd973b56
Author: Volker Lendecke <vl at samba.org>
Date:   Thu Oct 25 21:29:29 2018 +0200

    dsdb: Align integer types
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 071af60d745b64dec880e094aa6c4d2654526fc3
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Jan 8 09:47:40 2019 +0100

    audit_log: Use dom_sid_str_buf
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 7d9b760418057c372f8e17739613a30e6b756823
Author: Volker Lendecke <vl at samba.org>
Date:   Mon Nov 12 12:54:58 2018 +0100

    winbind: Avoid a "==False"
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit e8efe16b3cb1bb6a5bae3b684deea63c8b4e8102
Author: Volker Lendecke <vl at samba.org>
Date:   Mon Oct 15 08:32:33 2018 +0200

    winbind: Fix an error path memleak
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit d48aa9a56b39f598a30ea29ef4b090cd48503cb8
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Nov 9 21:17:57 2018 +0100

    winbind: Align integer types
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit d83741091fad3cf343106900d328c09b12e18346
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Oct 30 14:55:35 2018 +0100

    winbindd: Fix typos
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit f5cd535bf22ebff94eb19d903fef78d13d61486a
Author: Volker Lendecke <vl at samba.org>
Date:   Sat Jan 12 14:59:58 2019 +0100

    libads: Align integer types
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 258d7d1ca97ffa1780400f463b0d93cb5ecb0f15
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Nov 9 21:12:51 2018 +0100

    libads: Use dom_sid_str_buf
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 8284ed9cc843ad07c9db5d113fef40919ed57ddc
Author: Volker Lendecke <vl at samba.org>
Date:   Thu Jan 10 21:04:33 2019 +0100

    pdbtest: Use dom_sid_str_buf
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit e3902283f226002add45bc3ad7033ccb46ee75ce
Author: Volker Lendecke <vl at samba.org>
Date:   Wed Jan 3 16:25:41 2018 +0100

    addns: Remove some unused defines
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

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

Summary of changes:
 auth/gensec/schannel.c                      |  2 ++
 lib/addns/dnsquery.c                        | 50 -----------------------------
 libcli/auth/credentials.c                   |  4 +--
 libcli/smb/smb2_signing.c                   |  4 +++
 source3/libads/ldap.c                       | 10 +++---
 source3/torture/pdbtest.c                   | 13 +++++---
 source3/winbindd/wb_dsgetdcname.c           |  1 +
 source3/winbindd/winbindd_ads.c             |  6 ++--
 source3/winbindd/winbindd_cm.c              |  6 ++--
 source4/dsdb/samdb/ldb_modules/audit_log.c  | 10 +++---
 source4/dsdb/samdb/ldb_modules/audit_util.c |  2 +-
 source4/libnet/libnet_samsync_ldb.c         | 40 +++++++++++++++--------
 source4/rpc_server/handles.c                |  7 ++--
 13 files changed, 64 insertions(+), 91 deletions(-)


Changeset truncated at 500 lines:

diff --git a/auth/gensec/schannel.c b/auth/gensec/schannel.c
index 364a0fcc186..441801bac47 100644
--- a/auth/gensec/schannel.c
+++ b/auth/gensec/schannel.c
@@ -347,6 +347,8 @@ static NTSTATUS netsec_incoming_packet(struct schannel_state *state,
 
 	netsec_do_seq_num(state, checksum, checksum_length, seq_num);
 
+	ZERO_ARRAY(checksum);
+
 	ret = memcmp(seq_num, sig->data+8, 8);
 	if (ret != 0) {
 		dump_data_pw("calc seq num:", seq_num, 8);
diff --git a/lib/addns/dnsquery.c b/lib/addns/dnsquery.c
index e5600367c4b..87ae97e3d0b 100644
--- a/lib/addns/dnsquery.c
+++ b/lib/addns/dnsquery.c
@@ -26,56 +26,6 @@
 #include "lib/util/tevent_ntstatus.h"
 #include "dnsquery.h"
 
-/* AIX resolv.h uses 'class' in struct ns_rr */
-
-#if defined(AIX)
-#  if defined(class)
-#    undef class
-#  endif
-#endif	/* AIX */
-
-/* resolver headers */
-
-#include <sys/types.h>
-#include <netinet/in.h>
-#include <arpa/nameser.h>
-#include <resolv.h>
-#include <netdb.h>
-
-#define MAX_DNS_PACKET_SIZE 0xffff
-
-#ifdef NS_HFIXEDSZ	/* Bind 8/9 interface */
-#if !defined(C_IN)	/* AIX 5.3 already defines C_IN */
-#  define C_IN		ns_c_in
-#endif
-#if !defined(T_A)	/* AIX 5.3 already defines T_A */
-#  define T_A   	ns_t_a
-#endif
-
-#if defined(HAVE_IPV6)
-#if !defined(T_AAAA)
-#  define T_AAAA	ns_t_aaaa
-#endif
-#endif
-
-#  define T_SRV 	ns_t_srv
-#if !defined(T_NS)	/* AIX 5.3 already defines T_NS */
-#  define T_NS 		ns_t_ns
-#endif
-#else
-#  ifdef HFIXEDSZ
-#    define NS_HFIXEDSZ HFIXEDSZ
-#  else
-#    define NS_HFIXEDSZ sizeof(HEADER)
-#  endif	/* HFIXEDSZ */
-#  ifdef PACKETSZ
-#    define NS_PACKETSZ	PACKETSZ
-#  else	/* 512 is usually the default */
-#    define NS_PACKETSZ	512
-#  endif	/* PACKETSZ */
-#  define T_SRV 	33
-#endif
-
 /*********************************************************************
  Sort SRV record list based on weight and priority.  See RFC 2782.
 *********************************************************************/
diff --git a/libcli/auth/credentials.c b/libcli/auth/credentials.c
index b6c8ba281ba..fcd5e34cc9b 100644
--- a/libcli/auth/credentials.c
+++ b/libcli/auth/credentials.c
@@ -76,14 +76,12 @@ static void netlogon_creds_init_128bit(struct netlogon_creds_CredentialState *cr
 				       const struct netr_Credential *server_challenge,
 				       const struct samr_Password *machine_password)
 {
-	unsigned char zero[4], tmp[16];
+	uint8_t zero[4] = {0}, tmp[16];
 	HMACMD5Context ctx;
 	MD5_CTX md5;
 
 	ZERO_ARRAY(creds->session_key);
 
-	memset(zero, 0, sizeof(zero));
-
 	hmac_md5_init_rfc2104(machine_password->hash, sizeof(machine_password->hash), &ctx);
 	MD5Init(&md5);
 	MD5Update(&md5, zero, sizeof(zero));
diff --git a/libcli/smb/smb2_signing.c b/libcli/smb/smb2_signing.c
index 614a2b32dc0..18f5911ad5e 100644
--- a/libcli/smb/smb2_signing.c
+++ b/libcli/smb/smb2_signing.c
@@ -76,6 +76,8 @@ NTSTATUS smb2_signing_sign_pdu(DATA_BLOB signing_key,
 					vector[i].iov_len);
 		}
 		aes_cmac_128_final(&ctx, res);
+
+		ZERO_ARRAY(key);
 	} else {
 		struct HMACSHA256Context m;
 		uint8_t digest[SHA256_DIGEST_LENGTH];
@@ -149,6 +151,8 @@ NTSTATUS smb2_signing_check_pdu(DATA_BLOB signing_key,
 					vector[i].iov_len);
 		}
 		aes_cmac_128_final(&ctx, res);
+
+		ZERO_ARRAY(key);
 	} else {
 		struct HMACSHA256Context m;
 		uint8_t digest[SHA256_DIGEST_LENGTH];
diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c
index 6b5f271272a..728c821f32d 100644
--- a/source3/libads/ldap.c
+++ b/source3/libads/ldap.c
@@ -2229,8 +2229,9 @@ done:
 */
 static void dump_binary(ADS_STRUCT *ads, const char *field, struct berval **values)
 {
-	int i, j;
+	size_t i;
 	for (i=0; values[i]; i++) {
+		ber_len_t j;
 		printf("%s: ", field);
 		for (j=0; j<values[i]->bv_len; j++) {
 			printf("%02X", (unsigned char)values[i]->bv_val[j]);
@@ -2264,12 +2265,12 @@ static void dump_sid(ADS_STRUCT *ads, const char *field, struct berval **values)
 	int i;
 	for (i=0; values[i]; i++) {
 		struct dom_sid sid;
-		fstring tmp;
+		struct dom_sid_buf tmp;
 		if (!sid_parse((const uint8_t *)values[i]->bv_val,
 			       values[i]->bv_len, &sid)) {
 			return;
 		}
-		printf("%s: %s\n", field, sid_to_fstring(tmp, &sid));
+		printf("%s: %s\n", field, dom_sid_str_buf(&sid, &tmp));
 	}
 }
 
@@ -2540,8 +2541,7 @@ int ads_count_replies(ADS_STRUCT *ads, void *res)
 {
 	char **values;
 	char **ret = NULL;
-	int i;
-	size_t converted_size;
+	size_t i, converted_size;
 
 	values = ldap_get_values(ads->ldap.ld, msg, field);
 	if (!values)
diff --git a/source3/torture/pdbtest.c b/source3/torture/pdbtest.c
index 64bc45e6a7c..fdf72187b6c 100644
--- a/source3/torture/pdbtest.c
+++ b/source3/torture/pdbtest.c
@@ -358,9 +358,11 @@ static bool test_auth(TALLOC_CTX *mem_ctx, struct samu *pdb_entry)
 	}
 
 	if (!dom_sid_equal(info3_sam->base.domain_sid, info3_auth->base.domain_sid)) {
+		struct dom_sid_buf buf1, buf2;
 		DEBUG(0, ("domain_sid in SAM info3 %s does not match domain_sid in AUTH info3 %s\n", 
-			  dom_sid_string(NULL, info3_sam->base.domain_sid),
-			  dom_sid_string(NULL, info3_auth->base.domain_sid)));
+			  dom_sid_str_buf(info3_sam->base.domain_sid, &buf1),
+			  dom_sid_str_buf(info3_auth->base.domain_sid,
+					  &buf2)));
 		return False;
 	}
 	
@@ -429,9 +431,12 @@ static bool test_auth(TALLOC_CTX *mem_ctx, struct samu *pdb_entry)
 		}
 
 		if (!dom_sid_equal(info3_sam->base.domain_sid, info6_wbc->base.domain_sid)) {
+			struct dom_sid_buf buf1, buf2;
 			DEBUG(0, ("domain_sid in SAM info3 %s does not match domain_sid in AUTH info3 %s\n",
-				  dom_sid_string(NULL, info3_sam->base.domain_sid),
-				  dom_sid_string(NULL, info6_wbc->base.domain_sid)));
+				  dom_sid_str_buf(info3_sam->base.domain_sid,
+						  &buf1),
+				  dom_sid_str_buf(info6_wbc->base.domain_sid,
+						  &buf2)));
 			return false;
 		}
 	}
diff --git a/source3/winbindd/wb_dsgetdcname.c b/source3/winbindd/wb_dsgetdcname.c
index d2aaa8068ea..95a75a9cbc5 100644
--- a/source3/winbindd/wb_dsgetdcname.c
+++ b/source3/winbindd/wb_dsgetdcname.c
@@ -196,6 +196,7 @@ static void dcinfo_parser(const struct gencache_timeout *timeout,
 	if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
 		DBG_ERR("ndr_pull_struct_blob failed\n");
 		state->status = ndr_map_error2ntstatus(ndr_err);
+		TALLOC_FREE(state->dcinfo);
 		return;
 	}
 
diff --git a/source3/winbindd/winbindd_ads.c b/source3/winbindd/winbindd_ads.c
index 4076f8227cb..4b5966dc237 100644
--- a/source3/winbindd/winbindd_ads.c
+++ b/source3/winbindd/winbindd_ads.c
@@ -718,7 +718,7 @@ static NTSTATUS lookup_usergroups_memberof(struct winbindd_domain *domain,
 	const char *attrs[] = {"memberOf", NULL};
 	uint32_t num_groups = 0;
 	struct dom_sid *group_sids = NULL;
-	int i;
+	size_t i;
 	char **strings = NULL;
 	size_t num_strings = 0, num_sids = 0;
 
@@ -1080,7 +1080,7 @@ static NTSTATUS lookup_groupmem(struct winbindd_domain *domain,
 	NTSTATUS status = NT_STATUS_UNSUCCESSFUL;
 	char *sidbinstr;
 	char **members = NULL;
-	int i;
+	size_t i;
 	size_t num_members = 0;
 	ads_control args;
 	struct dom_sid *sid_mem_nocache = NULL;
@@ -1390,7 +1390,7 @@ static NTSTATUS trusted_domains(struct winbindd_domain *domain,
 {
 	NTSTATUS 		result = NT_STATUS_UNSUCCESSFUL;
 	WERROR werr;
-	int			i;
+	uint32_t		i;
 	uint32_t		flags;
 	struct rpc_pipe_client *cli;
 	int ret_count;
diff --git a/source3/winbindd/winbindd_cm.c b/source3/winbindd/winbindd_cm.c
index 22d3dcaa92b..b9a1c1eda7b 100644
--- a/source3/winbindd/winbindd_cm.c
+++ b/source3/winbindd/winbindd_cm.c
@@ -1166,7 +1166,7 @@ static NTSTATUS cm_prepare_connection(struct winbindd_domain *domain,
 		  nt_errstr(result)));
 
 	/*
-	 * If we are not going to validiate the conneciton
+	 * If we are not going to validate the connection
 	 * with SMB signing, then allow us to fall back to
 	 * anonymous
 	 */
@@ -1219,7 +1219,7 @@ static NTSTATUS cm_prepare_connection(struct winbindd_domain *domain,
 		  nt_errstr(result)));
 
 	/*
-	 * If we are not going to validiate the conneciton
+	 * If we are not going to validate the connection
 	 * with SMB signing, then allow us to fall back to
 	 * anonymous
 	 */
@@ -2149,7 +2149,7 @@ static bool connection_ok(struct winbindd_domain *domain)
 		return False;
 	}
 
-	if (domain->online == False) {
+	if (!domain->online) {
 		DEBUG(3, ("connection_ok: Domain %s is offline\n", domain->name));
 		return False;
 	}
diff --git a/source4/dsdb/samdb/ldb_modules/audit_log.c b/source4/dsdb/samdb/ldb_modules/audit_log.c
index 28d824acfff..931147efc72 100644
--- a/source4/dsdb/samdb/ldb_modules/audit_log.c
+++ b/source4/dsdb/samdb/ldb_modules/audit_log.c
@@ -778,7 +778,7 @@ static char *password_change_human_readable(
 	struct ldb_context *ldb = NULL;
 	const char *remote_host = NULL;
 	const struct dom_sid *sid = NULL;
-	const char *user_sid = NULL;
+	struct dom_sid_buf user_sid;
 	const char *timestamp = NULL;
 	char *log_entry = NULL;
 	const char *action = NULL;
@@ -790,7 +790,6 @@ static char *password_change_human_readable(
 
 	remote_host = dsdb_audit_get_remote_host(ldb, ctx);
 	sid = dsdb_audit_get_user_sid(module);
-	user_sid = dom_sid_string(ctx, sid);
 	timestamp = audit_get_timestamp(ctx);
 	action = get_password_action(request, reply);
 	dn = dsdb_audit_get_primary_dn(request);
@@ -803,7 +802,7 @@ static char *password_change_human_readable(
 		timestamp,
 		ldb_strerror(reply->error),
 		remote_host,
-		user_sid,
+		dom_sid_str_buf(sid, &user_sid),
 		dn);
 	TALLOC_FREE(ctx);
 	return log_entry;
@@ -930,7 +929,7 @@ static char *operation_human_readable(
 	struct ldb_context *ldb = NULL;
 	const char *remote_host = NULL;
 	const struct dom_sid *sid = NULL;
-	const char *user_sid = NULL;
+	struct dom_sid_buf user_sid;
 	const char *timestamp = NULL;
 	const char *op_name = NULL;
 	char *log_entry = NULL;
@@ -948,7 +947,6 @@ static char *operation_human_readable(
 	} else {
 		sid = dsdb_audit_get_user_sid(module);
 	}
-	user_sid = dom_sid_string(ctx, sid);
 	timestamp = audit_get_timestamp(ctx);
 	op_name = dsdb_audit_get_operation_name(request);
 	dn = dsdb_audit_get_primary_dn(request);
@@ -964,7 +962,7 @@ static char *operation_human_readable(
 		timestamp,
 		ldb_strerror(reply->error),
 		remote_host,
-		user_sid,
+		dom_sid_str_buf(sid, &user_sid),
 		dn);
 	if (new_dn != NULL) {
 		log_entry = talloc_asprintf_append_buffer(
diff --git a/source4/dsdb/samdb/ldb_modules/audit_util.c b/source4/dsdb/samdb/ldb_modules/audit_util.c
index edf3c5e4b46..f25102585f8 100644
--- a/source4/dsdb/samdb/ldb_modules/audit_util.c
+++ b/source4/dsdb/samdb/ldb_modules/audit_util.c
@@ -586,7 +586,7 @@ struct json_object dsdb_audit_attributes_json(
 	const struct ldb_message* message)
 {
 
-	int i, j;
+	unsigned int i, j;
 	struct json_object attributes = json_new_object();
 
 	if (json_is_invalid(&attributes)) {
diff --git a/source4/libnet/libnet_samsync_ldb.c b/source4/libnet/libnet_samsync_ldb.c
index 3171138886c..68e9cd110a6 100644
--- a/source4/libnet/libnet_samsync_ldb.c
+++ b/source4/libnet/libnet_samsync_ldb.c
@@ -259,6 +259,7 @@ static NTSTATUS samsync_ldb_handle_user(TALLOC_CTX *mem_ctx,
 	char *cn_name;
 	int cn_name_len;
 	const struct dom_sid *user_sid;
+	struct dom_sid_buf buf;
 	struct ldb_message *msg;
 	struct ldb_message **msgs;
 	struct ldb_message **remote_msgs = NULL;
@@ -288,15 +289,19 @@ static NTSTATUS samsync_ldb_handle_user(TALLOC_CTX *mem_ctx,
 			   ldap_encode_ndr_dom_sid(mem_ctx, user_sid));
 
 	if (ret == -1) {
-		*error_string = talloc_asprintf(mem_ctx, "LDB for user %s failed: %s", 
-						dom_sid_string(mem_ctx, user_sid),
-						ldb_errstring(state->sam_ldb));
+		*error_string = talloc_asprintf(
+			mem_ctx,
+			"LDB for user %s failed: %s",
+			dom_sid_str_buf(user_sid, &buf),
+			ldb_errstring(state->sam_ldb));
 		return NT_STATUS_INTERNAL_DB_CORRUPTION;
 	} else if (ret == 0) {
 		add = true;
 	} else if (ret > 1) {
-		*error_string = talloc_asprintf(mem_ctx, "More than one user with SID: %s in local LDB", 
-						dom_sid_string(mem_ctx, user_sid));
+		*error_string = talloc_asprintf(
+			mem_ctx,
+			"More than one user with SID: %s in local LDB",
+			dom_sid_str_buf(user_sid, &buf));
 		return NT_STATUS_INTERNAL_DB_CORRUPTION;
 	} else {
 		msg->dn = msgs[0]->dn;
@@ -310,18 +315,27 @@ static NTSTATUS samsync_ldb_handle_user(TALLOC_CTX *mem_ctx,
 				   ldap_encode_ndr_dom_sid(mem_ctx, user_sid));
 		
 		if (ret == -1) {
-			*error_string = talloc_asprintf(mem_ctx, "remote LDAP for user %s failed: %s", 
-							dom_sid_string(mem_ctx, user_sid),
-							ldb_errstring(state->remote_ldb));
+			*error_string = talloc_asprintf(
+				mem_ctx,
+				"remote LDAP for user %s failed: %s",
+				dom_sid_str_buf(user_sid, &buf),
+				ldb_errstring(state->remote_ldb));
 			return NT_STATUS_INTERNAL_DB_CORRUPTION;
 		} else if (ret == 0) {
-			*error_string = talloc_asprintf(mem_ctx, "User exists in samsync but not in remote LDAP domain! (base: %s, SID: %s)", 
-							ldb_dn_get_linearized(state->base_dn[database]),
-							dom_sid_string(mem_ctx, user_sid));
+			*error_string = talloc_asprintf(
+				mem_ctx,
+				"User exists in samsync but not in remote "
+				"LDAP domain! (base: %s, SID: %s)",
+				ldb_dn_get_linearized(
+					state->base_dn[database]),
+				dom_sid_str_buf(user_sid, &buf));
 			return NT_STATUS_NO_SUCH_USER;
 		} else if (ret > 1) {
-			*error_string = talloc_asprintf(mem_ctx, "More than one user in remote LDAP domain with SID: %s", 
-							dom_sid_string(mem_ctx, user_sid));
+			*error_string = talloc_asprintf(
+				mem_ctx,
+				"More than one user in remote LDAP domain "
+				"with SID: %s",
+				dom_sid_str_buf(user_sid, &buf));
 			return NT_STATUS_INTERNAL_DB_CORRUPTION;
 			
 			/* Try to put things in the same location as the remote server */
diff --git a/source4/rpc_server/handles.c b/source4/rpc_server/handles.c
index 91bfaf9c62c..15d0c3d6e09 100644
--- a/source4/rpc_server/handles.c
+++ b/source4/rpc_server/handles.c
@@ -116,9 +116,10 @@ struct dcesrv_handle *dcesrv_handle_lookup(struct dcesrv_call_state *call,
 				return NULL;
 			}
 			if (!dom_sid_equal(h->sid, sid)) {
-				DEBUG(0,(__location__ ": Attempt to use invalid sid %s - %s\n",
-					 dom_sid_string(context, h->sid),
-					 dom_sid_string(context, sid)));
+				struct dom_sid_buf buf1, buf2;
+				DBG_ERR("Attempt to use invalid sid %s - %s\n",
+					dom_sid_str_buf(h->sid, &buf1),
+					dom_sid_str_buf(sid, &buf2));
 				return NULL;
 			}
 			if (call->auth_state->auth_level < h->min_auth_level) {


-- 
Samba Shared Repository



More information about the samba-cvs mailing list