switch (version & 0xF) {
case 0:
case 1:
+ netlogon->logon1.type = (user?19+2:19);
netlogon->logon1.pdc_name = pdc_name;
netlogon->logon1.user_name = user;
netlogon->logon1.domain_name = flatname;
break;
case 2:
case 3:
+ netlogon->logon3.type = (user?19+2:19);
netlogon->logon3.pdc_name = pdc_name;
netlogon->logon3.user_name = user;
netlogon->logon3.domain_name = flatname;
case 5:
case 6:
case 7:
+ netlogon->logon5.type = (user?23+2:23);
netlogon->logon5.server_type = server_type;
netlogon->logon5.domain_uuid = domain_uuid;
netlogon->logon5.forest = realm;
netlogon->logon5.lm20_token = 0xFFFF;
break;
default:
+ netlogon->logon13.type = (user?23+2:23);
netlogon->logon13.server_type = server_type;
netlogon->logon13.domain_uuid = domain_uuid;
netlogon->logon13.forest = realm;
int i;
const char *domain = NULL;
const char *host = NULL;
- const char *user = "";
+ const char *user = NULL;
const char *domain_guid = NULL;
const char *domain_sid = NULL;
int acct_control = -1;
quite identical to, the netlogon structures above */
typedef struct {
- [value(21)] uint16 type;
+ uint16 type;
nstring pdc_name;
nstring user_name;
nstring domain_name;
} nbt_cldap_netlogon_1;
typedef struct {
- [value(21)] uint16 type;
+ uint16 type;
nstring pdc_name;
nstring user_name;
nstring domain_name;
} nbt_cldap_netlogon_3;
typedef struct {
- [value(25)] uint32 type;
+ uint32 type;
nbt_server_type server_type;
GUID domain_uuid;
nbt_string forest;
} nbt_cldap_netlogon_5;
typedef struct {
- [value(25)] uint32 type;
+ uint32 type;
nbt_server_type server_type;
GUID domain_uuid;
nbt_string forest;
__location__, nt_errstr(status), nt_errstr(correct)); \
ret = False; \
goto done; \
- }} while (0)
-
+ } \
+ if (DEBUGLVL(10)) { \
+ NDR_PRINT_UNION_DEBUG(nbt_cldap_netlogon, \
+ search.in.version & 0xF, \
+ &search.out.netlogon); \
+ } \
+} while (0)
/*
test netlogon operations
printf("Trying netlogon level %d\n", i);
status = cldap_netlogon(cldap, mem_ctx, &search);
CHECK_STATUS(status, NT_STATUS_OK);
- if (DEBUGLVL(10)) {
- NDR_PRINT_UNION_DEBUG(nbt_cldap_netlogon,
- search.in.version & 0xF,
- &search.out.netlogon);
- }
}
printf("Scanning for netlogon level bits\n");
printf("Trying netlogon level 0x%x\n", i);
status = cldap_netlogon(cldap, mem_ctx, &search);
CHECK_STATUS(status, NT_STATUS_OK);
- if (DEBUGLVL(10)) {
- NDR_PRINT_UNION_DEBUG(nbt_cldap_netlogon,
- search.in.version & 0xF,
- &search.out.netlogon);
- }
}
search.in.version = 6;