]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
6 months agoconfig: Remove config_parsed_get_module_parsers() wrapper
Timo Sirainen [Wed, 6 Nov 2024 13:04:01 +0000 (15:04 +0200)] 
config: Remove config_parsed_get_module_parsers() wrapper

6 months agoconfig: Remove config_export_get_*() wrapper functions
Timo Sirainen [Wed, 6 Nov 2024 12:16:26 +0000 (14:16 +0200)] 
config: Remove config_export_get_*() wrapper functions

Use config_module_parsers_get_setting() directly.

6 months agoconfig: Remove separate ordering for default service settings
Timo Sirainen [Mon, 4 Nov 2024 12:11:27 +0000 (14:11 +0200)] 
config: Remove separate ordering for default service settings

This changes e.g. a global "service_process_limit = N" to override it for
all services, unless they have an explicit service { process_limit = M }
in the config file.

This change simplifies the following changes and removes the special
handling of global service settings.

6 months agoconfig: config_get_value() - Fix crash if looking up setting that only has default...
Timo Sirainen [Mon, 4 Nov 2024 12:06:47 +0000 (14:06 +0200)] 
config: config_get_value() - Fix crash if looking up setting that only has default value

6 months agoconfig: Fix doveconf output when using $SET: and $ENV:
Timo Sirainen [Mon, 4 Nov 2024 10:44:27 +0000 (12:44 +0200)] 
config: Fix doveconf output when using $SET: and $ENV:

If they were used for non-string values, they were attempted to be
validated, which caused e.g. "Not a valid number" errors.

6 months agoconfig: Allow auto-creating new filters based on settings key paths
Timo Sirainen [Wed, 9 Oct 2024 07:39:59 +0000 (10:39 +0300)] 
config: Allow auto-creating new filters based on settings key paths

This is especially needed for old-set-parser where e.g. auth_worker_max_count
converts to service/auth-worker/process_limit. This worked so far because
service/auth was created as a non-default settings filter, so it was simply
updated. However, with the next change service/auth becomes a "service
default" filter, which can't be directly updated. Instead a whole new
non-default service/auth filter must be created.

This change shouldn't break anything, although it will now allow
auto-creating named list filters in configuration file, e.g.
"namespace/inbox/separator=/" will directly work.

6 months agorun-test-valgrind.supp - Amend test_lib_fatal_ostream_file suppression
Stephan Bosch [Fri, 1 Nov 2024 17:18:08 +0000 (18:18 +0100)] 
run-test-valgrind.supp - Amend test_lib_fatal_ostream_file suppression

Make stack pattern more robust to compiler diversity.

6 months agoauth: Add test for auth request export import
Aki Tuomi [Wed, 23 Oct 2024 10:06:20 +0000 (13:06 +0300)] 
auth: Add test for auth request export import

6 months agomail-lua: Add lua_call filter to var_expand
Aki Tuomi [Tue, 1 Oct 2024 11:44:59 +0000 (14:44 +0300)] 
mail-lua: Add lua_call filter to var_expand

When mail-lua is loaded, it registers new var_expand filter
lua_call(fn, parameter, parameter)

This will call function in mail lua script with
fn(mail_user, parameter, parameter, .., state)

fn must (return 0, value) on success, and (-1, errmsg) on error

6 months agoauth: passwd-file - Add all fields to passwd_file provider
Aki Tuomi [Thu, 19 Sep 2024 05:38:51 +0000 (08:38 +0300)] 
auth: passwd-file - Add all fields to passwd_file provider

6 months agoglobal: Right-size some pools
Aki Tuomi [Fri, 6 Sep 2024 05:30:43 +0000 (08:30 +0300)] 
global: Right-size some pools

Avoids excess malloc traffic

6 months agolib: Drop old var_expand
Aki Tuomi [Thu, 29 Aug 2024 11:05:06 +0000 (14:05 +0300)] 
lib: Drop old var_expand

6 months agovar-expand-crypt: Convert to new var_expand
Aki Tuomi [Thu, 29 Aug 2024 13:04:04 +0000 (16:04 +0300)] 
var-expand-crypt: Convert to new var_expand

6 months agoquota-status: Use new var_expand
Aki Tuomi [Tue, 17 Sep 2024 05:09:57 +0000 (08:09 +0300)] 
quota-status: Use new var_expand

