+int open_admissible_user_tables(struct uid_range *admissible_uids)
+{
+ struct user_info *ui;
+
+ assert(uid_hash_table);
+ DEBUG_LOG("size: %d\n", uid_hash_table_size);
+ FOR_EACH_USER(ui) {
+ int ret;
+
+ if (!ui_used(ui)) {
+ continue;
+ }
+ if (!uid_is_admissible(ui->uid, admissible_uids)) {
+ DEBUG_LOG("uid %u is not admissible\n", ui->uid);
+ ui->flags &= ~UI_FL_ADMISSIBLE;
+ continue;
+ }
+ ui->flags |= UI_FL_ADMISSIBLE;
+ if (ui->table)
+ continue;
+ ret = open_user_table(ui, 0);
+ if (ret < 0)
+ return ret;
+ }
+ return 1;
+}
+
+int read_uid_file(void)