From 38f8d32d10f7486ee570275aff185994697203f3 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 12 Dec 2007 09:51:56 +0100 Subject: winbindd: remove unused WINBINDD_DUMP_MAPS support Also the design of this function was really bad, instead do the dump into a file, the client should get back the list of mappings. metze (This used to be commit ce7fe8acf41e90553431c7cda6823700701835c7) --- source3/winbindd/idmap.c | 67 --------------------------------------- source3/winbindd/winbindd.c | 2 -- source3/winbindd/winbindd_idmap.c | 49 ---------------------------- source3/winbindd/winbindd_sid.c | 39 ----------------------- 4 files changed, 157 deletions(-) (limited to 'source3/winbindd') diff --git a/source3/winbindd/idmap.c b/source3/winbindd/idmap.c index e825ed9da7..6b4af10f6f 100644 --- a/source3/winbindd/idmap.c +++ b/source3/winbindd/idmap.c @@ -1486,73 +1486,6 @@ done: return ret; } -/************************************************************************** - Dump backend status. -**************************************************************************/ - -void idmap_dump_maps(const char *logfile) -{ - NTSTATUS ret; - struct unixid allid; - struct id_map *maps; - int num_maps; - FILE *dump; - int i; - - if (! NT_STATUS_IS_OK(ret = idmap_init())) { - return; - } - - dump = fopen(logfile, "w"); - if ( ! dump) { - DEBUG(0, ("Unable to open open stream for file [%s], " - "errno: %d\n", logfile, errno)); - return; - } - - if (NT_STATUS_IS_OK(ret = idmap_alloc_init())) { - allid.type = ID_TYPE_UID; - allid.id = 0; - idmap_alloc_ctx->methods->get_id_hwm(&allid); - fprintf(dump, "USER HWM %lu\n", (unsigned long)allid.id); - - allid.type = ID_TYPE_GID; - allid.id = 0; - idmap_alloc_ctx->methods->get_id_hwm(&allid); - fprintf(dump, "GROUP HWM %lu\n", (unsigned long)allid.id); - } - - maps = talloc(idmap_ctx, struct id_map); - num_maps = 0; - - for (i = 0; i < num_domains; i++) { - if (idmap_domains[i]->methods->dump_data) { - idmap_domains[i]->methods->dump_data(idmap_domains[i], - &maps, &num_maps); - } - } - - for (i = 0; i < num_maps; i++) { - switch (maps[i].xid.type) { - case ID_TYPE_UID: - fprintf(dump, "UID %lu %s\n", - (unsigned long)maps[i].xid.id, - sid_string_static(maps[i].sid)); - break; - case ID_TYPE_GID: - fprintf(dump, "GID %lu %s\n", - (unsigned long)maps[i].xid.id, - sid_string_static(maps[i].sid)); - break; - case ID_TYPE_NOT_SPECIFIED: - break; - } - } - - fflush(dump); - fclose(dump); -} - char *idmap_fetch_secret(const char *backend, bool alloc, const char *domain, const char *identity) { diff --git a/source3/winbindd/winbindd.c b/source3/winbindd/winbindd.c index 598ec8e428..b695c2e95e 100644 --- a/source3/winbindd/winbindd.c +++ b/source3/winbindd/winbindd.c @@ -331,8 +331,6 @@ static struct winbindd_dispatch_table { /* Miscellaneous */ - { WINBINDD_DUMP_MAPS, winbindd_dump_maps, "DUMP_MAPS" }, - { WINBINDD_CHECK_MACHACC, winbindd_check_machine_acct, "CHECK_MACHACC" }, { WINBINDD_PING, winbindd_ping, "PING" }, { WINBINDD_INFO, winbindd_info, "INFO" }, diff --git a/source3/winbindd/winbindd_idmap.c b/source3/winbindd/winbindd_idmap.c index dd63e18236..cc5cf1e848 100644 --- a/source3/winbindd/winbindd_idmap.c +++ b/source3/winbindd/winbindd_idmap.c @@ -511,51 +511,6 @@ enum winbindd_result winbindd_dual_gid2sid(struct winbindd_domain *domain, return WINBINDD_ERROR; } -static void winbindd_dump_id_maps_recv(TALLOC_CTX *mem_ctx, bool success, - struct winbindd_response *response, - void *c, void *private_data) -{ - void (*cont)(void *priv, bool succ) = - (void (*)(void *, bool))c; - - if (!success) { - DEBUG(5, ("Could not trigger a map dump\n")); - cont(private_data, False); - return; - } - - if (response->result != WINBINDD_OK) { - DEBUG(5, ("idmap dump maps returned an error\n")); - cont(private_data, False); - return; - } - - cont(private_data, True); -} - -void winbindd_dump_maps_async(TALLOC_CTX *mem_ctx, const char *logfile, - void (*cont)(void *private_data, bool success), - void *private_data) -{ - struct winbindd_request request; - ZERO_STRUCT(request); - request.cmd = WINBINDD_DUAL_DUMP_MAPS; - request.extra_data.data = discard_const(logfile); - request.extra_len = strlen(logfile)+1; - do_async(mem_ctx, idmap_child(), &request, winbindd_dump_id_maps_recv, - (void *)cont, private_data); -} - -enum winbindd_result winbindd_dual_dump_maps(struct winbindd_domain *domain, - struct winbindd_cli_state *state) -{ - DEBUG(3, ("[%5lu]: dual dump maps\n", (unsigned long)state->pid)); - - idmap_dump_maps((char *)state->request.extra_data.data); - - return WINBINDD_OK; -} - static const struct winbindd_child_dispatch_table idmap_dispatch_table[] = { { .name = "DUAL_SID2UID", @@ -587,10 +542,6 @@ static const struct winbindd_child_dispatch_table idmap_dispatch_table[] = { .name = "DUAL_SET_HWMS", .struct_cmd = WINBINDD_DUAL_SET_HWM, .struct_fn = winbindd_dual_set_hwm, - },{ - .name = "DUAL_DUMP_MAPS", - .struct_cmd = WINBINDD_DUAL_DUMP_MAPS, - .struct_fn = winbindd_dual_dump_maps, },{ .name = "ALLOCATE_UID", .struct_cmd = WINBINDD_ALLOCATE_UID, diff --git a/source3/winbindd/winbindd_sid.c b/source3/winbindd/winbindd_sid.c index c01c6f04ab..302460c942 100644 --- a/source3/winbindd/winbindd_sid.c +++ b/source3/winbindd/winbindd_sid.c @@ -515,42 +515,3 @@ enum winbindd_result winbindd_dual_allocate_gid(struct winbindd_domain *domain, state->response.data.gid = xid.id; return WINBINDD_OK; } - -static void dump_maps_recv(void *private_data, bool success) -{ - struct winbindd_cli_state *state = - talloc_get_type_abort(private_data, struct winbindd_cli_state); - - if (!success) { - DEBUG(5, ("Could not dump maps\n")); - request_error(state); - return; - } - - request_ok(state); -} - -void winbindd_dump_maps(struct winbindd_cli_state *state) -{ - const char *logfile; - - if ( ! state->privileged) { - DEBUG(0, ("Only root is allowed to ask for an idmap dump!\n")); - request_error(state); - return; - } - - DEBUG(3, ("[%5lu]: dump maps\n", (unsigned long)state->pid)); - - logfile = talloc_strndup(state->mem_ctx, - (const char *)state->request.extra_data.data, - state->request.extra_len); - if (!logfile) { - request_error(state); - return; - } - - winbindd_dump_maps_async(state->mem_ctx, logfile, - dump_maps_recv, state); -} - -- cgit