From 97a62e22797fcab3a67b06e39dd6d6f524dd58da Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Tue, 18 Feb 2014 09:50:44 +0100 Subject: [PATCH] Revert "libwbclient4: Add wbc_sids_to_xids" This reverts commit fefc59619b58cb0c38bf7e6ac2ebcc25a5ebbd6c. Signed-off-by: Volker Lendecke Reviewed-by: Andreas Schneider --- source4/libcli/wbclient/wbclient.c | 167 ---------------------------------- source4/libcli/wbclient/wbclient.h | 5 - source4/libcli/wbclient/wscript_build | 2 +- 3 files changed, 1 insertion(+), 173 deletions(-) diff --git a/source4/libcli/wbclient/wbclient.c b/source4/libcli/wbclient/wbclient.c index 5b95be12593..4f50c106947 100644 --- a/source4/libcli/wbclient/wbclient.c +++ b/source4/libcli/wbclient/wbclient.c @@ -22,10 +22,6 @@ #include "includes.h" #include #include "libcli/wbclient/wbclient.h" -#include "nsswitch/wb_reqtrans.h" -#include "system/network.h" -#include "libcli/util/error.h" -#include "libcli/security/dom_sid.h" /** * Initialize the wbclient context, talloc_free() when done. @@ -198,166 +194,3 @@ NTSTATUS wbc_xids_to_sids_recv(struct composite_context *ctx, return status; } -static int wb_simple_trans(struct tevent_context *ev, int fd, - struct winbindd_request *wb_req, - TALLOC_CTX *mem_ctx, - struct winbindd_response **resp, int *err) -{ - struct tevent_req *req; - bool polled; - int ret; - - req = wb_simple_trans_send(ev, ev, NULL, fd, wb_req); - if (req == NULL) { - *err = ENOMEM; - return -1; - } - - polled = tevent_req_poll(req, ev); - if (!polled) { - *err = errno; - DEBUG(10, ("tevent_req_poll returned %s\n", - strerror(*err))); - return -1; - } - - ret = wb_simple_trans_recv(req, mem_ctx, resp, err); - TALLOC_FREE(req); - return ret; -} - -static const char *winbindd_socket_dir(void) -{ -#ifdef SOCKET_WRAPPER - const char *env_dir; - - env_dir = getenv(WINBINDD_SOCKET_DIR_ENVVAR); - if (env_dir) { - return env_dir; - } -#endif - - return WINBINDD_SOCKET_DIR; -} - -static int winbindd_pipe_sock(void) -{ - struct sockaddr_un sunaddr = {}; - int ret, fd; - char *path; - - ret = asprintf(&path, "%s/%s", winbindd_socket_dir(), - WINBINDD_SOCKET_NAME); - if (ret == -1) { - errno = ENOMEM; - return -1; - } - sunaddr.sun_family = AF_UNIX; - strlcpy(sunaddr.sun_path, path, sizeof(sunaddr.sun_path)); - free(path); - - fd = socket(AF_UNIX, SOCK_STREAM, 0); - if (fd == -1) { - return -1; - } - - ret = connect(fd, (struct sockaddr *)&sunaddr, sizeof(sunaddr)); - if (ret == -1) { - int err = errno; - close(fd); - errno = err; - return -1; - } - - return fd; -} - -NTSTATUS wbc_sids_to_xids(struct tevent_context *ev, struct id_map *ids, - uint32_t count) -{ - TALLOC_CTX *mem_ctx; - struct winbindd_request req = {}; - struct winbindd_response *resp; - uint32_t i; - int fd, ret, err; - char *sids, *p; - size_t sidslen; - - fd = winbindd_pipe_sock(); - if (fd == -1) { - return map_nt_error_from_unix_common(errno); - } - - mem_ctx = talloc_new(NULL); - if (mem_ctx == NULL) { - close(fd); - return NT_STATUS_NO_MEMORY; - } - - sidslen = count * (DOM_SID_STR_BUFLEN + 1); - - sids = talloc_array(mem_ctx, char, sidslen); - if (sids == NULL) { - close(fd); - TALLOC_FREE(mem_ctx); - return NT_STATUS_NO_MEMORY; - } - - p = sids; - for (i=0; iextra_data.data; - - for (i=0; itype = ID_TYPE_UID; - id->id = strtoul(p+1, &q, 10); - break; - case 'G': - id->type = ID_TYPE_GID; - id->id = strtoul(p+1, &q, 10); - break; - case 'B': - id->type = ID_TYPE_BOTH; - id->id = strtoul(p+1, &q, 10); - break; - default: - id->type = ID_TYPE_NOT_SPECIFIED; - id->id = UINT32_MAX; - q = strchr(p, '\n'); - break; - }; - ids[i].status = ID_MAPPED; - - if (q == NULL || q[0] != '\n') { - TALLOC_FREE(mem_ctx); - return NT_STATUS_INTERNAL_ERROR; - } - p = q+1; - } - - return NT_STATUS_OK; -} diff --git a/source4/libcli/wbclient/wbclient.h b/source4/libcli/wbclient/wbclient.h index 33a21f318d2..1fa2f59c575 100644 --- a/source4/libcli/wbclient/wbclient.h +++ b/source4/libcli/wbclient/wbclient.h @@ -39,9 +39,6 @@ struct composite_context *wbc_sids_to_xids_send(struct wbc_context *wbc_ctx, NTSTATUS wbc_sids_to_xids_recv(struct composite_context *ctx, struct id_map **ids); -NTSTATUS wbc_sids_to_xids(struct tevent_context *ev, struct id_map *ids, - uint32_t count); - struct composite_context *wbc_xids_to_sids_send(struct wbc_context *wbc_ctx, TALLOC_CTX *mem_ctx, uint32_t count, @@ -50,5 +47,3 @@ struct composite_context *wbc_xids_to_sids_send(struct wbc_context *wbc_ctx, NTSTATUS wbc_xids_to_sids_recv(struct composite_context *ctx, struct id_map **ids); -NTSTATUS wbc_xids_to_sids(struct tevent_context *ev, struct id_map *ids, - uint32_t count); diff --git a/source4/libcli/wbclient/wscript_build b/source4/libcli/wbclient/wscript_build index 2c95a046904..85439fc0040 100644 --- a/source4/libcli/wbclient/wscript_build +++ b/source4/libcli/wbclient/wscript_build @@ -3,7 +3,7 @@ bld.SAMBA_LIBRARY('LIBWBCLIENT_OLD', source='wbclient.c', public_deps='errors events', - deps='WB_REQTRANS NDR_WINBIND MESSAGING RPC_NDR_WINBIND', + deps='NDR_WINBIND MESSAGING RPC_NDR_WINBIND', private_library=True ) -- 2.11.4.GIT