View Issue Details

IDProjectCategoryView StatusLast Update
0006256SOGoBackend Generalpublic2026-10-16 09:56
Reporterjdime Assigned Toqhivert  
PrioritynormalSeveritycrashReproducibilityalways
Status feedbackResolutionopen 
Summary0006256: SOGO doesn't start with "tlsVerifyMode=None"
Description

After updating to 5.12.12 , I had issues with LDAP due to a self signed cert but attempting to add "?tlsVerifyMode=None;" as indicated in the News entry seems to prevent SOGO from starting up. Nothing was logged in the SOGO log either. I was able to resolve this by adding the cert as trusted on the server. Is there some issue preventing this tlsVerifyMode from working properly as described?

Steps To Reproduce

Modify ldaps entry to format as shown in News article:

hostname = ldaps://hostname:636?tlsVerifyMode=None;

TagsNo tags attached.

Activities

qhivert

qhivert

2026-10-14 07:21

administrator   ~0018576

Hello,
No tlsVerifyMode=None should be enough.
Could you show me your SOGoUserSources block in your sogo.conf ? (mind the password in it)

Could you also add LDAPDebugEnabled = YES; and try (without your cert ibeing trusted) and show me the log ?

jdime

jdime

2026-10-15 00:07

reporter   ~0018577

SOGoUserSources = (
{
type = ldap;
CNFieldName = displayName;
UIDFieldName = cn;
IDFieldName = cn; // first field of the DN for direct binds
bindFields = (cn, mail); // array of fields to use for indirect binds
baseDN = "dc=company,dc=com";
bindDN = "cn=sogo,ou=systemaccounts,dc=company,dc=com";
bindPassword = "REDACTED;
canAuthenticate = YES;
displayName = "Address Book";
hostname = ldaps://hostname.com:636?tlsVerifyMode=None;
/ hostname = ldap://hostname.com:389; /
id = company;
isAddressBook = YES;
},

I was seeing the following error:

2026-10-14 20:00:02.601 sogod[217599:217599] File NSDictionary.m: 671. In -[NSDictionary initWithContentsOfFile:] Contents of file '/etc/sogo/sogo.conf' does not contain a dictionary
<0x0x55fed9b723f0[SOGoStartupLogger]> Cannot read configuration from '/etc/sogo/sogo.conf'. Aborting

The only change besides a working config and this is adding "?tlsVerifyMode=None"

jdime

jdime

2026-10-15 00:09

reporter   ~0018578

The above post filtered out the asterisks but the second hostname in the block is commented out

jdime

jdime

2026-10-15 00:23

reporter   ~0018579

Adding quotes seems to fix it so guessing it didn't like the special characters without quotes.

hostname = "ldaps://hostname.com:636?tlsVerifyMode=None";

jordi

jordi

2026-10-16 08:10

reporter   ~0018580

For me, adding the quotes moved from:

REASON:operation bind failed: Can't contact LDAP server (0xFFFFFFFF)&quot;

to

Using ldap_initialize for LDAP URL: ldaps://ldap.company.com:636&tlsVerifyMode=None
ERROR: ldap_initialize: Bad parameter to an ldap routine

My only diff to the config:

diff --git a/sogo/sogo.conf b/sogo/sogo.conf
index 2cac41c..532f342 100644
--- a/sogo/sogo.conf
+++ b/sogo/sogo.conf
@@ -62,7 +62,7 @@
         bindFields= (mail,uid);
         // bindPassword = secret;
         canAuthenticate = YES;
-        hostname = ldaps://ldap.company.com;
+        hostname = &quot;ldaps://ldap.company.com:636&tlsVerifyMode=None&quot;;
         id = ldaplocalgroups;
         displayName = &quot;Groups&quot;;
         isAddressBook = YES;
@@ -83,7 +83,7 @@
         // bindPassword = secret;
         bindFields= (mail,uid);
        canAuthenticate = YES;
-        hostname = ldaps://ldap.company.com;
+        hostname = &quot;ldaps://ldap.company.com:636&tlsVerifyMode=None&quot;;
        bindAsCurrentUser = YES;
         userPasswordAlgorithm = ssha;
        id = ldaplocal;
qhivert

qhivert

2026-10-16 08:28

administrator   ~0018581

You miss the ? to separate the uri from the query

ldaps://ldap.company.com:636?tlsVerifyMode=None

not

ldaps://ldap.company.com:636&tlsVerifyMode=None

jordi

jordi

2026-10-16 08:48

reporter   ~0018582

Heh, I was about to reply with that, as I just found it myself. Sorry for the noise.

jordi

jordi

2026-10-16 09:28

reporter   ~0018583

What is still an issue is the need for quotes, moreover when the announcement had an example without them.

qhivert

qhivert

2026-10-16 09:56

administrator   ~0018584

I've updated the news -> https://www.sogo.nu/news/2026/sogo-v51212-released.html

Issue History

Date Modified Username Field Change
2026-10-13 17:57 jdime New Issue
2026-10-14 07:21 qhivert Note Added: 0018576
2026-10-14 07:21 qhivert Assigned To => qhivert
2026-10-14 07:21 qhivert Status new => feedback
2026-10-15 00:07 jdime Note Added: 0018577
2026-10-15 00:07 jdime Status feedback => assigned
2026-10-15 00:09 jdime Note Added: 0018578
2026-10-15 00:23 jdime Note Added: 0018579
2026-10-16 08:10 jordi Note Added: 0018580
2026-10-16 08:28 qhivert Note Added: 0018581
2026-10-16 08:28 qhivert Status assigned => feedback
2026-10-16 08:48 jordi Note Added: 0018582
2026-10-16 09:28 jordi Note Added: 0018583
2026-10-16 09:56 qhivert Note Added: 0018584