Re: mailbox referrals in 2.4.12

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/

[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux