s3-libnet_join: fully implement libnet_odj_compose_OP_JOINPROV3_PART
authorGünther Deschner <gd@samba.org>
Sat, 13 Feb 2021 17:21:23 +0000 (18:21 +0100)
committerGünther Deschner <gd@samba.org>
Fri, 9 Jul 2021 17:39:07 +0000 (19:39 +0200)
Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>
source3/libnet/libnet_join_offline.c

index bb119ec8fd368fc42b3f4c26795ec7cbe084d549..58d941e823068abfed6c366f929e26bf96af9bdf 100644 (file)
@@ -123,17 +123,27 @@ static WERROR libnet_odj_compose_OP_JOINPROV3_PART(TALLOC_CTX *mem_ctx,
                                                   struct OP_JOINPROV3_PART **p)
 {
        struct OP_JOINPROV3_PART *b;
+       struct dom_sid *sid;
 
        b = talloc_zero(mem_ctx, struct OP_JOINPROV3_PART);
        if (b == NULL) {
                return WERR_NOT_ENOUGH_MEMORY;
        }
 
-       /* TODO */
+       b->Rid = r->out.account_rid;
+       sid = dom_sid_add_rid(mem_ctx, r->out.domain_sid, r->out.account_rid);
+       if (sid == NULL) {
+               return WERR_NOT_ENOUGH_MEMORY;
+       }
+
+       b->lpSid = dom_sid_string(mem_ctx, sid);
+       if (b->lpSid == NULL) {
+               return WERR_NOT_ENOUGH_MEMORY;
+       }
 
        *p = b;
 
-       return WERR_INVALID_LEVEL;
+       return WERR_OK;
 }
 
 static WERROR libnet_odj_compose_OP_PACKAGE_PART(TALLOC_CTX *mem_ctx,