Control: tag +1 moreinfo thanks On Sat, Feb 20, 2016 at 12:36:52PM +0000, Julien Cristau wrote: > Control: tag -1 moreinfo > > On Mon, Aug 24, 2015 at 21:46:04 +0200, Mike Gabriel wrote: > > > diff -Nru > > gosa-2.7.4+reloaded2/debian/patches/1010_fix-entry-removal-in-mail-plugin.patch > > > > gosa-2.7.4+reloaded2/debian/patches/1010_fix-entry-removal-in-mail-plugin.patch > > --- > > gosa-2.7.4+reloaded2/debian/patches/1010_fix-entry-removal-in-mail-plugin.patch > > 1970-01-01 01:00:00.000000000 +0100 > > +++ > > gosa-2.7.4+reloaded2/debian/patches/1010_fix-entry-removal-in-mail-plugin.patch > > 2015-08-24 21:24:28.000000000 +0200 > > @@ -0,0 +1,30 @@ > > +Description: Fix entry removal in mail plugin > > +Author: eannj <g...@brazcubas.br> > > +Abstract: > > + Without this patch, it is not possible to remove entries from > > + "Alternative addresses" or from "Forward messages to non group members" > > + list in "mail" tab of group objects. One selects an address and press > > + "delete" but nothing happens, the page is refreshed but address entry > > + remains. The same operation succeeds for users. It fails only for group > > + objects. The attached patch fixes the issue. > > + > > +--- a/mail/admin/groups/mail/class_groupMail.inc > > ++++ b/mail/admin/groups/mail/class_groupMail.inc > > +@@ -394,7 +394,7 @@ > > + } > > + } > > + if (isset($_POST['delete_forwarder'])){ > > +- $this->delForwarder (get_post('forwarder_list')); > > ++ $this->delForwarder ($_POST('forwarder_list')); > > + } > > + > > + > > +@@ -432,7 +432,7 @@ > > + } > > + } > > + if (isset($_POST['delete_alternate']) && > > isset($_POST['alternates_list'])){ > > +- $this->delAlternate (get_post('alternates_list')); > > ++ $this->delAlternate ($_POST('alternates_list')); > > + } > > + > > + > > Shouldn't this be $_POST['alternates_list'] (and similar above)? > Thankfully I'm not a php person, so please forgive the possibly stupid > question.
thankfully i'm neither a php person but i have to admit^w^w^wam glad to know some… ;) So yeah, the above are probably syntax errors (or undefined) as it calls a function where an array lookup is required. There's also another error in the first statement, which is missing an && if (isset($_POST['delete_forwarder'])) statement. Fixed this patch becomes: --- a/mail/admin/groups/mail/class_groupMail.inc +++ b/mail/admin/groups/mail/class_groupMail.inc @@ -393,8 +393,8 @@ } } } - if (isset($_POST['delete_forwarder'])){ - $this->delForwarder (get_post('forwarder_list')); + if (isset($_POST['delete_forwarder']) && isset($_POST['forwarder_list'])){ + $this->delForwarder ($_POST['forwarder_list']); } @@ -432,7 +432,7 @@ } } if (isset($_POST['delete_alternate']) && isset($_POST['alternates_list'])){ - $this->delAlternate (get_post('alternates_list')); + $this->delAlternate ($_POST['alternates_list']); } I've committed this fix in the gosa debian/jessie/updates and master branch already and will attach the full corrected debdiff for gosa/2.7.4+reloaded2-1+deb8u2 to this mail. $ git diff debian/2.7.4+reloaded2-1+deb8u1..debian/jessie/updates > gosa_2.7.4+reloaded2-1+deb8u2.diff $ diffstat gosa_2.7.4+reloaded2-1+deb8u2.diff changelog | 30 ++++ patches/0004_fix-get-post.patch | 14 ++ patches/0005_fix-password-expiry-status.patch | 14 ++ patches/1009_fix-insertDhcp-icon-in-dhcp-section-overview.patch | 62 ++++++++++ patches/1010_fix-entry-removal-in-mail-plugin.patch | 32 +++++ patches/1011_define-isPluginModified.patch | 13 ++ patches/1012_allow-one-level-domains-in-email-addresses.patch | 22 +++ patches/2009_allow-Debian-blends-to-override-gosa-conf.patch | 27 ++++ patches/series | 7 + 9 files changed, 221 insertions(+) -- cheers, Holger
diff --git a/debian/changelog b/debian/changelog index 23f59a9..6ec14e6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,33 @@ +gosa (2.7.4+reloaded2-1+deb8u2) jessie-proposed-updates; urgency=medium + + [ Mike Gabriel ] + * debian/patches: + + Add 1009_fix-insertDhcp-icon-in-dhcp-section-overview.patch. Fix + label stripping in GOsa²'s image() function. This fixes displaying the + insertDhcp* icon in the DHCP service plugin. (Closes: #794117). + + Add 2009_allow-Debian-blends-to-override-gosa-conf.patch. Allow + Debian blends to provide their own version of gosa.conf and not get + bugged by GOsa's notification message on gosa.conf template changes. + Debian blends using GOsa (e.g., Edu, LAN) must handle gosa.conf + updates themselves. (Closes: #794118). + + Add 0004_fix-get-post.patch. Fix transferral of POST variables. + + Add 1010_fix-entry-removal-in-mail-plugin.patch. Fix entry deletion + of items in "alternatives addresses" and "forward messages to + non-group members" for group mail objects. (LP:#1307483). + + Add 0005_fix-password-expiry-status.patch. Fix expiration status + for passwords if shadowMax is used in POSIX/shadow accounts. + + Add 1011_define-isPluginModified.patch. Fix undefined property + error for non-defined usertags::$isPluginModified. (Closes: #794690). + + Add 1012_allow-one-level-domains-in-email-addresses.patch. Allow + one-level domains in email addresses (such as <uid>@intern, as used + in Debian Edu by default). (Closes: #794738). + + [ Holger Levsen ] + * Fixup PHP syntax in 1010_fix-entry-removal-in-mail-plugin.patch. See + #796823 for the details. + + -- Holger Levsen <hol...@debian.org> Fri, 20 May 2016 18:08:59 +0200 + gosa (2.7.4+reloaded2-1+deb8u1) jessie-proposed-updates; urgency=medium * debian/patches: diff --git a/debian/patches/0004_fix-get-post.patch b/debian/patches/0004_fix-get-post.patch new file mode 100644 index 0000000..b7d9a9a --- /dev/null +++ b/debian/patches/0004_fix-get-post.patch @@ -0,0 +1,14 @@ +Description: Fix get_post for non-strings +Origin: https://oss.gonicus.de/labs/gosa/changeset/21181/trunk + +--- a/gosa-core/include/functions.inc ++++ b/gosa-core/include/functions.inc +@@ -2757,7 +2757,7 @@ + } else { + $tmp = $_POST; + } +- return($tmp); ++ return($tmp[$name]); + }else{ + + if(version_compare(PHP_VERSION, '5.4.0', '<') && get_magic_quotes_gpc()){ diff --git a/debian/patches/0005_fix-password-expiry-status.patch b/debian/patches/0005_fix-password-expiry-status.patch new file mode 100644 index 0000000..9f71f42 --- /dev/null +++ b/debian/patches/0005_fix-password-expiry-status.patch @@ -0,0 +1,14 @@ +Description: Fix expiration status when shadowMax is used +Origin: https://oss.gonicus.de/labs/gosa/changeset/21241 + +--- a/gosa-core/plugins/personal/posix/class_posixAccount.inc ++++ b/gosa-core/plugins/personal/posix/class_posixAccount.inc +@@ -155,7 +155,7 @@ + } + } elseif (($this->shadowLastChange + $this->shadowMin) >= $current){ + $this->status= _("active").", "._("password not changeable"); +- } elseif (($this->shadowLastChange + $this->shadowMax) >= $current){ ++ } elseif (($this->shadowLastChange + $this->shadowMax) <= $current){ + $this->status= _("active").", "._("password expired"); + } else { + $this->status= _("active"); diff --git a/debian/patches/1009_fix-insertDhcp-icon-in-dhcp-section-overview.patch b/debian/patches/1009_fix-insertDhcp-icon-in-dhcp-section-overview.patch new file mode 100644 index 0000000..df00fc3 --- /dev/null +++ b/debian/patches/1009_fix-insertDhcp-icon-in-dhcp-section-overview.patch @@ -0,0 +1,62 @@ +Description: Fix label extraction from image paths +Author: Mike Gabriel <mike.gabr...@das-netzwerkteam.de> +Abstract: + The DHCP service plugin uses image() function calls like this kind: + . + $editImgIns = image('images/lists/element.png[new]', 'insertDhcp_%s', _("Insert new DHCP section")); + . + The "[new] part of the image file name is used for referencing the + style sheet of the image label. + . + The upstream version of the image function now does three things: + . + 1. Check if the image itself has a style sheet (if not, bail out). + ^^^^ Here the function bails out, as it cannot find a style sheet + for "element.png[new]". The label needs to be substracted first. + + 2. Check if a label name has been appended to the image file name. + 3. If (2), check if the label style sheet exists (if not, die). + 4. If (3), then strip the "[<label>]" part from the file name. + . + We change this to: + 1. Check if a label name has been appended to the image file name. + (if so, substract that label name from the path name of the image). + 2. Check if the image itself has a style sheet (if not, bail out). + 3. Check if the label style sheet exist (if not, die). + +--- a/gosa-core/include/functions.inc ++++ b/gosa-core/include/functions.inc +@@ -3576,16 +3576,19 @@ + } + $styles= session::global_get('img-styles'); + ++ /* Extract labels from path */ ++ preg_match("/(.*\.png)\[(.*)\]$/", $path, $matches); ++ ++ if (count($matches) == 3) { ++ $path = $matches[1]; ++ $label= $matches[2]; ++ } ++ + /* If there's nothing available, just return nothing */ + if (!array_key_exists($path, $styles)) { + return ""; + } + +- /* Extract labels from path */ +- if (preg_match("/\.png\[(.*)\]$/", $path, $matches)) { +- $label= $matches[1]; +- } +- + $lbl= ""; + if ($label) { + if (isset($styles["images/label-".$label.".png"])) { +@@ -3593,8 +3596,6 @@ + } else { + die("Invalid label specified: $label\n"); + } +- +- $path= preg_replace("/\[.*\]$/", "", $path); + } + + // Non middle layout? diff --git a/debian/patches/1010_fix-entry-removal-in-mail-plugin.patch b/debian/patches/1010_fix-entry-removal-in-mail-plugin.patch new file mode 100644 index 0000000..d3843c3 --- /dev/null +++ b/debian/patches/1010_fix-entry-removal-in-mail-plugin.patch @@ -0,0 +1,32 @@ +Description: Fix entry removal in mail plugin +Author: eannj <g...@brazcubas.br> +Abstract: + Without this patch, it is not possible to remove entries from + "Alternative addresses" or from "Forward messages to non group members" + list in "mail" tab of group objects. One selects an address and press + "delete" but nothing happens, the page is refreshed but address entry + remains. The same operation succeeds for users. It fails only for group + objects. The attached patch fixes the issue. + +--- a/mail/admin/groups/mail/class_groupMail.inc ++++ b/mail/admin/groups/mail/class_groupMail.inc +@@ -393,8 +393,8 @@ + } + } + } +- if (isset($_POST['delete_forwarder'])){ +- $this->delForwarder (get_post('forwarder_list')); ++ if (isset($_POST['delete_forwarder']) && isset($_POST['forwarder_list'])){ ++ $this->delForwarder ($_POST['forwarder_list']); + } + + +@@ -432,7 +432,7 @@ + } + } + if (isset($_POST['delete_alternate']) && isset($_POST['alternates_list'])){ +- $this->delAlternate (get_post('alternates_list')); ++ $this->delAlternate ($_POST['alternates_list']); + } + + diff --git a/debian/patches/1011_define-isPluginModified.patch b/debian/patches/1011_define-isPluginModified.patch new file mode 100644 index 0000000..07be6ba --- /dev/null +++ b/debian/patches/1011_define-isPluginModified.patch @@ -0,0 +1,13 @@ +Description: Define undefined usertabs::$isPluginModified +Author: Mike Gabriel <mike.gabr...@das-netzwerkteam.de> + +--- a/gosa-core/include/class_tabs.inc ++++ b/gosa-core/include/class_tabs.inc +@@ -36,6 +36,7 @@ + var $SubDialog = false; + var $acl_category; + var $multiple_support_active = FALSE; ++ var $isPluginModified = FALSE; + + var $parent = null; // A parent object if available, e.g. a management class. + diff --git a/debian/patches/1012_allow-one-level-domains-in-email-addresses.patch b/debian/patches/1012_allow-one-level-domains-in-email-addresses.patch new file mode 100644 index 0000000..cfa68e7 --- /dev/null +++ b/debian/patches/1012_allow-one-level-domains-in-email-addresses.patch @@ -0,0 +1,22 @@ +Description: Allow one-level domains in email addresses +Author: Mike Gabriel <mike.gabr...@das-netzwerkteam.de> +Abstract: + Make it possible to use one-level domains in email address + (such as <uid>@intern) as commonly used in a Debian Edu + default installation. + +--- a/gosa-core/include/utils/class_tests.inc ++++ b/gosa-core/include/utils/class_tests.inc +@@ -237,10 +237,10 @@ + return (TRUE); + } + if ($template){ +- return preg_match ("/^[._a-z0-9{\[\]}%\+-]+@[_a-{}\[\]%z0-9-]+(\.[a-z0-9-]+)(\.[a-z0-9-]+)*$/i", ++ return preg_match ("/^[^0-9][a-zA-Z0-9_{\[\]}%]+([.][a-zA-Z0-9_{\[\]}%]\+-]+)*[@][a-zA-Z0-9_-{\[\]}%]+([.][a-zA-Z0-9_-{\[\]}%]+)*$/", + $address); + } else { +- return preg_match ("/^[._a-z0-9\+-]+@[_a-z0-9-]+(\.[a-z0-9i-]+)(\.[a-z0-9-]+)*$/i", ++ return preg_match ("/^[^0-9][a-zA-Z0-9_\+-]+([.][a-zA-Z0-9_\+-]+)*[@][a-zA-Z0-9_-]+([.][a-zA-Z0-9_-]+)*$/", + $address); + } + } diff --git a/debian/patches/2009_allow-Debian-blends-to-override-gosa-conf.patch b/debian/patches/2009_allow-Debian-blends-to-override-gosa-conf.patch new file mode 100644 index 0000000..2e197e9 --- /dev/null +++ b/debian/patches/2009_allow-Debian-blends-to-override-gosa-conf.patch @@ -0,0 +1,27 @@ +Description: Debian Edu and Debian LAN take care of maintaining its own version of gosa.conf +Author: Mike Gabriel <mike.gabr...@das-netzwerkteam.de> + +--- a/gosa-core/include/class_config.inc ++++ b/gosa-core/include/class_config.inc +@@ -1124,6 +1124,21 @@ + */ + session::global_set("LastChecked",$this->config_version); + ++ /* Debian Edu and Debian LAN take care of maintaining its own ++ version of gosa.conf. ++ ++ Do not compare our gosa.conf template with the actual config ++ version in /etc/gosa/gosa.conf to avoid the misleading message ++ dialog asking the GOsa admin to re-run the GOsa setup. With ++ Debian Edu and Debian LAN, re-running the GOsa setup will ++ break GOsa for those setups. ++ */ ++ ++ // The below regexp is the PHP way of a <string>.startsWith() function... ++ if (preg_match('~'.preg_quote("Managed-by-Debian",'~').'~A', $this->config_version) > 0) { ++ return; ++ } ++ + $current = md5(file_get_contents(CONFIG_TEMPLATE_DIR."/gosa.conf")); + + /* Check contributed config version and current config version. diff --git a/debian/patches/series b/debian/patches/series index fa9b4fc..d4e6e77 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,10 +1,16 @@ 0001_smarty3.patch 0002_style-robustness.patch 0003_xss-vulnerability-on-login-screen.patch +0004_fix-get-post.patch +0005_fix-password-expiry-status.patch 1001_fix-mass-ldapimport.patch 1002_trim-decrypt.patch 1003_RequestHeader-no-underscores-apache24.patch 1004_fix-typos-in-man-pages.patch +1009_fix-insertDhcp-icon-in-dhcp-section-overview.patch +1010_fix-entry-removal-in-mail-plugin.patch +1011_define-isPluginModified.patch +1012_allow-one-level-domains-in-email-addresses.patch 2001_fix-smarty-location.patch 2002_fix-template-location.patch 2003_fix-class-mapping.patch @@ -13,3 +19,4 @@ 2006_sasl-password-change.patch 2007_gen-uids-like-gosa26.patch 2008_enable-csv-import-on-clean-installs.patch +2009_allow-Debian-blends-to-override-gosa-conf.patch
signature.asc
Description: Digital signature