6 months agonotify-status: Use new var_expand
Aki Tuomi [Thu, 29 Aug 2024 11:04:12 +0000 (14:04 +0300)] 
notify-status: Use new var_expand

6 months agostats: Use new var_expand
Aki Tuomi [Fri, 6 Sep 2024 06:08:22 +0000 (09:08 +0300)] 
stats: Use new var_expand

Dropping %{domain} in favor of %{value | domain}

6 months agoconfig: Use new var_expand
Aki Tuomi [Thu, 29 Aug 2024 11:58:31 +0000 (14:58 +0300)] 
config: Use new var_expand

6 months agomaster: Use new var_expand
Aki Tuomi [Thu, 29 Aug 2024 11:26:15 +0000 (14:26 +0300)] 
master: Use new var_expand

6 months agolda: Use new var_expand
Aki Tuomi [Thu, 29 Aug 2024 11:17:54 +0000 (14:17 +0300)] 
lda: Use new var_expand

6 months agodoveadm: Use new var_expand
Aki Tuomi [Thu, 29 Aug 2024 10:56:07 +0000 (13:56 +0300)] 
doveadm: Use new var_expand

6 months agosubmission: Use new var_expand
Aki Tuomi [Thu, 29 Aug 2024 10:49:38 +0000 (13:49 +0300)] 
submission: Use new var_expand

6 months agopop3: Use new var_expand
Aki Tuomi [Thu, 29 Aug 2024 10:42:40 +0000 (13:42 +0300)] 
pop3: Use new var_expand

6 months agoimap-hibernate: Drop username and domain %variable variants
Aki Tuomi [Thu, 10 Oct 2024 12:01:21 +0000 (15:01 +0300)] 
imap-hibernate: Drop username and domain %variable variants

These can be produced with %{user | username} and %{user | domain}

6 months agoimap-hibernate: Use new var_expand
Aki Tuomi [Thu, 29 Aug 2024 11:35:35 +0000 (14:35 +0300)] 
imap-hibernate: Use new var_expand

6 months agoimap-urlauth: Change logout format to match new var expand syntax
Aki Tuomi [Mon, 23 Sep 2024 12:36:48 +0000 (15:36 +0300)] 
imap-urlauth: Change logout format to match new var expand syntax

6 months agoimap: Use new var_expand
Aki Tuomi [Thu, 29 Aug 2024 10:42:34 +0000 (13:42 +0300)] 
imap: Use new var_expand

6 months agoauth: Change auth_request_var_expand() return value
Aki Tuomi [Tue, 17 Sep 2024 06:28:13 +0000 (09:28 +0300)] 
auth: Change auth_request_var_expand() return value

It now returns -1 on error and 0 on success

6 months agoauth: Return error from auth worker on failure
Aki Tuomi [Thu, 3 Oct 2024 17:03:35 +0000 (20:03 +0300)] 
auth: Return error from auth worker on failure

6 months agoauth: Drop username and domain %variable variants
Aki Tuomi [Thu, 10 Oct 2024 11:36:38 +0000 (14:36 +0300)] 
auth: Drop username and domain %variable variants

These can be generated with %{user|username} and %{user|domain}

6 months agoauth: Use new var_expand
Aki Tuomi [Wed, 28 Aug 2024 11:43:17 +0000 (14:43 +0300)] 
auth: Use new var_expand

6 months agoauth: ldap - Always lowercase attribute names
Aki Tuomi [Fri, 11 Oct 2024 07:23:53 +0000 (10:23 +0300)] 
auth: ldap - Always lowercase attribute names

LDAP attributes are DirectoryStrings, which are case insensitive.

6 months agoauth: ldap - Replace ldap_dn with ldap:dn
Aki Tuomi [Fri, 11 Oct 2024 07:19:26 +0000 (10:19 +0300)] 
auth: ldap - Replace ldap_dn with ldap:dn

While it's theoretically possible that someone can introduce an
attribute called DN, it is not practically possible.

6 months agoauth: Remove old var_expand %variables
Aki Tuomi [Thu, 10 Oct 2024 11:03:53 +0000 (14:03 +0300)] 
auth: Remove old var_expand %variables

6 months agologin-common: Drop username and domain %variable variants
Aki Tuomi [Thu, 10 Oct 2024 11:49:43 +0000 (14:49 +0300)] 
login-common: Drop username and domain %variable variants

