On Wed, 14 Dec 2011, Wesley Craig wrote:
On 13 Dec 2011, at 19:15, Andrew Morgan wrote:
Nothing changes the value of disable_referrals that I can see. It is
initialized to 0.
disable_referrals devolves to domain_from_ip in canonify_userid() in
global.c. I gather it's set when virtdomains is set "on". Presumably
this is necessary because when virtdomains is "on", the domain is
determined by the IP of the interface -- if you were to refer that
connection, the original interface address would be lost. No idea if
anyone is using that code...
In that case, I should keep the original behavior in cmd_list. Here is an
updated patch that still honors disable_referrals when setting
supports_referrals.
Andy
--- imap/imapd.c.orig 2011-10-04 12:53:03.000000000 -0700
+++ imap/imapd.c 2011-12-14 10:32:54.000000000 -0800
@@ -2819,7 +2819,7 @@
if (capa_is_disabled(base_capabilities[i].str))
continue;
/* Don't show "MAILBOX-REFERRALS" if disabled by config */
- if (disable_referrals &&
+ if (config_getswitch(IMAPOPT_PROXYD_DISABLE_MAILBOX_REFERRALS) &&
!strcmp(base_capabilities[i].str, "MAILBOX-REFERRALS"))
continue;
/* Don't show if they're not shown at this level of login */
@@ -5979,7 +5979,11 @@
clock_t start = clock();
char mytime[100];
- if (listargs->sel & LIST_SEL_REMOTE) supports_referrals = !disable_referrals;
+ if (listargs->sel & LIST_SEL_REMOTE) {
+ if (!config_getswitch(IMAPOPT_PROXYD_DISABLE_MAILBOX_REFERRALS)) {
+ supports_referrals = !disable_referrals;
+ }
+ }
list_callback_calls = 0;
----
Cyrus Home Page: http://www.cyrusimap.org/
List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/