Dovecot 2.4: possible bug in quota-status service

Othmar Truniger via dovecot <[email protected]>
Newsgroups gmane.mail.imap.dovecot
Message-ID <[email protected]>
Hi,

 

I'm testing dovecot 2.4 (2.4.1 on debian trixie) after migrating from 2.3.
When checking the quota-status service (quota-status -p postfix) over
telnet, the response for new mail over quota returns an empty text for
action.

 

Example:

   # telnet 127.0.0.1 10022

  Trying 127.0.0.1...

  Connected to 127.0.0.1.

  Escape character is '^]'.

  [email protected]

  size=13000000

 

  action=

 

  [email protected]

  size=12000000

 

  action=OK

 

  ^]

  telnet> quit

 

The manual says that an empty value for "quota_status_toolarge" defaults to
"quota_status_overquota". But when looking a the actual source code of
quote-status.c this does not seem to be the case - the return value is ,\0'
for action:

 

Code from line 231:

                                               switch (qret) {

                                               case QUOTA_ALLOC_RESULT_OK:
/* under quota */

                                                               value =
set->quota_status_success;

                                                               break;

                                               case
QUOTA_ALLOC_RESULT_OVER_MAXSIZE:

                                               /* even over maximum quota */

                                               case
QUOTA_ALLOC_RESULT_OVER_QUOTA_LIMIT:

                                                               value =
set->quota_status_toolarge;

                                                               if (value[0]
== '\0')

 
break;

                                                               /* fall
through */

                                               case
QUOTA_ALLOC_RESULT_OVER_QUOTA:

                                               case
QUOTA_ALLOC_RESULT_OVER_QUOTA_MAILBOX_LIMIT:

                                                               value =
set->quota_status_overquota;

                                                               break;

                                               case
QUOTA_ALLOC_RESULT_TEMPFAIL:

                                               case
QUOTA_ALLOC_RESULT_BACKGROUND_CALC:

                                                               ret = -1;

                                                               break;

                                               }

                                               value = t_strdup(value);

                                               settings_free(set);

 

if I'm reading this correctly the value of "value" stays at ,\0' when
quota_status_toolarge is equal ,\0'.

 

I can solve the problem by explicitly setting any value for
quota_status_toolarge in the configuration.

 

 

Regards, Othmar

_______________________________________________
dovecot mailing list -- [email protected]
To unsubscribe send an email to [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.