These can be produced with %{user | username} and %{user | domain}.

6 months agologin-common: Use new var_expand
Aki Tuomi [Tue, 20 Aug 2024 11:52:37 +0000 (14:52 +0300)] 
login-common: Use new var_expand

6 months agologin-common: Remove old var_expand %variables
Aki Tuomi [Thu, 10 Oct 2024 10:25:17 +0000 (13:25 +0300)] 
login-common: Remove old var_expand %variables

6 months agodict-ldap: Use new var_expand
Aki Tuomi [Thu, 29 Aug 2024 11:21:36 +0000 (14:21 +0300)] 
dict-ldap: Use new var_expand

6 months agodriver_cassandra: Use new var_expand
Aki Tuomi [Thu, 29 Aug 2024 10:59:21 +0000 (13:59 +0300)] 
driver_cassandra: Use new var_expand

6 months agolib-storage: Drop username and domain %variable variants
Aki Tuomi [Thu, 10 Oct 2024 11:54:31 +0000 (14:54 +0300)] 
lib-storage: Drop username and domain %variable variants

These can be produced with %{user | username} and %{user | domain}.

6 months agolib-storage: Use new var_expand
Aki Tuomi [Tue, 20 Aug 2024 09:17:24 +0000 (12:17 +0300)] 
lib-storage: Use new var_expand

6 months agolib-storage,imap-hibernate: Drop lip, rip, lport and rport %variables
Aki Tuomi [Thu, 10 Oct 2024 11:57:01 +0000 (14:57 +0300)] 
lib-storage,imap-hibernate: Drop lip, rip, lport and rport %variables

They are removed in favor of local_ip, remote_ip, local_port and
remote_port.

6 months agolib-settings: Use new var_expand
Aki Tuomi [Tue, 20 Aug 2024 07:47:58 +0000 (10:47 +0300)] 
lib-settings: Use new var_expand

NOTE: Dovecot will be broken until all users of
SETTINGS_EVENT_VAR_EXPAND_* are fixed.

6 months agolib-master: Use new var_expand
Aki Tuomi [Tue, 20 Aug 2024 06:29:09 +0000 (09:29 +0300)] 
lib-master: Use new var_expand

6 months agoglobal: Remove var-expand.h from some places
Aki Tuomi [Thu, 29 Aug 2024 11:00:23 +0000 (14:00 +0300)] 
global: Remove var-expand.h from some places

6 months agoglobal: Include lib-var-expand where needed
Aki Tuomi [Tue, 20 Aug 2024 06:47:49 +0000 (09:47 +0300)] 
global: Include lib-var-expand where needed

6 months agoAdd lib-var-expand
Aki Tuomi [Fri, 16 Aug 2024 09:20:40 +0000 (12:20 +0300)] 
Add lib-var-expand

6 months agolib: event-filter - Use system pool for memory
Aki Tuomi [Mon, 2 Sep 2024 07:23:15 +0000 (10:23 +0300)] 
lib: event-filter - Use system pool for memory

6 months agolib: mempool - Allow calling realloc without knowing block size
Aki Tuomi [Thu, 15 Aug 2024 18:14:06 +0000 (21:14 +0300)] 
lib: mempool - Allow calling realloc without knowing block size

Supported by some pools only

6 months agodbox: Fail reading mails if it has external attachment and mail_ext_attachment_dir...
Timo Sirainen [Mon, 14 Oct 2024 11:34:43 +0000 (14:34 +0300)] 
dbox: Fail reading mails if it has external attachment and mail_ext_attachment_dir is empty

Previously it was just silently dropping the attachments.

6 months agoimap(-login): Change imap_capability to boollist.
sergey.kitov [Thu, 29 Aug 2024 09:51:10 +0000 (12:51 +0300)] 
imap(-login): Change imap_capability to boollist.

6 months agolib-imap: Introduce imap_write_capability() function.
sergey.kitov [Mon, 14 Oct 2024 15:45:38 +0000 (18:45 +0300)] 
lib-imap: Introduce imap_write_capability() function.

6 months agolib-settings: Introduce settings_boollist_is_stopped() function.
sergey.kitov [Fri, 11 Oct 2024 12:21:24 +0000 (15:21 +0300)] 
lib-settings: Introduce settings_boollist_is_stopped() function.

The function is to be used to identify if boollist setting is set
explicitly or updating existing (default) settings.

6 months agoconfig: Fix formatting of boollist keys containing '=' by doveconf.
sergey.kitov [Thu, 3 Oct 2024 12:52:15 +0000 (15:52 +0300)] 
config: Fix formatting of boollist keys containing '=' by doveconf.

6 months agologin-common: Add service field to client event.
sergey.kitov [Mon, 16 Sep 2024 09:17:23 +0000 (12:17 +0300)] 
login-common: Add service field to client event.

service field is needed for applying default settings.

6 months agolib-settings: Call settings_parse_array_stop for seen settings.
sergey.kitov [Mon, 30 Sep 2024 14:02:44 +0000 (17:02 +0300)] 
lib-settings: Call settings_parse_array_stop for seen settings.

Not calling settings_parse_array_stop() for seen settings cause
excessive elements in list, when settings are read for second time.

6 months agolib-settings: Allow override setting keys ending with '+' for non SET_STR and SET_FIL...
sergey.kitov [Thu, 29 Aug 2024 08:43:54 +0000 (11:43 +0300)] 
lib-settings: Allow override setting keys ending with '+' for non SET_STR and SET_FILTER_ARRAY types.

For SET_STR and SET_FILTER_ARRAY types + at the end of the key is
treated as appending to the value.
Particularly, this change allows boollist entries to end with '+'.

6 months agoimap(-login): Remove +CAPABILITY functionality from imap_capability setting.
sergey.kitov [Thu, 26 Oct 2023 13:24:10 +0000 (16:24 +0300)] 
imap(-login): Remove +CAPABILITY functionality from imap_capability setting.

This will be unnecessary after the following commit changes
imap_capability to BOOLLIST.

6 months agoimap-login: Whitespace cleanup.
sergey.kitov [Wed, 18 Sep 2024 13:36:52 +0000 (16:36 +0300)] 
imap-login: Whitespace cleanup.

6 months agolib-storage: Change mbox_[read|write]_locks to BOOLLIST..
sergey.kitov [Wed, 8 May 2024 14:33:09 +0000 (17:33 +0300)] 
lib-storage: Change mbox_[read|write]_locks to BOOLLIST..

6 months agolib-storage: shared - Minor shared_ns_prefix_validate() optimization
Timo Sirainen [Mon, 23 Sep 2024 11:40:34 +0000 (14:40 +0300)] 
lib-storage: shared - Minor shared_ns_prefix_validate() optimization

6 months agolib-storage: shared - Split off shared_ns_prefix_validate()
Timo Sirainen [Mon, 23 Sep 2024 11:36:02 +0000 (14:36 +0300)] 
lib-storage: shared - Split off shared_ns_prefix_validate()

6 months agolib-storage, acl: Replace %%variables in shared namespace prefix with $variables
Timo Sirainen [Wed, 18 Sep 2024 10:55:13 +0000 (13:55 +0300)] 
lib-storage, acl: Replace %%variables in shared namespace prefix with $variables

%%u -> $user, %%n -> $username, %%d -> $domain

This the variables couldn't actually be used in any complex ways,
these $variable templates make more sense. They're also more consistent
with how dict-sql handles similar templating.

6 months agodict-cdb: Implement new init() API
Timo Sirainen [Wed, 18 Sep 2024 11:39:59 +0000 (14:39 +0300)] 
dict-cdb: Implement new init() API

6 months agoglobal: Rename service_idle_kill to service_idle_kill_interval
Timo Sirainen [Tue, 17 Sep 2024 12:30:23 +0000 (15:30 +0300)] 
global: Rename service_idle_kill to service_idle_kill_interval

Also rename related functions and macros.

This clarifies a bit what the setting does: It's the interval between
killing idle processes, not the amount of time when an idling process
is killed.

6 months agoauth: Rename passdb_mechanisms_filter=none to lookup
Timo Sirainen [Wed, 18 Sep 2024 11:15:04 +0000 (14:15 +0300)] 
auth: Rename passdb_mechanisms_filter=none to lookup

6 months agoauth: Rename passdb_mechanisms to passdb_mechanisms_filter
Timo Sirainen [Wed, 18 Sep 2024 11:13:21 +0000 (14:13 +0300)] 
auth: Rename passdb_mechanisms to passdb_mechanisms_filter

