View Issue Details

IDProjectCategoryView StatusLast Update
0003630SOGowith SOGopublic2016-05-11 16:33
Reporterserdar Assigned Toludovic  
PriorityhighSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Platform[Server] LinuxOSDebianOS Version8 (Jessie)
Fixed in Version3.1.0 
Summary0003630: Error synchronization address book
Description

Hello everyone !

Since I updated Sogo to the version 3.0, I can't synchronise anymore the public address book. I have a message when I try : "no change".
However, the personal address book works.

On the web interface of Sogo, in address book, when I choose someone to show information about him, I have a error message : "Proxy Error" (cf. picture).

Can you help me please ?

Regards,
Serdar

Additional Information

System version :

  • sogo:amd64 3.0.1-1 amd64 a modern and scalable groupware
  • Debian 8.3

Configurations :

sogo.conf :

SOGoProfileURL = "mysql://sogo:pass@127.0.0.1:3306/sogo/sogo_user_profile";
OCSFolderInfoURL = "mysql://sogo:pass@127.0.0.1:3306/sogo/sogo_folder_info";
OCSSessionsFolderURL = "mysql://sogo:pass@127.0.0.1:3306/sogo/sogo_sessions_folder";

SOGoIMAPServer = "imaps://myaddress";
SOGoSieveServer = "sieve://myaddress";
SOGoSMTPServer = myaddress;
SOGoMailDomain = example.com;
SOGoMailingMechanism = smtp;

SOGoAppointmentSendEMailNotifications = YES;
SOGoFoldersSendEMailNotifications = NO;
SOGoPasswordChangeEnabled = NO;

SOGoUserSources = (
{
type = ldap;
CNFieldName = cn;
UIDFieldName = uid;
IDFieldName = mail; // first field of the DN for direct binds
bindFields = (uid, mail, cn); // array of fields to use for indirect binds
baseDN = "dc=example,dc=com";
bindAsCurrentUser= YES;
filter = "(o='example' OR ou='example' OR ou='sogo')";
MultipleBookingsFieldName = "MultipleBookings";
KindFieldName = "Kind";
canAuthenticate = YES;
displayName = "Shared Addresses";
hostname = ldap://myldap:389;
id = public;
isAddressBook = YES;
IMAPLoginFieldName = mail;
}
);

SOGoCalendarDefaultRoles = (PublicViewer,ConfidentialDAndTViewer,PrivateDAndTViewer);

SOGoVacationEnabled = YES;
SOGoSieveScriptsEnabled = YES;
SOGoLoginModule = Calendar;

SOGoLanguage = French;
SOGoTimeZone = Europe/Paris;
SOGoSuperUsernames = (myuser);
WOPidFile = "/var/run/sogo/sogo.pid";

SOGo.conf

Alias /SOGo.woa/WebServerResources/ \
/usr/lib/GNUstep/SOGo/WebServerResources/
Alias /SOGo/WebServerResources/ \
/usr/lib/GNUstep/SOGo/WebServerResources/

ErrorLog /var/log/apache2/sogo.example.com-error.log
LogLevel warn

<Directory /usr/lib/GNUstep/SOGo/>
AllowOverride None

&lt;IfVersion &lt; 2.4>
    Order deny,allow
    Allow from all
&lt;/IfVersion>
&lt;IfVersion >= 2.4>
    Require all granted
&lt;/IfVersion>

&lt;IfModule expires_module>
  ExpiresActive On
  ExpiresDefault &quot;access plus 1 year&quot;
&lt;/IfModule>

</Directory>

ProxyRequests Off
SetEnv proxy-nokeepalive 1
ProxyPreserveHost On

ProxyPass /SOGo http://127.0.0.1:20000/SOGo retry=0

Proxy http://127.0.0.1:20000/SOGo>
RequestHeader set "x-webobjects-server-port" "443"
RequestHeader set "x-webobjects-server-name" "sogo.example.com"
RequestHeader set "x-webobjects-server-url" "https://sogo.example.com&quot;

RequestHeader unset "x-webobjects-remote-user"
RequestHeader set "x-webobjects-server-protocol" "HTTP/1.0"
AddDefaultCharset UTF-8
Order allow,deny
Allow from all
</Proxy>

RewriteEngine On
RewriteRule ^/.well-known/caldav /SOGo/dav [R,L]
RewriteRule ^/.well-known/carddav /SOGo/dav [R,L]

