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]; +}