[Dovecot] 2.2.4 - Some questions about and needing help with quota-status

Axel Luttgens AxelLuttgens at swing.be
Fri Jul 19 16:02:54 EEST 2013


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 at 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
	}






More information about the dovecot mailing list