isync: Disable the XOAUTH2 support by default as it caused regressions

The XOAUTH2 support was recently added in 47eda8e00a but apparently it
causes regressions when using other SASL methods.
An example error message:
```
IMAP command 'AUTHENTICATE XOAUTH2 SOMEHASH=' returned an error: NO [AUTHENTICATIONFAILED] Invalid credentials (Failure)
```

The cause seems to be that overriding `SASL_PATH` drops all available
SASL mechanisms from `cyrus_sasl`, so only `XOAUTH2` (and `EXTERNAL`)
will be left. See [0] and the following comments for more details.

We'd need to set `SASL_PATH` to a combination/merge of
`${cyrus_sasl}/lib/sasl2` and `${cyrus-sasl-xoauth2}/lib/sasl2`.
Anyway, it seems best to disable the XOAUTH2 support by default due to
the two other concerns mentioned in the comment.

[0]: https://github.com/NixOS/nixpkgs/pull/235148#issuecomment-1575432154

Reported-by: Dominik Schrempf <dominik.schrempf@gmail.com>
This commit is contained in:
Michael Weiss 2023-06-04 21:47:26 +02:00
parent 8d08c93394
commit fe02c5ee1a
No known key found for this signature in database
GPG key ID: 5BE487C4D4771D83

View file

@ -1,7 +1,9 @@
{ lib, stdenv, fetchurl, pkg-config, perl { lib, stdenv, fetchurl, pkg-config, perl
, openssl, db, cyrus_sasl, zlib , openssl, db, cyrus_sasl, zlib
, Security , Security
, withCyrusSaslXoauth2 ? true, cyrus-sasl-xoauth2, makeWrapper # Disabled by default as XOAUTH2 is an "OBSOLETE" SASL mechanism and this relies
# on a package that isn't really maintained anymore:
, withCyrusSaslXoauth2 ? false, cyrus-sasl-xoauth2, makeWrapper
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {