if (*dir == '\0')
return FALSE;
- if (*user_set->valid_chroot_dirs == '\0')
+ if (array_is_empty(&user_set->valid_chroot_dirs))
return FALSE;
- chroot_dirs = t_strsplit(user_set->valid_chroot_dirs, ":");
+ chroot_dirs = settings_boollist_get(&user_set->valid_chroot_dirs);
while (*chroot_dirs != NULL) {
if (**chroot_dirs != '\0' &&
str_begins_with(dir, *chroot_dirs))
}
if (home != NULL && chroot == NULL &&
- *user->user_set->valid_chroot_dirs != '\0' &&
+ array_not_empty(&user->user_set->valid_chroot_dirs) &&
(p = strstr(home, "/./")) != NULL) {
/* wu-ftpd like <chroot>/./<home> - check only if there's even
a possibility of using them (non-empty valid_chroot_dirs) */
DEF(STR, mail_chroot),
DEF(BOOLLIST, mail_access_groups),
DEF(STR, mail_privileged_group),
- DEF(STR, valid_chroot_dirs),
+ DEF(BOOLLIST, valid_chroot_dirs),
DEF(UINT, first_valid_uid),
DEF(UINT, last_valid_uid),
.mail_chroot = "",
.mail_access_groups = ARRAY_INIT,
.mail_privileged_group = "",
- .valid_chroot_dirs = "",
+ .valid_chroot_dirs = ARRAY_INIT,
.first_valid_uid = 500,
.last_valid_uid = 0,
const char *mail_chroot;
ARRAY_TYPE(const_string) mail_access_groups;
const char *mail_privileged_group;
- const char *valid_chroot_dirs;
+ ARRAY_TYPE(const_string) valid_chroot_dirs;
unsigned int first_valid_uid, last_valid_uid;
unsigned int first_valid_gid, last_valid_gid;