* if user matches but group does not,
* it makes no sens to check passwords
*/
- if (group_mask && !(group_mask & u->group_mask))
+ if (group_mask && !(group_mask & u->u.group_mask))
return 0;
if (!(u->flags & AU_O_INSECURE)) {
cur_arg += 2;
continue;
} else if (!strcmp(args[cur_arg], "groups")) {
- newuser->groups = strdup(args[cur_arg + 1]);
+ newuser->u.groups = strdup(args[cur_arg + 1]);
cur_arg += 2;
continue;
} else {
unsigned int group_mask = 0;
char *group = NULL;
- if (!curuser->groups)
+ if (!curuser->u.groups)
continue;
- while ((group = strtok(group?NULL:curuser->groups, ","))) {
+ while ((group = strtok(group?NULL:curuser->u.groups, ","))) {
for (g = 0; g < curuserlist->grpcnt; g++)
if (!strcmp(curuserlist->groups[g], group))
group_mask |= (1 << g);
}
- free(curuser->groups);
- curuser->group_mask = group_mask;
+ free(curuser->u.groups);
+ curuser->u.group_mask = group_mask;
}
for (g = 0; g < curuserlist->grpcnt; g++) {
goto out;
}
- curuser->group_mask |= (1 << g);
+ curuser->u.group_mask |= (1 << g);
}
free(curuserlist->groupusers[g]);