View Issue Details

IDProjectCategoryView StatusLast Update
0000074SOGoBackend Calendarpublic2009-12-19 20:56
Reporterayearout Assigned Toludovic  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformLinuxOSOpenSUSEOS Version10.3
Product Version1.0.3 
Fixed in Version1.2.0 
Summary0000074: CalDAV URL issues with scheduling
Description

iTIP messages to attendees for a new event were not working from Thunderbird/Lightning and Apple iCal, but were working correctly from the WebUI.

Digging around through the Apache logs produced the following 404 errors:

x.x.x.x - - [21/Jul/2009:22:29:24 -0700] "PROPFIND /SOGo/dav/test/Calendarpersonal/ HTTP/1.1" 404 208
x.x.x.x - - [21/Jul/2009:22:30:02 -0700] "PROPFIND /SOGo/dav/test/Calendarpersonal/ HTTP/1.1" 404 208

Performed an ssldump on traffic to be sure something was wrong. Found PROPFIND requests for schedule-inbox-URL and schedule-outbox-URL returning incorrect URLs with missing forward slashes.

Located the associated code in SoObjects/Appointments/SOGoUserFolder+Appointments.m and applied changes found in attached patch.

Tested after recompiling and found no issues with attendees.

Additional Information

I am by no means an objective-c programmer. My guess is this is just a workaround, and the actual issue is that the trailing forward slash is being stripped somehow from the davURL before adding the "personal/" string to the end. Perhaps this is something specific to my platform?

TagsNo tags attached.

Relationships

related to 0000276 resolvedwsourdeau iCal work-around: davURL should become davURLAsString 
related to 0000289 resolvedludovic error with CalDAV POSTS (url handling) 

Activities

2009-07-22 04:54

 

sogo-davurls-patch.diff (1,709 bytes)   
--- SoObjects/Appointments/SOGoUserFolder+Appointments.m.orig	2009-07-14 11:13:07.000000000 -0700
+++ SoObjects/Appointments/SOGoUserFolder+Appointments.m	2009-07-21 23:34:54.000000000 -0700
@@ -98,7 +98,7 @@
 
   parent = [self privateCalendars: @"Calendar" inContext: context];
   tag = [NSArray arrayWithObjects: @"href", @"DAV:", @"D",
-                 [NSString stringWithFormat: @"%@personal/", [[parent davURL] path]],
+                 [NSString stringWithFormat: @"%@/personal/", [[parent davURL] path]],
 		 nil];
 
   return [NSArray arrayWithObject: tag];
@@ -111,7 +111,7 @@
 
   parent = [self privateCalendars: @"Calendar" inContext: context];
   tag = [NSArray arrayWithObjects: @"href", @"DAV:", @"D",
-                 [NSString stringWithFormat: @"%@personal/", [[parent davURL] path]],
+                 [NSString stringWithFormat: @"%@/personal/", [[parent davURL] path]],
 		 nil];
 
   return [NSArray arrayWithObject: tag];
@@ -124,7 +124,7 @@
 
   parent = [self privateCalendars: @"Calendar" inContext: context];
   tag = [NSArray arrayWithObjects: @"href", @"DAV:", @"D",
-                 [NSString stringWithFormat: @"%@personal/", [[parent davURL] path]],
+                 [NSString stringWithFormat: @"%@/personal/", [[parent davURL] path]],
 		 nil];
 
   return [NSArray arrayWithObject: tag];
@@ -137,7 +137,7 @@
 
   parent = [self privateCalendars: @"Calendar" inContext: context];
   tag = [NSArray arrayWithObjects: @"href", @"DAV:", @"D",
-                 [NSString stringWithFormat: @"%@personal/", [[parent davURL] path]],
+                 [NSString stringWithFormat: @"%@/personal/", [[parent davURL] path]],
 		 nil];
 
   return [NSArray arrayWithObject: tag];
sogo-davurls-patch.diff (1,709 bytes)   
wsourdeau

wsourdeau

2009-07-22 14:25

viewer   ~0000034

I could not reproduce the problem. Can you try again with the latest nigthly RPMS or the version from monotone?

ayearout

ayearout

2009-07-23 00:19

reporter   ~0000037

