Control: tags + moreinfo

Hi,

upstream team answered (see https://github.com/cyrusimap/cyrus-imapd/issues/5452#issuecomment-2908229941):

The two errors from sync_client confused me for a minute, but I think what happens here is:

It tries to connect to the replica via imap (sync_try_imap: yes is the default). The authentication fails with the bad protocol / cancel error. It wants to try again via csync, but can't work out how (probably there's no "csync" record in /etc/services), so this fails too. I think this is a red herring and the real problem is the first attempt having failed.

The errors on the other side show:

    imap service receives a valid login using GSSAPI
    something unknown goes wrong in SASL
    the session is dropped

The "decoding error:" on line 2 looks like it comes from prot_sasldecode(), which "Decode(s) data sent by a SASL security layer". Here it is again, trimmed: decoding error: generic failure; SASL(-1): generic failure: , closing connection. I think this means:

    generic failure is how sasl_errstring() described the issue
    SASL(-1): generic failure: is how sasl_errdetail() described the issue
, closing connection is imapd describing how it's handling the error. Looks like it was trying to parse a command from the client at the time the error happened. That might be the failed client connection attempt sending a Logout before closing its end.

I think something is going wrong in SASL here. I think it looks like this:

C: tries to login
S: login succeeds, sends success response
C: fails to parse the success response due to SASL failure, decides the login failed
C: sends logout
S: fails to parse the logout due to SASL failure, drops the connection

The other log message, "which for some reason does not go to the default log", isn't from cyrus-imapd because it's in the wrong place. I guess it's probably from SASL, describing the problem it encountered. It's hard to be certain since the timestamp is completely unrelated to the other log lines, but I suppose the reporter sees a lot of this error and just picked one as an example, rather than trying to correlate it with the other log lines.

I don't know much about SASL nor GSSAPI, but it looks like there's been a few changes in cyrus-sasl related to GSSAPI over the last few years. Maybe something changed in there.

Does the problem still occur if they use something other than GSSAPI?

Reply via email to