[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