LCOV - code coverage report
Current view: top level - util - user_info_msg.c (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 16 0.0 %
Date: 2016-06-29 Functions: 0 1 0.0 %

          Line data    Source code
       1             : /*
       2             :     SSSD
       3             : 
       4             :     Pack user info messages
       5             : 
       6             :     Authors:
       7             :         Sumit Bose <sbose@redhat.com>
       8             : 
       9             :     Copyright (C) 2009 Red Hat
      10             : 
      11             :     This program is free software; you can redistribute it and/or modify
      12             :     it under the terms of the GNU General Public License as published by
      13             :     the Free Software Foundation; either version 3 of the License, or
      14             :     (at your option) any later version.
      15             : 
      16             :     This program is distributed in the hope that it will be useful,
      17             :     but WITHOUT ANY WARRANTY; without even the implied warranty of
      18             :     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      19             :     GNU General Public License for more details.
      20             : 
      21             :     You should have received a copy of the GNU General Public License
      22             :     along with this program.  If not, see <http://www.gnu.org/licenses/>.
      23             : */
      24             : 
      25             : #include "util/util.h"
      26             : #include "util/user_info_msg.h"
      27             : #include "sss_client/sss_cli.h"
      28             : 
      29           0 : errno_t pack_user_info_chpass_error(TALLOC_CTX *mem_ctx,
      30             :                                     const char *user_error_message,
      31             :                                     size_t *resp_len,
      32             :                                     uint8_t **_resp)
      33             : {
      34           0 :     uint32_t resp_type = SSS_PAM_USER_INFO_CHPASS_ERROR;
      35             :     size_t err_len;
      36             :     uint8_t *resp;
      37             :     size_t p;
      38             : 
      39           0 :     err_len = strlen(user_error_message);
      40           0 :     *resp_len = 2 * sizeof(uint32_t) + err_len;
      41           0 :     resp = talloc_size(mem_ctx, *resp_len);
      42           0 :     if (resp == NULL) {
      43           0 :         DEBUG(SSSDBG_CRIT_FAILURE, "talloc_size failed.\n");
      44           0 :         return ENOMEM;
      45             :     }
      46             : 
      47           0 :     p = 0;
      48           0 :     SAFEALIGN_SET_UINT32(&resp[p], resp_type, &p);
      49           0 :     SAFEALIGN_SET_UINT32(&resp[p], err_len, &p);
      50           0 :     safealign_memcpy(&resp[p], user_error_message, err_len, &p);
      51           0 :     if (p != *resp_len) {
      52           0 :         DEBUG(SSSDBG_FATAL_FAILURE, "Size mismatch\n");
      53             :     }
      54             : 
      55           0 :     *_resp = resp;
      56           0 :     return EOK;
      57             : }

Generated by: LCOV version 1.10