Problem persists with latest build from monotone. I've also gone and built the SOGo packages on an OpenSUSE 11.1 system from monotone with the same issues. Could this possibly be a quirk in SOPE? It's the only thing constant between the builds.

wsourdeau

wsourdeau

2009-07-23 09:52

viewer   ~0000038

Mmmm I don't know yet. Can you give me the output of "defaults read sogod", by taking care of removing sensitive data (this bugreport is public). It would probably help me tests things with an environment similar to yours.

Thanks

ayearout

ayearout

2009-07-23 19:26

reporter   ~0000043

"defaults read sogod" output is attached. Database backend is running MySQL 5.0.45. Web frontend is running Apache 2.2.10. LDAP server is OpenLDAP 2.3.37. I should also note that I'm building RPM packages for my platform using modified spec files that were included with the sources for both SOPE and SOGo. There is also a patch I had to apply to the SOPE sources to get them to cleanly compile on OpenSUSE. I can post those as well if you're interested.

2009-07-23 19:26

 

sogod-defaults.txt (1,419 bytes)   
sogod SOGoAuthenticationMethod LDAP
sogod SOGoDraftsFolderName Drafts
sogod NGUseUTF8AsURLEncoding YES
sogod SOGoSMTPServer smtp.xxx.xxx
sogod WOPort 20000
sogod SOGoSharedFolderName 'Shared Folders'
sogod SOGoUIxDefaultModule Mail
sogod WOParsersUseUTF8 YES
sogod SOGoDefaultMailDomain xxx.xxx
sogod SOGoCalendarDefaultRoles '(
    PublicDAndTViewer
)'
sogod SOGoProfileURL mysql://sogo:xxxxxx@mysql.xxx.xxx:3306/sogo/sogo_user_profile
sogod SOGoFoldersSendEMailNotifications YES
sogod WOApplicationRedirectURL https://www.xxx.xxx
sogod SOGoFallbackIMAP4Server imap.xxx.xxx
sogod SxVMemLimit 512
sogod SOGoOtherUsersFolderName 'Other Users'
sogod SOGoMailingMechanism smtp
sogod SOGoLDAPSources '(
    {
	CNFieldName = cn;
	IDFieldName = uid;
	UIDFieldName = uid;
	baseDN = "ou=Users,dc=xxx,dc=xxx";
	bindDN = "cn=sogo,ou=DSA,dc=xxx,dc=xxx";
	bindFields = uid;
	bindPassword = xxxxxx;
	canAuthenticate = YES;
	displayName = "Staff Directory";
	encryption = STARTTLS;
	hostname = ldap.xxx.xxx;
	id = staff;
	isAddressBook = YES;
	port = 389;
    }
)'
sogod SOGoTrashFolderName Trash
sogod WOMessageUseUTF8 YES
sogod OCSFolderInfoURL mysql://sogo:xxxxxx@mysql.xxx.xxx:3306/sogo/sogo_folder_info
sogod WOUseRelativeURLs NO
sogod SOGoSentFolderName Sent
sogod SOGoACLsSendEMailNotifications YES
sogod SOGoDefaultLanguage English
sogod SOGoServerTimeZone America/Los_Angeles
sogod SOGoAppointmentSendEMailNotifications YES
sogod-defaults.txt (1,419 bytes)   
ludovic

ludovic

2009-07-23 19:29

administrator   ~0000044

Would you be interested in contributing your OpenSuSE RPMS?

ayearout

ayearout

2009-07-23 20:01

reporter   ~0000045

Last edited: 2009-07-23 20:06

Absolutely. You can find them at:

http://www.royal.wednet.edu/~ayearout/sogo-rpms/

There are two binary builds: i586 RPMS for OpenSUSE 11.1 and x86_64 RPMS for OpenSUSE 10.3. The i586 RPMS were built against ffcall, which I've included the RPM for as well. The 10.3 RPMS were built with the distribution libffi libraries.

Two quirks with these RPM packages: the header files for SOPE's NGObjWeb are incorrectly installed to /usr/Library/Headers instead of /usr/GNUStep/System/Library/Headers. I've been manually adding a symbolic link for now until I get around to correcting the spec file. Also, the Apache configuration file for SOGo gets installed to /etc/httpd/conf.d instead of the distribution specific /etc/apache2/conf.d

