[SCM] Samba Shared Repository - branch master updated

Volker Lendecke vlendec at samba.org
Sat Mar 5 07:17:01 MST 2011


The branch, master has been updated
       via  be3e851 Fix some nonempty blank lines
       via  85ee336 wbinfo: Use wbcSidToStringBuf
       via  d34092e wbinfo: Fix a debug message
       via  c97ea59 s3-net: Use wbcSidToStringBuf
       via  e0fae3d pam_winbind: Use wbcSidToStringBuf
       via  7ffa7e4 libwbclient: Use wbcSidToStringBuf
       via  afb6752 libwbclient: Add wbcSidToStringBuf
       via  181b23c nsswitch: wbcFreeMemory deals fine with NULL
      from  dcbfb6f s3: Fix a memory leak in check_sam_security_info3

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


- Log -----------------------------------------------------------------
commit be3e851fea7c279afc879bc4b5923605ba66ad64
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Mar 4 20:27:57 2011 +0100

    Fix some nonempty blank lines
    
    Autobuild-User: Volker Lendecke <vlendec at samba.org>
    Autobuild-Date: Sat Mar  5 15:16:02 CET 2011 on sn-devel-104

commit 85ee3360e1a2c69089a547ff29b9f479f353646c
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Mar 4 06:02:35 2011 +0100

    wbinfo: Use wbcSidToStringBuf

commit d34092e919fd53276af4c54b7e70fff855f904fb
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Mar 4 05:55:23 2011 +0100

    wbinfo: Fix a debug message

commit c97ea5976c50ef9d883eafed334ff69b5b43e259
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Mar 4 05:53:10 2011 +0100

    s3-net: Use wbcSidToStringBuf

commit e0fae3d49483c33329628534591f966d4841e474
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Mar 4 05:49:20 2011 +0100

    pam_winbind: Use wbcSidToStringBuf

commit 7ffa7e4bcae0c4e55c91a7a4466eae596d982770
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Mar 4 05:44:23 2011 +0100

    libwbclient: Use wbcSidToStringBuf

commit afb6752fa7903a63c2a1cef704bb9da9bab4b251
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Mar 4 05:38:04 2011 +0100

    libwbclient: Add wbcSidToStringBuf

commit 181b23ceed77de50c2b9d05a92a795cce1beabb9
Author: Volker Lendecke <vl at samba.org>
Date:   Thu Mar 3 22:29:39 2011 +0100

    nsswitch: wbcFreeMemory deals fine with NULL

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

Summary of changes:
 libcli/util/ntstatus.h           |    6 +-
 nsswitch/libwbclient/wbc_idmap.c |   14 +-----
 nsswitch/libwbclient/wbc_pwd.c   |    7 +--
 nsswitch/libwbclient/wbc_sid.c   |   95 +++++++++++++++++--------------------
 nsswitch/libwbclient/wbclient.h  |   16 ++++++-
 nsswitch/pam_winbind.c           |   19 ++------
 nsswitch/wbinfo.c                |   98 ++++++++------------------------------
 source3/libsmb/ntlmssp.c         |    4 +-
 source3/utils/net_rpc.c          |   20 +-------
 9 files changed, 92 insertions(+), 187 deletions(-)


Changeset truncated at 500 lines:

diff --git a/libcli/util/ntstatus.h b/libcli/util/ntstatus.h
index d7c6038..a7fc579 100644
--- a/libcli/util/ntstatus.h
+++ b/libcli/util/ntstatus.h
@@ -5,17 +5,17 @@
    Copyright (C) John H Terpstra              1996-2000
    Copyright (C) Luke Kenneth Casson Leighton 1996-2000
    Copyright (C) Paul Ashton                  1998-2000
-   
+
    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/>.
 */
