summaryrefslogtreecommitdiff
path: root/librpc
diff options
context:
space:
mode:
authorMatthieu Patou <mat@matws.net>2011-05-15 19:56:25 +0400
committerMatthieu Patou <mat@samba.org>2011-05-17 00:31:09 +0200
commit3478e3add376a291e4b4e3acfe92b2df22287142 (patch)
treeade576ba422315f5a3943cbd49345c504068a890 /librpc
parentd24a22fe9a414bf37859967848c45f2a7494193d (diff)
downloadsamba-3478e3add376a291e4b4e3acfe92b2df22287142.tar.gz
samba-3478e3add376a291e4b4e3acfe92b2df22287142.tar.bz2
samba-3478e3add376a291e4b4e3acfe92b2df22287142.zip
s4-dfs: fix bugs in idl and adapt code accordingly
Diffstat (limited to 'librpc')
-rw-r--r--librpc/idl/dfsblobs.idl17
1 files changed, 2 insertions, 15 deletions
diff --git a/librpc/idl/dfsblobs.idl b/librpc/idl/dfsblobs.idl
index 6151c3f77b..7b8795d29c 100644
--- a/librpc/idl/dfsblobs.idl
+++ b/librpc/idl/dfsblobs.idl
@@ -53,7 +53,6 @@ interface dfsblobs
[relative_short] nstring *DFS_path;
[relative_short] nstring *DFS_alt_path;
[relative_short] nstring *netw_address;
- /* As stated in MS DFSC 2.2.4.3.1 this array was guid but now MUST be 16 null bytes*/
} dfs_normal_referral;
typedef struct {
@@ -74,32 +73,20 @@ interface dfsblobs
} dfs_padding;
typedef [flag(NDR_NOALIGN)] struct {
+ uint16 size;
DFS_SERVER_TYPE server_type;
DFS_FLAGS_REFERRAL entry_flags;
uint32 ttl;
[switch_is(entry_flags & DFS_FLAG_REFERRAL_DOMAIN_RESP)] dfs_referral referrals;
- } dfs_referral_v3_remaining;
-
- typedef [flag(NDR_NOALIGN)] struct {
- uint16 size;
- dfs_referral_v3_remaining data;
/* this is either 0 or 16 bytes */
[switch_is(size - 18)] dfs_padding service_site_guid;
} dfs_referral_v3;
- typedef struct {
- uint16 size;
- DFS_SERVER_TYPE server_type;
- DFS_FLAGS_REFERRAL entry_flags;
- uint32 ttl;
- dfs_normal_referral r1;
- } dfs_referral_v4;
-
typedef [nodiscriminant] union {
[case(1)] dfs_referral_v1 v1;
[case(2)] dfs_referral_v2 v2;
[case(3)] dfs_referral_v3 v3;
- [case(4)] dfs_referral_v4 v4;
+ [case(4)] dfs_referral_v3 v4;
[default];
} dfs_referral_version;