TagsNo tags attached.

Activities

serdar

serdar

2016-04-11 16:25

reporter  

contacts.jpg (90,823 bytes)   
Christian Mack

Christian Mack

2016-04-12 07:25

developer   ~0009962

Did you reinstall SOPE?

serdar

serdar

2016-04-12 09:10

reporter   ~0009963

Thank you for your help.
Yes I reinstalled SOPE.
With another serveur Debian 8, I tried to install directly Sogo v3 and I had the same problem.

Christian Mack

Christian Mack

2016-04-12 09:35

developer   ~0009964

By default global LDAP address books are not listed. You only can search in those.
You can change that by setting within your SOGoUserSources:
listRequiresDot = NO;

This should only be done for small user base, because it will be synchronized to all mobiles too.

But that does not explain the proxy error.
Do you get any error messages in your sogo.log while trying to display the details?

serdar

serdar

2016-04-13 08:39

reporter   ~0009969

This is the log when I'm trying to get addresse book from Thunderbird :

Apr 12 18:23:20 sogod [30231]: <0x0x7f7585ae6900[WOWatchDog]> child spawned with pid 30274
Apr 12 18:23:20 sogod [30231]: <0x0x7f7585ae6900[WOWatchDog]> child spawned with pid 30276
Apr 12 18:23:20 sogod [30231]: <0x0x7f7585ae6900[WOWatchDog]> child spawned with pid 30278
Apr 12 18:23:35 sogod [30271]: |SOGo| starting method 'PROPFIND' on uri '/SOGo/dav/myname/Contacts/public/'
Apr 12 18:23:35 sogod [30271]: <0x0x7f7585d5c930[SOGoCache]> Cache cleanup interval set every 300.000000 seconds
Apr 12 18:23:35 sogod [30271]: <0x0x7f7585d5c930[SOGoCache]> Using host(s) 'localhost' as server(s)
Apr 12 18:23:35 sogod [30271]: [obj-dav-dispatch] constructed root-url:
Apr 12 18:23:35 sogod [30271]: |SOGo| constructed root-url: /SOGo/
Apr 12 18:23:35 sogod [30271]: |SOGo| setting root-url in context: /SOGo/dav/
Apr 12 18:23:35 sogod [30271]: |SOGo| ROOT baseURL(no container, name=(null)):
own: /SOGo/dav/
Apr 12 18:23:35 sogod [30271]: <0x8581DEE0[SOGoUserFolder]:myname> baseURL: name=myname (container=SOGo)
container: /SOGo -- https://sogo-preprod.int.example.fr/SOGo/dav/myname/Contacts/public/
own: /SOGo/dav/myname
Apr 12 18:23:35 sogod [30271]: |SOGo| using root-url from context: /SOGo/dav/
Apr 12 18:23:35 sogod [30271]: |SOGo| ROOT baseURL(no container, name=(null)):
own: /SOGo/dav/
Apr 12 18:23:35 sogod [30271]: <0x8581DEE0[SOGoUserFolder]:myname> baseURL: name=myname (container=SOGo)
container: /SOGo -- https://sogo-preprod.int.example.fr/SOGo/dav/myname/Contacts/public/
own: /SOGo/dav/myname
Apr 12 18:23:35 sogod [30271]: <0x85846320[SOGoContactFolders]:Contacts> baseURL: name=Contacts (container=SOGoUserFolder)
container: /SOGo/dav/myname/
own: /SOGo/dav/myname/Contacts
Apr 12 18:23:35 sogod [30271]: |SOGo| using root-url from context: /SOGo/dav/
Apr 12 18:23:35 sogod [30271]: |SOGo| ROOT baseURL(no container, name=(null)):
own: /SOGo/dav/
Apr 12 18:23:35 sogod [30271]: <0x8581DEE0[SOGoUserFolder]:myname> baseURL: name=myname (container=SOGo)
container: /SOGo -- https://sogo-preprod.int.example.fr/SOGo/dav/myname/Contacts/public/
own: /SOGo/dav/myname
Apr 12 18:23:35 sogod [30271]: |SOGo| using root-url from context: /SOGo/dav/
Apr 12 18:23:35 sogod [30271]: |SOGo| ROOT baseURL(no container, name=(null)):
own: /SOGo/dav/
Apr 12 18:23:35 sogod [30271]: <0x8581DEE0[SOGoUserFolder]:myname> baseURL: name=myname (container=SOGo)
container: /SOGo -- https://sogo-preprod.int.example.fr/SOGo/dav/myname/Contacts/public/
own: /SOGo/dav/myname
Apr 12 18:23:35 sogod [30271]: <0x85846320[SOGoContactFolders]:Contacts> baseURL: name=Contacts (container=SOGoUserFolder)
container: /SOGo/dav/myname/
own: /SOGo/dav/myname/Contacts
Apr 12 18:23:35 sogod [30271]: <0x85DB1C10[SOGoContactSourceFolder]:public> baseURL: name=public (container=SOGoContactFolders)
container: /SOGo/dav/myname/Contacts/
own: /SOGo/dav/myname/Contacts/public
Apr 12 18:23:35 sogod [30271]: |SOGo| request took 0.013023 seconds to execute
Apr 12 18:23:35 sogod [30271]: 46.218.250.234, 192.168.72.12 "PROPFIND /SOGo/dav/myname/Contacts/public/ HTTP/1.1" 207 1069/175 0.016 - - 2M
Apr 12 18:23:35 sogod [30271]: |SOGo| starting method 'PROPFIND' on uri '/SOGo/dav/myname/Contacts/public/'
Apr 12 18:23:35 sogod [30271]: [obj-dav-dispatch] constructed root-url:
Apr 12 18:23:35 sogod [30271]: <0x0x7f7585dd2f70[NGLdapConnection]> Using ldap_initialize for LDAP URL: ldap://ldap01.int.example.fr:389
2016-04-12 18:23:35.259 sogod[30271] -[NGLdapConnection _searchAtBaseDN:qualifier:attributes:scope:]: search at base '' filter '(objectClass=)' for attrs 'subschemaSubentry'
2016-04-12 18:23:35.260 sogod[30271] -[NGLdapConnection _searchAtBaseDN:qualifier:attributes:scope:]: search at base 'cn=Subschema' filter '(objectClass=
)' for attrs 'objectclasses'
2016-04-12 18:23:35.268 sogod[30271] -[NGLdapConnection _searchAtBaseDN:qualifier:attributes:scope:]: search at base 'dc=example,dc=fr' filter '(&(cn=)(|(o=example)(ou=example)(ou=sogo)))' for attrs 'uid'
Apr 12 18:23:35 sogod [30271]: <0x0x7f7585f4f580[NGLdapConnection]> Using ldap_initialize for LDAP URL: ldap://ldap01.int.example.fr:389
2016-04-12 18:23:35.292 sogod[30271] -[NGLdapConnection _searchAtBaseDN:qualifier:attributes:scope:]: search at base 'dc=example,dc=fr' filter '(uid=sylvain.coti)' for attrs '
'
EXCEPTION: <NSException: 0x7f7585f7b580> NAME:NSInvalidArgumentException REASON:GSInlineArray(instance) does not recognize escapedForCards INFO:(null)
Apr 12 18:23:35 sogod [30231]: <0x0x7f7585abc770[WOWatchDogChild]> child 30271 exited
Apr 12 18:23:35 sogod [30231]: <0x0x7f7585abc770[WOWatchDogChild]> (terminated due to signal 6)
Apr 12 18:23:35 sogod [30231]: <0x0x7f7585ae6900[WOWatchDog]> child spawned with pid 30312
Apr 12 18:23:35 sogod [30312]: |SOGo| starting method 'PROPFIND' on uri '/SOGo/dav/myname/Contacts/public/'
Apr 12 18:23:35 sogod [30312]: <0x0x7f7585ba13a0[SOGoCache]> Cache cleanup interval set every 300.000000 seconds
Apr 12 18:23:35 sogod [30312]: <0x0x7f7585ba13a0[SOGoCache]> Using host(s) 'localhost' as server(s)
Apr 12 18:23:35 sogod [30312]: [obj-dav-dispatch] constructed root-url:
Apr 12 18:23:35 sogod [30312]: <0x0x7f7585dcfbc0[NGLdapConnection]> Using ldap_initialize for LDAP URL: ldap://ldap01.int.example.fr:389
2016-04-12 18:23:35.348 sogod[30312] -[NGLdapConnection _searchAtBaseDN:qualifier:attributes:scope:]: search at base '' filter '(objectClass=)' for attrs 'subschemaSubentry'
2016-04-12 18:23:35.349 sogod[30312] -[NGLdapConnection _searchAtBaseDN:qualifier:attributes:scope:]: search at base 'cn=Subschema' filter '(objectClass=
)' for attrs 'objectclasses'
2016-04-12 18:23:35.356 sogod[30312] -[NGLdapConnection _searchAtBaseDN:qualifier:attributes:scope:]: search at base 'dc=example,dc=fr' filter '(&(cn=)(|(o=example)(ou=example)(ou=sogo)))' for attrs 'uid'
Apr 12 18:23:35 sogod [30312]: <0x0x7f7585f51c10[NGLdapConnection]> Using ldap_initialize for LDAP URL: ldap://ldap01.int.example.fr:389
2016-04-12 18:23:35.377 sogod[30312] -[NGLdapConnection _searchAtBaseDN:qualifier:attributes:scope:]: search at base 'dc=example,dc=fr' filter '(uid=sylvain.coti)' for attrs '
'
EXCEPTION: <NSException: 0x7f7585f7dc10> NAME:NSInvalidArgumentException REASON:GSInlineArray(instance) does not recognize escapedForCards INFO:(null)
Apr 12 18:23:35 sogod [30231]: <0x0x7f7585abc770[WOWatchDogChild]> child 30312 exited
Apr 12 18:23:35 sogod [30231]: <0x0x7f7585abc770[WOWatchDogChild]> (terminated due to signal 6)
Apr 12 18:23:35 sogod [30231]: <0x0x7f7585abc770[WOWatchDogChild]> avoiding to respawn child before 2016-04-12 18:23:40 +0200
Apr 12 18:23:40 sogod [30231]: <0x0x7f7585ae6900[WOWatchDog]> child spawned with pid 30427
root@sogo-preprod:/etc/sogo#

