Hello community, here is the log from the commit of package mailman for openSUSE:Factory checked in at 2018-03-20 22:00:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mailman (Old) and /work/SRC/openSUSE:Factory/.mailman.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mailman" Tue Mar 20 22:00:00 2018 rev:39 rq:588461 version:2.1.26 Changes: -------- --- /work/SRC/openSUSE:Factory/mailman/mailman.changes 2017-11-29 10:53:38.330519373 +0100 +++ /work/SRC/openSUSE:Factory/.mailman.new/mailman.changes 2018-03-20 22:00:25.601538051 +0100 @@ -1,0 +2,40 @@ +Mon Mar 19 09:20:57 UTC 2018 - [email protected] + +- Fix install prefix for some of the files +- Install license file + +------------------------------------------------------------------- +Fri Mar 16 10:07:38 UTC 2018 - [email protected] + +- Sort out with spec-cleaner +- Use direct paths in post scriptlets and properly state their deps +- Do not attempt user creation during build, fails anyway +- Use proper user creation code in scriptlets + +------------------------------------------------------------------- +Thu Mar 15 14:22:32 UTC 2018 - [email protected] + +- update to 2.1.26 + * An XSS vulnerability in the user options CGI could allow a crafted + URL to execute arbitrary javascript in a user's browser. A + related issue could expose information on a user's options page + without requiring login. (CVE-2018-5950) bsc#1077358 + * Google reCAPTCHA v2 + * New bin/mailman-config command to display various information + about this Mailman version and how it was configured. + * bug fixes, i18n updates + * for further details see NEWS + +- updato to 2.1.25 + * The admindb held subscriptions listing now includes the date of the + most recent request from the address. + * bug fixes, i18n updates + * for further details see NEWS + +- update to 2.1.24 + * bug fixes, i18n updates + * for further details see NEWS +- Rename and refresh patch: + * mailman-2.1.2-list_lists.patch to mailman-2.1.26-list_lists.patch + +------------------------------------------------------------------- Old: ---- mailman-2.1.2-list_lists.patch mailman-2.1.23.tgz mailman-2.1.23.tgz.sig New: ---- mailman-2.1.26-list_lists.patch mailman-2.1.26.tgz mailman-2.1.26.tgz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mailman.spec ++++++ --- /var/tmp/diff_new_pack.59BK2I/_old 2018-03-20 22:00:26.697498592 +0100 +++ /var/tmp/diff_new_pack.59BK2I/_new 2018-03-20 22:00:26.701498448 +0100 @@ -1,7 +1,7 @@ # # spec file for package mailman # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,40 +16,23 @@ # +%define m_uid 72 +%define m_gid 67 +%define apache2_confd %{_sysconfdir}/apache2/conf.d +%define sendmail_libd %{_libexecdir}/sendmail.d +%define mailman_confd %{_sysconfdir}/mailman #Compat macro for new _fillupdir macro introduced in Nov 2017 %if ! %{defined _fillupdir} - %define _fillupdir /var/adm/fillup-templates + %define _fillupdir %{_localstatedir}/adm/fillup-templates %endif - Name: mailman -#!BuildIgnore: sendmail -BuildRequires: krb5 -BuildRequires: pcre-devel -BuildRequires: postfix -BuildRequires: pwdutils -BuildRequires: python-devel -BuildRequires: python-dnspython -Url: http://www.gnu.org/software/mailman/mailman.html -Requires: cron -Requires: logrotate -Requires: python -Requires: python-dnspython -Requires: smtp_daemon -Requires: w3m -Requires(post): user(wwwrun) -Requires(post): group(nobody) -Requires(post): user(nobody) -PreReq: /usr/sbin/useradd /usr/sbin/groupadd /bin/echo /bin/cp /bin/rm /bin/mkdir /usr/bin/awk /usr/bin/touch /usr/bin/getent openssl -PreReq: %insserv_prereq %fillup_prereq -PreReq: permissions +Version: 2.1.26 +Release: 0 Summary: The GNU Mailing List Manager -License: GPL-2.0+ +License: GPL-2.0-or-later Group: Productivity/Networking/Email/Mailinglists -Version: 2.1.23 -Release: 0 +Url: http://www.gnu.org/software/mailman/mailman.html Source0: https://ftp.gnu.org/gnu/mailman/%{name}-%{version}.tgz -Source13: https://ftp.gnu.org/gnu/mailman/%{name}-%{version}.tgz.sig -Source14: %{name}.keyring Source1: README.SUSE Source2: mailman-2.1-manpages.tgz Source4: mailman-generate-sysconfig @@ -60,34 +43,45 @@ Source9: mailman-apache2.conf Source11: logrotate.mailman Source12: mm-text.png +Source13: https://ftp.gnu.org/gnu/mailman/%{name}-%{version}.tgz.sig +Source14: %{name}.keyring Patch1: mailman-wrapper.patch Patch3: mailman-2.1.14-python.dif Patch5: mailman-2.1.14-editarch.patch Patch6: mailman-2.1.14-misc-PACKAGES.diff -Patch7: mailman-2.1.2-list_lists.patch +Patch7: mailman-2.1.26-list_lists.patch Patch10: mailman-2.1.4-dirmode.patch Patch11: mailman-2.1.4-notavaliduser.patch Patch17: mailman-weak-password.diff Patch18: mailman-2.1.5-no_extra_asian.dif -BuildRoot: %{_tmppath}/%{name}-%{version}-build -%define m_uid 72 -%define m_gid 67 -%define apache2_confd /etc/apache2/conf.d -%define sendmail_libd /usr/lib/sendmail.d -%define mailman_confd /etc/mailman -# ---------------------------------------------------------------------------- +BuildRequires: krb5 +BuildRequires: pcre-devel +BuildRequires: postfix +BuildRequires: pwdutils +BuildRequires: python-devel +BuildRequires: python-dnspython +#!BuildIgnore: sendmail +Requires: cron +Requires: logrotate +Requires: python +Requires: python-dnspython +Requires: smtp_daemon +Requires: w3m +Requires(post): %fillup_prereq +Requires(post): %insserv_prereq +Requires(post): coreutils +Requires(post): gawk +Requires(post): group(nobody) +Requires(post): openssl +Requires(post): user(nobody) +Requires(post): user(wwwrun) +Requires(pre): shadow %description This is the GNU Mailing List manager. Mailman provides an easy-to-configure means of maintaining mailing lists including Web administration. Mailman is written in Python. - - -Authors: --------- - John Viega <[email protected]> - %prep %setup -q %patch1 @@ -99,26 +93,27 @@ %patch11 -p1 %patch17 -p1 %patch18 -cp -av %{S:1} . -# ---------------------------------------------------------------------------- +cp -av %{SOURCE1} . %build -/usr/sbin/groupadd -g %{m_gid} -o -r mailman 2> /dev/null || : -/usr/sbin/useradd -r -o -g mailman -u %{m_uid} -s /bin/bash -c "GNU mailing list manager" -d /var/lib/mailman mailman 2> /dev/null || : -./configure --prefix=/usr/lib/mailman --sysconfdir=/etc \ - --localstatedir=/var/run --libexecdir=/usr/lib/mailman \ - --mandir=%{_mandir} --with-groupname=mailman --with-username=mailman \ - --with-var-prefix=/var/lib/mailman \ +%configure \ + --prefix=%{_libexecdir}/mailman \ + --exec-prefix=%{_libexecdir}/mailman \ + --localstatedir=%{_localstatedir}/run \ + --libexecdir=%{_libexecdir}/mailman \ + --with-groupname=mailman \ + --with-username=mailman \ + --with-var-prefix=%{_localstatedir}/lib/mailman \ --without-permcheck \ - --with-cgi-gid=nobody --with-mail-gid=nobody # fake -make OPT="$RPM_OPT_FLAGS -fpie -pie" -# ---------------------------------------------------------------------------- + --with-cgi-gid=nobody \ + --with-mail-gid=nobody +make %{?_smp_mflags} OPT="%{optflags} -fpie -pie" %install -install -d $RPM_BUILD_ROOT/{usr/sbin,etc/{mailman,sysconfig,init.d,logrotate.d},%{_fillupdir},bin/conf.d}/ -make DESTDIR=$RPM_BUILD_ROOT install +install -d %{buildroot}/{usr/sbin,etc/{mailman,sysconfig,init.d,logrotate.d},%{_fillupdir},bin/conf.d}/ +%make_install # add a hint to the crontab -cat <<EOF > $RPM_BUILD_ROOT/usr/lib/mailman/cron/crontab +cat <<EOF > %{buildroot}%{_libexecdir}/mailman/cron/crontab # # if you want to make changes to this file, please modify # /usr/lib/mailman/cron/crontab and restart mailman @@ -126,122 +121,111 @@ EOF # add user mailman in column 6 since we are going to use it as system crontab awk '/^[0-9,\*]/ { print $1 " " $2 " " $3 " " $4 " " $5 " mailman " $6 " " $7 " " $8 } /^\#/ { print $0 }' \ - $RPM_BUILD_ROOT/usr/lib/mailman/cron/crontab.in \ - >> $RPM_BUILD_ROOT/usr/lib/mailman/cron/crontab + %{buildroot}%{_libexecdir}/mailman/cron/crontab.in \ + >> %{buildroot}%{_libexecdir}/mailman/cron/crontab # write initial wrapper id files: -. %{S:7} -getent group $MAILMAN_CGI_GID | cut -d: -f3 > $RPM_BUILD_ROOT/%{mailman_confd}/mailman.cgi-gid -echo %{m_gid} > $RPM_BUILD_ROOT/%{mailman_confd}/mailman.mail-gid +. %{SOURCE7} +echo %{m_gid} > %{buildroot}/%{mailman_confd}/mailman.mail-gid # SuSEconfig stuff: -install -m 644 %{S:7} $RPM_BUILD_ROOT%{_fillupdir}/ -install -m 755 %{S:4} $RPM_BUILD_ROOT/usr/lib/mailman/bin/ -install -m 644 %{S:8} %{buildroot}/usr/lib/mailman/sgidlist +install -m 644 %{SOURCE7} %{buildroot}%{_fillupdir}/ +install -m 755 %{SOURCE4} %{buildroot}%{_libexecdir}/mailman/bin/ +install -m 644 %{SOURCE8} %{buildroot}%{_libexecdir}/mailman/sgidlist # start script: -ln -sf ../../etc/init.d/mailman $RPM_BUILD_ROOT/usr/sbin/rcmailman -install -m 755 %{S:5} $RPM_BUILD_ROOT/etc/init.d/mailman +ln -sf ../..%{_initddir}/mailman %{buildroot}%{_sbindir}/rcmailman +install -m 755 %{SOURCE5} %{buildroot}%{_initddir}/mailman # make sure there is a valid group writable aliases.db # if the aliases.db would be generated later on, list creation # through the web interface would not work! -install -m 664 %{S:6} $RPM_BUILD_ROOT/var/lib/mailman/data/aliases +install -m 664 %{SOURCE6} %{buildroot}%{_localstatedir}/lib/mailman/data/aliases # created in %%post and marked as %%ghost in the file section, so simply fake it: -/usr/bin/touch $RPM_BUILD_ROOT/var/lib/mailman/data/aliases.db +%{_bindir}/touch %{buildroot}%{_localstatedir}/lib/mailman/data/aliases.db # apache stuff: -mkdir -p $RPM_BUILD_ROOT/%{apache2_confd} -cp -av %{S:9} $RPM_BUILD_ROOT/%{apache2_confd}/mailman.conf +mkdir -p %{buildroot}/%{apache2_confd} +cp -av %{SOURCE9} %{buildroot}/%{apache2_confd}/mailman.conf # link to enhance interoperability with Sendmail -mkdir -p $RPM_BUILD_ROOT/%{sendmail_libd}/bin -ln -sf ../../../lib/mailman/mail/mailman $RPM_BUILD_ROOT/%{sendmail_libd}/bin/mailman -install -d $RPM_BUILD_ROOT%{_mandir}/man8/ -tar xz -C $RPM_BUILD_ROOT%{_mandir}/man8/ -f %SOURCE2 -install -m 644 %{S:11} $RPM_BUILD_ROOT/etc/logrotate.d/mailman -# ---------------------------------------------------------------------------- - -%clean -rm -rf $RPM_BUILD_ROOT -# ---------------------------------------------------------------------------- +mkdir -p %{buildroot}/%{sendmail_libd}/bin +ln -sf %{_libexecdir}/mailman/mail/mailman %{buildroot}/%{sendmail_libd}/bin/mailman +install -d %{buildroot}%{_mandir}/man8/ +tar xz -C %{buildroot}%{_mandir}/man8/ -f %{SOURCE2} +install -m 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/logrotate.d/mailman %pre -/usr/sbin/groupadd -g %{m_gid} -o -r mailman 2> /dev/null || : -/usr/sbin/useradd -r -o -g mailman -u %{m_uid} -s /bin/bash -c "GNU mailing list manager" -d /var/lib/mailman mailman 2> /dev/null || : +getent group mailman >/dev/null || %{_sbindir}/groupadd -g %{m_gid} -o -r mailman +getent passwd mailman >/dev/null || %{_sbindir}/useradd -r -o -g mailman -u %{m_uid} -s /bin/bash -c "GNU mailing list manager" -d %{_localstatedir}/lib/mailman mailman exit 0 -# ---------------------------------------------------------------------------- %post %{fillup_and_insserv mailman} -%set_permissions -f usr/lib/mailman/sgidlist -if [ -e var/lib/mailman/logs/error ]; then - chown wwwrun.mailman var/lib/mailman/logs/error +if [ -e %{_localstatedir}/lib/mailman/logs/error ]; then + chown wwwrun.mailman %{_localstatedir}/lib/mailman/logs/error else - install -m 664 -o wwwrun -g mailman /dev/null var/lib/mailman/logs/error + install -m 664 -o wwwrun -g mailman /dev/null %{_localstatedir}/lib/mailman/logs/error fi # handle very old installations -test -d var/spool/mailman && { - echo -n "Moving /var/spool/mailman -> /var/lib/mailman... " - (cd var/lib/mailman && cp -a var/spool/mailman/* .) && rm -rf var/spool/mailman +test -d %{_localstatedir}/spool/mailman && { + echo -n "Moving %{_localstatedir}/spool/mailman -> %{_localstatedir}/lib/mailman... " + (cd %{_localstatedir}/lib/mailman && cp -a %{_localstatedir}/spool/mailman/* .) && rm -rf %{_localstatedir}/spool/mailman echo "Done." } echo "All done." # use Mailman facilities for updating old data -usr/lib/mailman/bin/update +%{_libexecdir}/mailman/bin/update if test -z "$YAST_IS_RUNNING" ; then - echo "Please remember to run '/usr/lib/mailman/bin/mailman-generate-sysconfig' to configure mailman" + echo "Please remember to run '%{_libexecdir}/mailman/bin/mailman-generate-sysconfig' to configure mailman" fi # re-create the list aliases -usr/lib/mailman/bin/genaliases > /dev/null +%{_libexecdir}/mailman/bin/genaliases > /dev/null # update the alias db file and make it group-writeable (important for being able to create mailing lists thru the web interface) -if [ -x usr/sbin/postalias -a -r /var/lib/mailman/data/aliases ]; then - usr/sbin/postalias /var/lib/mailman/data/aliases || : - chmod g+w /var/lib/mailman/data/aliases.db +if [ -x %{_sbindir}/postalias -a -r %{_localstatedir}/lib/mailman/data/aliases ]; then + %{_sbindir}/postalias %{_localstatedir}/lib/mailman/data/aliases || : + chmod g+w %{_localstatedir}/lib/mailman/data/aliases.db fi exit 0 -# ---------------------------------------------------------------------------- + %verifyscript -%verify_permissions -f /usr/lib/mailman/sgidlist +%verify_permissions -f %{_libexecdir}/mailman/sgidlist %preun %stop_on_removal mailman -# ---------------------------------------------------------------------------- %postun %restart_on_update mailman -%{insserv_cleanup} -# ---------------------------------------------------------------------------- +%insserv_cleanup %files -%defattr(-, root, root) +%license gnu-COPYING-GPL %doc ACKNOWLEDGMENTS BUGS FAQ INSTALL NEWS TODO UPGRADING contrib doc/mailman-admin %doc README README.* -%doc %{_mandir}/man8/*.8.gz +%{_mandir}/man8/*.8%{?ext_man} %dir %{mailman_confd} -%config(noreplace) /etc/logrotate.d/mailman +%config(noreplace) %{_sysconfdir}/logrotate.d/mailman %config(noreplace) %{mailman_confd}/mailman.*-gid -%dir %attr(2755, root, mailman) /usr/lib/mailman/ -/usr/lib/mailman/sgidlist -%attr(-, root, mailman) /usr/lib/mailman/[^Mmc]* -%attr(-, root, mailman) /usr/lib/mailman/cron -%dir %attr(-, root, mailman) /usr/lib/mailman/cgi-bin -%verify(not mode) %attr(2755, root, mailman) /usr/lib/mailman/cgi-bin/* -%dir %attr(2755, root, mailman) /usr/lib/mailman/Mailman/ -%attr(-, root, mailman) /usr/lib/mailman/Mailman/[^m]* -%attr(-, root, mailman) /usr/lib/mailman/messages -%dir %attr(-, root, mailman) /usr/lib/mailman/mail -%verify(not mode) %attr(2755, root, mailman) /usr/lib/mailman/mail/mailman -%config(noreplace) %attr(-, root, mailman) /usr/lib/mailman/Mailman/m* -%dir %attr(2755, mailman, mailman) /var/lib/mailman/ -%attr(-, root, mailman) /var/lib/mailman/[^d]* -%dir %attr(2775, root, mailman) /var/lib/mailman/data/ -%config(noreplace) %attr(-, root, mailman) /var/lib/mailman/data/[^a]* -%config(noreplace) %attr(-, mailman, mailman) /var/lib/mailman/data/aliases -%ghost %attr(0664, mailman, mailman) /var/lib/mailman/data/aliases.db +%dir %attr(2755, root, mailman) %{_libexecdir}/mailman/ +%{_libexecdir}/mailman/sgidlist +%attr(-, root, mailman) %{_libexecdir}/mailman/[^Mmc]* +%attr(-, root, mailman) %{_libexecdir}/mailman/cron +%dir %attr(-, root, mailman) %{_libexecdir}/mailman/cgi-bin +%verify(not mode) %attr(2755, root, mailman) %{_libexecdir}/mailman/cgi-bin/* +%dir %attr(2755, root, mailman) %{_libexecdir}/mailman/Mailman/ +%attr(-, root, mailman) %{_libexecdir}/mailman/Mailman/[^m]* +%attr(-, root, mailman) %{_libexecdir}/mailman/messages +%dir %attr(-, root, mailman) %{_libexecdir}/mailman/mail +%verify(not mode) %attr(2755, root, mailman) %{_libexecdir}/mailman/mail/mailman +%config(noreplace) %attr(-, root, mailman) %{_libexecdir}/mailman/Mailman/m* +%dir %attr(2755, mailman, mailman) %{_localstatedir}/lib/mailman/ +%attr(-, root, mailman) %{_localstatedir}/lib/mailman/[^d]* +%dir %attr(2775, root, mailman) %{_localstatedir}/lib/mailman/data/ +%config(noreplace) %attr(-, root, mailman) %{_localstatedir}/lib/mailman/data/[^a]* +%config(noreplace) %attr(-, mailman, mailman) %{_localstatedir}/lib/mailman/data/aliases +%ghost %attr(0664, mailman, mailman) %{_localstatedir}/lib/mailman/data/aliases.db %{_fillupdir}/* -/usr/sbin/* -/etc/init.d/* -%dir /etc/apache2 +%{_sbindir}/* +%{_initddir}/* +%dir %{_sysconfdir}/apache2 %dir %{apache2_confd} %config (noreplace) %{apache2_confd}/mailman.conf %dir %{sendmail_libd} %dir %{sendmail_libd}/bin %{sendmail_libd}/bin/mailman -# ---------------------------------------------------------------------------- %changelog ++++++ mailman-2.1.2-list_lists.patch -> mailman-2.1.26-list_lists.patch ++++++ --- /work/SRC/openSUSE:Factory/mailman/mailman-2.1.2-list_lists.patch 2014-02-22 18:11:32.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.mailman.new/mailman-2.1.26-list_lists.patch 2018-03-20 22:00:25.317548276 +0100 @@ -1,7 +1,5 @@ -Index: bin/list_lists -=================================================================== ---- bin/list_lists.orig 2014-02-14 18:29:12.303052735 +0100 -+++ bin/list_lists 2014-02-14 19:38:37.557981060 +0100 +--- bin/list_lists 2018-02-04 18:04:39.000000000 +0100 ++++ bin/list_lists 2018-03-15 17:00:17.090758128 +0100 @@ -37,6 +37,13 @@ -b / --bare Displays only the list name, with no description. @@ -16,19 +14,19 @@ -h / --help Print this text and exit. -@@ -68,8 +75,10 @@ +@@ -69,8 +76,10 @@ def main(): try: - opts, args = getopt.getopt(sys.argv[1:], 'apbV:h', + opts, args = getopt.getopt(sys.argv[1:], 'apbruV:h', ['advertised', 'public-archive', 'bare', -+ 'private-archives', -+ 'public-archives', ++ 'private-archives', ++ 'public-archives', 'virtual-host-overview=', 'help']) except getopt.error, msg: -@@ -79,17 +88,20 @@ +@@ -80,17 +89,20 @@ public = 0 vhost = None bare = 0 @@ -45,17 +43,17 @@ vhost = arg elif opt in ('-b', '--bare'): bare = 1 -+ elif opt in ('-r', '--private-archives'): -+ private_archives = 1 ++ elif opt in ('-r', '--private-archives'): ++ private_archives = 1 names = Utils.list_names() names.sort() -@@ -102,6 +114,8 @@ +@@ -107,6 +119,8 @@ continue if public and mlist.archive_private: continue -+ if private_archives and not mlist.archive_private: -+ continue - if vhost and mm_cfg.VIRTUAL_HOST_OVERVIEW and \ - vhost.find(mlist.web_page_url) == -1 and \ - mlist.web_page_url.find(vhost) == -1: ++ if private_archives and not mlist.archive_private: ++ continue + if (vhost and mm_cfg.VIRTUAL_HOST_OVERVIEW and + not re.search('://%s/' % re.escape(vhost), + mlist.web_page_url, ++++++ mailman-2.1.23.tgz -> mailman-2.1.26.tgz ++++++ /work/SRC/openSUSE:Factory/mailman/mailman-2.1.23.tgz /work/SRC/openSUSE:Factory/.mailman.new/mailman-2.1.26.tgz differ: char 5, line 1