Rename also related variables.

6 months agomail-crypt: Detect chacha20-poly1305 correctly
Aki Tuomi [Thu, 19 Sep 2024 05:28:12 +0000 (08:28 +0300)] 
mail-crypt: Detect chacha20-poly1305 correctly

6 months agolib-settings: Add default name fields for named list filter overrides
Timo Sirainen [Wed, 4 Sep 2024 20:11:14 +0000 (23:11 +0300)] 
lib-settings: Add default name fields for named list filter overrides

For example if -o namespace+=foo, it's no longer necessary to explicitly
add also -o namespace/foo/name=foo.

6 months agolib-settings: Fix order of override settings
Timo Sirainen [Wed, 4 Sep 2024 12:56:03 +0000 (15:56 +0300)] 
lib-settings: Fix order of override settings

6 months agolib-settings: settings - Add support for sorting filter array fields
Stephan Bosch [Tue, 3 Sep 2024 00:10:48 +0000 (02:10 +0200)] 
lib-settings: settings - Add support for sorting filter array fields

6 months agolib-settings: test-settings-parser - Always use designated initializers for setting...
Stephan Bosch [Tue, 3 Sep 2024 18:16:13 +0000 (20:16 +0200)] 
lib-settings: test-settings-parser - Always use designated initializers for setting defs

6 months agotrash: Convert plugin settings to regular settings
Timo Sirainen [Wed, 28 Aug 2024 01:09:22 +0000 (04:09 +0300)] 
trash: Convert plugin settings to regular settings

6 months agolib-storage: Splitt off mailbox_settings_get_vname()
Timo Sirainen [Wed, 28 Aug 2024 01:39:28 +0000 (04:39 +0300)] 
lib-storage: Splitt off mailbox_settings_get_vname()

6 months agopop3-migration: Convert plugin settings to regular settings
Timo Sirainen [Wed, 28 Aug 2024 00:40:57 +0000 (03:40 +0300)] 
pop3-migration: Convert plugin settings to regular settings

6 months agocharset-alias: Convert plugin settings to regular settings
Timo Sirainen [Wed, 28 Aug 2024 00:40:52 +0000 (03:40 +0300)] 
charset-alias: Convert plugin settings to regular settings

6 months agoapparmor: Convert plugin settings to regular settings
Timo Sirainen [Wed, 28 Aug 2024 00:23:28 +0000 (03:23 +0300)] 
apparmor: Convert plugin settings to regular settings

6 months agovirtual: Convert plugin settings to regular settings
Timo Sirainen [Wed, 28 Aug 2024 00:23:23 +0000 (03:23 +0300)] 
virtual: Convert plugin settings to regular settings

6 months agomail-log: Convert plugin settings to regular settings
Timo Sirainen [Tue, 27 Aug 2024 23:49:36 +0000 (02:49 +0300)] 
mail-log: Convert plugin settings to regular settings

6 months agolast-login: Convert plugin settings to regular settings
Timo Sirainen [Tue, 27 Aug 2024 23:35:12 +0000 (02:35 +0300)] 
last-login: Convert plugin settings to regular settings

6 months agoglobal: Use array_lsearch_ptr[_idx]() where possible
Timo Sirainen [Tue, 3 Sep 2024 10:04:00 +0000 (13:04 +0300)] 
global: Use array_lsearch_ptr[_idx]() where possible

6 months agoquota: Split off quota_root_settings
Timo Sirainen [Mon, 26 Aug 2024 10:01:43 +0000 (13:01 +0300)] 
quota: Split off quota_root_settings

6 months agoquota: quota-status - Convert plugin settings to global settings
Timo Sirainen [Mon, 26 Aug 2024 09:19:42 +0000 (12:19 +0300)] 
quota: quota-status - Convert plugin settings to global settings

6 months agoquota: doveadm quota get - Hide quota roots with quota_ignore=yes
Timo Sirainen [Fri, 23 Aug 2024 13:06:54 +0000 (16:06 +0300)] 
quota: doveadm quota get - Hide quota roots with quota_ignore=yes

6 months agoquota: Remove early MAIL_STORAGE_CLASS_FLAG_NOQUOTA check
Timo Sirainen [Sat, 24 Aug 2024 05:37:38 +0000 (08:37 +0300)] 
quota: Remove early MAIL_STORAGE_CLASS_FLAG_NOQUOTA check

This is still checked later on. This early check caused problems, since
it could have triggered storage creation while namespaces were still
being added.

6 months agoquota: Fix linking quota-status
Timo Sirainen [Fri, 23 Aug 2024 12:51:02 +0000 (15:51 +0300)] 
quota: Fix linking quota-status

The duplicate objects with quota plugin may have caused crashes.

6 months agoquota: Use shared code for setting quota-backend: event log prefix
Timo Sirainen [Thu, 22 Aug 2024 09:25:12 +0000 (12:25 +0300)] 
quota: Use shared code for setting quota-backend: event log prefix

6 months agoquota: Remove quota_args setting
Timo Sirainen [Thu, 22 Aug 2024 09:23:46 +0000 (12:23 +0300)] 
quota: Remove quota_args setting

All backends have replaced the args with global settings.

6 months agoquota-imapc: Move quota_args to global quota_imapc_* settings
Timo Sirainen [Thu, 22 Aug 2024 09:21:29 +0000 (12:21 +0300)] 
quota-imapc: Move quota_args to global quota_imapc_* settings

The default is to use GETQUOTAROOT INBOX for finding the used quota root.
If quota_imapc_root_name is non-empty, it is used instead.

Since some configurations may need to use an empty quota_imapc_root_name,
this is used when quota_imapc_mailbox_name is also set to empty.

6 months agoquota-fs: Move quota_args to global quota_fs_* settings
Timo Sirainen [Thu, 22 Aug 2024 09:12:59 +0000 (12:12 +0300)] 
quota-fs: Move quota_args to global quota_fs_* settings

6 months agoquota: Move quota_args=noenforcing to quota_enforce=no
Timo Sirainen [Thu, 22 Aug 2024 08:26:15 +0000 (11:26 +0300)] 
quota: Move quota_args=noenforcing to quota_enforce=no

6 months agoquota: Move quota_args=ignoreunlimited to quota_ignore_unlimited
Timo Sirainen [Thu, 22 Aug 2024 08:14:26 +0000 (11:14 +0300)] 
quota: Move quota_args=ignoreunlimited to quota_ignore_unlimited

6 months agoquota: Move quota_args=hidden to quota_hidden setting
Timo Sirainen [Thu, 22 Aug 2024 08:08:53 +0000 (11:08 +0300)] 
quota: Move quota_args=hidden to quota_hidden setting

6 months agoquota: Replace quota_warning_command and quota_over_status_script with execute {...
Timo Sirainen [Thu, 22 Aug 2024 08:00:16 +0000 (11:00 +0300)] 
quota: Replace quota_warning_command and quota_over_status_script with execute { .. }

6 months agoquota: Use quota_root.backend.event instead of quota_root.quota.event
Timo Sirainen [Thu, 22 Aug 2024 08:23:53 +0000 (11:23 +0300)] 
quota: Use quota_root.backend.event instead of quota_root.quota.event

6 months agoquota: Add quota_<backend> named filters
Timo Sirainen [Thu, 22 Aug 2024 08:22:53 +0000 (11:22 +0300)] 
quota: Add quota_<backend> named filters

6 months agoquota: Initial conversion to use global settings
Timo Sirainen [Thu, 15 Aug 2024 21:18:19 +0000 (00:18 +0300)] 
quota: Initial conversion to use global settings

6 months agoquota: Minor code refactoring
Timo Sirainen [Tue, 20 Aug 2024 09:24:54 +0000 (12:24 +0300)] 
quota: Minor code refactoring

Simplifies the following commits.

6 months agoquota: Simplify quota_root_is_visible()
Timo Sirainen [Mon, 19 Aug 2024 10:19:17 +0000 (13:19 +0300)] 
quota: Simplify quota_root_is_visible()

6 months agoquota: Change quota_backend_vfuncs.namespace_added() to take root parameter
Timo Sirainen [Mon, 19 Aug 2024 10:11:10 +0000 (13:11 +0300)] 
quota: Change quota_backend_vfuncs.namespace_added() to take root parameter

The quota-fs mountpoint handling was also simplified.

6 months agoquota: Move namespaces list to quota_root
Timo Sirainen [Mon, 19 Aug 2024 09:29:56 +0000 (12:29 +0300)] 
quota: Move namespaces list to quota_root

It makes more sense in there.