fixing group database issues
authorLuke Leighton <lkcl@samba.org>
Wed, 25 Nov 1998 23:11:25 +0000 (23:11 +0000)
committerLuke Leighton <lkcl@samba.org>
Wed, 25 Nov 1998 23:11:25 +0000 (23:11 +0000)
source/groupdb/groupunix.c
source/include/proto.h
source/include/smb.h
source/passdb/passdb.c
source/passdb/smbpass.c
source/rpc_server/srv_netlog.c
source/rpc_server/srv_sid.c
source/smbd/groupname.c

index 89406fe1391907a8534cb4688bec2448b7d1edf8..56d9584155ebda7738163c3d19a44777ce5584bb 100644 (file)
@@ -203,11 +203,16 @@ static DOMAIN_GRP *getgrpunixpwent(void *vp, DOMAIN_GRP_MEMBER **mem, int *num_m
 
                if (map_group_gid(unix_grp->gr_gid, &sid, gp_buf.name, NULL))
                {
+                       fstring sid_str;
                        /*
                         * find the NT name represented by this UNIX gid.
                         * then, only accept NT groups that are in our domain
                         */
 
+                       sid_to_string(sid_str, &sid);
+                       DEBUG(10,("getgrpunixpwent: entry %s mapped to name %s, SID %s\n",
+                                  unix_grp->gr_name, gp_buf.name, sid_str));
+
                        sid_split_rid(&sid, &gp_buf.rid);
                        if (sid_equal(&sid, &global_sam_sid))
                        {
@@ -219,7 +224,7 @@ static DOMAIN_GRP *getgrpunixpwent(void *vp, DOMAIN_GRP_MEMBER **mem, int *num_m
                                          gp_buf.name));
                        }
                }