diff --git a/nsswitch/libwbclient/wbc_idmap.c b/nsswitch/libwbclient/wbc_idmap.c
index ab8de9f..a77e7c0 100644
--- a/nsswitch/libwbclient/wbc_idmap.c
+++ b/nsswitch/libwbclient/wbc_idmap.c
@@ -29,7 +29,6 @@ wbcErr wbcSidToUid(const struct wbcDomainSid *sid, uid_t *puid)
 {
 	struct winbindd_request request;
 	struct winbindd_response response;
-	char *sid_string = NULL;
 	wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE;
 
 	if (!sid || !puid) {
@@ -42,11 +41,7 @@ wbcErr wbcSidToUid(const struct wbcDomainSid *sid, uid_t *puid)
 	ZERO_STRUCT(request);
 	ZERO_STRUCT(response);
 
-	wbc_status = wbcSidToString(sid, &sid_string);
-	BAIL_ON_WBC_ERROR(wbc_status);
-
-	strncpy(request.data.sid, sid_string, sizeof(request.data.sid)-1);
-	wbcFreeMemory(sid_string);
+	wbcSidToStringBuf(sid, request.data.sid, sizeof(request.data.sid));
 
 	/* Make request */
 
@@ -124,7 +119,6 @@ wbcErr wbcSidToGid(const struct wbcDomainSid *sid, gid_t *pgid)
 	struct winbindd_request request;
 	struct winbindd_response response;
 	wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE;
-	char *sid_string = NULL;
 
 	if (!sid || !pgid) {
 		wbc_status = WBC_ERR_INVALID_PARAM;
@@ -136,11 +130,7 @@ wbcErr wbcSidToGid(const struct wbcDomainSid *sid, gid_t *pgid)
 	ZERO_STRUCT(request);
 	ZERO_STRUCT(response);
 
-	wbc_status = wbcSidToString(sid, &sid_string);
-	BAIL_ON_WBC_ERROR(wbc_status);
-
-	strncpy(request.data.sid, sid_string, sizeof(request.data.sid)-1);
-	wbcFreeMemory(sid_string);
+        wbcSidToStringBuf(sid, request.data.sid, sizeof(request.data.sid));
 
 	/* Make request */
 
diff --git a/nsswitch/libwbclient/wbc_pwd.c b/nsswitch/libwbclient/wbc_pwd.c
index abd03d7..6df694d 100644
--- a/nsswitch/libwbclient/wbc_pwd.c
+++ b/nsswitch/libwbclient/wbc_pwd.c
@@ -236,22 +236,18 @@ wbcErr wbcGetpwsid(struct wbcDomainSid *sid, struct passwd **pwd)
 	wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE;
 	struct winbindd_request request;
 	struct winbindd_response response;
-	char * sid_string = NULL;
 
 	if (!pwd) {
 		wbc_status = WBC_ERR_INVALID_PARAM;
 		BAIL_ON_WBC_ERROR(wbc_status);
 	}
 
-	wbc_status = wbcSidToString(sid, &sid_string);
-	BAIL_ON_WBC_ERROR(wbc_status);
-
 	/* Initialize request */
 
 	ZERO_STRUCT(request);
 	ZERO_STRUCT(response);
 
-	strncpy(request.data.sid, sid_string, sizeof(request.data.sid));
+        wbcSidToStringBuf(sid, request.data.sid, sizeof(request.data.sid));
 
 	wbc_status = wbcRequestResponse(WINBINDD_GETPWSID,
 					&request,
@@ -262,7 +258,6 @@ wbcErr wbcGetpwsid(struct wbcDomainSid *sid, struct passwd **pwd)
 	BAIL_ON_PTR_ERROR(*pwd, wbc_status);
 
  done:
-	wbcFreeMemory(sid_string);
 	return wbc_status;
 }
 
diff --git a/nsswitch/libwbclient/wbc_sid.c b/nsswitch/libwbclient/wbc_sid.c
index 73bd416..e94d874 100644
--- a/nsswitch/libwbclient/wbc_sid.c
+++ b/nsswitch/libwbclient/wbc_sid.c
@@ -27,23 +27,17 @@
 #include "libwbclient.h"
 #include "../winbind_client.h"
 
-/* Convert a binary SID to a character string */
-wbcErr wbcSidToString(const struct wbcDomainSid *sid,
-		      char **sid_string)
+/* Convert a sid to a string into a buffer. Return the string
+ * length. If buflen is too small, return the string length that would
+ * result if it was long enough. */
+int wbcSidToStringBuf(const struct wbcDomainSid *sid, char *buf, int buflen)
 {
 	uint32_t id_auth;
-	int i, ofs, maxlen;
-	char *result;
+	int i, ofs;
 
 	if (!sid) {
-		return WBC_ERR_INVALID_SID;
-	}
-
-	maxlen = sid->num_auths * 11 + 25;
-
-	result = (char *)wbcAllocateMemory(maxlen, 1, NULL);
-	if (result == NULL) {
-		return WBC_ERR_NO_MEMORY;
+		strlcpy(buf, "(NULL SID)", buflen);
+		return 10;	/* strlen("(NULL SID)") */
 	}
 
 	/*
@@ -56,13 +50,39 @@ wbcErr wbcSidToString(const struct wbcDomainSid *sid,
 		(sid->id_auth[3] << 16) +
 		(sid->id_auth[2] << 24);
 
-	ofs = snprintf(result, maxlen, "S-%u-%lu",
+	ofs = snprintf(buf, buflen, "S-%u-%lu",
 		       (unsigned int)sid->sid_rev_num, (unsigned long)id_auth);
 
 	for (i = 0; i < sid->num_auths; i++) {
-		ofs += snprintf(result + ofs, maxlen - ofs, "-%lu",
+		ofs += snprintf(buf + ofs, MAX(buflen - ofs, 0), "-%lu",
 				(unsigned long)sid->sub_auths[i]);
 	}
+	return ofs;
+}
+
+/* Convert a binary SID to a character string */
+wbcErr wbcSidToString(const struct wbcDomainSid *sid,
+		      char **sid_string)
+{
+	char buf[WBC_SID_STRING_BUFLEN];
+	char *result;
+	int len;
+
+	if (!sid) {
+		return WBC_ERR_INVALID_SID;
+	}
+
+	len = wbcSidToStringBuf(sid, buf, sizeof(buf));
+
+	if (len+1 > sizeof(buf)) {
+		return WBC_ERR_INVALID_SID;
+	}
+
+	result = (char *)wbcAllocateMemory(len+1, 1, NULL);
+	if (result == NULL) {
+		return WBC_ERR_NO_MEMORY;
+	}
+	memcpy(result, buf, len+1);
 
 	*sid_string = result;
 	return WBC_ERR_SUCCESS;
@@ -205,7 +225,6 @@ wbcErr wbcLookupSid(const struct wbcDomainSid *sid,
 	struct winbindd_request request;
 	struct winbindd_response response;
 	wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE;
-	char *sid_string = NULL;
 	char *domain, *name;
 
 	if (!sid) {
@@ -217,15 +236,7 @@ wbcErr wbcLookupSid(const struct wbcDomainSid *sid,
 	ZERO_STRUCT(request);
 	ZERO_STRUCT(response);
 
-	/* dst is already null terminated from the memset above */
-
-	wbc_status = wbcSidToString(sid, &sid_string);
-	if (!WBC_ERROR_IS_OK(wbc_status)) {
-		return wbc_status;
-	}
-
-	strncpy(request.data.sid, sid_string, sizeof(request.data.sid)-1);
-	wbcFreeMemory(sid_string);
+	wbcSidToStringBuf(sid, request.data.sid, sizeof(request.data.sid));
 
 	/* Make request */
 
@@ -281,7 +292,6 @@ wbcErr wbcLookupRids(struct wbcDomainSid *dom_sid,
 	char *p;
 	struct winbindd_request request;
 	struct winbindd_response response;
-	char *sid_string = NULL;
 	char *domain_name = NULL;
 	const char **names = NULL;
 	enum wbcSidType *types = NULL;
@@ -297,11 +307,7 @@ wbcErr wbcLookupRids(struct wbcDomainSid *dom_sid,
 		BAIL_ON_WBC_ERROR(wbc_status);
 	}
 
-	wbc_status = wbcSidToString(dom_sid, &sid_string);
-	BAIL_ON_WBC_ERROR(wbc_status);
-
-	strncpy(request.data.sid, sid_string, sizeof(request.data.sid)-1);
-	wbcFreeMemory(sid_string);
+	wbcSidToStringBuf(dom_sid, request.data.sid, sizeof(request.data.sid));
 
 	/* Even if all the Rids were of maximum 32bit values,
 	   we would only have 11 bytes per rid in the final array
@@ -406,7 +412,6 @@ wbcErr wbcLookupUserSids(const struct wbcDomainSid *user_sid,
 	const char *s;
 	struct winbindd_request request;
 	struct winbindd_response response;
-	char *sid_string = NULL;
 	struct wbcDomainSid *sids = NULL;
 	wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE;
 	int cmd;
@@ -421,11 +426,7 @@ wbcErr wbcLookupUserSids(const struct wbcDomainSid *user_sid,
 		BAIL_ON_WBC_ERROR(wbc_status);
 	}
 
-	wbc_status = wbcSidToString(user_sid, &sid_string);
-	BAIL_ON_WBC_ERROR(wbc_status);
-
-	strncpy(request.data.sid, sid_string, sizeof(request.data.sid)-1);
-	wbcFreeMemory(sid_string);
+	wbcSidToStringBuf(user_sid, request.data.sid, sizeof(request.data.sid));
 
 	if (domain_groups_only) {
 		cmd = WINBINDD_GETUSERDOMGROUPS;
@@ -496,8 +497,6 @@ wbcErr wbcGetSidAliases(const struct wbcDomainSid *dom_sid,
 	const char *s;
 	struct winbindd_request request;
 	struct winbindd_response response;
-	char *sid_string = NULL;
-	ssize_t sid_len;
 	ssize_t extra_data_len = 0;
 	char * extra_data = NULL;
 	ssize_t buflen = 0;
@@ -515,12 +514,7 @@ wbcErr wbcGetSidAliases(const struct wbcDomainSid *dom_sid,
 		goto done;
 	}
 
-	wbc_status = wbcSidToString(dom_sid, &sid_string);
-	BAIL_ON_WBC_ERROR(wbc_status);
-
-	strncpy(request.data.sid, sid_string, sizeof(request.data.sid)-1);
-	wbcFreeMemory(sid_string);
-	sid_string = NULL;
+	wbcSidToStringBuf(dom_sid, request.data.sid, sizeof(request.data.sid));
 
 	/* Lets assume each sid is around 57 characters
 	 * S-1-5-21-AAAAAAAAAAA-BBBBBBBBBBB-CCCCCCCCCCC-DDDDDDDDDDD\n */
@@ -533,10 +527,10 @@ wbcErr wbcGetSidAliases(const struct wbcDomainSid *dom_sid,
 
 	/* Build the sid list */
 	for (i=0; i<num_sids; i++) {
-		wbc_status = wbcSidToString(&sids[i], &sid_string);
-		BAIL_ON_WBC_ERROR(wbc_status);
+		char sid_str[WBC_SID_STRING_BUFLEN];
+		size_t sid_len;
 
-		sid_len = strlen(sid_string);
+		sid_len = wbcSidToStringBuf(&sids[i], sid_str, sizeof(sid_str));
 
 		if (buflen < extra_data_len + sid_len + 2) {
 			buflen *= 2;
@@ -547,13 +541,11 @@ wbcErr wbcGetSidAliases(const struct wbcDomainSid *dom_sid,
 			}
 		}
 
-		strncpy(&extra_data[extra_data_len], sid_string,
+		strncpy(&extra_data[extra_data_len], sid_str,
 			buflen - extra_data_len);
 		extra_data_len += sid_len;
 		extra_data[extra_data_len++] = '\n';
 		extra_data[extra_data_len] = '\0';
-		wbcFreeMemory(sid_string);
-		sid_string = NULL;
 	}
 	extra_data_len += 1;
 
@@ -594,7 +586,6 @@ wbcErr wbcGetSidAliases(const struct wbcDomainSid *dom_sid,
 	wbc_status = WBC_ERR_SUCCESS;
 
  done:
-	wbcFreeMemory(sid_string);
 	free(extra_data);
 	winbindd_free_response(&response);
 	wbcFreeMemory(rids);
diff --git a/nsswitch/libwbclient/wbclient.h b/nsswitch/libwbclient/wbclient.h
index bd5a51c..0286e5b 100644
--- a/nsswitch/libwbclient/wbclient.h
+++ b/nsswitch/libwbclient/wbclient.h
@@ -66,9 +66,10 @@ const char *wbcErrorString(wbcErr error);
  *  0.4: Added wbcSidTypeString()
  *  0.5: Added wbcChangeTrustCredentials()
  *  0.6: Made struct wbcInterfaceDetails char* members non-const
+ *  0.7: Added wbcSidToStringBuf()
  **/
 #define WBCLIENT_MAJOR_VERSION 0
-#define WBCLIENT_MINOR_VERSION 6
+#define WBCLIENT_MINOR_VERSION 7
 #define WBCLIENT_VENDOR_VERSION "Samba libwbclient"
 struct wbcLibraryDetails {
 	uint16_t major_version;
@@ -529,6 +530,19 @@ void wbcFreeMemory(void*);
  */
 const char* wbcSidTypeString(enum wbcSidType type);
 
+#define WBC_SID_STRING_BUFLEN (15*11+25)
+
+/*
+ * @brief Print a sid into a buffer
+ *
+ * @param sid		Binary Security Identifier
+ * @param buf		Target buffer
+ * @param buflen	Target buffer length
+ *
+ * @return Resulting string length.
+ */
+int wbcSidToStringBuf(const struct wbcDomainSid *sid, char *buf, int buflen);
+
 /**
  * @brief Convert a binary SID to a character string
  *
diff --git a/nsswitch/pam_winbind.c b/nsswitch/pam_winbind.c
index e651ce0..7005c25 100644
--- a/nsswitch/pam_winbind.c
+++ b/nsswitch/pam_winbind.c
@@ -1077,12 +1077,11 @@ static bool winbind_name_to_sid_string(struct pwb_context *ctx,
 				       char *sid_list_buffer,
 				       int sid_list_buffer_size)
 {
-	const char* sid_string = NULL;
-	char *sid_str = NULL;
+	char sid_string[WBC_SID_STRING_BUFLEN];
 
 	/* lookup name? */
 	if (IS_SID_STRING(name)) {
-		sid_string = name;
+		strlcpy(sid_string, name, sizeof(sid_string));
 	} else {
 		wbcErr wbc_status;
 		struct wbcDomainSid sid;
@@ -1098,21 +1097,13 @@ static bool winbind_name_to_sid_string(struct pwb_context *ctx,
 			return false;
 		}
 
-		wbc_status = wbcSidToString(&sid, &sid_str);
-		if (!WBC_ERROR_IS_OK(wbc_status)) {
-			return false;
-		}
-
-		sid_string = sid_str;
+		wbcSidToStringBuf(&sid, sid_string, sizeof(sid_string));
 	}
 
 	if (!safe_append_string(sid_list_buffer, sid_string,
 				sid_list_buffer_size)) {
-		wbcFreeMemory(sid_str);
 		return false;
 	}
-
-	wbcFreeMemory(sid_str);
 	return true;
 }
 
@@ -1899,9 +1890,7 @@ static int winbind_auth_request(struct pwb_context *ctx,
 	}
 
  done:
-	if (logon.blobs) {
-		wbcFreeMemory(logon.blobs);
-	}
+	wbcFreeMemory(logon.blobs);
 	if (info && info->blobs && !p_info) {
 		wbcFreeMemory(info->blobs);
 	}
diff --git a/nsswitch/wbinfo.c b/nsswitch/wbinfo.c
index caa37f3..2436b3b 100644
--- a/nsswitch/wbinfo.c
+++ b/nsswitch/wbinfo.c
@@ -357,16 +357,9 @@ static bool wbinfo_get_usersids(const char *user_sid_str)
 	}
 
 	for (i = 0; i < num_sids; i++) {
-		char *str = NULL;
-		wbc_status = wbcSidToString(&sids[i], &str);
-		if (!WBC_ERROR_IS_OK(wbc_status)) {
-			d_fprintf(stderr, "failed to call wbcSidToString: "
-				  "%s\n", wbcErrorString(wbc_status));
-			wbcFreeMemory(sids);
-			return false;
-		}
+		char str[WBC_SID_STRING_BUFLEN];
+		wbcSidToStringBuf(&sids[i], str, sizeof(str));
 		d_printf("%s\n", str);
-		wbcFreeMemory(str);
 	}
 
 	wbcFreeMemory(sids);
@@ -385,7 +378,7 @@ static bool wbinfo_get_userdomgroups(const char *user_sid_str)
 
 	wbc_status = wbcStringToSid(user_sid_str, &user_sid);
 	if (!WBC_ERROR_IS_OK(wbc_status)) {
-		d_fprintf(stderr, "failed to call wbcSidToString: %s\n",
+		d_fprintf(stderr, "failed to call wbcStringToSid: %s\n",
 			  wbcErrorString(wbc_status));
 		return false;
 	}
@@ -398,16 +391,9 @@ static bool wbinfo_get_userdomgroups(const char *user_sid_str)
 	}
 
 	for (i = 0; i < num_sids; i++) {
-		char *str = NULL;
-		wbc_status = wbcSidToString(&sids[i], &str);
-		if (!WBC_ERROR_IS_OK(wbc_status)) {
-			d_fprintf(stderr, "failed to call wbcSidToString: "
-				  "%s\n", wbcErrorString(wbc_status));
-			wbcFreeMemory(sids);
-			return false;
-		}
+		char str[WBC_SID_STRING_BUFLEN];
+		wbcSidToStringBuf(&sids[i], str, sizeof(str));
 		d_printf("%s\n", str);
-		wbcFreeMemory(str);
 	}
 
 	wbcFreeMemory(sids);
@@ -424,7 +410,7 @@ static bool wbinfo_get_sidaliases(const char *domain,
 	struct wbcDomainSid user_sid;
 	uint32_t *alias_rids = NULL;
 	uint32_t num_alias_rids;
-	char *domain_sid_str = NULL;
+	char domain_sid_str[WBC_SID_STRING_BUFLEN];
 
 	/* Send request */
 	if ((domain == NULL) || (strequal(domain, ".")) ||
@@ -451,10 +437,7 @@ static bool wbinfo_get_sidaliases(const char *domain,
 		goto done;
 	}
 
-	wbc_status = wbcSidToString(&dinfo->sid, &domain_sid_str);
-	if (!WBC_ERROR_IS_OK(wbc_status)) {
-		goto done;
-	}
+	wbcSidToStringBuf(&dinfo->sid, domain_sid_str, sizeof(domain_sid_str));
 
 	for (i = 0; i < num_alias_rids; i++) {
 		d_printf("%s-%d\n", domain_sid_str, alias_rids[i]);
@@ -463,12 +446,7 @@ static bool wbinfo_get_sidaliases(const char *domain,
 	wbcFreeMemory(alias_rids);
 
 done:
-	if (domain_sid_str) {
-		wbcFreeMemory(domain_sid_str);
-	}
-	if (dinfo) {
-		wbcFreeMemory(dinfo);
-	}
+	wbcFreeMemory(dinfo);
 	return (WBC_ERR_SUCCESS == wbc_status);
 }
 
@@ -651,7 +629,7 @@ static bool wbinfo_domain_info(const char *domain)
 {
 	wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE;
 	struct wbcDomainInfo *dinfo = NULL;
-	char *sid_str = NULL;
+	char sid_str[WBC_SID_STRING_BUFLEN];
 
 	if ((domain == NULL) || (strequal(domain, ".")) || (domain[0] == '\0')){
 		domain = get_winbind_domain();
@@ -666,13 +644,7 @@ static bool wbinfo_domain_info(const char *domain)
 		return false;
 	}
 
-	wbc_status = wbcSidToString(&dinfo->sid, &sid_str);


-- 
Samba Shared Repository


More information about the samba-cvs mailing list