I just upgraded from sogo 4.3 to sogo 5.4 (latest nightly 5.4.0.20220106-1), and after the upgrade the SOGo webinterface stopped working. I get "Request Failed" in the webinterface, and in /var/log/sogo.log I see the following:
host=127.0.0.1, user=sogo, pwd=yes
url="">
base=(null)
base-class=(null))
= <0x0x558177632fc0[NGImap4Client]: login=sogo(pwd) address=<0x0x5581771bc730[NGInternetSocketAddress]: host=127.0.0.1 port=143>>
Jan 06 13:24:17 sogod [19461]: <0x5581773bb040[SOGoMailAccount]:0> renewing imap4 password
Jan 06 13:24:17 sogod [19461]: [ERROR] <0x0x55817727ee20[NGImap4ConnectionManager]> IMAP4 login failed:
host=127.0.0.1, user=sogo, pwd=yes
url="">
base=(null)
base-class=(null))
= <0x0x5581774a6100[NGImap4Client]: login=sogo(pwd) address=<0x0x5581773e85f0[NGInternetSocketAddress]: host=127.0.0.1 port=143>>
Jan 06 13:24:17 sogod [19461]: [ERROR] <0x5581773bb040[SOGoMailAccount]:0> Could not connect IMAP4
Jan 06 13:24:17 sogod [19461]: 10.11.1.51 "POST /SOGo/so/sogo/Mail/0/folderINBOX/changes HTTP/1.1" 500 36/126 0.005 - - 0 - 16
Jan 06 13:24:17 sogod [19461]: 10.11.1.51 "GET /SOGo/so/sogo/Calendar/eventsblocks?ed=20220108&sd=20220102&view=weekview HTTP/1.1" 500 36/0 0.012 - - 0 - 16
I know about the change to add
"tlsVerifyMode=allowInsecureLocalhost" to the IMAP/SMTP/sieve
connection string: however, I do not use IMAP, SMTP, or Sieve at
all. My usersources are from an LDAP server, and for SMTP I use
sendmail. I could authenticate to my imap server, but the
username, and password would be different to the usernames and
passwords on the LDAP server.
Calendar, contacts work fine from Thunderbird/roundcube as before (I can add/remove/edit calendar events, send out invites, etc). However, the webinterface is now completely broken. I does not show anything at all in the calendar view. The Contacts view works, but does not show/find any contacts (although they work from Thunderbird/roundcube). Also the administrative interface is broken: it doesn't find any users anymore. I still can login, so the authentification is still working via LDAP.
Is there a way to tell SOGo to ignore IMAP, and not query it, but instead use LDAP just as it had been used in 4.3?
This is my /etc/sogo/sogo.conf:
{
/* ********************* Main SOGo configuration file
**********************
*
*
* Since the content of this file is a dictionary in OpenStep
plist format, *
* the curly braces enclosing the body of the configuration are
mandatory. *
* See the Installation Guide for details on the
format. *
*
*
* C and C++ style comments are
supported. *
*
*
* This example configuration contains only a subset of all
available *
* configuration parameters. Please see the installation guide
more details. *
*
*
* ~sogo/GNUstep/Defaults/.GNUstepDefaults has precedence over
this file, *
* make sure to move it away to avoid unwanted parameter
overrides. *
*
*
*
**************************************************************************/
/* Database configuration (mysql:// or postgresql://) */
SOGoProfileURL =
"postgresql://sogo:XXX@localhost:5432/sogo/sogo_user_profile";
OCSFolderInfoURL =
"postgresql://sogo:XXX@localhost:5432/sogo/sogo_folder_info";
OCSSessionsFolderURL =
"postgresql://sogo:XXX@localhost:5432/sogo/sogo_sessions_folder";
/* Mail */
//SOGoDraftsFolderName = Drafts;
//SOGoSentFolderName = Sent;
//SOGoTrashFolderName = Trash;
//SOGoIMAPServer = localhost;
//SOGoIMAPServer =
"imap://127.0.0.1:143/?tls=YES&tlsVerifyMode=allowInsecureLocalhost";
//sogo5
//SOGoSieveServer = sieve://127.0.0.1:4190;
//SOGoSMTPServer = smtp.MYDOMAIN.org:587;
//SOGoSMTPServer =
"smtp://127.0.0.1:587/?tls=YES&tlsVerifyMode=allowInsecureLocalhost";
//sogo5
//SOGoMailDomain = acme.com;
SOGoMailDomain = MYDOMAIN.org;
SOGoMailingMechanism = sendmail;
//SOGoForceExternalLoginWithEmail = NO;
//SOGoMailSpoolPath = /var/spool/sogo;
//NGImap4ConnectionStringSeparator = "/";
/* Notifications */
SOGoAppointmentSendEMailNotifications = YES;
//SOGoACLsSendEMailNotifications = NO;
//SOGoFoldersSendEMailNotifications = NO;
/* Authentication */
//SOGoPasswordChangeEnabled = YES;
/* LDAP authentication example */
//SOGoUserSources = (
// {
// type = ldap;
// CNFieldName = cn;
// UIDFieldName = uid;
// IDFieldName = uid; // first field of the DN for direct
binds
// bindFields = (uid, mail); // array of fields to use for
indirect binds
// baseDN = "ou=users,dc=acme,dc=com";
// bindDN = "uid=sogo,ou=users,dc=acme,dc=com";
// bindPassword = qwerty;
// canAuthenticate = YES;
// displayName = "Shared Addresses";
// hostname = ldap://127.0.0.1:389;
// id = public;
// isAddressBook = YES;
// }
//);
/* LDAP AD/Samba4 example */
//SOGoUserSources = (
// {
// type = ldap;
// CNFieldName = cn;
// UIDFieldName = sAMAccountName;
// baseDN = "CN=users,dc=domain,dc=tld";
// bindDN = "CN=sogo,CN=users,DC=domain,DC=tld";
// bindFields = (sAMAccountName, mail);
// bindPassword = password;
// canAuthenticate = YES;
// displayName = "Public";
// hostname = ldap://127.0.0.1:389;
// filter = "mail = '*'";
// id = directory;
// isAddressBook = YES;
// }
//);
SOGoUserSources = (
{
type = ldap;
CNFieldName = cn;
UIDFieldName = sAMAccountName;
IDFieldName = cn;
baseDN = "CN=Users,dc=ad,dc=MYDOMAIN,dc=org";
bindDN = "CN=auth_sogo,CN=Users,DC=ad,DC=MYDOMAIN,DC=org";
bindFields = (sAMAccountName);
bindPassword = "XXXXX";
canAuthenticate = YES;
displayName = "XXX XX";
hostname = "ldaps://dc1.MYDOMAIN.org:636
ldaps://dc2.MYDOMAIN.org:636";
filter = "memberOf =
'CN=access_sogo,CN=Users,DC=ad,DC=MYDOMAIN,DC=org' AND
UserAccountControl:1.2.840.113556.1.4.803: <> 2";
id = directory;
//isAddressBook = YES;
isAddressBook = NO;
}
);
/* SQL authentication example */
/* These database columns MUST be present in the view/table:
* c_uid - will be used for authentication - it's the
username or usern...@domain.tld)
* c_name - which can be identical to c_uid - will be used
to uniquely identify entries
* c_password - password of the user, plain-text, md5 or sha
encoded for now
* c_cn - the user's common name - such as "John Doe"
* mail - the user's mail address
* See the installation guide for more details
*/
//SOGoUserSources =
// (
// {
// type = sql;
// id = directory;
// viewURL =
"postgresql://sogo:sogo@127.0.0.1:5432/sogo/sogo_view";
// canAuthenticate = YES;
// isAddressBook = YES;
// userPasswordAlgorithm = md5;
// }
// );
/* Web Interface */
//SOGoPageTitle = SOGo;
SOGoLoginModule = Calendar;
SOGoFreeBusyDefaultInterval = (7, 62);
//SOGoVacationEnabled = YES;
//SOGoForwardEnabled = YES;
//SOGoSieveScriptsEnabled = YES;
//SOGoMailAuxiliaryUserAccountsEnabled = YES;
//SOGoTrustProxyAuthentication = NO;
//SOGoXSRFValidationEnabled = YES;
/* General - SOGoTimeZone *MUST* be defined */
//SOGoLanguage = English;
SOGoTimeZone = Europe/Berlin;
//SOGoCalendarDefaultRoles = (
// PublicDAndTViewer,
// ConfidentialDAndTViewer
//);
//SOGoSuperUsernames = (sogo1, sogo2); // This is an array -
keep the parens!
WOWorkersCount = 10;
SOGoSuperUsernames = (XXX);
//SxVMemLimit = 384;
//WOPidFile = "/var/run/sogo/sogo.pid";
//SOGoMemcachedHost = "/var/run/memcached.sock";
/* Debug */
//SOGoDebugRequests = YES;
//SoDebugBaseURL = YES;
//ImapDebugEnabled = YES;
LDAPDebugEnabled = YES;
//PGDebugEnabled = YES;
//MySQL4DebugEnabled = YES;
//SOGoUIxDebugEnabled = YES;
//WODontZipResponse = YES;
//WOLogFile = /var/log/sogo/sogo.log;
}
users@sogo.nu
https://inverse.ca/sogo/lists