Hello

I have a sogo running with default configuration. 

ii  sogo                                2.2.8-1                        a modern 
and scalable groupware
ii  dovecot-common                      1:1.2.15-7                     secure 
mail server that supports mbox and maildir mailboxes
ii  dovecot-imapd                       1:1.2.15-7                     secure 
IMAP server that supports mbox and maildir mailboxes

This  setup is kinda messy because dovecot authenticates separately from LDAP 
(doesnt use mysql backend) and sogo by default authenticates from mysql.
I can login to the sogo server without any problem but when I would define any 
filter rule I get "Service Temporarily Unavailable" message.

What happens in the background is:

...
Nov 18 15:16:01 sogod [25323]: <0x0x7f0d0d10bf90[NGLdapConnection]> Using 
ldap_init (deprecated) for LDAP host:port localhost:389
2014-11-18 15:16:01.872 sogod[25323] -[NGLdapConnection 
_searchAtBaseDN:qualifier:attributes:scope:]: search at base '' filter 
'(objectClass=*)' for attrs 'subschemaSubentry'
2014-11-18 15:16:01.872 sogod[25323] -[NGLdapConnection 
_searchAtBaseDN:qualifier:attributes:scope:]: search at base 'cn=Subschema' 
filter '(objectClass=*)' for attrs 'objectclasses'
2014-11-18 15:16:01.875 sogod[25323] -[NGLdapConnection 
_searchAtBaseDN:qualifier:attributes:scope:]: search at base 
'ou=users,dc=lan,dc=mycorp,dc=com' filter '(|(uid=info)(mail=info))' for attrs 
'*'
2014-11-18 15:16:01.876 sogod[25323] failure. Attempting with a renewed 
password (no authname supported)
Nov 18 15:16:01 sogod [25323]: <0x0x7f0d0d19f640[NGSieveClient]> WARNING: got 
exception try to restore connection: <NGSocketShutdownDuringWriteException: 
0x7f0d0d1b02d0> NAME:NGSocketShutdownDuringWriteException REASON:the socket was 
shutdown INFO:{errno = 107; error = "Transport endpoint is not connected"; 
stream = "{object = <NGActiveSocket[0x0x7f0d0d1a13a0]: mode=rw 
address=<0x0x7f0d0d1a1870[NGInternetSocketAddress]: host=localhost 
port=43428>>;}"; }

Why is it trying to touch the ldap with default configuration (nothing enabled) 
when I successfully logged in through mysql authentication? 

Anyway let's assume that for the SieveServer it have to use ldap as auth 
backend so I configured that with:

  SOGoSieveServer = "sieve://localhost:2000";
  SOGoVacationEnabled = YES;
  SOGoSieveScriptsEnabled = YES;


   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=lan,dc=mycorp,dc=com";
        bindDN = "cn=admin,dc=lan,dc=mycorp,dc=com";
        bindPassword = qwerty;
        canAuthenticate = YES;
        displayName = "Email Users";
        hostname = ldap://127.0.0.1:389;
        id = public;
        isAddressBook = YES;
  }
 );

After restarting sogo and looking at the log files what happens when I try to 
create new filters I get still see 
  2014-11-20 10:42:50.631 sogod[28465] failure. Attempting with a renewed 
password (no authname supported)

But for the second time I can see it trying to connect to the local sieve 
server finally:


S[0x7fd2adeab1f0]: "IMPLEMENTATION" "Cyrus timsieved v2.2.13"
S[0x7fd2adeab1f0]: "SIEVE" "fileinto reject envelope encoded-character vacation 
subaddress comparator-i;ascii-numeric relational regex imap4flags copy include 
variables body enotify environment mailbox date"
S[0x7fd2adeab1f0]: "SASL" "PLAIN LOGIN"
S[0x7fd2adeab1f0]: "STARTTLS"
S[0x7fd2adeab1f0]: "NOTIFY" "mailto"
S[0x7fd2adeab1f0]: "VERSION" "1.0"
S[0x7fd2adeab1f0]: OK "Ready."
C: AUTHENTICATE "PLAIN" {%d+}
LOGIN:PASSWORD

C: AUTHENTICATE "PLAIN" {%d+}
LOGIN:PASSWORD

S[0x7fd2adeb89a0]: "IMPLEMENTATION" "Cyrus timsieved v2.2.13"
S[0x7fd2adeb89a0]: "SIEVE" "fileinto reject envelope encoded-character vacation 
subaddress comparator-i;ascii-numeric relational regex imap4flags copy include 
variables body enotify environment mailbox date"
S[0x7fd2adeb89a0]: "SASL" "PLAIN LOGIN"
S[0x7fd2adeb89a0]: "STARTTLS"
S[0x7fd2adeb89a0]: "NOTIFY" "mailto"
S[0x7fd2adeb89a0]: "VERSION" "1.0"
S[0x7fd2adeb89a0]: OK "Ready."
C: AUTHENTICATE "PLAIN" {%d+}
LOGIN:PASSWORD

