LCOV - code coverage report
Current view: top level - librpc/ndr - ndr_schannel.c (source / functions) Hit Total Coverage
Test: coverage report for fix-15632 9995c5c2 Lines: 0 53 0.0 %
Date: 2024-04-13 12:30:31 Functions: 0 3 0.0 %

          Line data    Source code
       1             : /*
       2             :    Unix SMB/CIFS implementation.
       3             : 
       4             :    routines for marshalling/unmarshalling special schannel structures
       5             : 
       6             :    Copyright (C) Guenther Deschner 2009
       7             : 
       8             :    This program is free software; you can redistribute it and/or modify
       9             :    it under the terms of the GNU General Public License as published by
      10             :    the Free Software Foundation; either version 3 of the License, or
      11             :    (at your option) any later version.
      12             : 
      13             :    This program is distributed in the hope that it will be useful,
      14             :    but WITHOUT ANY WARRANTY; without even the implied warranty of
      15             :    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      16             :    GNU General Public License for more details.
      17             : 
      18             :    You should have received a copy of the GNU General Public License
      19             :    along with this program.  If not, see <http://www.gnu.org/licenses/>.
      20             : */
      21             : 
      22             : #include "includes.h"
      23             : #include "../librpc/gen_ndr/ndr_schannel.h"
      24             : #include "../librpc/ndr/ndr_schannel.h"
      25             : #include "../libcli/nbt/libnbt.h"
      26             : 
      27           0 : _PUBLIC_ void ndr_print_NL_AUTH_MESSAGE_BUFFER(struct ndr_print *ndr, const char *name, const union NL_AUTH_MESSAGE_BUFFER *r)
      28             : {
      29           0 :         int level;
      30           0 :         level = ndr_print_steal_switch_value(ndr, r);
      31           0 :         switch (level) {
      32           0 :                 case NL_FLAG_OEM_NETBIOS_DOMAIN_NAME:
      33           0 :                         ndr_print_string(ndr, name, r->a);
      34           0 :                 break;
      35             : 
      36           0 :                 case NL_FLAG_OEM_NETBIOS_COMPUTER_NAME:
      37           0 :                         ndr_print_string(ndr, name, r->a);
      38           0 :                 break;
      39             : 
      40           0 :                 case NL_FLAG_UTF8_DNS_DOMAIN_NAME:
      41           0 :                         ndr_print_nbt_string(ndr, name, r->u);
      42           0 :                 break;
      43             : 
      44           0 :                 case NL_FLAG_UTF8_DNS_HOST_NAME:
      45           0 :                         ndr_print_nbt_string(ndr, name, r->u);
      46           0 :                 break;
      47             : 
      48           0 :                 case NL_FLAG_UTF8_NETBIOS_COMPUTER_NAME:
      49           0 :                         ndr_print_nbt_string(ndr, name, r->u);
      50           0 :                 break;
      51             : 
      52           0 :                 default:
      53           0 :                 break;
      54             : 
      55             :         }
      56           0 : }
      57             : 
      58           0 : _PUBLIC_ void ndr_print_NL_AUTH_MESSAGE_BUFFER_REPLY(struct ndr_print *ndr, const char *name, const union NL_AUTH_MESSAGE_BUFFER_REPLY *r)
      59             : {
      60           0 :         int level;
      61           0 :         level = ndr_print_steal_switch_value(ndr, r);
      62           0 :         switch (level) {
      63           0 :                 case NL_NEGOTIATE_RESPONSE:
      64           0 :                         ndr_print_uint32(ndr, name, r->dummy);
      65           0 :                 break;
      66             : 
      67           0 :                 default:
      68           0 :                 break;
      69             : 
      70             :         }
      71           0 : }
      72             : 
      73           0 : void dump_NL_AUTH_SIGNATURE(TALLOC_CTX *mem_ctx,
      74             :                             const DATA_BLOB *blob)
      75             : {
      76           0 :         enum ndr_err_code ndr_err;
      77           0 :         uint16_t signature_algorithm;
      78             : 
      79           0 :         if (blob->length < 2) {
      80           0 :                 return;
      81             :         }
      82             : 
      83           0 :         signature_algorithm = SVAL(blob->data, 0);
      84             : 
      85           0 :         switch (signature_algorithm) {
      86           0 :         case NL_SIGN_HMAC_MD5: {
      87           0 :                 struct NL_AUTH_SIGNATURE r;
      88           0 :                 ndr_err = ndr_pull_struct_blob(blob, mem_ctx, &r,
      89             :                        (ndr_pull_flags_fn_t)ndr_pull_NL_AUTH_SIGNATURE);
      90           0 :                 if (NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
      91           0 :                         NDR_PRINT_DEBUG(NL_AUTH_SIGNATURE, &r);
      92             :                 }
      93           0 :                 break;
      94             :         }
      95           0 :         case NL_SIGN_HMAC_SHA256: {
      96           0 :                 struct NL_AUTH_SHA2_SIGNATURE r;
      97           0 :                 ndr_err = ndr_pull_struct_blob(blob, mem_ctx, &r,
      98             :                        (ndr_pull_flags_fn_t)ndr_pull_NL_AUTH_SHA2_SIGNATURE);
      99           0 :                 if (NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
     100           0 :                         NDR_PRINT_DEBUG(NL_AUTH_SHA2_SIGNATURE, &r);
     101             :                 }
     102           0 :                 break;
     103             :         }
     104           0 :         default:
     105           0 :                 break;
     106             :         }
     107             : }

Generated by: LCOV version 1.14