Now the log when I'm trying to display the details :

Apr 12 18:44:57 sogod [1225]: |SOGo| starting method 'GET' on uri '/SOGo/so/myname/Contacts/public/view?asc=1&search=name_or_address&sort=c_cn&value=alexandre'
Apr 12 18:44:57 sogod [1225]: <0x0x7f5a9cada030[SOGoCache]> Cache cleanup interval set every 300.000000 seconds
Apr 12 18:44:57 sogod [1225]: <0x0x7f5a9cada030[SOGoCache]> Using host(s) 'localhost' as server(s)
Apr 12 18:44:57 sogod [1225]: <0x0x7f5a9ce6bd80[NGLdapConnection]> Using ldap_initialize for LDAP URL: ldap://ldap01.intexample.fr:389
2016-04-12 18:44:57.531 sogod[1225] -[NGLdapConnection _searchAtBaseDN:qualifier:attributes:scope:]: search at base '' filter '(objectClass=)' for attrs 'subschemaSubentry'
2016-04-12 18:44:57.532 sogod[1225] -[NGLdapConnection _searchAtBaseDN:qualifier:attributes:scope:]: search at base 'cn=Subschema' filter '(objectClass=
)' for attrs 'objectclasses'
2016-04-12 18:44:57.539 sogod[1225] -[NGLdapConnection _searchAtBaseDN:qualifier:attributes:scope:]: search at base 'dc=example,dc=fr' filter '(&(|(sn=alexandre)(displayname=alexandre)(telephonenumber=alexandre)(mail=alexandre)(cn=alexandre))(|(o=example)(ou=example)(ou=sogo)))' for attrs ''
Apr 12 18:44:57 sogod [1225]: |SOGo| request took 0.044703 seconds to execute
Apr 12 18:44:57 sogod [1225]: 192.168.123.211 "GET /SOGo/so/myname/Contacts/public/view?asc=1&search=name_or_address&sort=c_cn&value=alexandre HTTP/1.1" 200 3243/0 0.047 - - 3M
Apr 12 18:45:03 sogod [1225]: |SOGo| starting method 'GET' on uri '/SOGo/so/myname/Contacts/public/alexandre.beaugosse/view'
Apr 12 18:45:03 sogod [1225]: <0x0x7f5a9ced6cb0[NGLdapConnection]> Using ldap_initialize for LDAP URL: ldap://ldap01.intexample.fr:389
2016-04-12 18:45:03.031 sogod[1225] -[NGLdapConnection _searchAtBaseDN:qualifier:attributes:scope:]: search at base 'dc=example,dc=fr' filter '(uid=alexandre.beaugosse)' for attrs '
'
EXCEPTION: <NSException: 0x7f5a9cf6fcf0> NAME:NSInvalidArgumentException REASON:GSInlineArray(instance) does not recognize canBeConvertedToEncoding: INFO:(null)
Apr 12 18:45:03 sogod [1119]: <0x0x7f5a9cb36830[WOWatchDogChild]> child 1225 exited
Apr 12 18:45:03 sogod [1119]: <0x0x7f5a9cb36830[WOWatchDogChild]> (terminated due to signal 6)
Apr 12 18:45:03 sogod [1119]: <0x0x7f5a9cb80900[WOWatchDog]> child spawned with pid 1231

