[SCM] Samba Shared Repository - branch v3-2-test updated - release-3-2-0pre2-551-g960c069

Stefan Metzmacher metze at samba.org
Mon Mar 31 15:12:13 GMT 2008


The branch, v3-2-test has been updated
       via  960c069a2354e0803e2cbf22c26e1a9d0b657b79 (commit)
       via  a7d735df292cee7dd6e23c7d2328481d57162904 (commit)
       via  43df48bdca1a71fa44b24bb3917869f886555d9c (commit)
       via  a25b39cac1716323154dd30acb30180d3273587b (commit)
       via  9936d861a1c1163ce6fd079211b50fd9b52bc05d (commit)
       via  4766ebf7ac8d33f9cd0f983ecdc54ef44959648b (commit)
       via  9a2f0b21925e630fa9b268cedbc19cf814686b42 (commit)
      from  4d0a5d5c93ddab444a0097e1c56e4363574cb2b6 (commit)

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


- Log -----------------------------------------------------------------
commit 960c069a2354e0803e2cbf22c26e1a9d0b657b79
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Mar 28 19:39:43 2008 +0100

    wbinfo: use wbcAllocateGid()
    
    metze

commit a7d735df292cee7dd6e23c7d2328481d57162904
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Mar 28 19:39:16 2008 +0100

    wbinfo: use wbcAllocateUid()
    
    metze

commit 43df48bdca1a71fa44b24bb3917869f886555d9c
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Mar 28 19:38:24 2008 +0100

    wbinfo: use wbcSidToGid()
    
    metze

commit a25b39cac1716323154dd30acb30180d3273587b
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Mar 28 19:37:50 2008 +0100

    wbinfo: use wbcSidToUid()
    
    metze

commit 9936d861a1c1163ce6fd079211b50fd9b52bc05d
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Mar 28 19:37:02 2008 +0100

    wbinfo: use wbcGitToSid()
    
    metze

commit 4766ebf7ac8d33f9cd0f983ecdc54ef44959648b
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Mar 28 19:34:10 2008 +0100

    wbinfo: use wbcUidToSid()
    
    metze

commit 9a2f0b21925e630fa9b268cedbc19cf814686b42
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Mar 28 19:01:54 2008 +0100

    wbinfo: use wbcPing()
    
    metze

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

Summary of changes:
 source/nsswitch/wbinfo.c |  118 +++++++++++++++++++++++++++------------------
 1 files changed, 71 insertions(+), 47 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/nsswitch/wbinfo.c b/source/nsswitch/wbinfo.c
index 15d6ae2..82d1061 100644
--- a/source/nsswitch/wbinfo.c
+++ b/source/nsswitch/wbinfo.c
@@ -27,8 +27,6 @@
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_WINBIND
 
