mirror of
https://github.com/samba-team/samba.git
synced 2025-12-05 12:23:50 +03:00
r20064: - fix pushing of DeReplicaObjectIdentifierX, this lets the DsAddEntry()
request work correctly - the error structures all have the same type metze
This commit is contained in:
committed by
Gerald (Jerry) Carter
parent
e8c77b5cba
commit
3322dbd901
@@ -126,7 +126,7 @@ interface drsuapi
|
|||||||
/* Function 0x02 */
|
/* Function 0x02 */
|
||||||
typedef [public,gensize] struct {
|
typedef [public,gensize] struct {
|
||||||
[value(ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->flags)-4)] uint32 __ndr_size;
|
[value(ndr_size_drsuapi_DsReplicaObjectIdentifier(r, ndr->flags)-4)] uint32 __ndr_size;
|
||||||
[value(ndr_size_dom_sid(&r->sid, ndr->flags))] uint32 __ndr_size_sid;
|
[value(ndr_size_dom_sid28(&r->sid, ndr->flags))] uint32 __ndr_size_sid;
|
||||||
GUID guid;
|
GUID guid;
|
||||||
dom_sid28 sid;
|
dom_sid28 sid;
|
||||||
[flag(STR_SIZE4|STR_CHARLEN|STR_CONFORMANT)] string dn;
|
[flag(STR_SIZE4|STR_CHARLEN|STR_CONFORMANT)] string dn;
|
||||||
@@ -454,7 +454,7 @@ interface drsuapi
|
|||||||
/* DN String values */
|
/* DN String values */
|
||||||
typedef [public,gensize] struct {
|
typedef [public,gensize] struct {
|
||||||
[value(ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->flags))] uint32 __ndr_size;
|
[value(ndr_size_drsuapi_DsReplicaObjectIdentifier3(r, ndr->flags))] uint32 __ndr_size;
|
||||||
[value(ndr_size_dom_sid(&r->sid,ndr->flags))] uint32 __ndr_size_sid;
|
[value(ndr_size_dom_sid28(&r->sid,ndr->flags))] uint32 __ndr_size_sid;
|
||||||
GUID guid;
|
GUID guid;
|
||||||
dom_sid28 sid;
|
dom_sid28 sid;
|
||||||
[flag(STR_SIZE4|STR_CHARLEN)] string dn;
|
[flag(STR_SIZE4|STR_CHARLEN)] string dn;
|
||||||
@@ -1113,10 +1113,10 @@ interface drsuapi
|
|||||||
[case(1)] drsuapi_DsAddEntryErrorInfo1 error1;
|
[case(1)] drsuapi_DsAddEntryErrorInfo1 error1;
|
||||||
/* [case(2)] drsuapi_DsAddEntryErrorInfo2 error2;
|
/* [case(2)] drsuapi_DsAddEntryErrorInfo2 error2;
|
||||||
[case(3)] drsuapi_DsAddEntryErrorInfo3 error3;
|
[case(3)] drsuapi_DsAddEntryErrorInfo3 error3;
|
||||||
*/ [case(4)] drsuapi_DsAddEntryErrorInfoX error4;
|
*/ [case(4)] drsuapi_DsAddEntryErrorInfoX errorX;
|
||||||
[case(5)] drsuapi_DsAddEntryErrorInfoX error5;
|
[case(5)] drsuapi_DsAddEntryErrorInfoX errorX;
|
||||||
[case(6)] drsuapi_DsAddEntryErrorInfoX error6;
|
[case(6)] drsuapi_DsAddEntryErrorInfoX errorX;
|
||||||
[case(7)] drsuapi_DsAddEntryErrorInfoX error7;
|
[case(7)] drsuapi_DsAddEntryErrorInfoX errorX;
|
||||||
} drsuapi_DsAddEntryErrorInfo;
|
} drsuapi_DsAddEntryErrorInfo;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|||||||
@@ -299,5 +299,6 @@ void ndr_print_dom_sid2(struct ndr_print *ndr, const char *name, const struct do
|
|||||||
NTSTATUS ndr_push_dom_sid28(struct ndr_push *ndr, int ndr_flags, const struct dom_sid *sid);
|
NTSTATUS ndr_push_dom_sid28(struct ndr_push *ndr, int ndr_flags, const struct dom_sid *sid);
|
||||||
NTSTATUS ndr_pull_dom_sid28(struct ndr_pull *ndr, int ndr_flags, struct dom_sid *sid);
|
NTSTATUS ndr_pull_dom_sid28(struct ndr_pull *ndr, int ndr_flags, struct dom_sid *sid);
|
||||||
void ndr_print_dom_sid28(struct ndr_print *ndr, const char *name, const struct dom_sid *sid);
|
void ndr_print_dom_sid28(struct ndr_print *ndr, const char *name, const struct dom_sid *sid);
|
||||||
|
size_t ndr_size_dom_sid28(const struct dom_sid *sid, int flags);
|
||||||
|
|
||||||
#endif /* __LIBNDR_H__ */
|
#endif /* __LIBNDR_H__ */
|
||||||
|
|||||||
@@ -34,6 +34,21 @@ size_t ndr_size_dom_sid(const struct dom_sid *sid, int flags)
|
|||||||
return 8 + 4*sid->num_auths;
|
return 8 + 4*sid->num_auths;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
size_t ndr_size_dom_sid28(const struct dom_sid *sid, int flags)
|
||||||
|
{
|
||||||
|
struct dom_sid zero_sid;
|
||||||
|
|
||||||
|
if (!sid) return 0;
|
||||||
|
|
||||||
|
ZERO_STRUCT(zero_sid);
|
||||||
|
|
||||||
|
if (memcmp(&zero_sid, sid, sizeof(zero_sid)) == 0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 8 + 4*sid->num_auths;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
return the wire size of a security_ace
|
return the wire size of a security_ace
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user