summaryrefslogtreecommitdiff
path: root/source4/librpc/idl/nbt.idl
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2008-05-21 14:26:38 +1000
committerAndrew Bartlett <abartlet@samba.org>2008-05-21 14:26:38 +1000
commit2f5a1d2b1cfdbfc3d4c7c1e96d1ed061e7970f88 (patch)
tree37921057be2a568b2394499b6d3b7053d7dbd364 /source4/librpc/idl/nbt.idl
parentf67156fc920b9a5c84c4fcaf1bf41640ddae6005 (diff)
downloadsamba-2f5a1d2b1cfdbfc3d4c7c1e96d1ed061e7970f88.tar.gz
samba-2f5a1d2b1cfdbfc3d4c7c1e96d1ed061e7970f88.tar.bz2
samba-2f5a1d2b1cfdbfc3d4c7c1e96d1ed061e7970f88.zip
Manually handle the NETLOGON_SAM_LOGON_REQUEST too.
With the sid structure being both optional and aligned, it was too hard to do this in just IDL. This requried moving some things around, as otherwise we would have a dependency loop. Andrew Bartlett (This used to be commit e28790ba4884277f310be1b8bd3fba4fd47dbbdb)
Diffstat (limited to 'source4/librpc/idl/nbt.idl')
-rw-r--r--source4/librpc/idl/nbt.idl15
1 files changed, 10 insertions, 5 deletions
diff --git a/source4/librpc/idl/nbt.idl b/source4/librpc/idl/nbt.idl
index b82c19ca0b..783f04eb42 100644
--- a/source4/librpc/idl/nbt.idl
+++ b/source4/librpc/idl/nbt.idl
@@ -10,7 +10,7 @@
import "misc.idl", "security.idl", "svcctl.idl", "samr.idl";
[
-helper("libcli/nbt/libnbt.h")
+ helper("libcli/netlogon.h", "libcli/nbt/libnbt.h")
]
interface nbt
{
@@ -391,7 +391,9 @@ interface nbt
typedef bitmap samr_AcctFlags samr_AcctFlags;
- typedef struct {
+ /* query to dc hand marshaled, as it has 'optional'
+ * parts */
+ typedef [nopull,nopush] struct {
uint16 request_count;
nstring computer_name;
nstring user_name;
@@ -400,9 +402,12 @@ interface nbt
[value(ndr_size_dom_sid0(&sid, ndr->flags))] uint32 sid_size;
/* The manual alignment is required because this
* structure is marked flag(NDR_NOALIGN) via the
- * nbt_netlogon_packet below */
- [flag(NDR_ALIGN4)] DATA_BLOB _pad;
- [subcontext(0),subcontext_size(sid_size)] dom_sid0 sid;
+ * nbt_netlogon_packet below.
+ *
+ * However, both MUST only be present if sid_size > 0
+ */
+ [flag(NDR_ALIGN4)] DATA_BLOB _pad;
+ [subcontext(0),subcontext_size(sid_size)] dom_sid0 sid;
netlogon_nt_version_flags nt_version;
uint16 lmnt_token;
uint16 lm20_token;