[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#860977: marked as done (unblock: sogo/3.2.6-2)



Your message dated Sun, 23 Apr 2017 13:52:19 +0000
with message-id <E1d2Hw3-0005ha-1H@respighi.debian.org>
and subject line unblock sogo
has caused the Debian Bug report #860977,
regarding unblock: sogo/3.2.6-2
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
860977: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=860977
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package sogo

Shortly after the release of 3.2.6, the SOGo upstreams published a hotfix
release "3.2.6a" with two important fixes that -2 includes. I think we should
have these two patches included in the version we're going to support. I've
been running them at $work for months (the change had been sitting in git
for ages) and they seem to cause no problems.

unblock sogo/3.2.6-2

-- System Information:
Debian Release: 9.0
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=ca_ES.UTF-8, LC_CTYPE=ca_ES.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru sogo-3.2.6/debian/changelog sogo-3.2.6/debian/changelog
--- sogo-3.2.6/debian/changelog	2017-01-24 00:04:21.000000000 +0100
+++ sogo-3.2.6/debian/changelog	2017-04-11 01:52:41.000000000 +0200
@@ -1,3 +1,11 @@
+sogo (3.2.6-2) unstable; urgency=medium
+
+  * Cherry pick important fixes from the upstream 3.2.6a release.
+    - [core] fixed "include in freebusy"
+    - [web] improved ACLs handling of inactive users
+
+ -- Jordi Mallach <jordi@debian.org>  Tue, 11 Apr 2017 01:52:41 +0200
+
 sogo (3.2.6-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru sogo-3.2.6/debian/patches/improve-acl-handling-of-inactive-users.patch sogo-3.2.6/debian/patches/improve-acl-handling-of-inactive-users.patch
--- sogo-3.2.6/debian/patches/improve-acl-handling-of-inactive-users.patch	1970-01-01 01:00:00.000000000 +0100
+++ sogo-3.2.6/debian/patches/improve-acl-handling-of-inactive-users.patch	2017-02-10 18:20:47.000000000 +0100
@@ -0,0 +1,152 @@
+commit d14b0b0b5e1b34dd9a407295247f7015d2728967
+Author: Francis Lachapelle <flachapelle@inverse.ca>
+Date:   Thu Jan 26 12:48:21 2017 -0500
+
+    (js) Improve ACLs handling of inactive users
+
+diff --git a/NEWS b/NEWS
+index 73b834ad7..5987fda3b 100644
+--- a/NEWS
++++ b/NEWS
+@@ -1,3 +1,12 @@
++3.2.7 (2017-01-DD)
++------------------
++
++Enhancements
++ - [web] improved ACLs handling of inactive users
++
++Bug fixes
++ - [core] fixed "include in freebusy" (reverts #3354)
++
+ 3.2.6 (2017-01-23)
+ ------------------
+ 
+diff --git a/UI/Templates/AdministrationUI/UIxAdministrationAclEditor.wox b/UI/Templates/AdministrationUI/UIxAdministrationAclEditor.wox
+index 1fa3430bb..69c3bf38f 100644
+--- a/UI/Templates/AdministrationUI/UIxAdministrationAclEditor.wox
++++ b/UI/Templates/AdministrationUI/UIxAdministrationAclEditor.wox
+@@ -80,12 +80,12 @@
+                                  size="40">{{ user.$avatarIcon }}</sg-avatar-image>
+               </span>
+               <div class="sg-tile-content">
+-                <div class="sg-md-subhead"><div>{{user.cn}}</div></div>
++                <div class="sg-md-subhead"><div>{{user.$fullname()}}</div></div>
+                 <div class="sg-md-body"><div>{{user.c_email}}</div></div>
+               </div>
+ 	      <md-button class="md-icon-button md-secondary" type="button"
+                          ng-click="acl.selectAllRights(user)"
+-                         ng-hide="user.uid != acl.selectedUid || user.$isSpecial()">
++                         ng-hide="!acl.showRights(user) || user.$isSpecial()">
+                 <md-icon>select_all</md-icon>
+               </md-button>
+               <md-button class="md-icon-button" type="button"
+@@ -95,7 +95,7 @@
+               </md-button>
+             </div>
+           </a>
+-          <md-card-content id="AccessRightList" ng-show="user.uid == acl.selectedUid">
++          <md-card-content id="AccessRightList" ng-show="acl.showRights(user)">
+             <var:if condition="canSubscribeUsers">
+               <md-checkbox ng-model="user.isSubscribed"
+                            label:arial-label="Subscribe User"
+diff --git a/UI/Templates/UIxAclEditor.wox b/UI/Templates/UIxAclEditor.wox
+index 21b8727a7..3868c4a0b 100644
+--- a/UI/Templates/UIxAclEditor.wox
++++ b/UI/Templates/UIxAclEditor.wox
+@@ -57,12 +57,12 @@
+                                size="40">{{ user.$avatarIcon }}</sg-avatar-image>
+             </div>
+             <div class="sg-tile-content">
+-              <div class="sg-md-subhead"><div>{{user.cn}}</div></div>
++              <div class="sg-md-subhead"><div>{{user.$fullname()}}</div></div>
+               <div class="sg-md-body"><div>{{user.c_email}}</div></div>
+             </div>
+ 	    <md-button class="md-icon-button md-secondary" type="button"
+                        ng-click="acl.selectAllRights(user)"
+-                       ng-hide="user.uid != acl.selectedUid || user.$isSpecial()">
++                       ng-hide="!acl.showRights(user) || user.$isSpecial()">
+               <md-icon>select_all</md-icon>
+             </md-button>
+             <md-button class="md-icon-button" type="button"
+@@ -72,7 +72,7 @@
+             </md-button>
+           </div>
+         </a>
+-        <md-card-content id="AccessRightList" ng-show="user.uid == acl.selectedUid">
++        <md-card-content id="AccessRightList" ng-show="acl.showRights(user)">
+           <var:if condition="canSubscribeUsers">
+             <md-checkbox ng-model="user.isSubscribed"
+                          label:arial-label="Subscribe User"
+diff --git a/UI/WebServerResources/js/Administration/AdministrationAclController.js b/UI/WebServerResources/js/Administration/AdministrationAclController.js
+index 0b1a23fda..3049005c5 100644
+--- a/UI/WebServerResources/js/Administration/AdministrationAclController.js
++++ b/UI/WebServerResources/js/Administration/AdministrationAclController.js
+@@ -18,6 +18,7 @@
+     vm.selectedUid = null;
+     vm.selectUser = selectUser;
+     vm.selectAllRights = selectAllRights;
++    vm.showRights = showRights;
+     vm.removeUser = removeUser;
+     vm.getTemplate = getTemplate;
+     vm.close = close;
+@@ -56,6 +57,10 @@
+       }
+     }
+ 
++    function showRights(user) {
++      return vm.selectedUid == user.uid && user.rights;
++    }
++
+     function userFilter($query) {
+       return User.$filter($query, stateFolder.$acl.users, { dry: true, uid: vm.user.uid });
+     }
+diff --git a/UI/WebServerResources/js/Common/AclController.js b/UI/WebServerResources/js/Common/AclController.js
+index babbe54f4..bb0d3ccb2 100644
+--- a/UI/WebServerResources/js/Common/AclController.js
++++ b/UI/WebServerResources/js/Common/AclController.js
+@@ -24,6 +24,7 @@
+     vm.addUser = addUser;
+     vm.selectAllRights = selectAllRights;
+     vm.selectUser = selectUser;
++    vm.showRights = showRights;
+     vm.confirmation = { showing: false,
+                         message: ''};
+ 
+@@ -86,6 +87,10 @@
+         vm.selectedUser.$rights();
+       }
+     }
++
++    function showRights(user) {
++      return vm.selectedUid == user.uid && user.rights;
++    }
+   }
+ 
+   angular
+diff --git a/UI/WebServerResources/js/Common/User.service.js b/UI/WebServerResources/js/Common/User.service.js
+index 7d9a27544..5d9d860da 100644
+--- a/UI/WebServerResources/js/Common/User.service.js
++++ b/UI/WebServerResources/js/Common/User.service.js
+@@ -126,12 +126,21 @@
+   };
+ 
+   /**
++   * @function $fullname
++   * @memberof User.prototype
++   * @return a string representing the fullname
++   */
++  User.prototype.$fullname = function() {
++    return this.cn || this.uid;
++  };
++
++  /**
+    * @function $shortFormat
+    * @memberof User.prototype
+    * @return the fullname along with the email address
+    */
+   User.prototype.$shortFormat = function(options) {
+-    var fullname = this.cn || this.c_email;
++    var fullname = this.$fullname();
+     var email = this.c_email;
+     var no_email = options && options.email === false;
+     if (!no_email && email && fullname != email) {
diff -Nru sogo-3.2.6/debian/patches/revert-property-honor-include-in-busy.patch sogo-3.2.6/debian/patches/revert-property-honor-include-in-busy.patch
--- sogo-3.2.6/debian/patches/revert-property-honor-include-in-busy.patch	1970-01-01 01:00:00.000000000 +0100
+++ sogo-3.2.6/debian/patches/revert-property-honor-include-in-busy.patch	2017-02-10 18:18:34.000000000 +0100
@@ -0,0 +1,49 @@
+commit 831c1bc9801bfd176d5ea2c1a606df4965fc35b8
+Author: Francis Lachapelle <flachapelle@inverse.ca>
+Date:   Thu Jan 26 11:52:58 2017 -0500
+
+    Revert "(fix) properly honor "include in freebusy"
+    
+    This reverts commit eed5679068480963f0f5de9a9e784f642fbfb575.
+
+diff --git a/SoObjects/Appointments/SOGoAppointmentFolder.m b/SoObjects/Appointments/SOGoAppointmentFolder.m
+index d688a256b..f9974047e 100644
+--- a/SoObjects/Appointments/SOGoAppointmentFolder.m
++++ b/SoObjects/Appointments/SOGoAppointmentFolder.m
+@@ -423,32 +423,26 @@ static Class iCalEventK = nil;
+ //
+ // If the user is the owner of the calendar, by default we include the freebusy information.
+ //
+-// If the user is NOT the owner of the calendar but is subscribed, by default we exclude the freebusy information.
++// If the user is NOT the owner of the calendar, by default we exclude the freebusy information.
+ //
+ // We must include the freebusy information of other users if we are actually looking at their freebusy information
+ // but we aren't necessarily subscribed to their calendars.
+ //
+ - (BOOL) includeInFreeBusy
+ {
+-  NSString *userLogin, *subscriptionReference;
+   NSNumber *excludeFromFreeBusy;
++  NSString *userLogin;
++  BOOL is_owner;
+   
+-  BOOL is_owner, is_subscription;
+-
+   userLogin = [[context activeUser] login];
+   is_owner = [userLogin isEqualToString: self->owner];
+-
+-  // We check if we're subscribed. We must NOT use here [self isSubscribed] as it'll look
+-  // at the owner's settings, and not the activeUser's settings.
+-  subscriptionReference = [NSString stringWithFormat: @"%@:Calendar/%@", self->owner, [self nameInContainer]];
+-  is_subscription = [[[[[self->context activeUser] userSettings] objectForKey: @"Calendar"] objectForKey: @"SubscribedFolders"] containsObject: subscriptionReference];
+   
+   // Check if the owner (not the active user) has excluded the calendar from her/his free busy data.
+   excludeFromFreeBusy
+     = [self folderPropertyValueInCategory: @"FreeBusyExclusions"
+ 				  forUser: [context activeUser]];
+ 
+-  if (is_subscription)
++  if ([self isSubscription])
+     {
+       // If the user has not yet set an include/not include fb information let's EXCLUDE it.
+       if (!excludeFromFreeBusy)
diff -Nru sogo-3.2.6/debian/patches/series sogo-3.2.6/debian/patches/series
--- sogo-3.2.6/debian/patches/series	2017-01-11 23:25:52.000000000 +0100
+++ sogo-3.2.6/debian/patches/series	2017-02-10 18:21:29.000000000 +0100
@@ -3,3 +3,5 @@
 0005-Remove-build-date.patch
 0006-Update-unit-test-expected-failures.patch
 disable_test_rendering.patch
+improve-acl-handling-of-inactive-users.patch
+revert-property-honor-include-in-busy.patch

--- End Message ---
--- Begin Message ---
Unblocked sogo.

--- End Message ---

Reply to: