Le 18 juil. 2013 à 11:25, Axel Luttgens a écrit :
[...] It is to be noted that no lines in the log are related to possible problems encountered for launching [the dict server]. It is a bit as if quota_check() in src/plugins/quota/quota-status.c always immediately returned with 1 at the first test. [...]
Tracing with gdb, it appears this is indeed the case.
Here's the beginning of quota_check():
static int
quota_check(struct mail_user *user, uoff_t mail_size, const char **error_r)
{
struct quota_user *quser = QUOTA_USER_CONTEXT(user);
[...]
if (quser == NULL) {
/* no quota for user */
return 1;
}
[...]
and one has for quser:
(gdb) p quser
$1 = (struct quota_user *) 0x0
Yet, struct user passed as argument doesn't show obvious problems (but I have to confess the details are faaar beyond me); I reproduce it at the end of this message.
So, either my users aren't recognized as being subjected to quotas, or something goes wrong with macro QUOTA_USER_CONTEXT (which in turn translates into macro MODULE_CONTEXT which I just don't understand), or both.
As a reminder, with the same configs, "doveadm quota" and lmtp do not show such a behavior: they both take quotas into account for my users.
Any ideas?
TIA, Axel
(gdb) p *user
$2 = {
pool = 0x7fed9b829020,
v = {
deinit = 0x10b190dd0 <quota_user_deinit>
},
vlast = 0x7fed9b82a188,
refcount = 1,
username = 0x7fed9b829110 "john.doe@example.com",
_home = 0x7fed9b829e08 "/_Mailstores/john.doe",
uid = 999,
gid = 999,
service = 0x7fed9b829e30 "quota-status",
local_ip = 0x0,
remote_ip = 0x0,
auth_token = 0x0,
var_expand_table = 0x7fed9b829e40,
error = 0x0,
set_info = 0x7fed9b814d60,
unexpanded_set = 0x7fed9b829138,
set = 0x7fed9b829770,
namespaces = 0x7fed9b4046b0,
storages = 0x7fed9b404780,
hooks = {
arr = {
buffer = 0x7fed9b82a130,
element_size = 8
},
v = 0x7fed9b82a130,
v_modifiable = 0x7fed9b82a130
},
mountpoints = 0x0,
default_normalizer = 0x10b0c1d00 <uni_utf8_to_decomposed_titlecase>,
_attr_dict = 0x0,
module_contexts = {
arr = {
buffer = 0x7fed9b829da8,
element_size = 8
},
v = 0x7fed9b829da8,
v_modifiable = 0x7fed9b829da8
},
nonexistent = 0,
home_looked_up = 1,
anonymous = 0,
autocreated = 0,
initialized = 1,
mail_debug = 1,
inbox_open_error_logged = 0,
fuzzy_search = 0,
dsyncing = 0,
attr_dict_failed = 0
}