From 710472d946f6c337a095699dfd79134fa8b9eab9 Mon Sep 17 00:00:00 2001 From: Pavel Březina Date: Fri, 13 Apr 2012 09:50:55 +0200 Subject: sudo responder: remove code duplication in commands --- src/responder/sudo/sudosrv_get_sudorules.c | 78 ------------------------------ 1 file changed, 78 deletions(-) (limited to 'src/responder/sudo/sudosrv_get_sudorules.c') diff --git a/src/responder/sudo/sudosrv_get_sudorules.c b/src/responder/sudo/sudosrv_get_sudorules.c index abdf3e76f..e92e807f8 100644 --- a/src/responder/sudo/sudosrv_get_sudorules.c +++ b/src/responder/sudo/sudosrv_get_sudorules.c @@ -602,81 +602,3 @@ sort_sudo_rules(struct sysdb_attrs **rules, size_t count) sudo_order_cmp_fn); return EOK; } - -char * sudosrv_get_sudorules_parse_query(TALLOC_CTX *mem_ctx, - const char *query_body, - int query_len) -{ - /* empty string or not NULL terminated */ - if (query_len < 2 || strnlen(query_body, query_len) == query_len) { - DEBUG(SSSDBG_CRIT_FAILURE, ("Invalid query.\n")); - return NULL; - } - - return talloc_strdup(mem_ctx, query_body); -} - -/* - * Response format: - * ... - * = ... - * = \0\0\0... - * - * if is not SSS_SUDO_ERROR_OK, the rest of the data is skipped. - */ -int sudosrv_get_sudorules_build_response(TALLOC_CTX *mem_ctx, - uint32_t error, - int rules_num, - struct sysdb_attrs **rules, - uint8_t **_response_body, - size_t *_response_len) -{ - uint8_t *response_body = NULL; - size_t response_len = 0; - TALLOC_CTX *tmp_ctx = NULL; - int i = 0; - int ret = EOK; - - tmp_ctx = talloc_new(NULL); - if (tmp_ctx == NULL) { - DEBUG(SSSDBG_CRIT_FAILURE, ("talloc_new() failed\n")); - return ENOMEM; - } - - /* error code */ - ret = sudosrv_response_append_uint32(tmp_ctx, error, - &response_body, &response_len); - if (ret != EOK) { - goto fail; - } - - if (error != SSS_SUDO_ERROR_OK) { - goto done; - } - - /* rules count */ - ret = sudosrv_response_append_uint32(tmp_ctx, (uint32_t)rules_num, - &response_body, &response_len); - if (ret != EOK) { - goto fail; - } - - /* rules */ - for (i = 0; i < rules_num; i++) { - ret = sudosrv_response_append_rule(tmp_ctx, rules[i]->num, rules[i]->a, - &response_body, &response_len); - if (ret != EOK) { - goto fail; - } - } - -done: - *_response_body = talloc_steal(mem_ctx, response_body); - *_response_len = response_len; - - ret = EOK; - -fail: - talloc_free(tmp_ctx); - return ret; -} -- cgit