ludovic

ludovic

2009-07-23 20:21

administrator   ~0000046

Very nice!

Do you plan to replace your Horde installation with SOGo?

ayearout

ayearout

2009-07-23 20:33

reporter   ~0000047

That is the current plan, yes. Horde has been a good solution for the past couple of years, but as we've seen more and more use of calendering here, it simply has not held up in that respect. We'll be deploying Thunderbird en masse to desktops and using SOGo as our solution for CalDAV and a web front end. Couldn't be happier with the results so far.

ayearout

ayearout

2009-07-24 05:14

reporter   ~0000048

After some work, I've managed to put together source RPM packages for openSUSE.

You can find them at:

http://www.royal.wednet.edu/~ayearout/sogo-rpms/opensuse-src/

These should compile and install properly on all openSUSE distributions, 10.3 and above. I haven't tested building them on i586 hardware yet, but it shouldn't have a problem.

I've rebuilt my environment with these new RPMs and I'm still having the same problem.

ludovic

ludovic

2009-08-17 08:40

administrator   ~0000078

Could you try with 1.0.4?

ludovic

ludovic

2009-10-08 10:47

administrator   ~0000143

Downgrading to minor until 1.0.4 is tested or the nightly version.

ayearout

ayearout

2009-11-14 01:50

reporter   ~0000282

After taking some time to pin this problem down, I've discovered that it's related to recent unstable builds of GNUstep. Specifically, this bug fix:

http://savannah.gnu.org/bugs/?25404

I've reverted to using stable releases of GNUstep to fix this problem. Eventually this will be a problem once the unstable releases go mainstream. Stripping the trailing slash is correct according to the Apple docs:

http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSURL_Class/Reference/Reference.html#//apple_ref/occ/instm/NSURL/path

ludovic

ludovic

2009-12-19 18:36

administrator   ~0000362

Under Debian (testing), the problem does not occur with:

libgnustep-base1.19 1.19.0-2

but does occur with:

libgnustep-base1.19 1.19.3-1

You can

gcc -o test test.m -lobjc -I/usr/include/GNUstep/ -fconstant-string-class=NSConstantString -lgnustep-base

ludovic

ludovic

2009-12-19 20:56

administrator   ~0000363

http://mtn.inverse.ca/revision/diff/9450e3b1be295b0872d67069c597a4a4929f1b64/with/d128523a11c890ea68c1606ab37270a6740d6e8e

Issue History

Date Modified Username Field Change
2009-07-22 04:54 ayearout New Issue
2009-07-22 04:54 ayearout File Added: sogo-davurls-patch.diff
2009-07-22 14:25 wsourdeau Note Added: 0000034
2009-07-23 00:19 ayearout Note Added: 0000037
2009-07-23 09:52 wsourdeau Note Added: 0000038
2009-07-23 19:26 ayearout Note Added: 0000043
2009-07-23 19:26 ayearout File Added: sogod-defaults.txt
2009-07-23 19:29 ludovic Note Added: 0000044
2009-07-23 20:01 ayearout Note Added: 0000045
2009-07-23 20:06 ayearout Note Edited: 0000045
2009-07-23 20:21 ludovic Note Added: 0000046
2009-07-23 20:33 ayearout Note Added: 0000047
2009-07-24 05:14 ayearout Note Added: 0000048
2009-08-17 08:40 ludovic Note Added: 0000078
2009-10-08 10:47 ludovic Note Added: 0000143
2009-10-08 10:47 ludovic Severity major => minor
2009-11-14 01:50 ayearout Note Added: 0000282
2009-11-28 16:41 ludovic Status new => assigned
2009-11-28 16:41 ludovic Assigned To => ludovic
2009-12-18 16:35 ludovic Relationship added related to 0000276
2009-12-18 16:36 ludovic Relationship added related to 0000289
2009-12-19 18:36 ludovic Note Added: 0000362
2009-12-19 20:56 ludovic Note Added: 0000363
2009-12-19 20:56 ludovic Status assigned => resolved
2009-12-19 20:56 ludovic Fixed in Version => 1.1.1
2009-12-19 20:56 ludovic Resolution open => fixed