Re: [SOGo] Multi domain sql configuration and strange behavior

2016-06-25 Thread Vincent Sneyers - ITGreen

Hi,

Just to give an update for today:
1) I've downgraded SOGo from V3 to V2, doesn't changed anything.
2) I'm not having the "ERROR(-[NSNull(misc) forwardInvocation:]): called 
selector objectForKey: on NSNull !" error in log
3) I've inverted Domain2 & Domain3 in the configuration and I'm not 
having problems on domain3 anymore. Domain2 is suffering of the problem 
instead.
4) With the Mysql debugging, I can see that sometimes, SOGo try to query 
the password with the username with the domain excluded:


2016-06-25 13:01:22.733 sogod[10142]  SQL: SELECT c_password FROM sogo_users 
WHERE c_name = 'tonio';
2016-06-25 13:01:22.736 sogod[10142]    query has results, entering fetch-mode.
Jun 25 13:01:22 sogod [10142]: SOGoRootPage Login from '109.134.5.125' 
for user 'to...@domain2.be' might not have worked - password policy: 
65535  grace: -1  expire: -1  bound: 0
Jun 25 13:01:22 sogod [10142]: 109.134.5.125 "POST /SOGo/connect 
HTTP/1.1" 403 34/84 0.010 - - 0



At this moment I couldn't login for a few minutes. Is it linked?

Regards
Vincent


On 24/06/16 13:31, Vincent Sneyers (vinc...@itgreen.be) wrote:

Hi everybody,


I'm using Sogo for two month now and it' working well beside the multi 
domain which is making me crazy.
To explain it quickly, they are 3 domains hosted on the same server 
with a mysql backend.
The first domain two are able to login/logout. But after a few try, I 
can see in the address book that contact from an other domain is 
suggested.
The third (and also the fourth) are having more difficulties: after a 
few login/logout, I can't login anymore.


Even a sogo-tool restore doesn't seems to find the user back, after 
some times it may works again.

sogo-tool restore -f ALL . j...@domain3.org
<0x0x28eff00[SOGoCache]> Cache cleanup interval set every 300.00 
seconds

<0x0x28eff00[SOGoCache]> Using host(s) '127.0.0.1' as server(s)
2016-06-24 13:19:18.488 sogo-tool[2135] user 'j...@domain3.org' not found

Does anybody is having an idea? I've checked the sogo config many 
times, updated yesterday to version 3.1.3-1, disabled memcached, 
changed password for the users, i'm still stucked.


Here are the details:

Log detail after  a failed login

Jun 24 13:21:32 sogod [885]: 
<0x0x7ff004ab7d60[SOGoActiveSyncDispatcher]> Sleeping 25 seconds while 
detecting changes in Ping...
Jun 24 13:21:37 sogod [885]: 
<0x0x7ff004ab7d60[SOGoActiveSyncDispatcher]> Sleeping 20 seconds while 
detecting changes in Ping...
Jun 24 13:21:42 sogod [885]: 
<0x0x7ff004ab7d60[SOGoActiveSyncDispatcher]> Sleeping 15 seconds while 
detecting changes in Ping...
2016-06-24 13:21:44.996 sogod[886] ERROR(-[NSNull(misc) 
forwardInvocation:]): called selector objectForKey: on NSNull !
2016-06-24 13:21:44.997 sogod[886] ERROR(-[NSNull(misc) 
forwardInvocation:]): called selector objectForKey: on NSNull !
Jun 24 13:21:45 sogod [886]: SOGoRootPage Login from '109.134.5.125' 
for user 'j...@domain3.org' might not have worked - password policy: 
65535  grace: -1  expire: -1  boun$


Log detail after a failed login (different answer: login succesfully 
then bad password)
- 

2016-06-24 13:25:27.058 sogod[2337] ERROR(-[NSNull(misc) 
forwardInvocation:]): called selector objectForKey: on NSNull !
2016-06-24 13:25:27.059 sogod[2337] ERROR(-[NSNull(misc) 
forwardInvocation:]): called selector objectForKey: on NSNull !
2016-06-24 13:25:27.061 sogod[2337] ERROR(-[NSNull(misc) 
forwardInvocation:]): called selector setObject:forKey: on NSNull !
2016-06-24 13:25:27.061 sogod[2337]   didn't set return value for type 
'v'
Jun 24 13:25:27 sogod [2337]: SOGoRootPage successful login from 
'109.134.5.125' for user 'j...@domain3.org' - expire = -1  grace = -1
Jun 24 13:25:27 sogod [2337]: 109.134.5.125 "POST /SOGo/connect 
HTTP/1.1" 200 27/80 0.019 - - 0
2016-06-24 13:25:27.105 sogod[2337] ERROR(-[NSNull(misc) 
forwardInvocation:]): called selector objectForKey: on NSNull !
2016-06-24 13:25:27.107 sogod[2337] ERROR(-[NSNull(misc) 
forwardInvocation:]): called selector objectForKey: on NSNull !
Jun 24 13:25:27 sogod [2337]: <0x0x7fad9379a750[SOGoWebAuthenticator]> 
tried wrong password for user 'blablabla$
Jun 24 13:25:27 sogod [2337]: 109.134.5.125 "GET 
/SOGo/so/SOGo/j...@domain3.org HTTP/1.1" 200 7633/0 0.039 24599 68% 1M




Multidomain related config in the sogo.conf
--
   SOGoEnableDomainBasedUID = YES;