-               else
+               else if (!is_alias)
                {
                        /*
                         * assume that the UNIX group is an NT group with
index 100fdb7c948d370bd99f5948c615cb22fa64e46b..a70c51f1675d63038dda7125a3297629925f3cee 100644 (file)
@@ -1277,21 +1277,21 @@ BOOL pass_check(char *user,char *password, int pwlen, struct passwd *pwd,
 BOOL initialise_password_db(void);
 struct smb_passwd *iterate_getsmbpwrid(uint32 user_rid);
 struct smb_passwd *iterate_getsmbpwuid(uid_t smb_userid);
-struct smb_passwd *iterate_getsmbpwnam(char *name);
+struct smb_passwd *iterate_getsmbpwnam(const char *name);
 void *startsmbpwent(BOOL update);
 void endsmbpwent(void *vp);
 struct smb_passwd *getsmbpwent(void *vp);
 BOOL add_smbpwd_entry(struct smb_passwd *newpwd);
 BOOL mod_smbpwd_entry(struct smb_passwd* pwd, BOOL override);
-struct smb_passwd *getsmbpwnam(char *name);
+struct smb_passwd *getsmbpwnam(const char *name);
 struct smb_passwd *getsmbpwrid(uint32 user_rid);
 struct smb_passwd *getsmbpwuid(uid_t smb_userid);
-struct sam_passwd *iterate_getsam21pwnam(char *name);
+struct sam_passwd *iterate_getsam21pwnam(const char *name);
 struct sam_passwd *iterate_getsam21pwrid(uint32 rid);
 struct sam_passwd *iterate_getsam21pwuid(uid_t uid);
 struct sam_disp_info *getsamdisprid(uint32 rid);
 struct sam_passwd *getsam21pwent(void *vp);
-struct sam_passwd *getsam21pwnam(char *name);
+struct sam_passwd *getsam21pwnam(const char *name);
 struct sam_passwd *getsam21pwrid(uint32 rid);
 void pwdb_init_smb(struct smb_passwd *user);
 void pwdb_init_sam(struct sam_passwd *user);
@@ -1307,8 +1307,8 @@ void pwdb_set_kickoff_time(char *p, int max_len, time_t t);
 void pwdb_set_can_change_time(char *p, int max_len, time_t t);
 void pwdb_set_must_change_time(char *p, int max_len, time_t t);
 void pwdb_set_last_set_time(char *p, int max_len, time_t t);
-void pwdb_sethexpwd(char *p, char *pwd, uint16 acct_ctrl);
-BOOL pwdb_gethexpwd(char *p, char *pwd);
+void pwdb_sethexpwd(char *p, const char *pwd, uint16 acct_ctrl);
+BOOL pwdb_gethexpwd(const char *p, char *pwd);
 uid_t pwdb_user_rid_to_uid(uint32 user_rid);
 uint32 pwdb_uid_to_user_rid(uid_t uid);
 uint32 pwdb_gid_to_group_rid(gid_t gid);
index 8ffd55d10ab1e2db70d50cb8477da47e9e00d6b5..50d8c080a3e565ea25625abd69d800700617a246 100644 (file)
@@ -756,7 +756,7 @@ struct passdb_ops {
   /*
    * smb password database query functions.
    */
-  struct smb_passwd *(*getsmbpwnam)(char *);
+  struct smb_passwd *(*getsmbpwnam)(const char *);
   struct smb_passwd *(*getsmbpwuid)(uid_t);
   struct smb_passwd *(*getsmbpwrid)(uint32);
   struct smb_passwd *(*getsmbpwent)(void *);
@@ -775,7 +775,7 @@ struct passdb_ops {
   /*
    * sam password database query functions.
    */
-  struct sam_passwd *(*getsam21pwnam)(char *);
+  struct sam_passwd *(*getsam21pwnam)(const char *);
   struct sam_passwd *(*getsam21pwuid)(uid_t);
   struct sam_passwd *(*getsam21pwrid)(uint32);
 
@@ -788,7 +788,7 @@ struct passdb_ops {
   /*
    * sam query display info functions.
    */
-  struct sam_disp_info *(*getsamdispnam)(char *);
+  struct sam_disp_info *(*getsamdispnam)(const char *);
   struct sam_disp_info *(*getsamdisprid)(uint32);
   struct sam_disp_info *(*getsamdispent)(void *);
 
@@ -796,9 +796,9 @@ struct passdb_ops {
   /*
    * password checking functions
    */
-  struct smb_passwd *(*smb_password_chal  )(char *username, char lm_pass[24], char nt_pass[24], char chal[8]);
-  struct smb_passwd *(*smb_password_check )(char *username, char lm_hash[16], char nt_hash[16]);
-  struct passwd     *(*unix_password_check)(char *username, char *pass, int pass_len);
+  struct smb_passwd *(*smb_password_chal  )(const char *username, const char lm_pass[24], const char nt_pass[24], char chal[8]);
+  struct smb_passwd *(*smb_password_check )(const char *username, const char lm_hash[16], const char nt_hash[16]);
+  struct passwd     *(*unix_password_check)(const char *username, const char *pass, int pass_len);
 #endif
 };
 
index ca5dd8b5859033e3a717be8bb310f131e492a6f1..70c7f1fc9cbd4c50942b65eeda2ab0347722005e 100644 (file)
@@ -128,7 +128,7 @@ struct smb_passwd *iterate_getsmbpwuid(uid_t smb_userid)
  does not have search facilities.
 *************************************************************************/
 
-struct smb_passwd *iterate_getsmbpwnam(char *name)
+struct smb_passwd *iterate_getsmbpwnam(const char *name)
 {
        struct smb_passwd *pwd = NULL;
        void *fp = NULL;
@@ -146,6 +146,7 @@ struct smb_passwd *iterate_getsmbpwnam(char *name)
 
        while ((pwd = getsmbpwent(fp)) != NULL && !strequal(pwd->smb_name, name))
        {
+               DEBUG(10, ("iterate: %s 0x%x\n", pwd->smb_name, pwd->smb_userid));
        }
 
        if (pwd != NULL)
@@ -224,7 +225,7 @@ BOOL mod_smbpwd_entry(struct smb_passwd* pwd, BOOL override)
  Routine to search smb passwd by name.
 *************************************************************************/
 
-struct smb_passwd *getsmbpwnam(char *name)
+struct smb_passwd *getsmbpwnam(const char *name)
 {
        return pwdb_ops->getsmbpwnam(name);
 }
@@ -256,7 +257,7 @@ struct smb_passwd *getsmbpwuid(uid_t smb_userid)
  does not have search facilities.
 *************************************************************************/
 
-struct sam_passwd *iterate_getsam21pwnam(char *name)
+struct sam_passwd *iterate_getsam21pwnam(const char *name)
 {
        struct sam_passwd *pwd = NULL;
        void *fp = NULL;
@@ -385,7 +386,7 @@ struct sam_passwd *getsam21pwent(void *vp)
  Routine to search sam passwd by name.
 *************************************************************************/
 
-struct sam_passwd *getsam21pwnam(char *name)
+struct sam_passwd *getsam21pwnam(const char *name)
 {
        return pwdb_ops->getsam21pwnam(name);
 }
@@ -694,7 +695,7 @@ void pwdb_set_last_set_time(char *p, int max_len, time_t t)
 /*************************************************************
  Routine to set 32 hex password characters from a 16 byte array.
 **************************************************************/
-void pwdb_sethexpwd(char *p, char *pwd, uint16 acct_ctrl)
+void pwdb_sethexpwd(char *p, const char *pwd, uint16 acct_ctrl)
 {
        if (pwd != NULL)
        {
@@ -721,7 +722,7 @@ void pwdb_sethexpwd(char *p, char *pwd, uint16 acct_ctrl)
  Routine to get the 32 hex characters and turn them
  into a 16 byte array.
 **************************************************************/
-BOOL pwdb_gethexpwd(char *p, char *pwd)
+BOOL pwdb_gethexpwd(const char *p, char *pwd)
 {
        return strhex_to_str(pwd, 32, p) == 16;
 }
index 62fdabe7feeb69c56cc5a48feafa77988fb0a990..e15a9b1dd703fd8ae6581742ccb3120c75f9ab43 100644 (file)
@@ -898,7 +898,7 @@ static BOOL add_smbfile21pwd_entry(struct sam_passwd *newpwd)
        return add_smbfilepwd_entry(pwdb_sam_to_smb(newpwd));
 }
 
-static struct sam_disp_info *getsmbfiledispnam(char *name)
+static struct sam_disp_info *getsmbfiledispnam(const char *name)
 {
        return pwdb_sam_to_dispinfo(getsam21pwnam(name));
 }
index 9fa3ed79cc106303fe84cd72907718f4d764121a..7fbd43c38ef67895f78550ea16649895dcc6aeb5 100644 (file)
@@ -600,6 +600,7 @@ static void api_net_sam_logon( uint16 vuid,
        DOM_CRED srv_cred;
        struct smb_passwd *smb_pass = NULL;
        UNISTR2 *uni_samlogon_user = NULL;
+       fstring nt_username;
 
        user_struct *vuser = NULL;
 
@@ -654,23 +655,23 @@ static void api_net_sam_logon( uint16 vuid,
 
        if (status == 0)
        {
-               pstrcpy(samlogon_user, unistrn2(uni_samlogon_user->buffer,
-               uni_samlogon_user->uni_str_len));
+               pstrcpy(nt_username, unistrn2(uni_samlogon_user->buffer,
+                                               uni_samlogon_user->uni_str_len));
 
-               DEBUG(3,("User:[%s]\n", samlogon_user));
+               DEBUG(3,("User:[%s]\n", nt_username));
 
                /*
                 * Convert to a UNIX username.
                 */
-               map_username(samlogon_user);
+               map_username(nt_username);
 
                /*
                 * Do any case conversions.
                 */
-               (void)Get_Pwnam(samlogon_user, True);
+               (void)Get_Pwnam(nt_username, True);
 
                become_root(True);
-               smb_pass = getsmbpwnam(samlogon_user);
+               smb_pass = getsmbpwnam(nt_username);
                unbecome_root(True);
 
                if (smb_pass == NULL)
@@ -736,6 +737,7 @@ static void api_net_sam_logon( uint16 vuid,
                /* XXXX hack to get standard_sub_basic() to use sam logon username */
                /* possibly a better way would be to do a become_user() call */
                sam_logon_in_ssb = True;
+               pstrcpy(samlogon_user, nt_username);
 
                pstrcpy(logon_script, lp_logon_script());
                pstrcpy(profile_path, lp_logon_path());
@@ -747,8 +749,10 @@ static void api_net_sam_logon( uint16 vuid,
                pstrcpy(my_name, global_myname);
                strupper(my_name);
 
-               status = lookup_user_rids(samlogon_user, &r_uid, &r_gid);
-               status = getusergroupsnam(samlogon_user, &grp_mem, &num_gids) ? 0 : 0xC0000000 | NT_STATUS_INVALID_PRIMARY_GROUP;
+               status = lookup_user_rids(nt_username, &r_uid, &r_gid);
+               status = getusergroupsnam(nt_username, &grp_mem, &num_gids) ? 0 : 0xC0000000 | NT_STATUS_INVALID_PRIMARY_GROUP;
+
+               sam_logon_in_ssb = False;
 
                if (status == 0x0)
                {
@@ -763,7 +767,7 @@ static void api_net_sam_logon( uint16 vuid,
                                &dummy_time, /* pass_can_change_time */
                                &dummy_time, /* pass_must_change_time */
 
-                               samlogon_user   , /* user_name */
+                               nt_username   , /* user_name */
                                vuser->real_name, /* full_name */
                                logon_script    , /* logon_script */
                                profile_path    , /* profile_path */
index f112b8a9ce4e368680551c98abc47f105ad5e678..a428a7f06878431429d0b0ebb7cba1807ce91268 100644 (file)
@@ -443,7 +443,7 @@ BOOL map_domain_name_to_sid(DOM_SID *sid, char **nt_domain)
                DEBUG(5,("map_domain_name_to_sid: overriding NULL name to %s\n",
                          global_sam_name));
                (*nt_domain) = strdup(global_sam_name);
-               *sid = global_sam_sid;
+               sid_copy(sid, &global_sam_sid);
                return True;
        }
 
@@ -453,13 +453,13 @@ BOOL map_domain_name_to_sid(DOM_SID *sid, char **nt_domain)
                          global_sam_name));
                free(*nt_domain);
                (*nt_domain) = strdup(global_sam_name);
-               *sid = global_sam_sid;
+               sid_copy(sid, &global_sam_sid);
                return True;
        }
 
        if (strequal((*nt_domain), global_sam_name))
        {
-               *sid = global_sam_sid;
+               sid_copy(sid, &global_sam_sid);
                return True;
        }
 
index 95992cc84b8984aa5241ec4b2cfd0cf6e7fd8089..a81114169c7c68a46d86902c5be8d10c8ca7d966 100644 (file)
@@ -138,13 +138,15 @@ static BOOL make_mydomain_sid(GROUP_NAME_INFO *grp, GROUP_TYPE type)
        }
 
        if (strequal(grp->nt_domain, global_sam_name) &&
-           lookup_wk_group_name(grp->nt_name, &sid, &tmp_type))
+           lookup_builtin_grp_name(grp->nt_name, &sid, &tmp_type) == 0x0)
        {
                sid_copy(&grp->sid, &sid);
                return True;
        }
        else
        {
+               BOOL ret;
+               fstring sid_str;
                if (type == GROUP_DOMAIN)
                {
                        tmp_rid = pwdb_gid_to_group_rid(grp->unix_gid);
@@ -153,7 +155,11 @@ static BOOL make_mydomain_sid(GROUP_NAME_INFO *grp, GROUP_TYPE type)
                {
                        tmp_rid = pwdb_gid_to_alias_rid(grp->unix_gid);
                }
-               return sid_append_rid(&(grp->sid), tmp_rid);
+               ret = sid_append_rid(&(grp->sid), tmp_rid);
+               sid_to_string(sid_str, &grp->sid);
+               DEBUG(10,("nt name %s gid %d mapped to %s\n",
+                          grp->nt_name, grp->unix_gid, sid_str));
+               return ret;
        }
 }
 
@@ -259,7 +265,7 @@ static BOOL make_name_entry(name_map_entry **new_ep,
 /**************************************************************************
  Load a name map file. Sets last accessed timestamp.
 ***************************************************************************/
-static void load_name_map(GROUP_TYPE type)
+static ubi_slList *load_name_map(GROUP_TYPE type)
 {
        static time_t groupmap_file_last_modified = (time_t)0;
        static time_t aliasmap_file_last_modified = (time_t)0;
@@ -296,20 +302,21 @@ static void load_name_map(GROUP_TYPE type)
 
        if (!(*initialised))
        {
+               DEBUG(10,("initialising group map %s\n", map_file));
                ubi_slInitList(map_list);
                (*initialised) = True;
        }
 
        if (!*map_file)
        {
-               return;
+               return map_list;
        }
 
        if (sys_stat(map_file, &st) != 0)
        {
                DEBUG(0, ("load_name_map: Unable to stat file %s. Error was %s\n",
                           map_file, strerror(errno) ));
-               return;
+               return map_list;
        }
 
        /*
@@ -317,7 +324,7 @@ static void load_name_map(GROUP_TYPE type)
         */
        if (st.st_mtime <= (*file_last_modified))
        {
-               return;
+               return map_list;
        }
 
        (*file_last_modified) = st.st_mtime;
@@ -331,7 +338,7 @@ static void load_name_map(GROUP_TYPE type)
        {
                DEBUG(0,("load_name_map: can't open name map %s. Error was %s\n",
                          map_file, strerror(errno)));
-               return;
+               return map_list;
        }
 
        /*
@@ -391,28 +398,31 @@ static void load_name_map(GROUP_TYPE type)
 
                if (make_name_entry(&new_ep, nt_domain, nt_name, unixname, type))
                {
-                       ubi_slAddHead(map_list, (ubi_slNode *)new_ep);
+                       ubi_slAddTail(map_list, (ubi_slNode *)new_ep);
                }
        }
 
        DEBUG(10,("load_name_map: Added %ld entries to name map.\n",
-       ubi_slCount(map_list)));
+                  ubi_slCount(map_list)));
 
        fclose(fp);
+
+       return map_list;
 }
 
 /***********************************************************
  Lookup by SID
 ************************************************************/
-static BOOL map_sid(GROUP_TYPE type, ubi_slList *map_list,
+static BOOL map_sid(GROUP_TYPE type,
                DOM_SID *psid, gid_t *gid, char *ntname, char *ntdomain)
 {
        name_map_entry *gmep;
+       ubi_slList *map_list;
 
        /*
-        * Initialize and load if not already loaded.
+        * Initialise and load if not already loaded.
         */
-       load_name_map(type);
+       map_list = load_name_map(type);
 
        for (gmep = (name_map_entry *)ubi_slFirst(map_list);
             gmep != NULL;
@@ -444,18 +454,19 @@ static BOOL map_sid(GROUP_TYPE type, ubi_slList *map_list,
 /***********************************************************
  Lookup nt name.
 ************************************************************/
-static BOOL map_ntname(GROUP_TYPE type, ubi_slList *map_list,
+static BOOL map_ntname(GROUP_TYPE type,
                char *ntname, char *ntdomain, DOM_SID *psid,
                char *unixname, gid_t *gid)
 {
        name_map_entry *gmep;
+       ubi_slList *map_list;
 
        /*
-        * Initialize and load if not already loaded.
+        * Initialise and load if not already loaded.
         */
-       load_name_map(type);
+       map_list = load_name_map(type);
 
-       for (gmep = (name_map_entry *)ubi_slFirst(&map_list);
+       for (gmep = (name_map_entry *)ubi_slFirst(map_list);
             gmep != NULL;
             gmep = (name_map_entry *)ubi_slNext(gmep ))
        {
@@ -464,7 +475,7 @@ static BOOL map_ntname(GROUP_TYPE type, ubi_slList *map_list,
                {
                        if (psid != NULL)
                        {
-                               *psid = gmep->grp.sid;
+                               sid_copy(psid, &gmep->grp.sid);
                        }
                        if (gid != NULL)
                        {
@@ -486,17 +497,18 @@ static BOOL map_ntname(GROUP_TYPE type, ubi_slList *map_list,
 /***********************************************************
  Lookup unix name.
 ************************************************************/
-static BOOL map_unixname(GROUP_TYPE type, ubi_slList *map_list,
+static BOOL map_unixname(GROUP_TYPE type,
                char *unixname, DOM_SID *psid, char *ntname, char *ntdomain)
 {
        name_map_entry *gmep;
+       ubi_slList *map_list;
 
        /*
-        * Initialize and load if not already loaded.
+        * Initialise and load if not already loaded.
         */
-       load_name_map(type);
+       map_list = load_name_map(type);
 
-       for (gmep = (name_map_entry *)ubi_slFirst(&map_list);
+       for (gmep = (name_map_entry *)ubi_slFirst(map_list);
             gmep != NULL;
             gmep = (name_map_entry *)ubi_slNext(gmep ))
        {
@@ -504,7 +516,7 @@ static BOOL map_unixname(GROUP_TYPE type, ubi_slList *map_list,
                {
                        if (psid != NULL)
                        {
-                               *psid = gmep->grp.sid;
+                               sid_copy(psid, &gmep->grp.sid);
                        }
                        if (ntname != NULL)
                        {
@@ -526,25 +538,30 @@ static BOOL map_unixname(GROUP_TYPE type, ubi_slList *map_list,
 /***********************************************************
  Lookup by gid_t.
 ************************************************************/
-static BOOL map_gid(GROUP_TYPE type, ubi_slList *map_list,
+static BOOL map_gid(GROUP_TYPE type, 
                gid_t gid, DOM_SID *psid, char *ntname, char *ntdomain)
 {
        name_map_entry *gmep;
+       ubi_slList *map_list;
 
        /*
-        * Initialize and load if not already loaded.
+        * Initialise and load if not already loaded.
         */
-       load_name_map(type);
+       map_list = load_name_map(type);
 
-       for (gmep = (name_map_entry *)ubi_slFirst(&map_list);
+       for (gmep = (name_map_entry *)ubi_slFirst(map_list);
             gmep != NULL;
             gmep = (name_map_entry *)ubi_slNext(gmep ))
        {
+               fstring sid_str;
+               sid_to_string(sid_str, &gmep->grp.sid);
+               DEBUG(10,("map_gid: enum entry unix group %s %d nt %s %s\n",
+                              gmep->grp.unix_name, gmep->grp.unix_gid, gmep->grp.nt_name, sid_str));
                if (gmep->grp.unix_gid == gid)
                {
                        if (psid != NULL)
                        {
-                               *psid = gmep->grp.sid;
+                               sid_copy(psid, &gmep->grp.sid);
                        }
                        if (ntname != NULL)
                        {
@@ -581,7 +598,7 @@ static BOOL map_gid(GROUP_TYPE type, ubi_slList *map_list,
 ************************************************************/
 BOOL map_group_sid(DOM_SID *psid, gid_t *gid, char *group_name, char *nt_domain)
 {
-       return map_sid(GROUP_DOMAIN, &groupname_map_list, psid, gid, group_name, nt_domain);
+       return map_sid(GROUP_DOMAIN, psid, gid, group_name, nt_domain);
 }
 
 /***********************************************************
@@ -589,7 +606,7 @@ BOOL map_group_sid(DOM_SID *psid, gid_t *gid, char *group_name, char *nt_domain)
 ************************************************************/
 BOOL map_alias_sid(DOM_SID *psid, gid_t *gid, char *alias_name, char *nt_domain)
 {
-       return map_sid(GROUP_LOCAL, &aliasname_map_list, psid, gid, alias_name, nt_domain);
+       return map_sid(GROUP_LOCAL, psid, gid, alias_name, nt_domain);
 }
 
 /***********************************************************
@@ -597,7 +614,7 @@ BOOL map_alias_sid(DOM_SID *psid, gid_t *gid, char *alias_name, char *nt_domain)
 ************************************************************/
 BOOL map_unix_group_name(char *group_name, DOM_SID *psid, char *ntgroup_name, char *nt_domain)
 {
-       return map_unixname(GROUP_DOMAIN, &groupname_map_list, group_name, psid, ntgroup_name, nt_domain);
+       return map_unixname(GROUP_DOMAIN, group_name, psid, ntgroup_name, nt_domain);
 }
 
 /***********************************************************
@@ -605,7 +622,7 @@ BOOL map_unix_group_name(char *group_name, DOM_SID *psid, char *ntgroup_name, ch
 ************************************************************/
 BOOL map_unix_alias_name(char *alias_name, DOM_SID *psid, char *ntalias_name, char *nt_domain)
 {
-       return map_unixname(GROUP_LOCAL, &aliasname_map_list, alias_name, psid, ntalias_name, nt_domain);
+       return map_unixname(GROUP_LOCAL, alias_name, psid, ntalias_name, nt_domain);
 }
 
 /***********************************************************
@@ -613,7 +630,7 @@ BOOL map_unix_alias_name(char *alias_name, DOM_SID *psid, char *ntalias_name, ch
 ************************************************************/
 BOOL map_nt_group_name(char *ntgroup_name, char *nt_domain, DOM_SID *psid, char *group_name, gid_t *gid)
 {
-       return map_ntname(GROUP_DOMAIN, &groupname_map_list, ntgroup_name, nt_domain, psid, group_name, gid);
+       return map_ntname(GROUP_DOMAIN, ntgroup_name, nt_domain, psid, group_name, gid);
 }
 
 /***********************************************************
@@ -621,7 +638,7 @@ BOOL map_nt_group_name(char *ntgroup_name, char *nt_domain, DOM_SID *psid, char
 ************************************************************/
 BOOL map_nt_alias_name(char *ntalias_name, char *nt_domain, DOM_SID *psid, char *alias_name, gid_t *gid)
 {
-       return map_ntname(GROUP_LOCAL, &aliasname_map_list, ntalias_name, nt_domain, psid, alias_name, gid);
+       return map_ntname(GROUP_LOCAL, ntalias_name, nt_domain, psid, alias_name, gid);
 }
 
 /***********************************************************
@@ -629,7 +646,7 @@ BOOL map_nt_alias_name(char *ntalias_name, char *nt_domain, DOM_SID *psid, char
 ************************************************************/
 BOOL map_alias_gid(gid_t gid, DOM_SID *psid, char *nt_als_name, char *nt_domain)
 {
-       return map_gid(GROUP_LOCAL, &aliasname_map_list, gid, psid, nt_als_name, nt_domain);
+       return map_gid(GROUP_LOCAL, gid, psid, nt_als_name, nt_domain);
 }
 
 /***********************************************************
@@ -637,6 +654,6 @@ BOOL map_alias_gid(gid_t gid, DOM_SID *psid, char *nt_als_name, char *nt_domain)
 ************************************************************/
 BOOL map_group_gid( gid_t gid, DOM_SID *psid, char *nt_grp_name, char *nt_domain)
 {
-       return map_gid(GROUP_DOMAIN, &groupname_map_list, gid, psid, nt_grp_name, nt_domain);
+       return map_gid(GROUP_DOMAIN, gid, psid, nt_grp_name, nt_domain);
 }