-extern int winbindd_fd;
-
 static char winbind_separator_int(bool strict)
 {
 	struct winbindd_response response;
@@ -564,23 +562,27 @@ static bool wbinfo_check_secret(void)
 
 static bool wbinfo_uid_to_sid(uid_t uid)
 {
-	struct winbindd_request request;
-	struct winbindd_response response;
-
-	ZERO_STRUCT(request);
-	ZERO_STRUCT(response);
+	wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE;
+	struct wbcDomainSid sid;
+	char *sid_str = NULL;
 
 	/* Send request */
 
-	request.data.uid = uid;
+	wbc_status = wbcUidToSid(uid, &sid);
+	if (!WBC_ERROR_IS_OK(wbc_status)) {
+		return false;
+	}
 
-	if (winbindd_request_response(WINBINDD_UID_TO_SID, &request, &response) !=
-	    NSS_STATUS_SUCCESS)
+	wbc_status = wbcSidToString(&sid, &sid_str);
+	if (!WBC_ERROR_IS_OK(wbc_status)) {
 		return false;
+	}
 
 	/* Display response */
 
-	d_printf("%s\n", response.data.sid.sid);
+	d_printf("%s\n", sid_str);
+
+	wbcFreeMemory(sid_str);
 
 	return true;
 }
@@ -589,81 +591,96 @@ static bool wbinfo_uid_to_sid(uid_t uid)
 
 static bool wbinfo_gid_to_sid(gid_t gid)
 {
-	struct winbindd_request request;
-	struct winbindd_response response;
-
-	ZERO_STRUCT(request);
-	ZERO_STRUCT(response);
+	wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE;
+	struct wbcDomainSid sid;
+	char *sid_str = NULL;
 
 	/* Send request */
 
-	request.data.gid = gid;
+	wbc_status = wbcGidToSid(gid, &sid);
+	if (!WBC_ERROR_IS_OK(wbc_status)) {
+		return false;
+	}
 
-	if (winbindd_request_response(WINBINDD_GID_TO_SID, &request, &response) !=
-	    NSS_STATUS_SUCCESS)
+	wbc_status = wbcSidToString(&sid, &sid_str);
+	if (!WBC_ERROR_IS_OK(wbc_status)) {
 		return false;
+	}
 
 	/* Display response */
 
-	d_printf("%s\n", response.data.sid.sid);
+	d_printf("%s\n", sid_str);
+
+	wbcFreeMemory(sid_str);
 
 	return true;
 }
 
 /* Convert sid to uid */
 
-static bool wbinfo_sid_to_uid(char *sid)
+static bool wbinfo_sid_to_uid(const char *sid_str)
 {
-	struct winbindd_request request;
-	struct winbindd_response response;
-
-	ZERO_STRUCT(request);
-	ZERO_STRUCT(response);
+	wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE;
+	struct wbcDomainSid sid;
+	uid_t uid;
 
 	/* Send request */
 
-	fstrcpy(request.data.sid, sid);
+	wbc_status = wbcStringToSid(sid_str, &sid);
+	if (!WBC_ERROR_IS_OK(wbc_status)) {
+		return false;
+	}
 
-	if (winbindd_request_response(WINBINDD_SID_TO_UID, &request, &response) !=
-	    NSS_STATUS_SUCCESS)
+	wbc_status = wbcSidToUid(&sid, &uid);
+	if (!WBC_ERROR_IS_OK(wbc_status)) {
 		return false;
+	}
 
 	/* Display response */
 
-	d_printf("%d\n", (int)response.data.uid);
+	d_printf("%d\n", (int)uid);
 
 	return true;
 }
 
-static bool wbinfo_sid_to_gid(char *sid)
+static bool wbinfo_sid_to_gid(const char *sid_str)
 {
-	struct winbindd_request request;
-	struct winbindd_response response;
-
-	ZERO_STRUCT(request);
-	ZERO_STRUCT(response);
+	wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE;
+	struct wbcDomainSid sid;
+	gid_t gid;
 
 	/* Send request */
 
-	fstrcpy(request.data.sid, sid);
+	wbc_status = wbcStringToSid(sid_str, &sid);
+	if (!WBC_ERROR_IS_OK(wbc_status)) {
+		return false;
+	}
 
-	if (winbindd_request_response(WINBINDD_SID_TO_GID, &request, &response) !=
-	    NSS_STATUS_SUCCESS)
+	wbc_status = wbcSidToGid(&sid, &gid);
+	if (!WBC_ERROR_IS_OK(wbc_status)) {
 		return false;
+	}
 
 	/* Display response */
 
-	d_printf("%d\n", (int)response.data.gid);
+	d_printf("%d\n", (int)gid);
 
 	return true;
 }
 
 static bool wbinfo_allocate_uid(void)
 {
+	wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE;
 	uid_t uid;
 
-	if (!winbind_allocate_uid(&uid))
+	/* Send request */
+
+	wbc_status = wbcAllocateUid(&uid);
+	if (!WBC_ERROR_IS_OK(wbc_status)) {
 		return false;
+	}
+
+	/* Display response */
 
 	d_printf("New uid: %d\n", uid);
 
@@ -672,10 +689,17 @@ static bool wbinfo_allocate_uid(void)
 
 static bool wbinfo_allocate_gid(void)
 {
+	wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE;
 	gid_t gid;
 
-	if (!winbind_allocate_gid(&gid))
+	/* Send request */
+
+	wbc_status = wbcAllocateGid(&gid);
+	if (!WBC_ERROR_IS_OK(wbc_status)) {
 		return false;
+	}
+
+	/* Display response */
 
 	d_printf("New gid: %d\n", gid);
 
@@ -1224,16 +1248,16 @@ static void wbinfo_get_auth_user(void)
 
 static bool wbinfo_ping(void)
 {
-        NSS_STATUS result;
+	wbcErr wbc_status;
 
-	result = winbindd_request_response(WINBINDD_PING, NULL, NULL);
+	wbc_status = wbcPing();
 
 	/* Display response */
 
-	d_printf("Ping to winbindd %s on fd %d\n",
-		 (result == NSS_STATUS_SUCCESS) ? "succeeded" : "failed", winbindd_fd);
+	d_printf("Ping to winbindd %s\n",
+		 WBC_ERROR_IS_OK(wbc_status) ? "succeeded" : "failed");
 
-	return result == NSS_STATUS_SUCCESS;
+	return WBC_ERROR_IS_OK(wbc_status);
 }
 
 /* Main program */


-- 
Samba Shared Repository


More information about the samba-cvs mailing list