LCOV - code coverage report
Current view: top level - source4/torture/ndr - netlogon.c (source / functions) Hit Total Coverage
Test: coverage report for master 2f515e9b Lines: 137 147 93.2 %
Date: 2024-04-21 15:09:00 Functions: 11 11 100.0 %

          Line data    Source code
       1             : /* 
       2             :    Unix SMB/CIFS implementation.
       3             :    test suite for netlogon ndr operations
       4             : 
       5             :    Copyright (C) Jelmer Vernooij 2007
       6             :    Copyright (C) Guenther Deschner 2011
       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 "torture/ndr/ndr.h"
      24             : #include "librpc/gen_ndr/ndr_netlogon.h"
      25             : #include "torture/ndr/proto.h"
      26             : 
      27             : static const uint8_t netrserverauthenticate3_in_data[] = {
      28             :   0xb0, 0x2e, 0x0a, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      29             :   0x18, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x5c, 0x00, 0x4e, 0x00, 0x41, 0x00,
      30             :   0x54, 0x00, 0x49, 0x00, 0x56, 0x00, 0x45, 0x00, 0x2d, 0x00, 0x44, 0x00,
      31             :   0x43, 0x00, 0x2e, 0x00, 0x4e, 0x00, 0x41, 0x00, 0x54, 0x00, 0x49, 0x00,
      32             :   0x56, 0x00, 0x45, 0x00, 0x2e, 0x00, 0x42, 0x00, 0x41, 0x00, 0x53, 0x00,
      33             :   0x45, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      34             :   0x0b, 0x00, 0x00, 0x00, 0x4e, 0x00, 0x41, 0x00, 0x54, 0x00, 0x49, 0x00,
      35             :   0x56, 0x00, 0x45, 0x00, 0x2d, 0x00, 0x32, 0x00, 0x4b, 0x00, 0x24, 0x00,
      36             :   0x00, 0x00, 0x02, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      37             :   0x0a, 0x00, 0x00, 0x00, 0x4e, 0x00, 0x41, 0x00, 0x54, 0x00, 0x49, 0x00,
      38             :   0x56, 0x00, 0x45, 0x00, 0x2d, 0x00, 0x32, 0x00, 0x4b, 0x00, 0x00, 0x00,
      39             :   0x68, 0x8e, 0x3c, 0xdf, 0x23, 0x02, 0xb1, 0x51, 0xff, 0xff, 0x07, 0x60
      40             : };
      41             : 
      42           2 : static bool netrserverauthenticate3_in_check(struct torture_context *tctx,
      43             :                                                                                         struct netr_ServerAuthenticate3 *r)
      44             : {
      45           2 :         uint8_t cred_expected[8] = { 0x68, 0x8e, 0x3c, 0xdf, 0x23, 0x02, 0xb1, 0x51 };
      46           2 :         torture_assert_str_equal(tctx, r->in.server_name, "\\\\NATIVE-DC.NATIVE.BASE", "server name");
      47           2 :         torture_assert_str_equal(tctx, r->in.account_name, "NATIVE-2K$", "account name");
      48           2 :         torture_assert_int_equal(tctx, r->in.secure_channel_type, 2, "secure channel type");
      49           2 :         torture_assert_str_equal(tctx, r->in.computer_name, "NATIVE-2K", "computer name");
      50           2 :         torture_assert_int_equal(tctx, *r->in.negotiate_flags, 0x6007ffff, "negotiate flags");
      51           2 :         torture_assert_mem_equal(tctx, cred_expected, r->in.credentials->data, 8, "credentials");
      52           0 :         return true;
      53             : }
      54             : 
      55             : static const uint8_t netrserverauthenticate3_out_data[] = {
      56             :   0x22, 0x0c, 0x86, 0x8a, 0xe9, 0x92, 0x93, 0xc9, 0xff, 0xff, 0x07, 0x60,
      57             :   0x54, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
      58             : };
      59             : 
      60           2 : static bool netrserverauthenticate3_out_check(struct torture_context *tctx,
      61             :                                                                                         struct netr_ServerAuthenticate3 *r)
      62             : {
      63           2 :         uint8_t cred_expected[8] = { 0x22, 0x0c, 0x86, 0x8a, 0xe9, 0x92, 0x93, 0xc9 };
      64           2 :         torture_assert_mem_equal(tctx, cred_expected, r->out.return_credentials->data, 8, "return_credentials");
      65           2 :         torture_assert_int_equal(tctx, *r->out.negotiate_flags, 0x6007ffff, "negotiate flags");
      66           2 :         torture_assert_int_equal(tctx, *r->out.rid, 0x454, "rid");
      67           2 :         torture_assert_ntstatus_ok(tctx, r->out.result, "return code");
      68             :         
      69           0 :         return true;
      70             : }
      71             : 
      72             : static const uint8_t netrserverreqchallenge_in_data[] = {
      73             :   0xb0, 0x2e, 0x0a, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      74             :   0x18, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x5c, 0x00, 0x4e, 0x00, 0x41, 0x00,
      75             :   0x54, 0x00, 0x49, 0x00, 0x56, 0x00, 0x45, 0x00, 0x2d, 0x00, 0x44, 0x00,
      76             :   0x43, 0x00, 0x2e, 0x00, 0x4e, 0x00, 0x41, 0x00, 0x54, 0x00, 0x49, 0x00,
      77             :   0x56, 0x00, 0x45, 0x00, 0x2e, 0x00, 0x42, 0x00, 0x41, 0x00, 0x53, 0x00,
      78             :   0x45, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
      79             :   0x0a, 0x00, 0x00, 0x00, 0x4e, 0x00, 0x41, 0x00, 0x54, 0x00, 0x49, 0x00,
      80             :   0x56, 0x00, 0x45, 0x00, 0x2d, 0x00, 0x32, 0x00, 0x4b, 0x00, 0x00, 0x00,
      81             :   0xa3, 0x2c, 0xa2, 0x95, 0x40, 0xcc, 0xb7, 0xbb
      82             : };
      83             : 
      84           2 : static bool netrserverreqchallenge_in_check(struct torture_context *tctx,
      85             :                                             struct netr_ServerReqChallenge *r)
      86             : {
      87           2 :         uint8_t cred_expected[8] = { 0xa3, 0x2c, 0xa2, 0x95, 0x40, 0xcc, 0xb7, 0xbb };
      88           2 :         torture_assert_str_equal(tctx, r->in.server_name, "\\\\NATIVE-DC.NATIVE.BASE", "server name");
      89           2 :         torture_assert_str_equal(tctx, r->in.computer_name, "NATIVE-2K", "account name");
      90           2 :         torture_assert_mem_equal(tctx, cred_expected, r->in.credentials->data, 8, "credentials");
      91             : 
      92           0 :         return true;
      93             : }
      94             : 
      95             : static const uint8_t netrserverreqchallenge_out_data[] = {
      96             :   0x22, 0xfc, 0xc1, 0x17, 0xc0, 0xae, 0x27, 0x8e, 0x00, 0x00, 0x00, 0x00
      97             : };
      98             : 
      99           2 : static bool netrserverreqchallenge_out_check(struct torture_context *tctx,
     100             :                                              struct netr_ServerReqChallenge *r)
     101             : {
     102           2 :         uint8_t cred_expected[8] = { 0x22, 0xfc, 0xc1, 0x17, 0xc0, 0xae, 0x27, 0x8e };
     103           2 :         torture_assert_mem_equal(tctx, cred_expected, r->out.return_credentials->data, 8, "return_credentials");
     104           2 :         torture_assert_ntstatus_ok(tctx, r->out.result, "return code");
     105             : 
     106           0 :         return true;
     107             : }
     108             : 
     109             : static const uint8_t netrlogonsamlogon_w2k_in_data[] = {
     110             :         0x00, 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     111             :         0x09, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x5c, 0x00, 0x57, 0x00, 0x32, 0x00,
     112             :         0x4b, 0x00, 0x53, 0x00, 0x52, 0x00, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00,
     113             :         0x04, 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     114             :         0x09, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x54, 0x00, 0x48, 0x00, 0x45, 0x00,
     115             :         0x4c, 0x00, 0x45, 0x00, 0x4e, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00,
     116             :         0x08, 0x00, 0x02, 0x00, 0x08, 0xaf, 0x72, 0x50, 0xa0, 0x5b, 0x50, 0x19,
     117             :         0x02, 0xc3, 0x39, 0x4d, 0x0c, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
     118             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00,
     119             :         0x10, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x14, 0x00, 0x02, 0x00,
     120             :         0x00, 0x00, 0x00, 0x00, 0xad, 0xde, 0x00, 0x00, 0xef, 0xbe, 0x00, 0x00,
     121             :         0x1a, 0x00, 0x1a, 0x00, 0x18, 0x00, 0x02, 0x00, 0x14, 0x00, 0x14, 0x00,
     122             :         0x1c, 0x00, 0x02, 0x00, 0x31, 0xeb, 0xf4, 0x68, 0x62, 0x93, 0xfe, 0x38,
     123             :         0x51, 0xc1, 0x1d, 0x41, 0x0a, 0xbd, 0x5d, 0xdf, 0xe3, 0x4f, 0x76, 0x7f,
     124             :         0x19, 0x12, 0xcd, 0xfe, 0x9c, 0x68, 0xed, 0x9b, 0x1e, 0x9c, 0x66, 0xf6,
     125             :         0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
     126             :         0x57, 0x00, 0x32, 0x00, 0x4b, 0x00, 0x44, 0x00, 0x4f, 0x00, 0x4d, 0x00,
     127             :         0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
     128             :         0x61, 0x00, 0x64, 0x00, 0x6d, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x69, 0x00,
     129             :         0x73, 0x00, 0x74, 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, 0x6f, 0x00,
     130             :         0x72, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     131             :         0x0a, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x5c, 0x00, 0x6d, 0x00, 0x74, 0x00,
     132             :         0x68, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x61, 0x00,
     133             :         0x06, 0x00
     134             : };
     135             : 
     136           2 : static bool netrlogonsamlogon_w2k_in_check(struct torture_context *tctx,
     137             :                                            struct netr_LogonSamLogon *r)
     138             : {
     139           2 :         uint8_t credential_expected[8] = { 0x08, 0xaf, 0x72, 0x50, 0xa0, 0x5b, 0x50, 0x19 };
     140           2 :         uint8_t return_authenticator_expected[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
     141           2 :         uint8_t lmpassword_expected[16] = { 0x31, 0xeb, 0xf4, 0x68, 0x62, 0x93, 0xfe, 0x38, 0x51, 0xc1, 0x1d, 0x41, 0x0a, 0xbd, 0x5d, 0xdf };
     142           2 :         uint8_t ntpassword_expected[16] = { 0xe3, 0x4f, 0x76, 0x7f, 0x19, 0x12, 0xcd, 0xfe, 0x9c, 0x68, 0xed, 0x9b, 0x1e, 0x9c, 0x66, 0xf6 };
     143             : 
     144           2 :         torture_assert_str_equal(tctx, r->in.server_name, "\\\\W2KSRV", "server_name");
     145           2 :         torture_assert_str_equal(tctx, r->in.computer_name, "MTHELENA", "computer_name");
     146           2 :         torture_assert_mem_equal(tctx, r->in.credential->cred.data, credential_expected, 8, "credential");
     147             : /*      torture_assert_int_equal(tctx, r->in.credential->timestamp, 0, "credential.timestamp"); */
     148           2 :         torture_assert_mem_equal(tctx, r->in.return_authenticator->cred.data, return_authenticator_expected, 8, "return_authenticator.cred.data");
     149           2 :         torture_assert_int_equal(tctx, r->in.return_authenticator->timestamp, 0, "return_authenticator.timestamp");
     150           2 :         torture_assert_int_equal(tctx, r->in.logon_level, NetlogonInteractiveInformation, "logon_level");
     151           2 :         torture_assert(tctx, r->in.logon, "logon NULL pointer");
     152           2 :         torture_assert(tctx, r->in.logon->password, "logon->password NULL pointer");
     153           2 :         torture_assert_int_equal(tctx, r->in.logon->password->identity_info.domain_name.length, 12, "domain_name.length");
     154           2 :         torture_assert_int_equal(tctx, r->in.logon->password->identity_info.domain_name.size, 12, "domain_name.size");
     155           2 :         torture_assert_str_equal(tctx, r->in.logon->password->identity_info.domain_name.string, "W2KDOM", "domain_name.string");
     156           2 :         torture_assert_int_equal(tctx, r->in.logon->password->identity_info.parameter_control, 0, "parameter_control");
     157           2 :         torture_assert_u64_equal(tctx, r->in.logon->password->identity_info.logon_id, 0xbeef0000dead, "logon_id");
     158           2 :         torture_assert_int_equal(tctx, r->in.logon->password->identity_info.account_name.length, 26, "account_name.length");
     159           2 :         torture_assert_int_equal(tctx, r->in.logon->password->identity_info.account_name.size, 26, "account_name.size");
     160           2 :         torture_assert_str_equal(tctx, r->in.logon->password->identity_info.account_name.string, "administrator", "account_name.string");
     161           2 :         torture_assert_int_equal(tctx, r->in.logon->password->identity_info.workstation.length, 20, "workstation.length");
     162           2 :         torture_assert_int_equal(tctx, r->in.logon->password->identity_info.workstation.size, 20, "workstation.size");
     163           2 :         torture_assert_str_equal(tctx, r->in.logon->password->identity_info.workstation.string, "\\\\mthelena", "workstation.string");
     164           2 :         torture_assert_mem_equal(tctx, r->in.logon->password->lmpassword.hash, lmpassword_expected, 16, "lmpassword");
     165           2 :         torture_assert_mem_equal(tctx, r->in.logon->password->ntpassword.hash, ntpassword_expected, 16, "ntpassword");
     166           2 :         torture_assert_int_equal(tctx, r->in.validation_level, 6, "validation_level");
     167             : 
     168           0 :         return true;
     169             : }
     170             : 
     171             : #if 0
     172             : static const uint8_t netrlogonsamlogon_w2k_out_data[] = {
     173             :         0x6c, 0xdb, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     174             :         0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
     175             :         0x03, 0x00, 0x00, 0xc0
     176             : };
     177             : 
     178             : static bool netrlogonsamlogon_w2k_out_check(struct torture_context *tctx,
     179             :                                             struct netr_LogonSamLogon *r)
     180             : {
     181             :         uint8_t return_authenticator_expected[8] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
     182             : 
     183             :         torture_assert_mem_equal(tctx, r->out.return_authenticator->cred.data, return_authenticator_expected, 8, "return_authenticator.cred.data");
     184             :         torture_assert_int_equal(tctx, r->out.return_authenticator->timestamp, 0, "return_authenticator.timestamp");
     185             :         torture_assert(tctx, r->out.validation, "validation NULL pointer");
     186             :         torture_assert(tctx, (r->out.validation->sam6 == NULL), "sam6 not NULL");
     187             :         torture_assert_int_equal(tctx, *r->out.authoritative, 1, "authoritative");
     188             :         torture_assert_ntstatus_equal(tctx, r->out.result, NT_STATUS_INVALID_INFO_CLASS, "unexpected result");
     189             : 
     190             :         return true;
     191             : }
     192             : #endif
     193             : 
     194             : static const uint8_t netrlogongetdomaininfo_in_data[] = {
     195             :         0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
     196             :         0x5c, 0x00, 0x5c, 0x00, 0x67, 0x00, 0x64, 0x00, 0x77, 0x00, 0x32, 0x00,
     197             :         0x6b, 0x00, 0x31, 0x00, 0x36, 0x00, 0x64, 0x00, 0x63, 0x00, 0x00, 0x00,
     198             :         0x00, 0x00, 0x02, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     199             :         0x09, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x54, 0x00, 0x48, 0x00, 0x45, 0x00,
     200             :         0x4c, 0x00, 0x45, 0x00, 0x4e, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00,
     201             :         0x80, 0x22, 0xbd, 0x03, 0x67, 0x3d, 0xdf, 0x17, 0xd3, 0x98, 0x81, 0x5d,
     202             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     203             :         0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00,
     204             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     205             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     206             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     207             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     208             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     209             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     210             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
     211             : };
     212             : 
     213           4 : static bool netrlogongetdomaininfo_in_check(struct torture_context *tctx,
     214             :                                             struct netr_LogonGetDomainInfo *r)
     215             : {
     216           4 :         return true;
     217             : }
     218             : 
     219             : static const uint8_t netrlogongetdomaininfo_out_data[] = {
     220             :         0x81, 0x3f, 0x80, 0x20, 0x4b, 0x4a, 0x18, 0x93, 0x00, 0x00, 0x00, 0x00,
     221             :         0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x10, 0x00, 0x12, 0x00,
     222             :         0x04, 0x00, 0x02, 0x00, 0x32, 0x00, 0x34, 0x00, 0x08, 0x00, 0x02, 0x00,
     223             :         0x32, 0x00, 0x34, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x99, 0x7c, 0x28, 0xfd,
     224             :         0x3b, 0xc8, 0x03, 0x4d, 0x84, 0x9e, 0x30, 0xc4, 0xf0, 0x62, 0xe2, 0xd3,
     225             :         0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     226             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     227             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     228             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     229             :         0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x02, 0x00,
     230             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     231             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     232             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     233             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00,
     234             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
     235             :         0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x57, 0x00, 0x32, 0x00,
     236             :         0x4b, 0x00, 0x31, 0x00, 0x36, 0x00, 0x44, 0x00, 0x4f, 0x00, 0x4d, 0x00,
     237             :         0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
     238             :         0x77, 0x00, 0x32, 0x00, 0x6b, 0x00, 0x31, 0x00, 0x36, 0x00, 0x2e, 0x00,
     239             :         0x64, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x2e, 0x00, 0x62, 0x00, 0x65, 0x00,
     240             :         0x72, 0x00, 0x2e, 0x00, 0x72, 0x00, 0x65, 0x00, 0x64, 0x00, 0x68, 0x00,
     241             :         0x61, 0x00, 0x74, 0x00, 0x2e, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00,
     242             :         0x2e, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     243             :         0x19, 0x00, 0x00, 0x00, 0x77, 0x00, 0x32, 0x00, 0x6b, 0x00, 0x31, 0x00,
     244             :         0x36, 0x00, 0x2e, 0x00, 0x64, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x2e, 0x00,
     245             :         0x62, 0x00, 0x65, 0x00, 0x72, 0x00, 0x2e, 0x00, 0x72, 0x00, 0x65, 0x00,
     246             :         0x64, 0x00, 0x68, 0x00, 0x61, 0x00, 0x74, 0x00, 0x2e, 0x00, 0x63, 0x00,
     247             :         0x6f, 0x00, 0x6d, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
     248             :         0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x15, 0x00, 0x00, 0x00,
     249             :         0x80, 0x9f, 0x75, 0x68, 0x0c, 0x07, 0x89, 0x1a, 0xd7, 0x39, 0x71, 0x13,
     250             :         0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x12, 0x00, 0x18, 0x00, 0x02, 0x00,
     251             :         0x2e, 0x00, 0x30, 0x00, 0x1c, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
     252             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     253             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x02, 0x00,
     254             :         0x10, 0x00, 0x10, 0x00, 0x24, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
     255             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     256             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     257             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     258             :         0x10, 0x00, 0x12, 0x00, 0x28, 0x00, 0x02, 0x00, 0x30, 0x00, 0x32, 0x00,
     259             :         0x2c, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     260             :         0x99, 0x7c, 0x28, 0xfd, 0x3b, 0xc8, 0x03, 0x4d, 0x84, 0x9e, 0x30, 0xc4,
     261             :         0xf0, 0x62, 0xe2, 0xd3, 0x30, 0x00, 0x02, 0x00, 0x10, 0x00, 0x10, 0x00,
     262             :         0x34, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     263             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     264             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     265             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
     266             :         0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x57, 0x00, 0x32, 0x00,
     267             :         0x4b, 0x00, 0x31, 0x00, 0x32, 0x00, 0x44, 0x00, 0x4f, 0x00, 0x4d, 0x00,
     268             :         0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00,
     269             :         0x77, 0x00, 0x32, 0x00, 0x6b, 0x00, 0x31, 0x00, 0x32, 0x00, 0x64, 0x00,
     270             :         0x6f, 0x00, 0x6d, 0x00, 0x2e, 0x00, 0x62, 0x00, 0x65, 0x00, 0x72, 0x00,
     271             :         0x2e, 0x00, 0x72, 0x00, 0x65, 0x00, 0x64, 0x00, 0x68, 0x00, 0x61, 0x00,
     272             :         0x74, 0x00, 0x2e, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x00, 0x00,
     273             :         0x04, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
     274             :         0x15, 0x00, 0x00, 0x00, 0x05, 0xee, 0xb6, 0x98, 0x1b, 0xf2, 0x46, 0x5d,
     275             :         0x27, 0x50, 0x57, 0x3d, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     276             :         0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     277             :         0x02, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
     278             :         0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x57, 0x00, 0x32, 0x00,
     279             :         0x4b, 0x00, 0x31, 0x00, 0x36, 0x00, 0x44, 0x00, 0x4f, 0x00, 0x4d, 0x00,
     280             :         0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
     281             :         0x77, 0x00, 0x32, 0x00, 0x6b, 0x00, 0x31, 0x00, 0x36, 0x00, 0x2e, 0x00,
     282             :         0x64, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x2e, 0x00, 0x62, 0x00, 0x65, 0x00,
     283             :         0x72, 0x00, 0x2e, 0x00, 0x72, 0x00, 0x65, 0x00, 0x64, 0x00, 0x68, 0x00,
     284             :         0x61, 0x00, 0x74, 0x00, 0x2e, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00,
     285             :         0x04, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
     286             :         0x15, 0x00, 0x00, 0x00, 0x80, 0x9f, 0x75, 0x68, 0x0c, 0x07, 0x89, 0x1a,
     287             :         0xd7, 0x39, 0x71, 0x13, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     288             :         0x08, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     289             :         0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
     290             : };
     291             : 
     292           4 : static bool netrlogongetdomaininfo_out_check_common(struct torture_context *tctx,
     293             :                                                     struct netr_LogonGetDomainInfo *r)
     294             : {
     295           4 :         struct GUID guid;
     296           4 :         struct dom_sid sid;
     297           4 :         struct netr_OneDomainInfo p;
     298             : 
     299           4 :         p = r->out.info->domain_info->primary_domain;
     300             : 
     301           4 :         torture_assert_str_equal(tctx,
     302             :                         p.domainname.string,
     303             :                         "W2K16DOM", "domainname.string");
     304           4 :         torture_assert_str_equal(tctx,
     305             :                         p.dns_domainname.string,
     306             :                         "w2k16.dom.ber.redhat.com.", "dns_domainname.string");
     307           4 :         torture_assert_str_equal(tctx,
     308             :                         p.dns_forestname.string,
     309             :                         "w2k16.dom.ber.redhat.com.", "dns_forestname.string");
     310           4 :         GUID_from_string("fd287c99-c83b-4d03-849e-30c4f062e2d3", &guid);
     311           4 :         torture_assert_guid_equal(tctx,
     312             :                         p.domain_guid,
     313             :                         guid,
     314             :                         "domain_guid");
     315           4 :         string_to_sid(&sid, "S-1-5-21-1752539008-445187852-326187479");
     316           4 :         torture_assert_sid_equal(tctx,
     317             :                         p.domain_sid,
     318             :                         &sid,
     319             :                         "domain_sid");
     320           4 :         torture_assert_int_equal(tctx,
     321             :                         p.trust_extension.length,
     322             :                         0,
     323             :                         "trust_extension.length");
     324           4 :         torture_assert_int_equal(tctx,
     325             :                         p.trust_extension.size,
     326             :                         0,
     327             :                         "trust_extension.size");
     328           4 :         torture_assert(tctx,
     329             :                         p.trust_extension.info == NULL,
     330             :                         "trust_extension.info");
     331             :         /* dummy_string2, dummy_string3, dummy_string4,
     332             :            dummy_long1, dummy_long2, dummy_long3, dummy_long4 */
     333             : 
     334           4 :         torture_assert_int_equal(tctx,
     335             :                         r->out.info->domain_info->trusted_domain_count, 2,
     336             :                         "trusted_domain_count");
     337             : 
     338             :         /* trusted domain 0 */
     339             : 
     340           4 :         p = r->out.info->domain_info->trusted_domains[0];
     341             : 
     342           4 :         torture_assert_str_equal(tctx,
     343             :                         p.domainname.string,
     344             :                         "W2K12DOM", "domainname.string");
     345           4 :         torture_assert_str_equal(tctx,
     346             :                         p.dns_domainname.string,
     347             :                         "w2k12dom.ber.redhat.com", "dns_domainname.string");
     348           4 :         torture_assert_str_equal(tctx,
     349             :                         p.dns_forestname.string,
     350             :                         NULL, "dns_forestname.string");
     351           4 :         guid = GUID_zero();
     352           4 :         torture_assert_guid_equal(tctx,
     353             :                         p.domain_guid,
     354             :                         guid,
     355             :                         "domain_guid");
     356           4 :         string_to_sid(&sid, "S-1-5-21-2562125317-1564930587-1029132327");
     357           4 :         torture_assert_sid_equal(tctx,
     358             :                         p.domain_sid,
     359             :                         &sid,
     360             :                         "domain_sid");
     361           4 :         torture_assert_int_equal(tctx,
     362             :                         p.trust_extension.length,
     363             :                         16,
     364             :                         "trust_extension.length");
     365           4 :         torture_assert_int_equal(tctx,
     366             :                         p.trust_extension.size,
     367             :                         16,
     368             :                         "trust_extension.size");
     369           4 :         torture_assert(tctx,
     370             :                         p.trust_extension.info,
     371             :                         "trust_extension.info");
     372           4 :         torture_assert_int_equal(tctx,
     373             :                         p.trust_extension.info->length, 8,
     374             :                         "trust_extension.info->length");
     375           4 :         torture_assert_int_equal(tctx,
     376             :                         p.trust_extension.info->dummy, 0,
     377             :                         "trust_extension.info->dummy");
     378           4 :         torture_assert_int_equal(tctx,
     379             :                         p.trust_extension.info->size, 8,
     380             :                         "trust_extension.info->size");
     381           4 :         torture_assert_int_equal(tctx,
     382             :                         p.trust_extension.info->info.flags,
     383             :                         NETR_TRUST_FLAG_OUTBOUND,
     384             :                         "trust_extension.info->info.flags");
     385           4 :         torture_assert_int_equal(tctx,
     386             :                         p.trust_extension.info->info.parent_index, 0,
     387             :                         "trust_extension.info->info.parent_index");
     388           4 :         torture_assert_int_equal(tctx,
     389             :                         p.trust_extension.info->info.trust_type,
     390             :                         LSA_TRUST_TYPE_UPLEVEL,
     391             :                         "trust_extension.info->info.trust_type");
     392           4 :         torture_assert_int_equal(tctx,
     393             :                         p.trust_extension.info->info.trust_attributes,
     394             :                         LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE |
     395             :                         LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION_ENABLE_TGT_DELEGATION,
     396             :                         "trust_extension.info->info.trust_attributes");
     397             :         /* dummy_string2, dummy_string3, dummy_string4,
     398             :            dummy_long1, dummy_long2, dummy_long3, dummy_long4 */
     399             : 
     400             :         /* trusted domain 1 */
     401             : 
     402           4 :         p = r->out.info->domain_info->trusted_domains[1];
     403             : 
     404           4 :         torture_assert_str_equal(tctx,
     405             :                         p.domainname.string,
     406             :                         "W2K16DOM", "domainname.string");
     407           4 :         torture_assert_str_equal(tctx,
     408             :                         p.dns_domainname.string,
     409             :                         "w2k16.dom.ber.redhat.com", "dns_domainname.string");
     410           4 :         torture_assert_str_equal(tctx,
     411             :                         p.dns_forestname.string,
     412             :                         NULL, "dns_forestname.string");
     413           4 :         GUID_from_string("fd287c99-c83b-4d03-849e-30c4f062e2d3", &guid);
     414           4 :         torture_assert_guid_equal(tctx,
     415             :                         p.domain_guid,
     416             :                         guid,
     417             :                         "domain_guid");
     418           4 :         string_to_sid(&sid, "S-1-5-21-1752539008-445187852-326187479");
     419           4 :         torture_assert_sid_equal(tctx,
     420             :                         p.domain_sid,
     421             :                         &sid,
     422             :                         "domain_sid");
     423           4 :         torture_assert_int_equal(tctx,
     424             :                         p.trust_extension.length,
     425             :                         16,
     426             :                         "trust_extension.length");
     427           4 :         torture_assert_int_equal(tctx,
     428             :                         p.trust_extension.size,
     429             :                         16,
     430             :                         "trust_extension.size");
     431           4 :         torture_assert(tctx,
     432             :                         p.trust_extension.info,
     433             :                         "trust_extension.info");
     434           4 :         torture_assert_int_equal(tctx,
     435             :                         p.trust_extension.info->length, 8,
     436             :                         "trust_extension.info->length");
     437           4 :         torture_assert_int_equal(tctx,
     438             :                         p.trust_extension.info->dummy, 0,
     439             :                         "trust_extension.info->dummy");
     440           4 :         torture_assert_int_equal(tctx,
     441             :                         p.trust_extension.info->size, 8,
     442             :                         "trust_extension.info->size");
     443           4 :         torture_assert_int_equal(tctx,
     444             :                         p.trust_extension.info->info.flags,
     445             :                         NETR_TRUST_FLAG_IN_FOREST | NETR_TRUST_FLAG_TREEROOT |
     446             :                         NETR_TRUST_FLAG_PRIMARY | NETR_TRUST_FLAG_NATIVE,
     447             :                         "trust_extension.info->info.flags");
     448           4 :         torture_assert_int_equal(tctx,
     449             :                         p.trust_extension.info->info.parent_index, 0,
     450             :                         "trust_extension.info->info.parent_index");
     451           4 :         torture_assert_int_equal(tctx,
     452             :                         p.trust_extension.info->info.trust_type,
     453             :                         LSA_TRUST_TYPE_UPLEVEL,
     454             :                         "trust_extension.info->info.trust_type");
     455           4 :         torture_assert_int_equal(tctx,
     456             :                         p.trust_extension.info->info.trust_attributes, 0,
     457             :                         "trust_extension.info->info.trust_attributes");
     458             :         /* dummy_string2, dummy_string3, dummy_string4,
     459             :            dummy_long1, dummy_long2, dummy_long3, dummy_long4 */
     460             : 
     461           4 :         torture_assert_int_equal(tctx,
     462             :                         r->out.info->domain_info->lsa_policy.policy_size, 0,
     463             :                         "lsa_policy.policy_size");
     464           4 :         torture_assert(tctx,
     465             :                         r->out.info->domain_info->lsa_policy.policy == NULL,
     466             :                         "lsa_policy.policy");
     467           4 :         torture_assert_str_equal(tctx,
     468             :                         r->out.info->domain_info->dns_hostname.string, NULL,
     469             :                         "dns_hostname");
     470             :         /* dummy_string2, dummy_string3, dummy_string4 */
     471           4 :         torture_assert_int_equal(tctx,
     472             :                         r->out.info->domain_info->workstation_flags, 0,
     473             :                         "workstation_flags");
     474             : 
     475           0 :         return true;
     476             : }
     477             : 
     478           2 : static bool netrlogongetdomaininfo_out_check(struct torture_context *tctx,
     479             :                                              struct netr_LogonGetDomainInfo *r)
     480             : {
     481           2 :         uint8_t return_authenticator_expected[8] = { 0x81, 0x3f, 0x80, 0x20, 0x4b, 0x4a, 0x18, 0x93 };
     482           2 :         bool ok;
     483             : 
     484           2 :         torture_assert_mem_equal(tctx,
     485             :                         r->out.return_authenticator->cred.data,
     486             :                         return_authenticator_expected, 8,
     487             :                         "return_authenticator.cred.data");
     488             :         /* torture_assert_int_equal(tctx, r->out.return_authenticator->timestamp, 0, "return_authenticator.timestamp"); */
     489             : 
     490           2 :         ok = netrlogongetdomaininfo_out_check_common(tctx, r);
     491           2 :         if (!ok) {
     492           0 :                 return false;
     493             :         }
     494             : 
     495           2 :         torture_assert_int_equal(tctx,
     496             :                         r->out.info->domain_info->supported_enc_types,
     497             :                         0x0000001f,
     498             :                         "supported_enc_types");
     499             :         /* dummy_long3, dummy_long4 */
     500             : 
     501           0 :         return true;
     502             : }
     503             : 
     504           2 : static bool netrlogongetdomaininfo_out_check64(struct torture_context *tctx,
     505             :                                                struct netr_LogonGetDomainInfo *r)
     506             : {
     507           2 :         uint8_t return_authenticator_expected[8] = { 0x5c, 0x69, 0xfe, 0xcf, 0x9b, 0xd5, 0x00, 0xa0 };
     508           2 :         bool ok;
     509             : 
     510           2 :         torture_assert_mem_equal(tctx,
     511             :                         r->out.return_authenticator->cred.data,
     512             :                         return_authenticator_expected, 8,
     513             :                         "return_authenticator.cred.data");
     514             :         /* torture_assert_int_equal(tctx, r->out.return_authenticator->timestamp, 0, "return_authenticator.timestamp"); */
     515             : 
     516           2 :         ok = netrlogongetdomaininfo_out_check_common(tctx, r);
     517           2 :         if (!ok) {
     518           0 :                 return false;
     519             :         }
     520             : 
     521           2 :         torture_assert_int_equal(tctx,
     522             :                         r->out.info->domain_info->supported_enc_types,
     523             :                         0xffffffff,
     524             :                         "supported_enc_types");
     525             :         /* dummy_long3, dummy_long4 */
     526             : 
     527           0 :         return true;
     528             : }
     529             : 
     530             : static const uint8_t netrlogongetdomaininfo_in_data64[] = {
     531             :         0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     532             :         0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     533             :         0x5c, 0x00, 0x5c, 0x00, 0x47, 0x00, 0x44, 0x00, 0x57, 0x00, 0x32, 0x00,
     534             :         0x4b, 0x00, 0x31, 0x00, 0x36, 0x00, 0x44, 0x00, 0x43, 0x00, 0x00, 0x00,
     535             :         0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
     536             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     537             :         0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x6f, 0x00,
     538             :         0x72, 0x00, 0x74, 0x00, 0x75, 0x00, 0x72, 0x00, 0x65, 0x00, 0x74, 0x00,
     539             :         0x65, 0x00, 0x73, 0x00, 0x74, 0x00, 0x00, 0x00, 0x81, 0x19, 0x6e, 0x66,
     540             :         0x55, 0x71, 0x21, 0x4b, 0x42, 0x61, 0x82, 0x5d, 0x81, 0x19, 0x6e, 0x66,
     541             :         0x55, 0x71, 0x21, 0x4b, 0x42, 0x61, 0x82, 0x5d, 0x01, 0x00, 0x00, 0x00,
     542             :         0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     543             :         0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     544             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     545             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     546             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     547             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     548             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     549             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     550             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     551             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     552             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     553             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     554             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     555             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
     556             : };
     557             : 
     558             : static const uint8_t netrlogongetdomaininfo_out_data64[] = {
     559             :         0x5c, 0x69, 0xfe, 0xcf, 0x9b, 0xd5, 0x00, 0xa0, 0x33, 0x68, 0x82, 0x5d,
     560             :         0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     561             :         0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x12, 0x00,
     562             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
     563             :         0x32, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
     564             :         0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00,
     565             :         0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0x7c, 0x28, 0xfd,
     566             :         0x3b, 0xc8, 0x03, 0x4d, 0x84, 0x9e, 0x30, 0xc4, 0xf0, 0x62, 0xe2, 0xd3,
     567             :         0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     568             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     569             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     570             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     571             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     572             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     573             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     574             :         0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     575             :         0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     576             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     577             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     578             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     579             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     580             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     581             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     582             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
     583             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
     584             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     585             :         0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x32, 0x00,
     586             :         0x4b, 0x00, 0x31, 0x00, 0x36, 0x00, 0x44, 0x00, 0x4f, 0x00, 0x4d, 0x00,
     587             :         0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     588             :         0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     589             :         0x77, 0x00, 0x32, 0x00, 0x6b, 0x00, 0x31, 0x00, 0x36, 0x00, 0x2e, 0x00,
     590             :         0x64, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x2e, 0x00, 0x62, 0x00, 0x65, 0x00,
     591             :         0x72, 0x00, 0x2e, 0x00, 0x72, 0x00, 0x65, 0x00, 0x64, 0x00, 0x68, 0x00,
     592             :         0x61, 0x00, 0x74, 0x00, 0x2e, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00,
     593             :         0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
     594             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     595             :         0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x32, 0x00,
     596             :         0x6b, 0x00, 0x31, 0x00, 0x36, 0x00, 0x2e, 0x00, 0x64, 0x00, 0x6f, 0x00,
     597             :         0x6d, 0x00, 0x2e, 0x00, 0x62, 0x00, 0x65, 0x00, 0x72, 0x00, 0x2e, 0x00,
     598             :         0x72, 0x00, 0x65, 0x00, 0x64, 0x00, 0x68, 0x00, 0x61, 0x00, 0x74, 0x00,
     599             :         0x2e, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x2e, 0x00, 0x00, 0x00,
     600             :         0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     601             :         0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x15, 0x00, 0x00, 0x00,
     602             :         0x80, 0x9f, 0x75, 0x68, 0x0c, 0x07, 0x89, 0x1a, 0xd7, 0x39, 0x71, 0x13,
     603             :         0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x12, 0x00,
     604             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
     605             :         0x2e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
     606             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     607             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     608             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     609             :         0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00,
     610             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
     611             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     612             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     613             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     614             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     615             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     616             :         0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00,
     617             :         0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x32, 0x00,
     618             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
     619             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     620             :         0x00, 0x00, 0x00, 0x00, 0x99, 0x7c, 0x28, 0xfd, 0x3b, 0xc8, 0x03, 0x4d,
     621             :         0x84, 0x9e, 0x30, 0xc4, 0xf0, 0x62, 0xe2, 0xd3, 0x00, 0x00, 0x02, 0x00,
     622             :         0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
     623             :         0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     624             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     625             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     626             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     627             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     628             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     629             :         0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     630             :         0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     631             :         0x57, 0x00, 0x32, 0x00, 0x4b, 0x00, 0x31, 0x00, 0x32, 0x00, 0x44, 0x00,
     632             :         0x4f, 0x00, 0x4d, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     633             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00,
     634             :         0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x32, 0x00, 0x6b, 0x00, 0x31, 0x00,
     635             :         0x32, 0x00, 0x64, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x2e, 0x00, 0x62, 0x00,
     636             :         0x65, 0x00, 0x72, 0x00, 0x2e, 0x00, 0x72, 0x00, 0x65, 0x00, 0x64, 0x00,
     637             :         0x68, 0x00, 0x61, 0x00, 0x74, 0x00, 0x2e, 0x00, 0x63, 0x00, 0x6f, 0x00,
     638             :         0x6d, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     639             :         0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x15, 0x00, 0x00, 0x00,
     640             :         0x05, 0xee, 0xb6, 0x98, 0x1b, 0xf2, 0x46, 0x5d, 0x27, 0x50, 0x57, 0x3d,
     641             :         0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     642             :         0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     643             :         0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
     644             :         0x08, 0x08, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     645             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
     646             :         0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x32, 0x00, 0x4b, 0x00, 0x31, 0x00,
     647             :         0x36, 0x00, 0x44, 0x00, 0x4f, 0x00, 0x4d, 0x00, 0x19, 0x00, 0x00, 0x00,
     648             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     649             :         0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x32, 0x00,
     650             :         0x6b, 0x00, 0x31, 0x00, 0x36, 0x00, 0x2e, 0x00, 0x64, 0x00, 0x6f, 0x00,
     651             :         0x6d, 0x00, 0x2e, 0x00, 0x62, 0x00, 0x65, 0x00, 0x72, 0x00, 0x2e, 0x00,
     652             :         0x72, 0x00, 0x65, 0x00, 0x64, 0x00, 0x68, 0x00, 0x61, 0x00, 0x74, 0x00,
     653             :         0x2e, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x04, 0x00, 0x00, 0x00,
     654             :         0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
     655             :         0x15, 0x00, 0x00, 0x00, 0x80, 0x9f, 0x75, 0x68, 0x0c, 0x07, 0x89, 0x1a,
     656             :         0xd7, 0x39, 0x71, 0x13, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     657             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
     658             :         0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     659             :         0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
     660             : };
     661             : 
     662             : static const uint8_t netrlogongetdomaininfo_in_data64_osversion[] = {
     663             :         0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     664             :         0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     665             :         0x5c, 0x00, 0x5c, 0x00, 0x57, 0x00, 0x49, 0x00, 0x4e, 0x00, 0x2d, 0x00,
     666             :         0x44, 0x00, 0x43, 0x00, 0x30, 0x00, 0x31, 0x00, 0x2e, 0x00, 0x65, 0x00,
     667             :         0x61, 0x00, 0x72, 0x00, 0x74, 0x00, 0x68, 0x00, 0x2e, 0x00, 0x6d, 0x00,
     668             :         0x69, 0x00, 0x6c, 0x00, 0x6b, 0x00, 0x79, 0x00, 0x77, 0x00, 0x61, 0x00,
     669             :         0x79, 0x00, 0x2e, 0x00, 0x73, 0x00, 0x69, 0x00, 0x74, 0x00, 0x65, 0x00,
     670             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
     671             :         0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     672             :         0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     673             :         0x57, 0x00, 0x49, 0x00, 0x4e, 0x00, 0x31, 0x00, 0x30, 0x00, 0x2d, 0x00,
     674             :         0x43, 0x00, 0x4c, 0x00, 0x49, 0x00, 0x30, 0x00, 0x31, 0x00, 0x00, 0x00,
     675             :         0x4d, 0x33, 0xf7, 0x0d, 0xe7, 0xeb, 0x15, 0x4b, 0xd4, 0xe9, 0x4b, 0x5d,
     676             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     677             :         0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
     678             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
     679             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     680             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
     681             :         0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     682             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     683             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     684             :         0x00, 0x00, 0x00, 0x00, 0x1c, 0x01, 0x1c, 0x01, 0x00, 0x00, 0x00, 0x00,
     685             :         0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x2c, 0x00,
     686             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
     687             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     688             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     689             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
     690             :         0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     691             :         0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     692             :         0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     693             :         0x57, 0x00, 0x49, 0x00, 0x4e, 0x00, 0x31, 0x00, 0x30, 0x00, 0x2d, 0x00,
     694             :         0x43, 0x00, 0x4c, 0x00, 0x49, 0x00, 0x30, 0x00, 0x31, 0x00, 0x2e, 0x00,
     695             :         0x65, 0x00, 0x61, 0x00, 0x72, 0x00, 0x74, 0x00, 0x68, 0x00, 0x2e, 0x00,
     696             :         0x6d, 0x00, 0x69, 0x00, 0x6c, 0x00, 0x6b, 0x00, 0x79, 0x00, 0x77, 0x00,
     697             :         0x61, 0x00, 0x79, 0x00, 0x2e, 0x00, 0x73, 0x00, 0x69, 0x00, 0x74, 0x00,
     698             :         0x65, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     699             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
     700             :         0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x65, 0x00, 0x66, 0x00, 0x61, 0x00,
     701             :         0x75, 0x00, 0x6c, 0x00, 0x74, 0x00, 0x2d, 0x00, 0x46, 0x00, 0x69, 0x00,
     702             :         0x72, 0x00, 0x73, 0x00, 0x74, 0x00, 0x2d, 0x00, 0x53, 0x00, 0x69, 0x00,
     703             :         0x74, 0x00, 0x65, 0x00, 0x2d, 0x00, 0x4e, 0x00, 0x61, 0x00, 0x6d, 0x00,
     704             :         0x65, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     705             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8e, 0x00, 0x00, 0x00,
     706             :         0x00, 0x00, 0x00, 0x00, 0x1c, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00,
     707             :         0x00, 0x00, 0x00, 0x00, 0xee, 0x42, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
     708             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     709             :         0xb0, 0x4a, 0x02, 0xae, 0x6e, 0x01, 0x00, 0x00, 0x80, 0x4a, 0x16, 0xae,
     710             :         0x6e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     711             :         0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
     712             :         0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     713             :         0x8e, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
     714             :         0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     715             :         0xc5, 0x96, 0xcc, 0x46, 0xff, 0x7f, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
     716             :         0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
     717             :         0xc8, 0x4a, 0x16, 0xae, 0x6e, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
     718             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     719             :         0x00, 0xec, 0x2f, 0x80, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     720             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     721             :         0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     722             :         0x00, 0x00, 0x00, 0x00, 0x00, 0xec, 0x2f, 0x80, 0x6d, 0x00, 0x00, 0x00,
     723             :         0xa0, 0x4a, 0x16, 0xae, 0x6e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x79, 0xad,
     724             :         0x6e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     725             :         0xf4, 0xed, 0x2f, 0x80, 0x6d, 0x00, 0x00, 0x00, 0x60, 0xe8, 0x2f, 0x80,
     726             :         0x6d, 0x00, 0x00, 0x00, 0xe0, 0xea, 0x2f, 0x80, 0x6d, 0x00, 0x00, 0x00,
     727             :         0x20, 0xec, 0x2f, 0x80, 0x6d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     728             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     729             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00,
     730             :         0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     731             :         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00,
     732             :         0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x64, 0x00,
     733             :         0x6f, 0x00, 0x77, 0x00, 0x73, 0x00, 0x20, 0x00, 0x31, 0x00, 0x30, 0x00,
     734             :         0x20, 0x00, 0x45, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x65, 0x00, 0x72, 0x00,
     735             :         0x70, 0x00, 0x72, 0x00, 0x69, 0x00, 0x73, 0x00, 0x65, 0x00
     736             : };
     737             : 
     738           2 : static bool netrlogongetdomaininfo_in_check_osversion(struct torture_context *tctx,
     739             :                                                       struct netr_LogonGetDomainInfo *r)
     740             : {
     741           2 :         return true;
     742             : }
     743             : 
     744        2354 : struct torture_suite *ndr_netlogon_suite(TALLOC_CTX *ctx)
     745             : {
     746        2354 :         struct torture_suite *suite = torture_suite_create(ctx, "netlogon");
     747             : 
     748        2354 :         torture_suite_add_ndr_pull_fn_test(suite,
     749             :                                            netr_ServerReqChallenge,
     750             :                                            netrserverreqchallenge_in_data,
     751             :                                            NDR_IN,
     752             :                                            netrserverreqchallenge_in_check);
     753        2354 :         torture_suite_add_ndr_pull_fn_test(suite,
     754             :                                            netr_ServerReqChallenge,
     755             :                                            netrserverreqchallenge_out_data,
     756             :                                            NDR_OUT,
     757             :                                            netrserverreqchallenge_out_check);
     758             : 
     759        2354 :         torture_suite_add_ndr_pull_fn_test(suite,
     760             :                                            netr_ServerAuthenticate3,
     761             :                                            netrserverauthenticate3_in_data,
     762             :                                            NDR_IN,
     763             :                                            netrserverauthenticate3_in_check);
     764        2354 :         torture_suite_add_ndr_pull_fn_test(suite,
     765             :                                            netr_ServerAuthenticate3,
     766             :                                            netrserverauthenticate3_out_data,
     767             :                                            NDR_OUT,
     768             :                                            netrserverauthenticate3_out_check);
     769             : 
     770        2354 :         torture_suite_add_ndr_pull_fn_test(suite,
     771             :                                            netr_LogonSamLogon,
     772             :                                            netrlogonsamlogon_w2k_in_data,
     773             :                                            NDR_IN,
     774             :                                            netrlogonsamlogon_w2k_in_check);
     775             : #if 0
     776             :         /* samba currently fails to parse a validation level 6 samlogon reply
     777             :          * from w2k and other servers - gd */
     778             :         torture_suite_add_ndr_pull_io_test(suite,
     779             :                                            netr_LogonSamLogon,
     780             :                                            netrlogonsamlogon_w2k_in_data,
     781             :                                            netrlogonsamlogon_w2k_out_data,
     782             :                                            netrlogonsamlogon_w2k_out_check);
     783             : #endif
     784        2354 :         torture_suite_add_ndr_pull_fn_test(suite,
     785             :                                            netr_LogonGetDomainInfo,
     786             :                                            netrlogongetdomaininfo_in_data,
     787             :                                            NDR_IN,
     788             :                                            netrlogongetdomaininfo_in_check);
     789        2354 :         torture_suite_add_ndr_pull_io_test(suite,
     790             :                                            netr_LogonGetDomainInfo,
     791             :                                            netrlogongetdomaininfo_in_data,
     792             :                                            netrlogongetdomaininfo_out_data,
     793             :                                            netrlogongetdomaininfo_out_check);
     794             : 
     795        2354 :         torture_suite_add_ndr_pull_fn_test_flags(suite,
     796             :                                                  netr_LogonGetDomainInfo,
     797             :                                                  netrlogongetdomaininfo_in_data64,
     798             :                                                  NDR_IN,
     799             :                                                  LIBNDR_FLAG_NDR64,
     800             :                                                  netrlogongetdomaininfo_in_check);
     801        2354 :         torture_suite_add_ndr_pull_io_test_flags(suite,
     802             :                                                  netr_LogonGetDomainInfo,
     803             :                                                  netrlogongetdomaininfo_in_data64,
     804             :                                                  netrlogongetdomaininfo_out_data64,
     805             :                                                  LIBNDR_FLAG_NDR64,
     806             :                                                  netrlogongetdomaininfo_out_check64);
     807             : 
     808        2354 :         torture_suite_add_ndr_pull_fn_test_flags(suite,
     809             :                                                  netr_LogonGetDomainInfo,
     810             :                                                  netrlogongetdomaininfo_in_data64_osversion,
     811             :                                                  NDR_IN,
     812             :                                                  LIBNDR_FLAG_NDR64,
     813             :                                                  netrlogongetdomaininfo_in_check_osversion);
     814             : #if 0
     815             :         /* currently fails, most likely due to pointer value calculations - gd */
     816             :         torture_suite_add_ndr_pullpush_fn_test_flags(suite,
     817             :                                                      netr_LogonGetDomainInfo,
     818             :                                                      netrlogongetdomaininfo_in_data64_osversion,
     819             :                                                      NDR_IN,
     820             :                                                      LIBNDR_FLAG_NDR64,
     821             :                                                      netrlogongetdomaininfo_in_check_osversion);
     822             : #endif
     823             : 
     824        2354 :         return suite;
     825             : }

Generated by: LCOV version 1.14