diff options
author | Andrew Bartlett <abartlet@samba.org> | 2010-12-15 15:47:01 +1100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2010-12-16 15:54:30 +1100 |
commit | 4a4d8e4b0fae1288cbdf6c8a95a2863c84676106 (patch) | |
tree | d2fa1d3058e65205dd00c0398dd977b1212e6d5d /libcli/security/util_sid.c | |
parent | 94b149f3cb6c82834f83b73928f5b40e388eb6e5 (diff) | |
download | samba-4a4d8e4b0fae1288cbdf6c8a95a2863c84676106.tar.gz samba-4a4d8e4b0fae1288cbdf6c8a95a2863c84676106.tar.bz2 samba-4a4d8e4b0fae1288cbdf6c8a95a2863c84676106.zip |
libcli/security Add sid_blob_parse() to directly parse a binary SID blob
Diffstat (limited to 'libcli/security/util_sid.c')
-rw-r--r-- | libcli/security/util_sid.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/libcli/security/util_sid.c b/libcli/security/util_sid.c index 9ba28ebc75..18b9951960 100644 --- a/libcli/security/util_sid.c +++ b/libcli/security/util_sid.c @@ -233,13 +233,12 @@ void sid_copy(struct dom_sid *dst, const struct dom_sid *src) } /***************************************************************** - Parse a on-the-wire SID to a struct dom_sid. + Parse a on-the-wire SID (in a DATA_BLOB) to a struct dom_sid. *****************************************************************/ -bool sid_parse(const char *inbuf, size_t len, struct dom_sid *sid) +bool sid_blob_parse(DATA_BLOB in, struct dom_sid *sid) { enum ndr_err_code ndr_err; - DATA_BLOB in = data_blob_const(inbuf, len); ndr_err = ndr_pull_struct_blob_all(&in, NULL, sid, (ndr_pull_flags_fn_t)ndr_pull_dom_sid); if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { @@ -249,6 +248,17 @@ bool sid_parse(const char *inbuf, size_t len, struct dom_sid *sid) } /***************************************************************** + Parse a on-the-wire SID to a struct dom_sid. +*****************************************************************/ + +bool sid_parse(const char *inbuf, size_t len, struct dom_sid *sid) +{ + enum ndr_err_code ndr_err; + DATA_BLOB in = data_blob_const(inbuf, len); + return sid_blob_parse(in, sid); +} + +/***************************************************************** See if 2 SIDs are in the same domain this just compares the leading sub-auths *****************************************************************/ |