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