mirror of
https://github.com/samba-team/samba.git
synced 2024-12-28 07:21:54 +03:00
Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into 4-0-local
This commit is contained in:
commit
532ccbbe7a
@ -142,7 +142,7 @@ static void dreplsrv_out_drsuapi_bind_recv(struct rpc_request *req)
|
|||||||
info24 = &st->bind_r.out.bind_info->info.info24;
|
info24 = &st->bind_r.out.bind_info->info.info24;
|
||||||
st->drsuapi->remote_info28.supported_extensions = info24->supported_extensions;
|
st->drsuapi->remote_info28.supported_extensions = info24->supported_extensions;
|
||||||
st->drsuapi->remote_info28.site_guid = info24->site_guid;
|
st->drsuapi->remote_info28.site_guid = info24->site_guid;
|
||||||
st->drsuapi->remote_info28.u1 = info24->u1;
|
st->drsuapi->remote_info28.pid = info24->pid;
|
||||||
st->drsuapi->remote_info28.repl_epoch = 0;
|
st->drsuapi->remote_info28.repl_epoch = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -104,7 +104,7 @@ static WERROR dreplsrv_connect_samdb(struct dreplsrv_service *service, struct lo
|
|||||||
/* TODO: fill in site_guid */
|
/* TODO: fill in site_guid */
|
||||||
bind_info28->site_guid = GUID_zero();
|
bind_info28->site_guid = GUID_zero();
|
||||||
/* TODO: find out how this is really triggered! */
|
/* TODO: find out how this is really triggered! */
|
||||||
bind_info28->u1 = 0;
|
bind_info28->pid = 0;
|
||||||
bind_info28->repl_epoch = 0;
|
bind_info28->repl_epoch = 0;
|
||||||
|
|
||||||
return WERR_OK;
|
return WERR_OK;
|
||||||
|
@ -1604,9 +1604,9 @@ static void becomeDC_drsuapi_bind_send(struct libnet_BecomeDC_state *s,
|
|||||||
bind_info28->site_guid = s->dest_dsa.site_guid;
|
bind_info28->site_guid = s->dest_dsa.site_guid;
|
||||||
if (s->domain.behavior_version == 2) {
|
if (s->domain.behavior_version == 2) {
|
||||||
/* TODO: find out how this is really triggered! */
|
/* TODO: find out how this is really triggered! */
|
||||||
bind_info28->u1 = 528;
|
bind_info28->pid = 528;
|
||||||
} else {
|
} else {
|
||||||
bind_info28->u1 = 516;
|
bind_info28->pid = 516;
|
||||||
}
|
}
|
||||||
bind_info28->repl_epoch = 0;
|
bind_info28->repl_epoch = 0;
|
||||||
|
|
||||||
@ -1636,7 +1636,7 @@ static WERROR becomeDC_drsuapi_bind_recv(struct libnet_BecomeDC_state *s,
|
|||||||
info24 = &drsuapi->bind_r.out.bind_info->info.info24;
|
info24 = &drsuapi->bind_r.out.bind_info->info.info24;
|
||||||
drsuapi->remote_info28.supported_extensions = info24->supported_extensions;
|
drsuapi->remote_info28.supported_extensions = info24->supported_extensions;
|
||||||
drsuapi->remote_info28.site_guid = info24->site_guid;
|
drsuapi->remote_info28.site_guid = info24->site_guid;
|
||||||
drsuapi->remote_info28.u1 = info24->u1;
|
drsuapi->remote_info28.pid = info24->pid;
|
||||||
drsuapi->remote_info28.repl_epoch = 0;
|
drsuapi->remote_info28.repl_epoch = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -574,7 +574,7 @@ static void unbecomeDC_drsuapi_bind_send(struct libnet_UnbecomeDC_state *s)
|
|||||||
bind_info28 = &s->drsuapi.local_info28;
|
bind_info28 = &s->drsuapi.local_info28;
|
||||||
bind_info28->supported_extensions = 0;
|
bind_info28->supported_extensions = 0;
|
||||||
bind_info28->site_guid = GUID_zero();
|
bind_info28->site_guid = GUID_zero();
|
||||||
bind_info28->u1 = 508;
|
bind_info28->pid = 508;
|
||||||
bind_info28->repl_epoch = 0;
|
bind_info28->repl_epoch = 0;
|
||||||
|
|
||||||
s->drsuapi.bind_info_ctr.length = 28;
|
s->drsuapi.bind_info_ctr.length = 28;
|
||||||
@ -612,7 +612,7 @@ static void unbecomeDC_drsuapi_bind_recv(struct rpc_request *req)
|
|||||||
info24 = &s->drsuapi.bind_r.out.bind_info->info.info24;
|
info24 = &s->drsuapi.bind_r.out.bind_info->info.info24;
|
||||||
s->drsuapi.remote_info28.supported_extensions = info24->supported_extensions;
|
s->drsuapi.remote_info28.supported_extensions = info24->supported_extensions;
|
||||||
s->drsuapi.remote_info28.site_guid = info24->site_guid;
|
s->drsuapi.remote_info28.site_guid = info24->site_guid;
|
||||||
s->drsuapi.remote_info28.u1 = info24->u1;
|
s->drsuapi.remote_info28.pid = info24->pid;
|
||||||
s->drsuapi.remote_info28.repl_epoch = 0;
|
s->drsuapi.remote_info28.repl_epoch = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -58,21 +58,36 @@ interface drsuapi
|
|||||||
DRSUAPI_SUPPORTED_EXTENSION_80000000 = 0x80000000
|
DRSUAPI_SUPPORTED_EXTENSION_80000000 = 0x80000000
|
||||||
} drsuapi_SupportedExtensions;
|
} drsuapi_SupportedExtensions;
|
||||||
|
|
||||||
|
typedef [bitmap32bit] bitmap {
|
||||||
|
DRSUAPI_SUPPORTED_EXTENSION_ADAM = 0x00000001,
|
||||||
|
DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2 = 0x00000002
|
||||||
|
} drsuapi_SupportedExtensionsExt;
|
||||||
|
|
||||||
/* this is used by w2k */
|
/* this is used by w2k */
|
||||||
typedef struct {
|
typedef struct {
|
||||||
drsuapi_SupportedExtensions supported_extensions;
|
drsuapi_SupportedExtensions supported_extensions;
|
||||||
GUID site_guid;
|
GUID site_guid;
|
||||||
uint32 u1;
|
uint32 pid;
|
||||||
} drsuapi_DsBindInfo24;
|
} drsuapi_DsBindInfo24;
|
||||||
|
|
||||||
/* this is used by w2k3 */
|
/* this is used by w2k3 */
|
||||||
typedef struct {
|
typedef struct {
|
||||||
drsuapi_SupportedExtensions supported_extensions;
|
drsuapi_SupportedExtensions supported_extensions;
|
||||||
GUID site_guid;
|
GUID site_guid;
|
||||||
uint32 u1;
|
uint32 pid;
|
||||||
uint32 repl_epoch;
|
uint32 repl_epoch;
|
||||||
} drsuapi_DsBindInfo28;
|
} drsuapi_DsBindInfo28;
|
||||||
|
|
||||||
|
/* this is used by w2k8 */
|
||||||
|
typedef struct {
|
||||||
|
drsuapi_SupportedExtensions supported_extensions;
|
||||||
|
GUID site_guid;
|
||||||
|
uint32 pid;
|
||||||
|
uint32 repl_epoch;
|
||||||
|
drsuapi_SupportedExtensionsExt supported_extensions_ext;
|
||||||
|
GUID config_dn_guid;
|
||||||
|
} drsuapi_DsBindInfo48;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
[flag(NDR_REMAINING)] DATA_BLOB info;
|
[flag(NDR_REMAINING)] DATA_BLOB info;
|
||||||
} drsuapi_DsBindInfoFallBack;
|
} drsuapi_DsBindInfoFallBack;
|
||||||
@ -80,6 +95,7 @@ interface drsuapi
|
|||||||
typedef [nodiscriminant] union {
|
typedef [nodiscriminant] union {
|
||||||
[case(24)][subcontext(4)] drsuapi_DsBindInfo24 info24;
|
[case(24)][subcontext(4)] drsuapi_DsBindInfo24 info24;
|
||||||
[case(28)][subcontext(4)] drsuapi_DsBindInfo28 info28;
|
[case(28)][subcontext(4)] drsuapi_DsBindInfo28 info28;
|
||||||
|
[case(48)][subcontext(4)] drsuapi_DsBindInfo48 info48;
|
||||||
[default][subcontext(4)] drsuapi_DsBindInfoFallBack FallBack;
|
[default][subcontext(4)] drsuapi_DsBindInfoFallBack FallBack;
|
||||||
} drsuapi_DsBindInfo;
|
} drsuapi_DsBindInfo;
|
||||||
|
|
||||||
@ -1409,7 +1425,7 @@ interface drsuapi
|
|||||||
GUID bind_guid;
|
GUID bind_guid;
|
||||||
NTTIME_1sec bind_time;
|
NTTIME_1sec bind_time;
|
||||||
[flag(NDR_BIG_ENDIAN)] ipv4address client_ip_address;
|
[flag(NDR_BIG_ENDIAN)] ipv4address client_ip_address;
|
||||||
uint32 u5; /* this is the same value the client used as u1 in the DsBindInfoX struct */
|
uint32 u5; /* this is the same value the client used as pid in the DsBindInfoX struct */
|
||||||
} drsuapi_DsReplicaConnection04;
|
} drsuapi_DsReplicaConnection04;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -1127,7 +1127,7 @@ sub new {
|
|||||||
[#Rule 2
|
[#Rule 2
|
||||||
'exp', 1,
|
'exp', 1,
|
||||||
sub
|
sub
|
||||||
#line 22 "pidl/expr.yp"
|
#line 22 "./pidl/expr.yp"
|
||||||
{ "\"$_[1]\"" }
|
{ "\"$_[1]\"" }
|
||||||
],
|
],
|
||||||
[#Rule 3
|
[#Rule 3
|
||||||
@ -1139,199 +1139,199 @@ sub
|
|||||||
[#Rule 5
|
[#Rule 5
|
||||||
'exp', 2,
|
'exp', 2,
|
||||||
sub
|
sub
|
||||||
#line 25 "pidl/expr.yp"
|
#line 25 "./pidl/expr.yp"
|
||||||
{ "~$_[2]" }
|
{ "~$_[2]" }
|
||||||
],
|
],
|
||||||
[#Rule 6
|
[#Rule 6
|
||||||
'exp', 3,
|
'exp', 3,
|
||||||
sub
|
sub
|
||||||
#line 26 "pidl/expr.yp"
|
#line 26 "./pidl/expr.yp"
|
||||||
{ "$_[1] + $_[3]" }
|
{ "$_[1] + $_[3]" }
|
||||||
],
|
],
|
||||||
[#Rule 7
|
[#Rule 7
|
||||||
'exp', 3,
|
'exp', 3,
|
||||||
sub
|
sub
|
||||||
#line 27 "pidl/expr.yp"
|
#line 27 "./pidl/expr.yp"
|
||||||
{ "$_[1] - $_[3]" }
|
{ "$_[1] - $_[3]" }
|
||||||
],
|
],
|
||||||
[#Rule 8
|
[#Rule 8
|
||||||
'exp', 3,
|
'exp', 3,
|
||||||
sub
|
sub
|
||||||
#line 28 "pidl/expr.yp"
|
#line 28 "./pidl/expr.yp"
|
||||||
{ "$_[1] * $_[3]" }
|
{ "$_[1] * $_[3]" }
|
||||||
],
|
],
|
||||||
[#Rule 9
|
[#Rule 9
|
||||||
'exp', 3,
|
'exp', 3,
|
||||||
sub
|
sub
|
||||||
#line 29 "pidl/expr.yp"
|
#line 29 "./pidl/expr.yp"
|
||||||
{ "$_[1] % $_[3]" }
|
{ "$_[1] % $_[3]" }
|
||||||
],
|
],
|
||||||
[#Rule 10
|
[#Rule 10
|
||||||
'exp', 3,
|
'exp', 3,
|
||||||
sub
|
sub
|
||||||
#line 30 "pidl/expr.yp"
|
#line 30 "./pidl/expr.yp"
|
||||||
{ "$_[1] < $_[3]" }
|
{ "$_[1] < $_[3]" }
|
||||||
],
|
],
|
||||||
[#Rule 11
|
[#Rule 11
|
||||||
'exp', 3,
|
'exp', 3,
|
||||||
sub
|
sub
|
||||||
#line 31 "pidl/expr.yp"
|
#line 31 "./pidl/expr.yp"
|
||||||
{ "$_[1] > $_[3]" }
|
{ "$_[1] > $_[3]" }
|
||||||
],
|
],
|
||||||
[#Rule 12
|
[#Rule 12
|
||||||
'exp', 3,
|
'exp', 3,
|
||||||
sub
|
sub
|
||||||
#line 32 "pidl/expr.yp"
|
#line 32 "./pidl/expr.yp"
|
||||||
{ "$_[1] | $_[3]" }
|
{ "$_[1] | $_[3]" }
|
||||||
],
|
],
|
||||||
[#Rule 13
|
[#Rule 13
|
||||||
'exp', 3,
|
'exp', 3,
|
||||||
sub
|
sub
|
||||||
#line 33 "pidl/expr.yp"
|
#line 33 "./pidl/expr.yp"
|
||||||
{ "$_[1] == $_[3]" }
|
{ "$_[1] == $_[3]" }
|
||||||
],
|
],
|
||||||
[#Rule 14
|
[#Rule 14
|
||||||
'exp', 3,
|
'exp', 3,
|
||||||
sub
|
sub
|
||||||
#line 34 "pidl/expr.yp"
|
#line 34 "./pidl/expr.yp"
|
||||||
{ "$_[1] <= $_[3]" }
|
{ "$_[1] <= $_[3]" }
|
||||||
],
|
],
|
||||||
[#Rule 15
|
[#Rule 15
|
||||||
'exp', 3,
|
'exp', 3,
|
||||||
sub
|
sub
|
||||||
#line 35 "pidl/expr.yp"
|
#line 35 "./pidl/expr.yp"
|
||||||
{ "$_[1] => $_[3]" }
|
{ "$_[1] => $_[3]" }
|
||||||
],
|
],
|
||||||
[#Rule 16
|
[#Rule 16
|
||||||
'exp', 3,
|
'exp', 3,
|
||||||
sub
|
sub
|
||||||
#line 36 "pidl/expr.yp"
|
#line 36 "./pidl/expr.yp"
|
||||||
{ "$_[1] << $_[3]" }
|
{ "$_[1] << $_[3]" }
|
||||||
],
|
],
|
||||||
[#Rule 17
|
[#Rule 17
|
||||||
'exp', 3,
|
'exp', 3,
|
||||||
sub
|
sub
|
||||||
#line 37 "pidl/expr.yp"
|
#line 37 "./pidl/expr.yp"
|
||||||
{ "$_[1] >> $_[3]" }
|
{ "$_[1] >> $_[3]" }
|
||||||
],
|
],
|
||||||
[#Rule 18
|
[#Rule 18
|
||||||
'exp', 3,
|
'exp', 3,
|
||||||
sub
|
sub
|
||||||
#line 38 "pidl/expr.yp"
|
#line 38 "./pidl/expr.yp"
|
||||||
{ "$_[1] != $_[3]" }
|
{ "$_[1] != $_[3]" }
|
||||||
],
|
],
|
||||||
[#Rule 19
|
[#Rule 19
|
||||||
'exp', 3,
|
'exp', 3,
|
||||||
sub
|
sub
|
||||||
#line 39 "pidl/expr.yp"
|
#line 39 "./pidl/expr.yp"
|
||||||
{ "$_[1] || $_[3]" }
|
{ "$_[1] || $_[3]" }
|
||||||
],
|
],
|
||||||
[#Rule 20
|
[#Rule 20
|
||||||
'exp', 3,
|
'exp', 3,
|
||||||
sub
|
sub
|
||||||
#line 40 "pidl/expr.yp"
|
#line 40 "./pidl/expr.yp"
|
||||||
{ "$_[1] && $_[3]" }
|
{ "$_[1] && $_[3]" }
|
||||||
],
|
],
|
||||||
[#Rule 21
|
[#Rule 21
|
||||||
'exp', 3,
|
'exp', 3,
|
||||||
sub
|
sub
|
||||||
#line 41 "pidl/expr.yp"
|
#line 41 "./pidl/expr.yp"
|
||||||
{ "$_[1] & $_[3]" }
|
{ "$_[1] & $_[3]" }
|
||||||
],
|
],
|
||||||
[#Rule 22
|
[#Rule 22
|
||||||
'exp', 5,
|
'exp', 5,
|
||||||
sub
|
sub
|
||||||
#line 42 "pidl/expr.yp"
|
#line 42 "./pidl/expr.yp"
|
||||||
{ "$_[1]?$_[3]:$_[5]" }
|
{ "$_[1]?$_[3]:$_[5]" }
|
||||||
],
|
],
|
||||||
[#Rule 23
|
[#Rule 23
|
||||||
'exp', 2,
|
'exp', 2,
|
||||||
sub
|
sub
|
||||||
#line 43 "pidl/expr.yp"
|
#line 43 "./pidl/expr.yp"
|
||||||
{ "~$_[1]" }
|
{ "~$_[1]" }
|
||||||
],
|
],
|
||||||
[#Rule 24
|
[#Rule 24
|
||||||
'exp', 2,
|
'exp', 2,
|
||||||
sub
|
sub
|
||||||
#line 44 "pidl/expr.yp"
|
#line 44 "./pidl/expr.yp"
|
||||||
{ "not $_[1]" }
|
{ "not $_[1]" }
|
||||||
],
|
],
|
||||||
[#Rule 25
|
[#Rule 25
|
||||||
'exp', 3,
|
'exp', 3,
|
||||||
sub
|
sub
|
||||||
#line 45 "pidl/expr.yp"
|
#line 45 "./pidl/expr.yp"
|
||||||
{ "$_[1] / $_[3]" }
|
{ "$_[1] / $_[3]" }
|
||||||
],
|
],
|
||||||
[#Rule 26
|
[#Rule 26
|
||||||
'exp', 2,
|
'exp', 2,
|
||||||
sub
|
sub
|
||||||
#line 46 "pidl/expr.yp"
|
#line 46 "./pidl/expr.yp"
|
||||||
{ "-$_[2]" }
|
{ "-$_[2]" }
|
||||||
],
|
],
|
||||||
[#Rule 27
|
[#Rule 27
|
||||||
'exp', 2,
|
'exp', 2,
|
||||||
sub
|
sub
|
||||||
#line 47 "pidl/expr.yp"
|
#line 47 "./pidl/expr.yp"
|
||||||
{ "&$_[2]" }
|
{ "&$_[2]" }
|
||||||
],
|
],
|
||||||
[#Rule 28
|
[#Rule 28
|
||||||
'exp', 3,
|
'exp', 3,
|
||||||
sub
|
sub
|
||||||
#line 48 "pidl/expr.yp"
|
#line 48 "./pidl/expr.yp"
|
||||||
{ "$_[1]^$_[3]" }
|
{ "$_[1]^$_[3]" }
|
||||||
],
|
],
|
||||||
[#Rule 29
|
[#Rule 29
|
||||||
'exp', 3,
|
'exp', 3,
|
||||||
sub
|
sub
|
||||||
#line 49 "pidl/expr.yp"
|
#line 49 "./pidl/expr.yp"
|
||||||
{ "($_[2])" }
|
{ "($_[2])" }
|
||||||
],
|
],
|
||||||
[#Rule 30
|
[#Rule 30
|
||||||
'possible_pointer', 1,
|
'possible_pointer', 1,
|
||||||
sub
|
sub
|
||||||
#line 53 "pidl/expr.yp"
|
#line 53 "./pidl/expr.yp"
|
||||||
{ $_[0]->_Lookup($_[1]) }
|
{ $_[0]->_Lookup($_[1]) }
|
||||||
],
|
],
|
||||||
[#Rule 31
|
[#Rule 31
|
||||||
'possible_pointer', 2,
|
'possible_pointer', 2,
|
||||||
sub
|
sub
|
||||||
#line 54 "pidl/expr.yp"
|
#line 54 "./pidl/expr.yp"
|
||||||
{ $_[0]->_Dereference($_[2]); "*$_[2]" }
|
{ $_[0]->_Dereference($_[2]); "*$_[2]" }
|
||||||
],
|
],
|
||||||
[#Rule 32
|
[#Rule 32
|
||||||
'var', 1,
|
'var', 1,
|
||||||
sub
|
sub
|
||||||
#line 57 "pidl/expr.yp"
|
#line 57 "./pidl/expr.yp"
|
||||||
{ $_[0]->_Use($_[1]) }
|
{ $_[0]->_Use($_[1]) }
|
||||||
],
|
],
|
||||||
[#Rule 33
|
[#Rule 33
|
||||||
'var', 3,
|
'var', 3,
|
||||||
sub
|
sub
|
||||||
#line 58 "pidl/expr.yp"
|
#line 58 "./pidl/expr.yp"
|
||||||
{ $_[0]->_Use("$_[1].$_[3]") }
|
{ $_[0]->_Use("$_[1].$_[3]") }
|
||||||
],
|
],
|
||||||
[#Rule 34
|
[#Rule 34
|
||||||
'var', 3,
|
'var', 3,
|
||||||
sub
|
sub
|
||||||
#line 59 "pidl/expr.yp"
|
#line 59 "./pidl/expr.yp"
|
||||||
{ "($_[2])" }
|
{ "($_[2])" }
|
||||||
],
|
],
|
||||||
[#Rule 35
|
[#Rule 35
|
||||||
'var', 3,
|
'var', 3,
|
||||||
sub
|
sub
|
||||||
#line 60 "pidl/expr.yp"
|
#line 60 "./pidl/expr.yp"
|
||||||
{ $_[0]->_Use("*$_[1]"); $_[1]."->".$_[3] }
|
{ $_[0]->_Use("*$_[1]"); $_[1]."->".$_[3] }
|
||||||
],
|
],
|
||||||
[#Rule 36
|
[#Rule 36
|
||||||
'func', 4,
|
'func', 4,
|
||||||
sub
|
sub
|
||||||
#line 64 "pidl/expr.yp"
|
#line 64 "./pidl/expr.yp"
|
||||||
{ "$_[1]($_[3])" }
|
{ "$_[1]($_[3])" }
|
||||||
],
|
],
|
||||||
[#Rule 37
|
[#Rule 37
|
||||||
'opt_args', 0,
|
'opt_args', 0,
|
||||||
sub
|
sub
|
||||||
#line 65 "pidl/expr.yp"
|
#line 65 "./pidl/expr.yp"
|
||||||
{ "" }
|
{ "" }
|
||||||
],
|
],
|
||||||
[#Rule 38
|
[#Rule 38
|
||||||
@ -1349,7 +1349,7 @@ sub
|
|||||||
[#Rule 42
|
[#Rule 42
|
||||||
'args', 3,
|
'args', 3,
|
||||||
sub
|
sub
|
||||||
#line 68 "pidl/expr.yp"
|
#line 68 "./pidl/expr.yp"
|
||||||
{ "$_[1], $_[3]" }
|
{ "$_[1], $_[3]" }
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
@ -1357,7 +1357,7 @@ sub
|
|||||||
bless($self,$class);
|
bless($self,$class);
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 71 "pidl/expr.yp"
|
#line 71 "./pidl/expr.yp"
|
||||||
|
|
||||||
|
|
||||||
package Parse::Pidl::Expr;
|
package Parse::Pidl::Expr;
|
||||||
|
@ -153,7 +153,6 @@ sub ParseFunction($$$)
|
|||||||
$self->pidl("");
|
$self->pidl("");
|
||||||
$self->pidl("status = cli_do_rpc_ndr(cli,");
|
$self->pidl("status = cli_do_rpc_ndr(cli,");
|
||||||
$self->pidl("\t\t\tmem_ctx,");
|
$self->pidl("\t\t\tmem_ctx,");
|
||||||
$self->pidl("\t\t\tPI_$uif,");
|
|
||||||
$self->pidl("\t\t\t&ndr_table_$if,");
|
$self->pidl("\t\t\t&ndr_table_$if,");
|
||||||
$self->pidl("\t\t\t$ufn,");
|
$self->pidl("\t\t\t$ufn,");
|
||||||
$self->pidl("\t\t\t&r);");
|
$self->pidl("\t\t\t&r);");
|
||||||
|
@ -770,7 +770,7 @@ sub ParseElementPrint($$$$)
|
|||||||
} else {
|
} else {
|
||||||
my $counter = "cntr_$e->{NAME}_$l->{LEVEL_INDEX}";
|
my $counter = "cntr_$e->{NAME}_$l->{LEVEL_INDEX}";
|
||||||
|
|
||||||
$self->pidl("ndr->print(ndr, \"\%s: ARRAY(\%d)\", \"$e->{NAME}\", $length);");
|
$self->pidl("ndr->print(ndr, \"\%s: ARRAY(\%d)\", \"$e->{NAME}\", (int)$length);");
|
||||||
$self->pidl("ndr->depth++;");
|
$self->pidl("ndr->depth++;");
|
||||||
$self->pidl("for ($counter=0;$counter<$length;$counter++) {");
|
$self->pidl("for ($counter=0;$counter<$length;$counter++) {");
|
||||||
$self->indent;
|
$self->indent;
|
||||||
|
@ -45,7 +45,7 @@ static WERROR dcesrv_drsuapi_DsBind(struct dcesrv_call_state *dce_call, TALLOC_C
|
|||||||
struct ldb_result *ntds_res;
|
struct ldb_result *ntds_res;
|
||||||
struct ldb_dn *ntds_dn;
|
struct ldb_dn *ntds_dn;
|
||||||
static const char *ntds_attrs[] = { "ms-DS-ReplicationEpoch", NULL };
|
static const char *ntds_attrs[] = { "ms-DS-ReplicationEpoch", NULL };
|
||||||
uint32_t u1;
|
uint32_t pid;
|
||||||
uint32_t repl_epoch;
|
uint32_t repl_epoch;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
@ -98,9 +98,12 @@ static WERROR dcesrv_drsuapi_DsBind(struct dcesrv_call_state *dce_call, TALLOC_C
|
|||||||
repl_epoch = samdb_result_uint(ntds_res->msgs[0], "ms-DS-ReplicationEpoch", 0);
|
repl_epoch = samdb_result_uint(ntds_res->msgs[0], "ms-DS-ReplicationEpoch", 0);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* TODO: find out what this is...
|
* The "process identifier" of the client.
|
||||||
|
* According to the WSPP docs, sectin 5.35, this is
|
||||||
|
* for informational and debugging purposes only.
|
||||||
|
* The assignment is implementation specific.
|
||||||
*/
|
*/
|
||||||
u1 = 0;
|
pid = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* store the clients bind_guid
|
* store the clients bind_guid
|
||||||
@ -119,7 +122,7 @@ static WERROR dcesrv_drsuapi_DsBind(struct dcesrv_call_state *dce_call, TALLOC_C
|
|||||||
info24 = &r->in.bind_info->info.info24;
|
info24 = &r->in.bind_info->info.info24;
|
||||||
b_state->remote_info28.supported_extensions = info24->supported_extensions;
|
b_state->remote_info28.supported_extensions = info24->supported_extensions;
|
||||||
b_state->remote_info28.site_guid = info24->site_guid;
|
b_state->remote_info28.site_guid = info24->site_guid;
|
||||||
b_state->remote_info28.u1 = info24->u1;
|
b_state->remote_info28.pid = info24->pid;
|
||||||
b_state->remote_info28.repl_epoch = 0;
|
b_state->remote_info28.repl_epoch = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -171,8 +174,8 @@ static WERROR dcesrv_drsuapi_DsBind(struct dcesrv_call_state *dce_call, TALLOC_C
|
|||||||
b_state->local_info28.supported_extensions |= DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS;
|
b_state->local_info28.supported_extensions |= DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS;
|
||||||
#endif
|
#endif
|
||||||
b_state->local_info28.site_guid = site_guid;
|
b_state->local_info28.site_guid = site_guid;
|
||||||
b_state->local_info28.u1 = u1;
|
b_state->local_info28.pid = pid;
|
||||||
b_state->local_info28.repl_epoch = repl_epoch;
|
b_state->local_info28.repl_epoch = repl_epoch;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* allocate the return bind_info
|
* allocate the return bind_info
|
||||||
|
@ -104,7 +104,7 @@ static struct DsSyncTest *test_create_context(struct torture_context *tctx)
|
|||||||
our_bind_info28->supported_extensions = 0xFFFFFFFF;
|
our_bind_info28->supported_extensions = 0xFFFFFFFF;
|
||||||
our_bind_info28->supported_extensions |= DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3;
|
our_bind_info28->supported_extensions |= DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3;
|
||||||
our_bind_info28->site_guid = GUID_zero();
|
our_bind_info28->site_guid = GUID_zero();
|
||||||
our_bind_info28->u1 = 0;
|
our_bind_info28->pid = 0;
|
||||||
our_bind_info28->repl_epoch = 1;
|
our_bind_info28->repl_epoch = 1;
|
||||||
|
|
||||||
our_bind_info_ctr = &ctx->admin.drsuapi.our_bind_info_ctr;
|
our_bind_info_ctr = &ctx->admin.drsuapi.our_bind_info_ctr;
|
||||||
@ -153,7 +153,7 @@ static struct DsSyncTest *test_create_context(struct torture_context *tctx)
|
|||||||
our_bind_info28->supported_extensions |= DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS;
|
our_bind_info28->supported_extensions |= DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS;
|
||||||
}
|
}
|
||||||
our_bind_info28->site_guid = GUID_zero();
|
our_bind_info28->site_guid = GUID_zero();
|
||||||
our_bind_info28->u1 = 508;
|
our_bind_info28->pid = 508;
|
||||||
our_bind_info28->repl_epoch = 0;
|
our_bind_info28->repl_epoch = 0;
|
||||||
|
|
||||||
our_bind_info_ctr = &ctx->new_dc.drsuapi.our_bind_info_ctr;
|
our_bind_info_ctr = &ctx->new_dc.drsuapi.our_bind_info_ctr;
|
||||||
@ -210,7 +210,7 @@ static bool _test_DsBind(struct torture_context *tctx,
|
|||||||
info24 = &b->req.out.bind_info->info.info24;
|
info24 = &b->req.out.bind_info->info.info24;
|
||||||
b->peer_bind_info28.supported_extensions= info24->supported_extensions;
|
b->peer_bind_info28.supported_extensions= info24->supported_extensions;
|
||||||
b->peer_bind_info28.site_guid = info24->site_guid;
|
b->peer_bind_info28.site_guid = info24->site_guid;
|
||||||
b->peer_bind_info28.u1 = info24->u1;
|
b->peer_bind_info28.pid = info24->pid;
|
||||||
b->peer_bind_info28.repl_epoch = 0;
|
b->peer_bind_info28.repl_epoch = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user