From f55182497ebafcd0e91a265491163114874dbff0 Mon Sep 17 00:00:00 2001 From: Gleb Popov <6yearold@gmail.com> Date: Mon, 14 Oct 2024 11:07:06 +0300 Subject: [PATCH] Add sid_copy() implementation to the old Samba sources --- src/adldap/samba/src_older/dom_sid.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/adldap/samba/src_older/dom_sid.c b/src/adldap/samba/src_older/dom_sid.c index 8884b445..96192773 100644 --- a/src/adldap/samba/src_older/dom_sid.c +++ b/src/adldap/samba/src_older/dom_sid.c @@ -584,3 +584,20 @@ char *dom_sid_str_buf(const struct dom_sid *sid, struct dom_sid_buf *dst) } return dst->buf; } + +// taken from libcli/security/util_sid.c + +void sid_copy(struct dom_sid *dst, const struct dom_sid *src) +{ + int i; + + *dst = (struct dom_sid) { + .sid_rev_num = src->sid_rev_num, + .num_auths = src->num_auths, + }; + + memcpy(&dst->id_auth[0], &src->id_auth[0], sizeof(src->id_auth)); + + for (i = 0; i < src->num_auths; i++) + dst->sub_auths[i] = src->sub_auths[i]; +}