C: AUTHENTICATE "PLAIN" {%d+}
LOGIN:PASSWORD

28 sogod[28465] <MySQL4Channel[0x0x7f3ff1d1b330] connection=0x0x7f3ff166ad10>   
query has no results.
2014-11-20 10:42:50.628 sogod[28465] <MySQL4Channel[0x0x7f3ff1d1b330] 
connection=0x0x7f3ff166ad10> SQL: COMMIT;
2014-11-20 10:42:50.628 sogod[28465] <MySQL4Channel[0x0x7f3ff1d1b330] 
connection=0x0x7f3ff166ad10>   query has no results.
Nov 20 10:42:50 sogod [28465]: <0x0x7f3ff1bf6680[NGLdapConnection]> Using 
ldap_init (deprecated) for LDAP host:port localhost:389
2014-11-20 10:42:50.629 sogod[28465] -[NGLdapConnection 
_searchAtBaseDN:qualifier:attributes:scope:]: search at base 
'ou=users,dc=lan,dc=mycorp,dc=com' filter '(|(uid=info)(mail=info))' for attrs 
'*'
2014-11-20 10:42:50.631 sogod[28465] failure. Attempting with a renewed 
password (no authname supported)
Nov 20 10:42:50 sogod [28465]: <0x0x7f3ff1d41720[NGSieveClient]> WARNING: got 
exception try to restore connection: <NGSocketShutdownDuringWriteException: 
0x7f3ff1d5ea80> NAME:NGSocketShutdownDuringWriteException REASON:the socket was 
shutdown INFO:{errno = 107; error = "Transport endpoint is not connected"; 
stream = "{object = <NGActiveSocket[0x0x7f3ff1d408b0]: mode=rw 
address=<0x0x7f3ff1d416b0[NGInternetSocketAddress]: host=localhost 
port=48244>>;}"; }
Nov 20 10:42:50 sogod [28465]: <0x0x7f3ff1d41720[NGSieveClient]> WARNING: got 
exception try to restore connection: <NGSocketShutdownDuringWriteException: 
0x7f3ff1d3ebf0> NAME:NGSocketShutdownDuringWriteException REASON:the socket was 
shutdown INFO:{errno = 107; error = "Transport endpoint is not connected"; 
stream = "{object = <NGActiveSocket[0x0x7f3ff1d49740]: mode=rw 
address=<0x0x7f3ff1d150c0[NGInternetSocketAddress]: host=localhost 
port=48245>>;}"; }
Nov 20 10:42:50 sogod [28465]: <0x0x7f3ff1d41720[NGSieveClient]> WARNING: got 
exception try to restore connection: <NGSocketShutdownDuringWriteException: 
0x7f3ff1e60b50> NAME:NGSocketShutdownDuringWriteException REASON:the socket was 
shutdown INFO:{errno = 107; error = "Transport endpoint is not connected"; 
stream = "{object = <NGActiveSocket[0x0x7f3ff1cf5bc0]: mode=rw 
address=<0x0x7f3ff1ce2be0[NGInternetSocketAddress]: host=localhost 
port=48246>>;}"; }
Nov 20 10:42:50 sogod [28465]: <0x0x7f3ff1d41720[NGSieveClient]> reconnect to 
<0x0x7f3ff1d41610[NGInternetSocketAddress]: host=localhost port=2000>, sleeping 
8 seconds ...
Nov 20 10:42:58 sogod [28465]: <0x0x7f3ff1d41720[NGSieveClient]> reconnect ...
2014-11-20 10:42:58.634 sogod[28465] Could not login 'info' on Sieve server: 
<0x0x7f3ff1d41720[NGSieveClient]: socket=<NGActiveSocket[0x0x7f3ff1d47fd0]: 
mode=rw address=<0x0x7f3ff1cd1a10[NGInternetSocketAddress]: host=localhost 
port=48247> connectedTo=<0x0x7f3ff1d41610[NGInternetSocketAddress]: 
host=localhost port=2000>>>: {RawResponse = "{}"; result = 0; }
Nov 20 10:42:58 sogod [28465]: |SOGo| request took 8.037222 seconds to execute


So here again it tries to pull something from the SQL first then from the ldap 
then says:

sogod[28465] Could not login 'info' on Sieve server:

I have another working setup where both Sogo and Dovecot are using a shared 
mysql database and that's working just fine. Here the problem is that they use 
2 separate backends. 

Is there a way to make a simple workaround here and disable the authentication 
on the dovecot-sieve as it is? It's all on localhost and I just need it to be 
working as soon as possible.

If I must choose between the 2 backends for just the sieve sign on I would 
prefer the LDAP (because it's not only used by dovecot on that machine but 
samba3 as well).


Thanks
-- 
[email protected]
https://inverse.ca/sogo/lists

Reply via email to