domains = {
   domain1.be = {
   SOGoMailDomain = domain1.be;
   SOGoDraftsFolderName = Drafts;
   SOGoJunkFolderName = Spam;
   SOGoUserSources = (
{
   canAuthenticate = YES;
   displayName = 

[SOGo] Multi domain sql configuration and strange behavior

2016-06-24 Thread Vincent Sneyers

Hi everybody,


I'm using Sogo for two month now and it' working well beside the multi 
domain which is making me crazy.
To explain it quickly, they are 3 domains hosted on the same server with 
a mysql backend.
The first domain two are able to login/logout. But after a few try, I 
can see in the address book that contact from an other domain is suggested.
The third (and also the fourth) are having more difficulties: after a 
few login/logout, I can't login anymore.


Even a sogo-tool restore doesn't seems to find the user back, after some 
times it may works again.

sogo-tool restore -f ALL . j...@domain3.org
<0x0x28eff00[SOGoCache]> Cache cleanup interval set every 300.00 seconds
<0x0x28eff00[SOGoCache]> Using host(s) '127.0.0.1' as server(s)
2016-06-24 13:19:18.488 sogo-tool[2135] user 'j...@domain3.org' not found

Does anybody is having an idea? I've checked the sogo config many times, 
updated yesterday to version 3.1.3-1, disabled memcached, changed 
password for the users, i'm still stucked.


Here are the details:

Log detail after  a failed login

Jun 24 13:21:32 sogod [885]: 
<0x0x7ff004ab7d60[SOGoActiveSyncDispatcher]> Sleeping 25 seconds while 
detecting changes in Ping...
Jun 24 13:21:37 sogod [885]: 
<0x0x7ff004ab7d60[SOGoActiveSyncDispatcher]> Sleeping 20 seconds while 
detecting changes in Ping...
Jun 24 13:21:42 sogod [885]: 
<0x0x7ff004ab7d60[SOGoActiveSyncDispatcher]> Sleeping 15 seconds while 
detecting changes in Ping...
2016-06-24 13:21:44.996 sogod[886] ERROR(-[NSNull(misc) 
forwardInvocation:]): called selector objectForKey: on NSNull !
2016-06-24 13:21:44.997 sogod[886] ERROR(-[NSNull(misc) 
forwardInvocation:]): called selector objectForKey: on NSNull !
Jun 24 13:21:45 sogod [886]: SOGoRootPage Login from '109.134.5.125' for 
user 'j...@domain3.org' might not have worked - password policy: 65535  
grace: -1  expire: -1  boun$


Log detail after a failed login (different answer: login succesfully 
then bad password)

-
2016-06-24 13:25:27.058 sogod[2337] ERROR(-[NSNull(misc) 
forwardInvocation:]): called selector objectForKey: on NSNull !
2016-06-24 13:25:27.059 sogod[2337] ERROR(-[NSNull(misc) 
forwardInvocation:]): called selector objectForKey: on NSNull !
2016-06-24 13:25:27.061 sogod[2337] ERROR(-[NSNull(misc) 
forwardInvocation:]): called selector setObject:forKey: on NSNull !

2016-06-24 13:25:27.061 sogod[2337]   didn't set return value for type 'v'
Jun 24 13:25:27 sogod [2337]: SOGoRootPage successful login from 
'109.134.5.125' for user 'j...@domain3.org' - expire = -1  grace = -1
Jun 24 13:25:27 sogod [2337]: 109.134.5.125 "POST /SOGo/connect 
HTTP/1.1" 200 27/80 0.019 - - 0
2016-06-24 13:25:27.105 sogod[2337] ERROR(-[NSNull(misc) 
forwardInvocation:]): called selector objectForKey: on NSNull !
2016-06-24 13:25:27.107 sogod[2337] ERROR(-[NSNull(misc) 
forwardInvocation:]): called selector objectForKey: on NSNull !
Jun 24 13:25:27 sogod [2337]: <0x0x7fad9379a750[SOGoWebAuthenticator]> 
tried wrong password for user 'blablabla$
Jun 24 13:25:27 sogod [2337]: 109.134.5.125 "GET 
/SOGo/so/SOGo/j...@domain3.org HTTP/1.1" 200 7633/0 0.039 24599 68% 1M




Multidomain related config in the sogo.conf
--
   SOGoEnableDomainBasedUID = YES;

domains = {
   domain1.be = {
   SOGoMailDomain = domain1.be;
   SOGoDraftsFolderName = Drafts;
   SOGoJunkFolderName = Spam;
   SOGoUserSources = (
{
   canAuthenticate = YES;
   displayName = "Utilisateurs domain1.be";
   id = users1;
   isAddressBook = YES;
   type = sql;
   userPasswordAlgorithm = sha512;
   LoginFieldNames = ( "c_name" );
   viewURL 
="mysql://sogo:password@127.0.0.1:3306/vimbadmin/sogo_users";

   IMAPLoginFieldName = "mail";
DomainFieldName = "domain";
}
);
   };
   domain2.be = {
   SOGoMailDomain = domain2.be;
   SOGoDraftsFolderName = Drafts;
   SOGoJunkFolderName = Spam;
   SOGoUserSources = (
   {
canAuthenticate = YES;
   displayName = "Utilisateurs domain2.be";
   id = users2;
  isAddressBook = YES;
   type = sql;
   userPasswordAlgorithm = sha512;
   LoginFieldNames = ( "c_name" );
   viewURL 
="mysql://sogo:password@127.0.0.1:3306/vimbadmin/sogo_users";

   IMAPLoginFieldName = "mail";
   DomainFieldName =