Bug 211237 - www/sogo3-activesync: EAS regression after upgrade to 3.1.4
Summary: www/sogo3-activesync: EAS regression after upgrade to 3.1.4
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Some People
Assignee: Kubilay Kocak
URL: https://github.com/inverse-inc/sogo/c...
Keywords: crash, patch, patch-ready, regression
Depends on:
Blocks:
 
Reported: 2016-07-19 22:38 UTC by Martin Waschbüsch
Modified: 2016-07-26 13:48 UTC (History)
2 users (show)

See Also:
koobs: maintainer-feedback+
koobs: merge-quarterly-


Attachments
apply upstream patch to fix EAS sync (9.03 KB, patch)
2016-07-21 07:29 UTC, Martin Waschbüsch
euan: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Waschbüsch 2016-07-19 22:38:49 UTC
Since upgrading to version 3.1.4, I have two alarming issues:

sogo.log contains lines such as this for users connecting via EAS:
EXCEPTION: <NSException: 0x813f72bc0> NAME:NSInvalidArgumentException REASON:-[WOContext ASProtocolVersion]: unrecognized selector sent to instance 0x80c4eea10 INFO:(null)
These users are not able to fetch Mail, Contacts or Calendar info via EAS.

The second thing.
On the machine running sogo, I tried to run the following script:

-- snip --
#!/bin/sh

TZ=Europe/Berlin; export TZ
PATH=$PATH:/usr/local/GNUstep/System/Tools; export PATH
. /usr/local/GNUstep/System/Library/Makefiles/GNUstep.sh

/usr/local/GNUstep/Local/Tools/Admin/sogo-tool dump-defaults
-- snip --

Which actually results in:
Abort trap (core dumped)
Comment 1 Martin Waschbüsch 2016-07-20 07:57:16 UTC
It seems at least the ActiveSync issue is a bug upstream and has been addressed in this commit:
https://github.com/inverse-inc/sogo/commit/deaec0bd7b87bd6cd9d2c9c3361c5f2a1f96a4e1
Comment 2 Kubilay Kocak freebsd_committer freebsd_triage 2016-07-20 08:44:59 UTC
* Correctly classify port (mail -> www)
* Notify maintainer

