diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2015-10-16 12:10:54 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2015-10-16 16:08:12 +0200 |
commit | a2a80e85982a6acce567528beda489e6c6fea4ce (patch) | |
tree | 7282cc1f09233b09653999bc4069afae0da09f86 /src/responder/pam/pamsrv_cmd.c | |
parent | 5e9cbb54fadf81193249d5449a9e015d112e4bd3 (diff) | |
download | sssd-a2a80e85982a6acce567528beda489e6c6fea4ce.tar.gz sssd-a2a80e85982a6acce567528beda489e6c6fea4ce.tar.xz sssd-a2a80e85982a6acce567528beda489e6c6fea4ce.zip |
SQ me to the previous commit
Diffstat (limited to 'src/responder/pam/pamsrv_cmd.c')
-rw-r--r-- | src/responder/pam/pamsrv_cmd.c | 70 |
1 files changed, 2 insertions, 68 deletions
diff --git a/src/responder/pam/pamsrv_cmd.c b/src/responder/pam/pamsrv_cmd.c index 85b356617..c967c67be 100644 --- a/src/responder/pam/pamsrv_cmd.c +++ b/src/responder/pam/pamsrv_cmd.c @@ -290,72 +290,6 @@ done: return ret; } -static errno_t produce_packet(TALLOC_CTX *mem_ctx, - struct pam_data *pd, - enum sss_cli_command cmd, - struct sss_packet **_out) -{ - errno_t ret; - uint8_t *body; - size_t blen; - int32_t resp_c; - int32_t resp_size; - struct response_data *resp; - int p; - struct sss_packet *out; - - ret = sss_packet_new(mem_ctx, 0, cmd, &out); - if (ret != EOK) { - goto done; - } - - resp_c = 0; - resp_size = 0; - resp = pd->resp_list; - while(resp != NULL) { - if (!resp->do_not_send_to_client) { - resp_c++; - resp_size += resp->len; - } - resp = resp->next; - } - - ret = sss_packet_grow(out, sizeof(int32_t) + sizeof(int32_t) + - resp_c * 2 * sizeof(int32_t) + resp_size); - if (ret != EOK) { - goto done; - } - - sss_packet_get_body(out, &body, &blen); - DEBUG(SSSDBG_FUNC_DATA, "blen: %zu\n", blen); - p = 0; - - memcpy(&body[p], &pd->pam_status, sizeof(int32_t)); - p += sizeof(int32_t); - - memcpy(&body[p], &resp_c, sizeof(int32_t)); - p += sizeof(int32_t); - - resp = pd->resp_list; - while(resp != NULL) { - if (!resp->do_not_send_to_client) { - memcpy(&body[p], &resp->type, sizeof(int32_t)); - p += sizeof(int32_t); - memcpy(&body[p], &resp->len, sizeof(int32_t)); - p += sizeof(int32_t); - memcpy(&body[p], resp->data, resp->len); - p += resp->len; - } - - resp = resp->next; - } - - *_out = out; - ret = EOK; - -done: - return ret; -} static int pam_forwarder(struct cli_ctx *cctx, int pam_cmd); static void pam_handle_cached_login(struct pam_auth_req *preq, int ret, @@ -520,8 +454,8 @@ static void pam_reply(struct pam_auth_req *preq) } } - ret = produce_packet(cctx->creq, pd, sss_packet_get_cmd(cctx->creq->in), - &cctx->creq->out); + ret = pamsrv_reply_packet(cctx->creq, pd, sss_packet_get_cmd(cctx->creq->in), + &cctx->creq->out); if (ret != EOK) { goto done; } |