Option listRequiresDot change nothing.
Actually, I us this url to get adresse book with thunderbird : https://sogo.example.fr/SOGo/dav/myname/Contacts/public/

ludovic

ludovic

2016-04-14 13:19

administrator   ~0009981

Use the debugger to create a stack trace:

http://sogo.nu/nc/support/faq/article/how-do-i-debug-sogo-2.html

serdar

serdar

2016-04-25 13:02

reporter  

1.sogo-installation.txt (919 bytes)   
serdar

serdar

2016-04-25 13:02

reporter  

2.sogo.conf.txt (2,034 bytes)   
serdar

serdar

2016-04-25 13:02

reporter  

3.SOGo-apache2.conf.txt (2,910 bytes)   
serdar

serdar

2016-04-25 13:03

reporter  

stack trace.txt (5,345 bytes)   
serdar

serdar

2016-04-25 13:48

reporter   ~0010011

I uploaded 4 files.
1 to 3, to reproduce my install.
Then another file "stack trace.txt" which is what did you ask.

serdar

serdar

2016-05-11 13:04

reporter   ~0010103

I found where come from errors.
On my ldap, when a user has more than one organizational unit, I have a sogo proxy error.
But if I delete all organizational unit and leave only one it's ok.
Is it a bug ?

ludovic

