On Mon, Sep 30, 2013 at 01:15:54AM +0200, Cyril Brulebois wrote: [...] > To reduce user perplexity, I guess we could consider getting sympa to > catch this situation instead, which would reduce side effects. I think > something along the lines of this commit would go in a better direction > that adding a Pre-Depends: I fully agree.
I've prepared a pu upload (I hope It will be ok for the next point release) which fixes this issue and another one (#720383). About #720383, the fix is a one line patch. Attached is the debdiff. Regards, M. -- Emmanuel Bouthenot mail: kolter@{openics,debian}.org gpg: 4096R/0x929D42C3 xmpp: kol...@im.openics.org irc: kolter@{freenode,oftc}
diff -Nru sympa-6.1.11~dfsg/debian/changelog sympa-6.1.11~dfsg/debian/changelog --- sympa-6.1.11~dfsg/debian/changelog 2012-11-30 19:01:18.000000000 +0000 +++ sympa-6.1.11~dfsg/debian/changelog 2013-10-03 14:54:00.000000000 +0000 @@ -1,3 +1,11 @@ +sympa (6.1.11~dfsg-5+deb7u1) stable-proposed-updates; urgency=low + + * Add a patch to raise a warning instead of an error when the CA + bundle file is not readable. + * Add a patch to fix CAS authentication issues (Closes: #720383) + + -- Emmanuel Bouthenot <kol...@debian.org> Thu, 03 Oct 2013 19:54:58 +0000 + sympa (6.1.11~dfsg-5) unstable; urgency=low * Fix SQLite patch to avoid crash during installation from scratch and diff -Nru sympa-6.1.11~dfsg/debian/patches/0001_fix_cas_authentication.patch sympa-6.1.11~dfsg/debian/patches/0001_fix_cas_authentication.patch --- sympa-6.1.11~dfsg/debian/patches/0001_fix_cas_authentication.patch 1970-01-01 00:00:00.000000000 +0000 +++ sympa-6.1.11~dfsg/debian/patches/0001_fix_cas_authentication.patch 2013-10-03 14:04:12.000000000 +0000 @@ -0,0 +1,18 @@ +Description: Fix CAS/LDAP authentication +Author: F. Périchon +Origin: upstream, https://sourcesup.renater.fr/scm/viewvc.php?view=revision&root=sympa&revision=7917 +Bug-Debian: http://bug.debian.org/720383 +Last-Update: 2013-10-03 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/wwsympa/Auth.pm ++++ b/wwsympa/Auth.pm +@@ -330,7 +330,7 @@ + filter => $filter, + scope => $ldap->{'ldap_scope'}, + timeout => $ldap->{'ldap_timeout'}, +- attrs => $ldap->{'ldap_email_attribute'} ++ attrs => [$ldap->{'ldap_email_attribute'}], + ); + my $count = $emails->count(); + diff -Nru sympa-6.1.11~dfsg/debian/patches/2001_ca_bundle_check_as_warning.patch sympa-6.1.11~dfsg/debian/patches/2001_ca_bundle_check_as_warning.patch --- sympa-6.1.11~dfsg/debian/patches/2001_ca_bundle_check_as_warning.patch 1970-01-01 00:00:00.000000000 +0000 +++ sympa-6.1.11~dfsg/debian/patches/2001_ca_bundle_check_as_warning.patch 2013-10-03 13:48:51.000000000 +0000 @@ -0,0 +1,50 @@ +Description: Raise a warning instead of an error when the CA bundle file is not readable. + For its internal usage (to make https request and verify smime mail signatures) Sympa + needs access to the Certificates Authorities installed on the system. + + Certificates Authorities are available in the package ca-certificates and + this package also provides a single file with all the CA concatenated. + The location of this file is /etc/ssl/certs/ca-certificates.crt + + Sympa package provides a symlink from /usr/share/sympa/default/ca-bundle.crt + to /etc/ssl/certs/ca-certificates.crt + + Recently, to fix bug #537051 the ca-certificates package maintainer has + decided to replace the CA bundle generation + (/etc/ssl/certs/ca-certificates.crt) in the postinst by a trigger. + + During installation of Sympa, if ca-certificates is not present, it is + installed as a Sympa dependency but the sympa postinst will always be + executed before the ca-certificates triggers. + It means that Sympa start will fail with an error because + /etc/ssl/certs/ca-certificates.crt does not exists (not yet generated by the + ca-certificates trigger). + + The following patch tries to detect if the CA bundle configured in sympa is a + symlink to /etc/ssl/certs/ca-certificates.crt. In that case, a warning raised + instead of en error. + + This is a purely Debian specific fix, which is quite ugly but it works. + + A better patch will be very much appreciated. +Author: Emmanuel Bouthenot <kol...@debian.org> +Bug-Debian: http://bugs.debian.org/706965 +Forwarded: not-needed +Last-Update: 2013-07-02 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/src/lib/Conf.pm ++++ b/src/lib/Conf.pm +@@ -876,7 +876,11 @@ + + ## Check cafile and capath access + if (defined $Conf{'cafile'} && $Conf{'cafile'}) { +- unless (-f $Conf{'cafile'} && -r $Conf{'cafile'}) { ++ my $debian_ca_bundle = '/etc/ssl/certs/ca-certificates.crt'; ++ if (-l $Conf{'cafile'} && ! -r $Conf{'cafile'} && readlink($Conf{'cafile'}) == $debian_ca_bundle) { ++ &do_log('warning', 'cafile (%s) is a symlink to the Debian CA certificates bundle (%s) which is not yet installed yet (see #706965)', $Conf{'cafile'}, $debian_ca_bundle); ++ } ++ elsif (! -f $Conf{'cafile'} || ! -r $Conf{'cafile'}) { + &do_log('err', 'Cannot access cafile %s', $Conf{'cafile'}); + unless (&List::send_notify_to_listmaster('cannot_access_cafile', $Conf{'domain'}, [$Conf{'cafile'}])) { + &do_log('err', 'Unable to send notify "cannot access cafile" to listmaster'); diff -Nru sympa-6.1.11~dfsg/debian/patches/series sympa-6.1.11~dfsg/debian/patches/series --- sympa-6.1.11~dfsg/debian/patches/series 2012-05-21 12:23:32.000000000 +0000 +++ sympa-6.1.11~dfsg/debian/patches/series 2013-10-03 13:58:31.000000000 +0000 @@ -1,3 +1,4 @@ +0001_fix_cas_authentication.patch 1002_mysql_default_charset_engine.patch 1004_wizard_support_batch_and_display_mode.patch 1005_wizard_emit_cmd_and_newline_when_dying.patch @@ -9,6 +10,7 @@ 1012_fix_manpages_typos_and_whatis_entries.patch 1013_fix_wording_sympa_wizard_manpage.patch 1014_fix_unknown_parameter_ldap_force_canonical_email.patch +2001_ca_bundle_check_as_warning.patch 2002_wizard_drop_localedir.patch #2003_sanitize_make_all.patch 2004_pg_create_db.patch