Thank you for your report Martin
Comment 3 Euan Thoms 2016-07-20 21:32:51 UTC
(In reply to Martin Waschbüsch from comment #1)

Well, it doesn't surprise me. SOGo release engineering these days is questionable. I've been using SOGo for quite a few years now. It was steadily getting better for a long time. Then suddenly silly bugs started appearing everywhere. I've fixed a couple of them myself, they are very helpful taking my patches upstream. I blame the v3 branch development, even the v2 went downhill in quality. In my companies production server, where I can't afford regressions, I'm still using 2.2.14 with a couple of backported fixes I do myself. I've tested every v2 version since and there is some nasty regression I can't afford. So for me 2.2.14 was the apex of SOGo quality. I just keep hoping that now that the v3 branch is out the door, they will batten down the hatches on the bugs, at least in v2 whereby it's pretty much in maintenance.

I did start off by not updating the SOGo ports every single release. At least not without testing in production on my personal server/domain. But I kept getting requests for the latest versions by other port users. Ironically, it was the activesync features that pushed the urgency for some of those users.

Likewise, I was not in a rush to port v3, I won't use it myself for a while yet, it's a big regression as far as I'm concerned. But I like where they're going, it just needs more time to mature.

Anyways, what I can do is either:

(i) Create a patch from the upstream fix (should be accessible from github).
(ii) Wait for 3.1.5 to be released. I'm guessing they won't wait long to release, given the severity of the fixed bug.

What do other suggest I do?

P.S., I've stopped evangalising SOGo for the time being. The project really needs to focus on quality of existing features and forget about new features for a while. Many that use it, like myself, really depend heavily on it being stable. It's mission critical to our business. I really hope they sort it out soon.
Comment 4 Euan Thoms 2016-07-20 21:54:55 UTC
Martin, that commit is titled "An attempt to fix...". We don't know it actually fixes it. Cuold you please try to apply it manually and see if it fixes the issue.

To do this, from inside /usr/ports/www/sogo3 :

# make patch
# cp work/SOGo-3.1.4/ActiveSync/SOGoMailObject+ActiveSync.m work/SOGo-3.1.4/ActiveSync/SOGoMailObject+ActiveSync.m.orig
# vi work/SOGo-3.1.4/ActiveSync/SOGoMailObject+ActiveSync.m
... make changes and repeat for all other files needing patched ...
# make
# make deinstall
# make install
... test ...

If it works you can run "make makepatch" to make a patch in the files/ directory.
Comment 5 Euan Thoms 2016-07-20 22:13:46 UTC
I just updated my personal production rig to 3.1.4. But I can't test this issue, since I don't use EAS and don't have the time or inclination to start using it now.

So I'm sorry to say, others will need to help me test this one.
Comment 6 Martin Waschbüsch 2016-07-21 07:29:20 UTC
Created attachment 172771 [details]
apply upstream patch to fix EAS sync

Hey Euan,

I have already tested it and the proposed patch does enable EAS users to sync with SOGo again.
I have created a patch to implement this and upped PORTREVISION to 1. (see attached diff).

Hope this helps.

Martin

PS: I agree that after all the effort put into the new UI, stability should be the main  focus again!
Comment 7 Euan Thoms 2016-07-22 02:57:25 UTC
Comment on attachment 172771 [details]
apply upstream patch to fix EAS sync

portlint -AC       : PASS
make check-plist   : PASS
DEVELOPER=yes make : PASS

Thanks Martin, looks good to me. Lets get this committed before 3.1.5 is released.
;-)
Comment 8 Euan Thoms 2016-07-26 09:13:34 UTC
(In reply to Euan Thoms from comment #7)

Bumping this port bug-fix / update.

If it doesn't get submitted soon, it will be irrelevant when the next upstream version comes out.
Comment 9 Kubilay Kocak freebsd_committer freebsd_triage 2016-07-26 10:57:19 UTC
Building this now (QA), didn't realise BUILD_DEPENDS=universe :D
Comment 10 Kubilay Kocak freebsd_committer freebsd_triage 2016-07-26 13:43:25 UTC
2016Q3 quarterly branch version of www/sogo3-activesync is 3.1.2, and not affected. MFH not required.
Comment 11 commit-hook freebsd_committer freebsd_triage 2016-07-26 13:46:07 UTC
A commit references this bug:

Author: koobs
Date: Tue Jul 26 13:45:45 UTC 2016
New revision: 419107
URL: https://svnweb.freebsd.org/changeset/ports/419107

Log:
  www/sogo3-activesync: Fix EAS regression in 3.1.4

  Sogo 3.1.4 (commited in revision 418789 [1]) introduced a regression
  causing users to be unable to fetch mail, contacts or calendars via EAS.

  This was fixed in upstream pull request #217 [2], which this commit
  backports.

  [1] http://svnweb.freebsd.org/changeset/ports/418789
  [2] https://github.com/inverse-inc/sogo/pull/217

  PR:		211237
  Submitted by:	Martin Waschb?sch <martin waschbuesch de>
  Approved by:	Euan Thoms <euan potensol com> (maintainer)

Changes:
  head/www/sogo3/Makefile
  head/www/sogo3/files/patch-ActiveSync_GNUmakefile
  head/www/sogo3/files/patch-ActiveSync_SOGoMailObject+ActiveSync.m
  head/www/sogo3/files/patch-ActiveSync_iCalEvent+ActiveSync.m
  head/www/sogo3/files/patch-ActiveSync_iCalToDo+ActiveSync.m
  head/www/sogo3/files/patch-Main_GNUmakefile.preamble
  head/www/sogo3/files/patch-Tests_Unit_GNUmakefile
  head/www/sogo3/files/patch-Tools_GNUmakefile.preamble
  head/www/sogo3/files/patch-configure
Comment 12 Kubilay Kocak freebsd_committer freebsd_triage 2016-07-26 13:48:01 UTC
Thank you for your report/patch Martin and your support Euan