2.3 to 2.4 Murder upgrade

Andrew Morgan morgan at orst.edu
Thu Dec 8 13:00:26 EST 2011


On Tue, 6 Dec 2011, Dave McMurtrie wrote:

> On 12/06/2011 05:48 PM, Andrew Morgan wrote:
>> On Fri, 14 Oct 2011, Dave McMurtrie wrote:
> ...snipped...
>>>> Upgrading from 2.4.5
>>>> 
>>>> New config option: suppress_capabilities, which takes a space
>>>> separated list of capabilities which will NOT be given in any imap
>>>> capability response. This can be used on frontends to not display
>>>> capabilities that older backends don't have, so clients don't get
>>>> confused
>>>> 
>>>> 
>>>> This leads me to believe that I should upgrade the backends to 2.4
>>>> first.
>>>> Is that true? Has anyone done a Murder upgrade from 2.3 to 2.4 and can
>>>> tell me what order they upgraded the hosts?
>>>> 
>>> 
>>> Yes, you'll want to upgrade the frontends first and suppress the new
>>> capabilities on the frontends that the old backends aren't yet aware of.
>
> I should have mentioned the reason why we did the frontends first for the 
> benefit of anyone else who is searching for this information.  You need to do 
> the frontends first because as of 2.4, the backends will (correctly) return 
> the NoSelect flag for any remote folders that you're subscribed to in an LSUB 
> response.  This is most common with shared folders, where the shared folder 
> may not be on the same backend as the user's Inbox.  The 2.4 frontends will 
> know to scrub the NoSelect flag in this case.
>
>> Hmmm, how do I know which capabilities to suppress? Should I just
>> compare the CAPABILITY response from a 2.3 and a 2.4 server?
>
> We used:
>
> suppress_capabilities: ESEARCH QRESYNC WITHIN
>
> but your idea is perfectly cromulent, also.

I compared the CAPABILITY response between 2.3 and 2.4 frontends after TLS 
was negotiated and found the following differences:

> ENABLE
> ESEARCH
< IMAP4
> LIST-EXTENDED
> QRESYNC
> SORT=DISPLAY
> URLAUTH=BINARY
> WITHIN
> XLIST

So, I tried adding all the new 2.4 capabilities to the 
suppress_capabilities setting.  I found that if I added URLAUTH=BINARY to 
suppress_capabilities, I was unable to establish an IMAP connection to the 
frontend.  imtest didn't print any output, and proxyd on the frontend was 
spinning at 100% cpu.  If I remove URLAUTH=BINARY from 
suppress_capabilities, leaving all the other new capabilities suppressed, 
it works fine.  I'm not sure if this is a bug...  Let me know if I should 
file it as a bug.

So that leaves the following capabilities suppressed:

suppress_capabilities: ESEARCH LIST-EXTENDED QRESYNC WITHIN XLIST ENABLE SORT=DISPLAY

The imapd.conf manpage says I only need:

suppress_capabilities: ESEARCH QRESYNC WITHIN XLIST LIST-EXTENDED

if I have 2.3 murder backends.  Is that correct, or should I suppress the 
new ENABLE and SORT=DISPLAY too?

Thanks,
 	Andy


More information about the Info-cyrus mailing list