idmap4: Use sid_check_is_in_unix_users()
authorVolker Lendecke <vl@samba.org>
Tue, 27 Dec 2016 13:08:58 +0000 (13:08 +0000)
committerUri Simchoni <uri@samba.org>
Wed, 28 Dec 2016 19:17:13 +0000 (20:17 +0100)
This avoids the need for the special unix users sid

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Uri Simchoni <uri@samba.org>
source4/winbind/idmap.c
source4/winbind/idmap.h

index bc3b57b585573a5827799bc7b85c6d980a412cb3..bcf4587437407a8dae5776b34c4af98ed88c5445 100644 (file)
@@ -23,6 +23,7 @@
 #include "includes.h"
 #include "auth/auth.h"
 #include "librpc/gen_ndr/ndr_security.h"
+#include "lib/util_unixsids.h"
 #include <ldb.h>
 #include "ldb_wrap.h"
 #include "param/param.h"
@@ -180,12 +181,6 @@ struct idmap_context *idmap_init(TALLOC_CTX *mem_ctx,
                goto fail;
        }
 
-       idmap_ctx->unix_users_sid = dom_sid_parse_talloc(
-               idmap_ctx, "S-1-22-1");
-       if (idmap_ctx->unix_users_sid == NULL) {
-               goto fail;
-       }
-       
        idmap_ctx->samdb = samdb_connect(idmap_ctx, ev_ctx, lp_ctx, system_session(lp_ctx), 0);
        if (idmap_ctx->samdb == NULL) {
                DEBUG(0, ("Failed to load sam.ldb in idmap_init\n"));
@@ -412,7 +407,7 @@ static NTSTATUS idmap_sid_to_xid(struct idmap_context *idmap_ctx,
        TALLOC_CTX *tmp_ctx = talloc_new(mem_ctx);
        const char *sam_attrs[] = {"uidNumber", "gidNumber", "samAccountType", NULL};
 
-       if (dom_sid_in_domain(idmap_ctx->unix_users_sid, sid)) {
+       if (sid_check_is_in_unix_users(sid)) {
                uint32_t rid;
                DEBUG(6, ("This is a local unix uid, just calculate that.\n"));
                status = dom_sid_split_rid(tmp_ctx, sid, NULL, &rid);
index 676955c2b24ec871cdae5d8f1a7ea47a23ab9610..bc753b227ab69be2ac422ae3c7d38b7a6b61eec4 100644 (file)
@@ -28,7 +28,6 @@ struct idmap_context {
        struct loadparm_context *lp_ctx;
        struct ldb_context *ldb_ctx;
        struct dom_sid *unix_groups_sid;
-       struct dom_sid *unix_users_sid;
        struct ldb_context *samdb;
 };