ludovic

2016-05-11 13:11

administrator   ~0010104

Certainly, let me look into this.

ludovic

ludovic

2016-05-11 13:14

administrator   ~0010105

Prior I look into this, shot the complete LDIF output of a user that has two organizational units.

ludovic

ludovic

2016-05-11 13:19

administrator   ~0010106

Nevermind, I can reproduce the issue. Let me fix that.

ludovic

ludovic

2016-05-11 16:33

administrator   ~0010108

https://github.com/inverse-inc/sogo/commit/b5b9d596f0638c89d3815a594cf6c79d13a7c422

Also fixed for 2.3.11

Issue History

Date Modified Username Field Change
2016-04-11 16:25 serdar New Issue
2016-04-11 16:25 serdar File Added: contacts.jpg
2016-04-12 07:25 Christian Mack Note Added: 0009962
2016-04-12 09:10 serdar Note Added: 0009963
2016-04-12 09:35 Christian Mack Note Added: 0009964
2016-04-13 08:39 serdar Note Added: 0009969
2016-04-14 13:19 ludovic Note Added: 0009981
2016-04-25 13:02 serdar File Added: 1.sogo-installation.txt
2016-04-25 13:02 serdar File Added: 2.sogo.conf.txt
2016-04-25 13:02 serdar File Added: 3.SOGo-apache2.conf.txt
2016-04-25 13:03 serdar File Added: stack trace.txt
2016-04-25 13:48 serdar Note Added: 0010011
2016-05-11 13:04 serdar Note Added: 0010103
2016-05-11 13:11 ludovic Note Added: 0010104
2016-05-11 13:14 ludovic Note Added: 0010105
2016-05-11 13:19 ludovic Note Added: 0010106
2016-05-11 16:33 ludovic Project SOGo Connector => SOGo
2016-05-11 16:33 ludovic Note Added: 0010108
2016-05-11 16:33 ludovic Status new => resolved
2016-05-11 16:33 ludovic Fixed in Version => 3.1.0
2016-05-11 16:33 ludovic Resolution open => fixed
2016-05-11 16:33 ludovic Assigned To => ludovic