GSSAPI Murder authentication and "The context has expired" on long proxyd sessions

Paul M Fleming pfleming at siumed.edu
Thu Sep 13 10:41:52 EDT 2007


below

On 9/12/2007 8:54 AM, Nik Conwell wrote:

> 
> On Sep 11, 2007, at 3:00 PM, Paul M Fleming wrote:
> 
>> I had the same problems. if you google for this you'll find a  
>> discussion regarding how SASL context expires should be handled.  
>> Heimdal allows expired contexts to be used after expiration. MIT  does 
>> not.
> 
> 
> Thanks.  I had seen your posting http://cyrusimap.web.cmu.edu/archive/ 
> message.php?mailbox=archive.info-cyrus&msg=38716 but saw no responses  
> so I wanted to bring it up again.
> 
> I just did some more googling on sasl gssapi context expire and that  
> turned up some more good stuff.  Thanks.
> 
>> 2&3) My opinion is this behavior is broken in SASL unfortunately  I'm 
>> not sure if it can be "fixed" without major changes to the SASL  
>> library. I know the openldap list discussed work arounds to deal  with 
>> an expired context. Lowering the client timeout levels in imap  can 
>> also help but you still get deadlocks between front and back  ends 
>> which users notice a a client connection lock up. I did not  attempt 
>> to change the code for SASL or IMAP, but handling a  "context expired" 
>> event as a fatal error makes sense when running  MIT kerberos. My 
>> guess is CMU doesn't have this issue because they  use Heimdal.
>>
>> My solution was to change the keys involved in murder to have a  
>> 25hour max life and change the KDC to allow 25h tickets. Then  instead 
>> of a period event in cyrus.conf use an at event to renew  the ticket 
>> at 2:00AM when users are less likely to notice. The  Cyrus timeouts 
>> kick in before start of business and most clients  (Netscape, 
>> Thunderbird,etc) reconnect  automatically and the user  doesn't notice 
>> a thing, but you still have to deal with the log  messages. This 
>> solution solved the deadlock issues for my clients.
> 
> 
> Interesting about the cyrus timeouts.  The clients I'm seeing this  
> problem with (pine and Outlook) are typically checking for mail every  
> couple of minutes and so the session never times out.

the client to front-end connection won't timeout but once the FE-BE 
connection times out due to a context expiration the connection to the 
client will also be closed.

> 
> Just curious - why didn't you decide to go with some other auth  scheme 
> instead?  (Having passwords embedded in config files doesn't  appeal to 
> me though.)

laziness - our RPM version of SASL has sasldb support disabled because 
we use kerberos. It was easier to "fix" the context expiration issue via 
a reconfig than to recompile and retest my entire murder cluster not to 
mention my openldap & sendmail installs which also use SASL. I'm also 
using a custom AUTH mech for cyrus that uses regular expressions to 
match kerberos prinipals so that would have required work too..

plus I really dislike passwords in config files.

> 
> For the list in general - what are you all using for the Murder  
> authentication?  Heimdal?  Certs?  Passwords in configs?
> 
> -nik
> 
> 


More information about the Info-cyrus mailing list