summaryrefslogtreecommitdiff
path: root/source4/librpc/idl/nbt.idl
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-04-14 02:36:30 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:11:32 -0500
commit8d0a36366c741d0ae9302f1ac8cc6894033be687 (patch)
tree34a19b847efc4865c7534a78ca7e862de4401deb /source4/librpc/idl/nbt.idl
parent6f036daaa4a3f8c73512a7549a399e9b0f1f2758 (diff)
downloadsamba-8d0a36366c741d0ae9302f1ac8cc6894033be687.tar.gz
samba-8d0a36366c741d0ae9302f1ac8cc6894033be687.tar.bz2
samba-8d0a36366c741d0ae9302f1ac8cc6894033be687.zip
r6331: added IDL and test suite for the ADS style response to a datagram netlogon query.
Note that this response is almost identical to the CLDAP netlogon response, so adding that will now be quite easy. (This used to be commit 1ea4ed4ad1d9336f8288283688fa2d7bebfa533c)
Diffstat (limited to 'source4/librpc/idl/nbt.idl')
-rw-r--r--source4/librpc/idl/nbt.idl49
1 files changed, 44 insertions, 5 deletions
diff --git a/source4/librpc/idl/nbt.idl b/source4/librpc/idl/nbt.idl
index f6c491fe90..a28c029b7d 100644
--- a/source4/librpc/idl/nbt.idl
+++ b/source4/librpc/idl/nbt.idl
@@ -65,7 +65,7 @@
} nbt_name_type;
/* the ndr parser for nbt_name is separately defined in
- nbtname.c */
+ nbtname.c (along with the parsers for nbt_string) */
typedef [nopull,nopush] struct {
string name;
string scope;
@@ -330,9 +330,11 @@
/*******************************************/
/* \MAILSLOT\NET\NETLOGON mailslot requests */
typedef enum {
- NETLOGON_QUERY_FOR_PDC = 0x7,
- NETLOGON_ANNOUNCE_UAS = 0xa,
- NETLOGON_RESPONSE_FROM_PDC = 0xc
+ NETLOGON_QUERY_FOR_PDC = 0x7,
+ NETLOGON_ANNOUNCE_UAS = 0xa,
+ NETLOGON_RESPONSE_FROM_PDC = 0xc,
+ NETLOGON_QUERY_FOR_PDC2 = 0x12,
+ NETLOGON_RESPONSE_FROM_PDC2 = 0x17
} nbt_netlogon_command;
/* query for pdc request */
@@ -346,7 +348,19 @@
uint16 lm20_token;
} nbt_netlogon_query_for_pdc;
- /* response from request */
+ /* query for pdc request - new style */
+ typedef struct {
+ uint16 request_count;
+ nstring computer_name;
+ nstring user_name;
+ astring mailslot_name;
+ uint32 unknown[2];
+ uint32 nt_version;
+ uint16 lmnt_token;
+ uint16 lm20_token;
+ } nbt_netlogon_query_for_pdc2;
+
+ /* response from pdc */
typedef struct {
astring pdc_name;
[flag(NDR_ALIGN2)] DATA_BLOB _pad;
@@ -357,6 +371,29 @@
uint16 lm20_token;
} nbt_netlogon_response_from_pdc;
+ /* response from pdc - type2 */
+ typedef struct {
+ [flag(NDR_ALIGN4)] DATA_BLOB _pad;
+ uint32 server_type;
+ GUID domain_uuid;
+ nbt_string forest;
+ nbt_string dns_domain;
+ nbt_string pdc_dns_name;
+ astring domain;
+ nbt_string pdc_name;
+ nbt_string user_name;
+ nbt_string site_name;
+ nbt_string site_name2;
+ uint8 unknown;
+ uint32 unknown2;
+ [flag(NDR_BIG_ENDIAN)]
+ ipv4address pdc_ip;
+ uint32 unknown3[2];
+ uint32 nt_version;
+ uint16 lmnt_token;
+ uint16 lm20_token;
+ } nbt_netlogon_response_from_pdc2;
+
/* announce change to UAS or SAM */
typedef struct {
uint32 db_index;
@@ -387,8 +424,10 @@
typedef [nodiscriminant] union {
[case(NETLOGON_QUERY_FOR_PDC)] nbt_netlogon_query_for_pdc pdc;
+ [case(NETLOGON_QUERY_FOR_PDC2)] nbt_netlogon_query_for_pdc2 pdc2;
[case(NETLOGON_ANNOUNCE_UAS)] nbt_netlogon_announce_uas uas;
[case(NETLOGON_RESPONSE_FROM_PDC)] nbt_netlogon_response_from_pdc response;
+ [case(NETLOGON_RESPONSE_FROM_PDC2)] nbt_netlogon_response_from_pdc2 response2;
} nbt_netlogon_request;
typedef [flag(NDR_NOALIGN),public] struct {