7812c9
# Turn off the brp-python-bytecompile script
7812c9
%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')
7812c9
7812c9
Summary: Mailing list manager with built in Web access
7812c9
Name: mailman
7812c9
Version: 2.1.15
7812c9
Release: 30%{?dist}
7812c9
Epoch: 3
7812c9
Group: Applications/Internet
7812c9
Source0: ftp://ftp.gnu.org/pub/gnu/mailman/mailman-%{version}.tgz
7812c9
#Source0: http://prdownloads.sourceforge.net/mailman/mailman-%{version}.tgz
7812c9
Source1: mm_cfg.py
7812c9
Source3: httpd-mailman.conf
7812c9
Source4: mailman.logrotate
7812c9
Source5: mailman.INSTALL.REDHAT.in
7812c9
Source6: mailman-crontab-edit
7812c9
Source7: mailman-migrate-fhs
7812c9
Source8: mailman-update-cfg
7812c9
Source9: mailman-tmpfiles.conf
7812c9
Source10: mailman.service
7812c9
7812c9
Patch1: mailman-2.1.12-multimail.patch
7812c9
Patch2: mailman-2.1-build.patch
7812c9
Patch3: mailman-2.1-mailmanctl-status.patch
7812c9
Patch4: mailman-2.1.11-cron.patch
7812c9
Patch5: mailman-2.1.13-FHS.patch
7812c9
Patch6: mailman-python-compile.patch
7812c9
Patch7: mailman-2.1.13-archive-reply.patch
7812c9
Patch8: mailman-2.1.9-LC_CTYPE.patch
7812c9
Patch9: mailman-2.1.9-ctypo-new.patch
7812c9
Patch10: mailman-2.1.10-ctypefix.patch
7812c9
#Patch11: mailman-2.1.9-header-folding.patch
7812c9
Patch12: mailman-2.1.9-selinux.patch
7812c9
Patch13: mailman-2.1.9-unicode.patch
7812c9
Patch14: mailman-2.1.11-fhsinit.patch
7812c9
#Patch15: mailman-2.1.11-footer.patch
7812c9
Patch17: mailman-2.1.12-mmcfg.patch
7812c9
Patch18: mailman-2.1.12-initcleanup.patch
7812c9
# the service is now off by default
7812c9
Patch20: mailman-2.1.12-init-not-on.patch
7812c9
Patch22: mailman-2.1.15-check_perms.patch
7812c9
Patch23: mailman-2.1.12-dmarc.patch
7812c9
Patch24: mailman-2.1.15-CVE-2015-2775.patch
7812c9
# https://bugzilla.redhat.com/show_bug.cgi?id=1351939
7812c9
Patch25: mailman-2.1.15-rh1351939.patch
7812c9
Patch26: mailman-2.1.12-newlist-ja.patch
7812c9
Patch27: mailman-2_1-xss_vulnerability.patch
7812c9
Patch28: mailman-findmember_decode.patch
7812c9
Patch29: mailman-long_text_description.patch
7812c9
Patch30: mailman-cve_2018_0618.patch
7812c9
7812c9
7812c9
License: GPLv2+
7812c9
URL: http://www.list.org/
7812c9
Requires(pre): shadow-utils, /sbin/chkconfig, /sbin/service
7812c9
Requires: cronie, httpd, python, coreutils
7812c9
Requires: python-dns
7812c9
Requires(post): systemd
7812c9
Requires(post): systemd-sysv
7812c9
Requires(preun): systemd
7812c9
Requires(postun): systemd
7812c9
BuildRequires: automake
7812c9
BuildRequires: python-devel
7812c9
BuildRequires: systemd-units
7812c9
7812c9
%global contentdir /usr/share/httpd
7812c9
7812c9
# Installation directories
7812c9
# rpmlint will give an error about hardcoded library path,
7812c9
# but this is necessary, because there are python executables inside,
7812c9
# which the user can run in their scripts. 
7812c9
# see rhbz#226117 for more information
7812c9
%global mmdir /usr/lib/%{name}
7812c9
%global varmmdir /var/lib/%{name}
7812c9
%global docdir /usr/share/doc/%{name}-%{version}
7812c9
%global configdir /etc/%{name}
7812c9
%global datadir %{varmmdir}/data
7812c9
%global archivesdir %{varmmdir}/archives
7812c9
%global lockdir /var/lock/%{name}
7812c9
%global logdir /var/log/%{name}
7812c9
%global piddir /var/run/%{name}
7812c9
%global queuedir /var/spool/%{name}
7812c9
%global templatedir %{configdir}/templates
7812c9
%global httpdconfdir /etc/httpd/conf.d
7812c9
%global restart_flag /var/run/%{name}-restart-after-rpm-install
7812c9
%global mmbuilddir %{_builddir}/%{name}-%{version}
7812c9
7812c9
%global httpdconffile %{name}.conf
7812c9
# Now, the user and group the CGIs will expect to be run under.  This should
7812c9
# match the user and group the web server is configured to run as.  The scripts
7812c9
# will error out if they are invoked by any other user.
7812c9
%global cgiuser    apache
7812c9
%global cgigroup   apache
7812c9
7812c9
# Now, the user and group the scripts will actually execute as.
7812c9
%global mmuser       mailman
7812c9
%global mmuserid     41
7812c9
%global mmgroup      mailman
7812c9
%global mmgroupid    41
7812c9
7812c9
# Directory/File modes & permissions
7812c9
%global dirmode 2775
7812c9
%global exemode 2755
7812c9
7812c9
# Now, the groups your mail spoolers run as.  Sendmail uses 'mail'(12)
7812c9
# and postfix used to use 'nobody', but now uses 'postfix'
7812c9
%global mailgroup  "mail postfix mailman nobody daemon"
7812c9
7812c9
# The mail wrapper program
7812c9
%global mail_wrapper mailman
7812c9
7812c9
%description
7812c9
Mailman is software to help manage email discussion lists, much like
7812c9
Majordomo and Smartmail. Unlike most similar products, Mailman gives
7812c9
each mailing list a webpage, and allows users to subscribe,
7812c9
unsubscribe, etc. over the Web. Even the list manager can administer
7812c9
his or her list entirely from the Web. Mailman also integrates most
7812c9
things people want to do with mailing lists, including archiving, mail
7812c9
<-> news gateways, and so on.
7812c9
7812c9
Documentation can be found in: %{docdir}
7812c9
7812c9
When the package has finished installing, you will need to perform some
7812c9
additional installation steps, these are described in:
7812c9
%{docdir}/INSTALL.REDHAT
7812c9
7812c9
%prep
7812c9
%autosetup -p1 
7812c9
7812c9
# Change `#!/usr/bin/env python` shebang to `#!/usr/bin/python`
7812c9
sed -i '1s|^#! */usr/bin/env python$|#!/usr/bin/python|' `find -iname '*.py'`
7812c9
7812c9
#cp $RPM_SOURCE_DIR/mailman.INSTALL.REDHAT.in INSTALL.REDHAT.in
7812c9
cp %{SOURCE5} INSTALL.REDHAT.in
7812c9
7812c9
%build
7812c9
7812c9
CFLAGS="$RPM_OPT_FLAGS -fPIE -DPIE"; export CFLAGS
7812c9
# Full relro
7812c9
export LDFLAGS="$LDFLAGS -pie -Wl,-z,relro -Wl,-z,now"
7812c9
7812c9
rm -f configure
7812c9
aclocal
7812c9
autoconf
7812c9
# rpmlint will give an error about hardcoded library path,
7812c9
# but this is necessary, because there are python executables inside,
7812c9
# which the user can run in their scripts. 
7812c9
# see rhbz#226117 for more information
7812c9
./configure \
7812c9
        --libdir=/usr/lib \
7812c9
        --prefix=%{mmdir} \
7812c9
        --with-var-prefix=%{varmmdir} \
7812c9
        --with-config-dir=%{configdir} \
7812c9
        --with-lock-dir=%{lockdir} \
7812c9
        --with-log-dir=%{logdir} \
7812c9
        --with-pid-dir=%{piddir} \
7812c9
        --with-queue-dir=%{queuedir} \
7812c9
        --with-template-dir=%{templatedir} \
7812c9
        --with-python=%{__python} \
7812c9
        --with-mail-gid=%{mailgroup} \
7812c9
        --with-cgi-id=%{cgiuser} \
7812c9
        --with-cgi-gid=%{cgigroup} \
7812c9
        --with-mailhost=localhost.localdomain \
7812c9
        --with-urlhost=localhost.localdomain \
7812c9
        --without-permcheck
7812c9
7812c9
function SubstituteParameters()
7812c9
{
7812c9
sed -e 's|@VAR_PREFIX@|%{varmmdir}|g' \
7812c9
    -e 's|@VARMMDIR@|%{varmmdir}|g' \
7812c9
    -e 's|@prefix@|%{mmdir}|g' \
7812c9
    -e 's|@MMDIR@|%{mmdir}|g' \
7812c9
    -e 's|@CONFIG_DIR@|%{configdir}|g' \
7812c9
    -e 's|@DATA_DIR@|%{datadir}|g' \
7812c9
    -e 's|@LOCK_DIR@|%{lockdir}|g' \
7812c9
    -e 's|@LOG_DIR@|%{logdir}|g' \
7812c9
    -e 's|@PID_DIR@|%{piddir}|g' \
7812c9
    -e 's|@QUEUE_DIR@|%{queuedir}|g' \
7812c9
    -e 's|@DOC_DIR@|%{docdir}|g' \
7812c9
    -e 's|@HTTPD_CONF_DIR@|%{httpdconfdir}|g' \
7812c9
    -e 's|@HTTPD_CONF_FILE@|%{httpdconffile}|g' \
7812c9
    $1 > $2
7812c9
}
7812c9
7812c9
SubstituteParameters "INSTALL.REDHAT.in" "INSTALL.REDHAT"
7812c9
SubstituteParameters "%{SOURCE1}" "Mailman/mm_cfg.py.dist"
7812c9
SubstituteParameters "%{SOURCE3}" "httpd-mailman.conf"
7812c9
SubstituteParameters "%{SOURCE4}" "mailman.logrotate"
7812c9
7812c9
make
7812c9
7812c9
%install
7812c9
# Normal install.
7812c9
make DESTDIR=%{buildroot} install
7812c9
#make install prefix=%{buildroot}%{mmdir} var_prefix=%{buildroot}%{varmmdir}
7812c9
7812c9
# Install the mailman cron.d script
7812c9
mkdir -p %{buildroot}/etc/cron.d
7812c9
cat > %{buildroot}/etc/cron.d/%{name} <
7812c9
# DO NOT EDIT THIS FILE!
7812c9
#
7812c9
# Contents of this file managed by /etc/init.d/%{name}
7812c9
# Master copy is %{mmdir}/cron/crontab.in
7812c9
# Consult that file for documentation
7812c9
EOF
7812c9
7812c9
# Copy the icons into the web server's icons directory.
7812c9
mkdir -p %{buildroot}%{contentdir}/icons
7812c9
cp %{buildroot}/%{mmdir}/icons/* %{buildroot}%{contentdir}/icons
7812c9
7812c9
# Create a link to the wrapper in /etc/smrsh to allow sendmail to run it.
7812c9
# The link should be relative in order to make it work in chroot
7812c9
mkdir -p %{buildroot}/etc/smrsh
7812c9
ln -s ../..%{mmdir}/mail/%{mail_wrapper} %{buildroot}/etc/smrsh
7812c9
7812c9
# sitelist.cfg used to live in the DATA_DIR, now as part of the 
7812c9
# FHS reoraganization it lives in the CONFIG_DIR. Most of the
7812c9
# documentation refers to it in its DATA_DIR location and experienced
7812c9
# admins will expect to find it there, so create a link in DATA_DIR to
7812c9
# point to it in CONFIG_DIR so people aren't confused.
7812c9
ln -s %{configdir}/sitelist.cfg %{buildroot}%{datadir}
7812c9
7812c9
# Install a logrotate control file.
7812c9
mkdir -p %{buildroot}/etc/logrotate.d
7812c9
install -m644 %{mmbuilddir}/mailman.logrotate %{buildroot}/etc/logrotate.d/%{name}
7812c9
7812c9
# Install the httpd configuration file.
7812c9
install -m755 -d %{buildroot}%{httpdconfdir}
7812c9
install -m644 %{mmbuilddir}/httpd-mailman.conf %{buildroot}%{httpdconfdir}/%{httpdconffile}
7812c9
7812c9
# Install the documentation files
7812c9
install -m755 -d %{buildroot}%{docdir}
7812c9
install -m644 %{mmbuilddir}/INSTALL.REDHAT   %{buildroot}%{docdir}
7812c9
install -m644 %{mmbuilddir}/ACKNOWLEDGMENTS  %{buildroot}%{docdir}
7812c9
install -m644 %{mmbuilddir}/FAQ              %{buildroot}%{docdir}
7812c9
install -m644 %{mmbuilddir}/NEWS             %{buildroot}%{docdir}
7812c9
install -m644 %{mmbuilddir}/README           %{buildroot}%{docdir}
7812c9
install -m644 %{mmbuilddir}/README.CONTRIB   %{buildroot}%{docdir}
7812c9
install -m644 %{mmbuilddir}/README-I18N.en   %{buildroot}%{docdir}
7812c9
install -m644 %{mmbuilddir}/README.NETSCAPE  %{buildroot}%{docdir}
7812c9
install -m644 %{mmbuilddir}/README.USERAGENT %{buildroot}%{docdir}
7812c9
install -m644 %{mmbuilddir}/STYLEGUIDE.txt   %{buildroot}%{docdir}
7812c9
install -m644 %{mmbuilddir}/UPGRADING        %{buildroot}%{docdir}
7812c9
7812c9
cp -r %{mmbuilddir}/contrib %{buildroot}%{docdir}
7812c9
install -m644 %{SOURCE7} %{buildroot}%{docdir}/contrib/migrate-fhs
7812c9
install -m755 -d %{buildroot}%{docdir}/admin
7812c9
cp -r %{mmbuilddir}/doc %{buildroot}%{docdir}/admin
7812c9
7812c9
#install the script for updating the config (bz#484328)
7812c9
mkdir -p %{buildroot}%{mmdir}/bin/
7812c9
install -m755 %{SOURCE8} %{buildroot}%{mmdir}/bin/
7812c9
# set library path in mailman-update-cfg script.
7812c9
sed -i 's,@mmdir@,%{mmdir},g' %{buildroot}%{mmdir}/bin/mailman-update-cfg
7812c9
7812c9
# remove dir/files from %{buildroot} that we aren't shipping
7812c9
rm -rf %{buildroot}%{varmmdir}/icons
7812c9
7812c9
# The file fblast confuses /usr/lib/rpm/find-requires because its an executable
7812c9
# script file that does not have the interpreter as the first line, its not
7812c9
# executable by itself so turn off its execute permissions
7812c9
chmod 0644 %{buildroot}/%{mmdir}/tests/fblast.py
7812c9
7812c9
# Security issues...
7812c9
#chmod 0755 %{buildroot}/%{mmdir}/pythonlib/japanese/c/_japanese_codecs.so
7812c9
#chmod 0755 %{buildroot}/%{mmdir}/pythonlib/korean/c/hangul.so
7812c9
#chmod 0755 %{buildroot}/%{mmdir}/pythonlib/korean/c/_koco.so
7812c9
7812c9
# Directories...
7812c9
mkdir -p %{buildroot}/%{lockdir}
7812c9
mkdir -p %{buildroot}/%{logdir}
7812c9
mkdir -p %{buildroot}/%{piddir}
7812c9
mkdir -p %{buildroot}/%{queuedir}
7812c9
mkdir -p %{buildroot}/%{_tmpfilesdir}
7812c9
install -m 0644 %{SOURCE9} %{buildroot}%{_tmpfilesdir}/%{name}.conf
7812c9
7812c9
# Systemd service file
7812c9
mkdir -p %{buildroot}%{_unitdir}
7812c9
install -m644 %{SOURCE10} %{buildroot}%{_unitdir}
7812c9
7812c9
# Move mm_cfg.py to /etc/mailman and create symlink to it
7812c9
mkdir -p %{buildroot}%{configdir}
7812c9
mv %{buildroot}%{mmdir}/Mailman/mm_cfg.py %{buildroot}%{configdir}
7812c9
ln -s %{configdir}/mm_cfg.py %{buildroot}%{mmdir}/Mailman/
7812c9
7812c9
# Put README file into old templates directory to inform admins
7812c9
# about change
7812c9
cat > %{buildroot}%{mmdir}/templates/README <
7812c9
Templates have been moved to %{templatedir}.
7812c9
EOF
7812c9
7812c9
# byte-compile %{mmdir}
7812c9
#py_byte_compile %{__python} %{buildroot}%{mmdir}
7812c9
find %{buildroot}%{mmdir} -type f -a -name "*.py" -print0 | xargs -0 %{__python} -c 'import py_compile, sys; [py_compile.compile(f, dfile=f.partition("$RPM_BUILD_ROOT")[2]) for f in sys.argv[1:]]' || :
7812c9
find %{buildroot}%{mmdir} -type f -a -name "*.py" -print0 | xargs -0 %{__python} -O -c 'import py_compile, sys; [py_compile.compile(f, dfile=f.partition("$RPM_BUILD_ROOT")[2]) for f in sys.argv[1:]]' || :
7812c9
7812c9
# Change permissions of directories to keep rpmlint silent
7812c9
find %{buildroot}/%{mmdir} -type d -exec chmod 755 {} \;
7812c9
find %{buildroot}/%{templatedir} -type d -exec chmod 755 {} \;
7812c9
# There is no need for setgid bit in all files in those directories except cgi-bin
7812c9
chmod %{buildroot}/%{mmdir} -s -R
7812c9
# cgi-bin contains ELF executables which have to have setgid
7812c9
chmod g+s %{buildroot}/%{mmdir}/cgi-bin/*
7812c9
chmod g+s %{buildroot}/%{mmdir}/mail/mailman
7812c9
# no need for setgid in configdir
7812c9
chmod %{buildroot}/%{configdir}/* -s -R
7812c9
7812c9
%pre
7812c9
7812c9
# Make sure the user "mailman" exists on this system and has the correct values
7812c9
if grep -q "^mailman:" /etc/group 2> /dev/null ; then
7812c9
  /usr/sbin/groupmod -g %{mmgroupid} -n %{mmgroup} %{mmgroup} 2> /dev/null || :
7812c9
else
7812c9
  /usr/sbin/groupadd -g %{mmgroupid} %{mmgroup} 2> /dev/null || :
7812c9
fi
7812c9
if grep -q "^mailman:" /etc/passwd 2> /dev/null ; then
7812c9
  /usr/sbin/usermod -s /sbin/nologin -c "GNU Mailing List Manager" -d %{mmdir} -u %{mmuserid} -g %{mmgroupid}       %{mmuser} 2> /dev/null || :
7812c9
else
7812c9
  /usr/sbin/useradd -s /sbin/nologin -c "GNU Mailing List Manager" -d %{mmdir} -u %{mmuserid} -g %{mmgroupid} -M -r %{mmuser} 2> /dev/null || :
7812c9
fi
7812c9
7812c9
# Mailman should never be running during an install, but a package upgrade
7812c9
# shouldn't silently stop the service, so if mailman was running
7812c9
# we'll leave a temp file in the lock directory as a flag so in
7812c9
# the post install phase we can restart it.
7812c9
#
7812c9
# rpmlint will complain here about "dangerous use of rm"
7812c9
# but this is OK because we are only rm-ing our temporary file
7812c9
if [ -d %{lockdir} ]; then
7812c9
  rm -f %{restart_flag}
7812c9
  /sbin/service %{name} status >/dev/null 2>&1
7812c9
  if [ $? -eq 0 ]; then
7812c9
      touch %{restart_flag}
7812c9
      /sbin/service %{name} stop >/dev/null 2>&1
7812c9
  fi
7812c9
fi
7812c9
7812c9
# Remove older rpm-state dir
7812c9
if [ -d %{_localstatedir}/lib/rpm-state/mailman ]; then
7812c9
  rm -rf %{_localstatedir}/lib/rpm-state/mailman
7812c9
fi
7812c9
7812c9
# Move mm_cfg.py to different location to be able to copy it to /etc/mailman
7812c9
# later in post. This is needed, otherwise RPM would remove it.
7812c9
mkdir -p %{_localstatedir}/lib/rpm-state/mailman/
7812c9
if [ -L %{configdir}/mm_cfg.py -a ! -L %{mmdir}/Mailman/mm_cfg.py -a -d %{configdir} ]; then
7812c9
  mv %{mmdir}/Mailman/mm_cfg.py %{_localstatedir}/lib/rpm-state/mailman/mm_cfg.py
7812c9
fi
7812c9
7812c9
# Move templates dir to different location to be able to copy it to
7812c9
# /etc/mailman later in post. This is needed, otherwise RPM would remove it.
7812c9
if [ ! -d %{templatedir} -a -d %{mmdir}/templates ]; then
7812c9
  mv %{mmdir}/templates %{_localstatedir}/lib/rpm-state/mailman/
7812c9
fi
7812c9
7812c9
# rpm should not abort if last command run had non-zero exit status, exit cleanly
7812c9
exit 0
7812c9
7812c9
%post
7812c9
# We no longer use crontab, but previous versions of the spec file did, so clean up
7812c9
if [ -f /var/spool/cron/%{mmuser} ]; then
7812c9
  crontab -u %{mmuser} -r
7812c9
fi
7812c9
7812c9
# Restart mailman if it had been running before installation
7812c9
if [ -e %{restart_flag} ]; then
7812c9
  rm %{restart_flag}
7812c9
  /sbin/service %{name} start >/dev/null 2>&1
7812c9
fi
7812c9
7812c9
# Move mm_cfg.py from /usr/lib/mailman/Mailman to /etc/mailman and create
7812c9
# symlink to it (#905845).
7812c9
if [ -f %{_localstatedir}/lib/rpm-state/mailman/mm_cfg.py ]; then
7812c9
  cp -p %{_localstatedir}/lib/rpm-state/mailman/mm_cfg.py %{configdir}/mm_cfg.py
7812c9
fi
7812c9
7812c9
# Move mmdir/templates to /etc/mailman/templates
7812c9
if [ -d %{_localstatedir}/lib/rpm-state/mailman/templates ]; then
7812c9
  cp -pr %{_localstatedir}/lib/rpm-state/mailman/templates/* %{templatedir}
7812c9
  rm -rf %{_localstatedir}/lib/rpm-state/mailman/templates/
7812c9
fi
7812c9
7812c9
if [ -d %{_localstatedir}/lib/rpm-state/mailman ]; then
7812c9
  rm -rf %{_localstatedir}/lib/rpm-state/mailman
7812c9
fi
7812c9
7812c9
# systemd
7812c9
%systemd_post mailman.service
7812c9
7812c9
# rpm should not abort if last command run had non-zero exit status, exit cleanly
7812c9
exit 0
7812c9
7812c9
%preun
7812c9
7812c9
# if [ $1 = 0 ]' checks that this is the actual deinstallation of
7812c9
# the package, as opposed to just removing the old package on upgrade.
7812c9
7812c9
%systemd_preun mailman.service
7812c9
# rpm should not abort if last command run had non-zero exit status, exit cleanly
7812c9
exit 0
7812c9
7812c9
%postun
7812c9
if [ $1 = 0 ]; then
7812c9
  crontab -u %{mmuser} -r 2>/dev/null
7812c9
fi
7812c9
7812c9
# systemd
7812c9
%systemd_postun_with_restart mailman.service
7812c9
7812c9
# rpm should not abort if last command run had non-zero exit status, exit cleanly
7812c9
exit 0
7812c9
7812c9
%triggerun -- mailman < 3:2.1.14-9
7812c9
%{_bindir}/systemd-sysv-convert --save mailman >/dev/null 2>&1 ||:
7812c9
/bin/systemctl enable mailman.service >/dev/null 2>&1
7812c9
/sbin/chkconfig --del mailman >/dev/null 2>&1 || :
7812c9
/bin/systemctl try-restart mailman.service >/dev/null 2>&1 || :
7812c9
7812c9
7812c9
%files
7812c9
%defattr(-,root,%{mmgroup})
7812c9
%dir %{mmdir}
7812c9
%dir %{mmdir}/Mailman
7812c9
%{mmdir}/templates
7812c9
%{mmdir}/bin
7812c9
%dir %{mmdir}/cgi-bin/
7812c9
%attr(2755, root, %{mmgroup}) %{mmdir}/cgi-bin/*
7812c9
%dir %{mmdir}/cron
7812c9
%{mmdir}/icons
7812c9
%dir %{mmdir}/mail
7812c9
%attr(2755, root, %{mmgroup}) %{mmdir}/mail/mailman
7812c9
%{mmdir}/messages
7812c9
%{mmdir}/pythonlib
7812c9
%{mmdir}/scripts
7812c9
# rpmlint will complain here about config files being in /usr
7812c9
# but these are both data files -parts of mailman's web UI-
7812c9
# and config files - user can change them to match the design
7812c9
# and/or content of their web pages
7812c9
%config(noreplace) %{templatedir}
7812c9
%{mmdir}/tests
7812c9
%dir %{varmmdir}
7812c9
%{varmmdir}/data
7812c9
%{varmmdir}/lists
7812c9
%{varmmdir}/spam
7812c9
%dir %{archivesdir}
7812c9
%{archivesdir}/public
7812c9
# fix for security issue #459530
7812c9
%attr(2770,%{cgiuser},%{mmgroup}) %{archivesdir}/private
7812c9
#cron dir minus one file which is listed later
7812c9
%{mmdir}/cron/bumpdigests
7812c9
%{mmdir}/cron/checkdbs
7812c9
%{mmdir}/cron/cull_bad_shunt
7812c9
%{mmdir}/cron/disabled
7812c9
%{mmdir}/cron/gate_news
7812c9
%{mmdir}/cron/mailpasswds
7812c9
%{mmdir}/cron/nightly_gzip
7812c9
%{mmdir}/cron/paths.py
7812c9
%{mmdir}/cron/paths.pyc
7812c9
%{mmdir}/cron/paths.pyo
7812c9
%{mmdir}/cron/senddigests
7812c9
#Mailman dir minus one file which is listed later
7812c9
%{mmdir}/Mailman/Archiver
7812c9
%{mmdir}/Mailman/Autoresponder.py
7812c9
%{mmdir}/Mailman/Autoresponder.pyc
7812c9
%{mmdir}/Mailman/Autoresponder.pyo
7812c9
%{mmdir}/Mailman/Bouncer.py
7812c9
%{mmdir}/Mailman/Bouncer.pyc
7812c9
%{mmdir}/Mailman/Bouncer.pyo
7812c9
%{mmdir}/Mailman/Bouncers
7812c9
%{mmdir}/Mailman/Cgi
7812c9
%{mmdir}/Mailman/Commands
7812c9
%{mmdir}/Mailman/CSRFcheck.py
7812c9
%{mmdir}/Mailman/CSRFcheck.pyc
7812c9
%{mmdir}/Mailman/CSRFcheck.pyo
7812c9
%{mmdir}/Mailman/Defaults.py
7812c9
%{mmdir}/Mailman/Defaults.pyc
7812c9
%{mmdir}/Mailman/Defaults.pyo
7812c9
%{mmdir}/Mailman/Deliverer.py
7812c9
%{mmdir}/Mailman/Deliverer.pyc
7812c9
%{mmdir}/Mailman/Deliverer.pyo
7812c9
%{mmdir}/Mailman/Digester.py
7812c9
%{mmdir}/Mailman/Digester.pyc
7812c9
%{mmdir}/Mailman/Digester.pyo
7812c9
%{mmdir}/Mailman/Errors.py
7812c9
%{mmdir}/Mailman/Errors.pyc
7812c9
%{mmdir}/Mailman/Errors.pyo
7812c9
%{mmdir}/Mailman/GatewayManager.py
7812c9
%{mmdir}/Mailman/GatewayManager.pyc
7812c9
%{mmdir}/Mailman/GatewayManager.pyo
7812c9
#%%{mmdir}/Mailman/Generator.py
7812c9
#%%{mmdir}/Mailman/Generator.pyc
7812c9
#%%{mmdir}/Mailman/Generator.pyo
7812c9
%{mmdir}/Mailman/Gui
7812c9
%{mmdir}/Mailman/Handlers
7812c9
%{mmdir}/Mailman/htmlformat.py
7812c9
%{mmdir}/Mailman/htmlformat.pyc
7812c9
%{mmdir}/Mailman/htmlformat.pyo
7812c9
%{mmdir}/Mailman/HTMLFormatter.py
7812c9
%{mmdir}/Mailman/HTMLFormatter.pyc
7812c9
%{mmdir}/Mailman/HTMLFormatter.pyo
7812c9
%{mmdir}/Mailman/i18n.py
7812c9
%{mmdir}/Mailman/i18n.pyc
7812c9
%{mmdir}/Mailman/i18n.pyo
7812c9
%{mmdir}/Mailman/__init__.py
7812c9
%{mmdir}/Mailman/__init__.pyc
7812c9
%{mmdir}/Mailman/__init__.pyo
7812c9
%{mmdir}/Mailman/ListAdmin.py
7812c9
%{mmdir}/Mailman/ListAdmin.pyc
7812c9
%{mmdir}/Mailman/ListAdmin.pyo
7812c9
%{mmdir}/Mailman/LockFile.py
7812c9
%{mmdir}/Mailman/LockFile.pyc
7812c9
%{mmdir}/Mailman/LockFile.pyo
7812c9
%{mmdir}/Mailman/Logging
7812c9
%{mmdir}/Mailman/Mailbox.py
7812c9
%{mmdir}/Mailman/Mailbox.pyc
7812c9
%{mmdir}/Mailman/Mailbox.pyo
7812c9
%{mmdir}/Mailman/MailList.py
7812c9
%{mmdir}/Mailman/MailList.pyc
7812c9
%{mmdir}/Mailman/MailList.pyo
7812c9
%{mmdir}/Mailman/MemberAdaptor.py
7812c9
%{mmdir}/Mailman/MemberAdaptor.pyc
7812c9
%{mmdir}/Mailman/MemberAdaptor.pyo
7812c9
%{mmdir}/Mailman/Message.py
7812c9
%{mmdir}/Mailman/Message.pyc
7812c9
%{mmdir}/Mailman/Message.pyo
7812c9
%{mmdir}/Mailman/mm_cfg.py.dist
7812c9
%{mmdir}/Mailman/MTA
7812c9
%{mmdir}/Mailman/OldStyleMemberships.py
7812c9
%{mmdir}/Mailman/OldStyleMemberships.pyc
7812c9
%{mmdir}/Mailman/OldStyleMemberships.pyo
7812c9
%{mmdir}/Mailman/Pending.py
7812c9
%{mmdir}/Mailman/Pending.pyc
7812c9
%{mmdir}/Mailman/Pending.pyo
7812c9
%{mmdir}/Mailman/Post.py
7812c9
%{mmdir}/Mailman/Post.pyc
7812c9
%{mmdir}/Mailman/Post.pyo
7812c9
%{mmdir}/Mailman/Queue
7812c9
%{mmdir}/Mailman/SafeDict.py
7812c9
%{mmdir}/Mailman/SafeDict.pyc
7812c9
%{mmdir}/Mailman/SafeDict.pyo
7812c9
%{mmdir}/Mailman/SecurityManager.py
7812c9
%{mmdir}/Mailman/SecurityManager.pyc
7812c9
%{mmdir}/Mailman/SecurityManager.pyo
7812c9
%{mmdir}/Mailman/Site.py
7812c9
%{mmdir}/Mailman/Site.pyc
7812c9
%{mmdir}/Mailman/Site.pyo
7812c9
%{mmdir}/Mailman/TopicMgr.py
7812c9
%{mmdir}/Mailman/TopicMgr.pyc
7812c9
%{mmdir}/Mailman/TopicMgr.pyo
7812c9
%{mmdir}/Mailman/UserDesc.py
7812c9
%{mmdir}/Mailman/UserDesc.pyc
7812c9
%{mmdir}/Mailman/UserDesc.pyo
7812c9
%{mmdir}/Mailman/Utils.py
7812c9
%{mmdir}/Mailman/Utils.pyc
7812c9
%{mmdir}/Mailman/Utils.pyo
7812c9
%{mmdir}/Mailman/Version.py
7812c9
%{mmdir}/Mailman/Version.pyc
7812c9
%{mmdir}/Mailman/Version.pyo
7812c9
%{mmdir}/Mailman/versions.py
7812c9
%{mmdir}/Mailman/versions.pyc
7812c9
%{mmdir}/Mailman/versions.pyo
7812c9
%{_unitdir}/mailman.service
7812c9
%doc %{docdir}
7812c9
%dir %attr(0755,root,root) %{contentdir}/icons
7812c9
%attr(0644,root,root) %{contentdir}/icons/*
7812c9
%attr(0644, root, %{mmgroup}) %config(noreplace) %verify(not md5 size mtime) %{configdir}/mm_cfg.py
7812c9
%attr(0644, root, %{mmgroup}) %config(noreplace) %verify(not md5 size mtime) %{mmdir}/Mailman/mm_cfg.py
7812c9
%verify(not md5 size mtime) %{mmdir}/Mailman/mm_cfg.py?
7812c9
%config(noreplace) %{httpdconfdir}/%{httpdconffile}
7812c9
%config(noreplace) /etc/logrotate.d/%{name}
7812c9
/etc/smrsh/%{mail_wrapper}
7812c9
%dir %attr(2775,root,%{mmgroup}) %{configdir}
7812c9
%attr(0644, root, %{mmgroup}) %config(noreplace) %verify(not md5 size mtime) %{configdir}/sitelist.cfg
7812c9
%attr(775,root,%{mmgroup}) %{logdir}
7812c9
%{_tmpfilesdir}/%{name}.conf
7812c9
%attr(2775,root,%{mmgroup}) %{queuedir}
7812c9
%attr(0644,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/cron.d/mailman
7812c9
%attr(0644,root,%{mmgroup}) %config(noreplace) %{mmdir}/cron/crontab.in
7812c9
%attr(0755,root,root) %{mmdir}/bin/mailman-update-cfg
7812c9
%dir %attr(775,root,%{mmgroup}) %{piddir}
7812c9
%dir %attr(775,root,%{mmgroup}) %{lockdir}
7812c9
7812c9
%changelog
7812c9
* Wed Jul 31 2019 Pavel Zhukov <pzhukov@redhat.com> - 3:2.1.15-30
7812c9
- Resolves: #1599692 - Sanitize input on listinfo page (CVE-2018-0618)
7812c9
7812c9
* Wed Jul 31 2019 Pavel Zhukov <pzhukov@redhat.com> - 3:2.1.15-29
7812c9
- Resolves: #1611689 -  Trim long text in "no such list" messages
7812c9
7812c9
* Mon Jul 22 2019 Pavel Zhukov <pzhukov@redhat.com> - 3:2.1.15-28
7812c9
- Resolves: #1718180 - Try to decode member name first
7812c9
7812c9
* Tue Mar 20 2018 Pavel Zhukov <pzhukov@redhat.com> - 3:2.1.15-27
7812c9
- Related : #1545973 -  Bump release to override rhel-7.4.z version
7812c9
7812c9
* Fri Mar 02 2018 Pavel Zhukov <pzhukov@redhat.com> - 3:2.1.15-26
7812c9
- Resolves: #1545973 -  Add sanitizer for XSS mitigation
7812c9
7812c9
* Fri Feb 16 2018 Pavel Zhukov <pzhukov@redhat.com> - 3:2.1.15-25
7812c9
- Resolves: #1545973 -  Fix XSS vulnerability in web UI
7812c9
7812c9
* Wed Feb 22 2017 Pavel Šimerda <psimerda@redhat.com> - 3:2.1.15-24
7812c9
- Resolves: #1232737 - Fix instances of #!/usr/bin/env python in mailman
7812c9
7812c9
* Wed Feb 22 2017 Pavel Šimerda <psimerda@redhat.com> - 3:2.1.15-23
7812c9
- Resolves: #1232749 - fix bad subject of the welcome email when creating list
7812c9
  using newlist command
7812c9
7812c9
* Fri Feb 10 2017 Pavel Šimerda <psimerda@redhat.com> - 3:2.1.15-22
7812c9
- Resolves: #1351939 - Mailman 2.1.15 and later crashes on more email
7812c9
7812c9
* Wed Jun 10 2015 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.15-21
7812c9
- fix CVE-2015-2775 - directory traversal in MTA transports
7812c9
7812c9
* Tue Mar 17 2015 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.15-20
7812c9
- fix #1107652 - do not install patch backup files in documentation
7812c9
7812c9
* Tue Mar 17 2015 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.15-19
7812c9
- fix #1188043 - set 2775 permission only for /etc/mailman
7812c9
7812c9
* Mon Mar 16 2015 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.15-18
7812c9
- fix #1107652 - add support for DMARC
7812c9
- fix #1180981 - install tmpfiles.d into /usr/lib instead of /etc
7812c9
- fix #1188043 - set 2775 permission for /etc/mailman
7812c9
7812c9
* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 3:2.1.15-17
7812c9
- Mass rebuild 2014-01-24
7812c9
7812c9
* Thu Jan 02 2014 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.15-16
7812c9
- fix #1044496 - fix setgid for cgi and mailman binaries
7812c9
7812c9
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 3:2.1.15-15
7812c9
- Mass rebuild 2013-12-27
7812c9
7812c9
* Tue Jul 23 2013 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.15-14
7812c9
- build with full relro support
7812c9
7812c9
* Thu Apr 04 2013 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.15-13
7812c9
- move mailman-update-cfg to /usr/lib/mailman/bin
7812c9
7812c9
* Tue Apr 02 2013 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.15-12
7812c9
- fix #947191 - change contentdir to /usr/share/httpd
7812c9
7812c9
* Thu Mar 14 2013 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.15-11
7812c9
- do not use py_byte_compile, remove python3-devel dependency
7812c9
7812c9
* Thu Mar 14 2013 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.15-10
7812c9
- fix #921421 - fix /var/spool/mailman/ permissions
7812c9
- fix #921423 - move mm_cfg.py to /etc/mailman
7812c9
- move templates from /usr/lib/mailman to /etc/mailman
7812c9
7812c9
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3:2.1.15-9
7812c9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
7812c9
7812c9
* Tue Jan 22 2013 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.15-8
7812c9
- fix #838580 - check if directories are 0755, there is no need to need
7812c9
  02775 on all Mailman directories
7812c9
7812c9
* Thu Dec 06 2012 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.15-7
7812c9
- remove fuzz=3 and rebase patches
7812c9
7812c9
* Wed Nov 21 2012 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.15-6
7812c9
- clean up spec file
7812c9
7812c9
* Wed Oct 24 2012 Václav Pavlín <vpavlin@redhat.com> - 3:2.1.15-5
7812c9
- Scriptlets replaced with new systemd macros (#850198)
7812c9
7812c9
* Tue Aug 21 2012 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.15-4
7812c9
- fix ownership of unowned directories
7812c9
7812c9
* Thu Aug 16 2012 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.15-3
7812c9
- Python executables does not need setgid
7812c9
7812c9
* Thu Jul 19 2012 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.15-2
7812c9
- do not set setgid bit on directories where it is not needed
7812c9
7812c9
* Mon Jun 18 2012 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.15-1
7812c9
- fix #822096 - update to version 2.1.15
7812c9
- fixed httpd config file to work with httpd-2.4
7812c9
7812c9
* Wed Jan 11 2012 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.14-13
7812c9
- fix #751581 - changed systemd service file to create error log with proper
7812c9
  permissions, changed logrotate conf to swifth to proper username/group
7812c9
7812c9
* Wed Jan 11 2012 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.14-12
7812c9
- fix #773188 - fix typo in reset_pw.py causing it to not work
7812c9
7812c9
* Thu Dec 15 2011 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.14-11
7812c9
- fix #754898 - decode subjects
7812c9
7812c9
* Wed Oct 12 2011 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.14-10
7812c9
- fix #745411 - remove Indexes from httpd config
7812c9
7812c9
* Wed Jul 13 2011 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.14-9
7812c9
- fix #719371 - added native systemd unit file
7812c9
7812c9
* Wed May 18 2011 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.14-8
7812c9
- fix #701539 - fixed permissions of all directories in mailman dir
7812c9
7812c9
* Mon May 09 2011 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.14-7
7812c9
- fix #701539 - fixed cgi-bin permissions
7812c9
7812c9
* Tue Apr 05 2011 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.14-6
7812c9
- fix #688435 - set proper permissions for private archive
7812c9
- fix badly rebased LC_CTYPE patch which caused newlist to fail with traceback
7812c9
7812c9
* Wed Feb 23 2011 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.14-5
7812c9
- fix #679644 - fixed CVE-2011-0707: three XSS flaws due improper
7812c9
  escaping of the full name of the member
7812c9
7812c9
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3:2.1.14-4
7812c9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
7812c9
7812c9
* Mon Dec 06 2010 Jan Kaluza <jkaluza@redhat.com> - 3:2.1.14-3
7812c9
- fix #656619 - use tmpfiles.d to create directories in /var/run and /var/lock
7812c9
7812c9
* Wed Sep 29 2010 jkeating - 3:2.1.14-2
7812c9
- Rebuilt for gcc bug 634757
7812c9
7812c9
* Tue Sep 21 2010 Jan Kaluza <jkaluza@redhat.com> 3:2.1.14-1
7812c9
- fix #632542 - updated to new upstream version
7812c9
7812c9
* Wed Sep 15 2010 Jan Kaluza <jkaluza@redhat.com> 3:2.1.13-6
7812c9
- fix #631881 - CVE-2010-3089: Multiple security flaws leading
7812c9
  to cross-site scripting (XSS) attacks
7812c9
7812c9
* Wed Aug 11 2010 David Malcolm <dmalcolm@redhat.com> - 3:2.1.13-5
7812c9
- recompiling .py files against Python 2.7 (rhbz#623334)
7812c9
7812c9
* Tue Jul 13 2010 Jan Kaluza <jkaluza@redhat.com> 3:2.1.13-4
7812c9
- #459530 - fix permissions of archives/private directory
7812c9
7812c9
* Tue May 25 2010 Daniel Novotny <dnovotny@redhat.com> 3:2.1.13-3
7812c9
- #595715 - Fix instances of #!/usr/bin/env python in mailman
7812c9
7812c9
* Tue Apr 20 2010 Daniel Novotny <dnovotny@redhat.com> 3:2.1.13-2
7812c9
- fix #583966 - mailman-update-cfg script should use %%{mmdir}, not %%{_libdir}
7812c9
7812c9
* Thu Mar 25 2010 Daniel Novotny <dnovotny@redhat.com> 3:2.1.13-1
7812c9
- update to 2.1.13, de-fuzz patches
7812c9
7812c9
* Wed Jan 13 2010 Daniel Novotny <dnovotny@redhat.com> 3:2.1.12-14
7812c9
- revert _libdir change, because it disturbs scripts invocation 
7812c9
  (see #226117 discussion)
7812c9
7812c9
* Tue Dec 22 2009 Daniel Novotny <dnovotny@redhat.com> 3:2.1.12-13
7812c9
- the service is now not on by default (change for merge review, #226117)
7812c9
7812c9
* Wed Oct 14 2009 Daniel Novotny <dnovotny@redhat.com> 3:2.1.12-12
7812c9
- fix the last patch (bz#528492), no space between "coding" and ":"
7812c9
7812c9
* Tue Oct 13 2009 Daniel Novotny <dnovotny@redhat.com> 3:2.1.12-11
7812c9
- fix French translation, "coding" keyword must be untranslated (bz#528492)
7812c9
7812c9
* Wed Oct 07 2009 Daniel Novotny <dnovotny@redhat.com> 3:2.1.12-10
7812c9
- init script cleanup and fixes for LSB compliance (bz#524016)
7812c9
7812c9
* Tue Jul 28 2009 Daniel Novotny <dnovotny@redhat.com> 3:2.1.12-9
7812c9
- regenerated patches so patch fuzz 3 is not needed (bz#513207)
7812c9
- mm_cfg.pyc and .pyo are now %%verify(not md5 size mtime) (bz#512794)
7812c9
7812c9
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3:2.1.12-8
7812c9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
7812c9
7812c9
* Wed Jul 22 2009 Daniel Novotny <dnovotny@redhat.com> 3:2.1.12-7
7812c9
- fix bz#512798 -  Mailman path in /usr/bin/mailman-update-cfg 
7812c9
  is incorrect on x86_64.
7812c9
- added explanation comment in mailman-update-cfg, to justify
7812c9
  why this script is needed
7812c9
7812c9
* Wed Jul 08 2009 Daniel Novotny <dnovotny@redhat.com> 3:2.1.12-6
7812c9
- fix bz#509689 -  please remove execute perms
7812c9
7812c9
* Tue Jul 07 2009 Daniel Novotny <dnovotny@redhat.com> 3:2.1.12-5
7812c9
- hardcoded library path removed
7812c9
- mixed use of spaces and tabs fixed
7812c9
- added --libdir to configure
7812c9
- fixed URL to tarball
7812c9
- permissions of source files changed to 0644
7812c9
- got rid of "file listed twice" warnings: listing the files explicitly
7812c9
- all this were cleanups for merge review (#226117)  
7812c9
7812c9
* Thu Apr 02 2009 Daniel Novotny <dnovotny@redhat.com> 3:2.1.12-4
7812c9
- fix bz#481446 (Recompile of mailman's config causes SElinux denials)
7812c9
7812c9
* Tue Mar 31 2009 Daniel Novotny <dnovotny@redhat.com> 3:2.1.12-3
7812c9
- fix bz#447784 (List-Archive URL for private archives broken)
7812c9
7812c9
* Mon Mar 30 2009 Daniel Novotny <dnovotny@redhat.com> 3:2.1.12-2
7812c9
- "AddDefaultCharset Off" in httpd configuration (#463115)
7812c9
7812c9
* Wed Mar 11 2009 Daniel Novotny <dnovotny@redhat.com> 3:2.1.12-1
7812c9
- upgrade to 2.1.12, drop upstreamed patches, rebase other patches
7812c9
7812c9
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3:2.1.11-7
7812c9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
7812c9
7812c9
* Thu Feb 12 2009 Daniel Novotny <dnovotny@redhat.com> 3:2.1.11-6
7812c9
- added a script to recompile the config file b/c of selinux policy
7812c9
  (bz#484328)
7812c9
7812c9
* Sun Nov 30 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 3:2.1.11-5
7812c9
- Rebuild for Python 2.6
7812c9
7812c9
* Wed Oct 29 2008 Daniel Novotny <dnovotny@redhat.com> 3:2.1.11-4
7812c9
- fix #460820 - msg_footer gets its trailing spaces trimmed
7812c9
7812c9
* Thu Jul 31 2008 Tomas Smetana <tsmetana@redhat.com> - 3:2.1.11-3
7812c9
- fix #457388 - don't call "/usr/bin/python" from /etc/cron.d/mailman
7812c9
- fix #457389 - cron complains about bad username
7812c9
7812c9
* Wed Jul 23 2008 Tomas Smetana <tsmetana@redhat.com> - 3:2.1.11-2
7812c9
- temporary fix for --fuzz=0
7812c9
7812c9
* Tue Jul 22 2008 Tomas Smetana <tsmetana@redhat.com> - 3:2.1.11-1
7812c9
- new upstream version
7812c9
- fix #246978 - FHS compliant initscript
7812c9
7812c9
* Mon May 12 2008 Tomas Smetana <tsmetana@redhat.com> - 3:2.1.10-1
7812c9
- new upstream version
7812c9
7812c9
* Tue Feb 05 2008 Tomas Smetana <tsmetana@redhat.com> - 3:2.1.9-10
7812c9
- patch for CVE-2008-0564; XSS triggerable by list administrator
7812c9
7812c9
* Thu Jan 10 2008 Tomas Smetana <tsmetana@redhat.com> - 3:2.1.9-9
7812c9
- fix #393911 - mail is not added to the archive
7812c9
7812c9
* Tue Oct 16 2007 Tomas Smetana <tsmetana@redhat.com> - 3:2.1.9-8
7812c9
- fix #333011 - withlist crashes with NameError
7812c9
- fix #350461 - init script prevents proper SELinux domain transitions
7812c9
- fix #303061 - broken multipart mail headers
7812c9
7812c9
* Wed Aug 22 2007 Tomas Smetana <tsmetana@redhat.com> - 3:2.1.9-7
7812c9
- fix #242678 wrong init script
7812c9
- fix #247160 INSTALL.REDHAT references non-existent README.POSTFIX file,
7812c9
  patch by Todd Zullinger
7812c9
- fix #132495 jp character encoding is not UTF8, patch by Todd Zullinger
7812c9
- update license, add dist to release
7812c9
7812c9
* Thu May 24 2007 Tomas Smetana <tsmetana@redhat.com> - 3:2.1.9-6
7812c9
- fix #237315 - permissions for .so files
7812c9
- fix forgotten '_(' in check_perms
7812c9
- cleanup spec file
7812c9
7812c9
* Mon Jan 29 2007 Harald Hoyer <harald@redhat.com> - 3:2.1.9-5
7812c9
- mailman-2.1.9-LC_CTYPE.patch added (bug #132495)
7812c9
- Resolves: rhbz#132495
7812c9
7812c9
* Tue Jan 23 2007 Florian La Roche <laroche@redhat.com>
7812c9
- add fix from rhbz#219054: usage output mentions "status" option
7812c9
7812c9
* Thu Oct 05 2006 David Woodhouse <dwmw2@redhat.com> - 3:2.1.9-3
7812c9
- fix broken In-Reply-To: header in mailto: URL in archives (#123768)
7812c9
7812c9
* Sun Oct 01 2006 Jesse Keating <jkeating@redhat.com> - 3:2.1.9-2
7812c9
- rebuilt for unwind info generation, broken in gcc-4.1.1-21
7812c9
7812c9
* Mon Sep 25 2006 Harald Hoyer <harald@redhat.com> - 3:2.1.9-1
7812c9
- updated to mailman-2.1.9 which fixes bug #206607
7812c9
7812c9
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 3:2.1.8-3.1
7812c9
- rebuild
7812c9
7812c9
* Tue Jun 27 2006 Florian La Roche <laroche@redhat.com> - 3:2.1.8-3
7812c9
- quieten postun of crontab removal
7812c9
7812c9
* Mon Jun 12 2006 Harald Hoyer <harald@redhat.com> - 3:2.1.8-2
7812c9
- more build requirements
7812c9
7812c9
* Mon May 08 2006 Harald Hoyer <harald@redhat.com> - 3:2.1.8-1
7812c9
- version 2.1.8
7812c9
7812c9
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 3:2.1.7-1.2
7812c9
- bump again for double-long bug on ppc(64)
7812c9
7812c9
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 3:2.1.7-1.1
7812c9
- rebuilt for new gcc4.1 snapshot and glibc changes
7812c9
7812c9
* Tue Jan 10 2006 Harald Hoyer <harald@redhat.com> - 3:2.1.7-1
7812c9
- version 2.1.7
7812c9
7812c9
* Fri Dec 16 2005 Jesse Keating <jkeating@redhat.com>
7812c9
- rebuilt for new gcj
7812c9
7812c9
* Wed Dec 14 2005 Harald Hoyer <harald@redhat.com> - 3:2.1.5-36.fc4.1
7812c9
- fix for bug #173139 (CVE-2005-3573 Mailman Denial of Service)
7812c9
7812c9
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
7812c9
- rebuilt
7812c9
7812c9
* Thu Nov 10 2005 Harald Hoyer <harald@redhat.com> - 3:2.1.6-2
7812c9
- added help to the initscript (bug #162724)
7812c9
7812c9
* Wed Jun  8 2005 John Dennis <jdennis@redhat.com> - 3:2.1.6-1.fc4
7812c9
- initial port of 2.1.6
7812c9
  remove mailman-2.1.5-moderator-request.patch, present in new release
7812c9
  remove mailman-2.1-CAN-2005-0202.patch,       present in new release
7812c9
  remove mailman-2.1-CAN-2004-1177.patch,       present in new release
7812c9
7812c9
* Thu Apr 28 2005 John Dennis <jdennis@redhat.com> - 3:2.1.5-36.fc4
7812c9
- fix bug #156159 insecure location of restart flag file
7812c9
7812c9
* Mon Mar  7 2005 John Dennis <jdennis@redhat.com> 3:2.1.5-35.fc4
7812c9
- bump rev for gcc4 build
7812c9
7812c9
* Wed Mar  2 2005 John Dennis <jdennis@redhat.com> - 3:2.1.5-34.fc4
7812c9
- fix bug #150065, provide migration script for new FHS installation
7812c9
7812c9
* Fri Feb 25 2005 John Dennis <jdennis@redhat.com> - 3:2.1.5-33.fc4
7812c9
- fix bug #147833, CAN-2004-1177
7812c9
7812c9
* Mon Feb 14 2005 John Dennis <jdennis@redhat.com> - 3:2.1.5-31.fc4
7812c9
- fix bug #132750, add daemon to mail-gid so courier mail server will work.
7812c9
- fix bug #143008, wrong location of mailmanctl in logrotate
7812c9
- fix bug #142605, init script doesn't use /var/lock/subsys
7812c9
7812c9
* Tue Feb  8 2005 John Dennis <jdennis@redhat.com> - 3:2.1.5-30.fc4
7812c9
- fix release tag
7812c9
7812c9
* Tue Feb  8 2005 John Dennis <jdennis@redhat.com> - 3:2.1.5-29
7812c9
- fix security vulnerability CAN-2005-0202, errata RHSA-2005:137, bug #147344
7812c9
7812c9
* Tue Nov  9 2004 John Dennis <jdennis@redhat.com> 3:2.1.5-28
7812c9
- fix bug #137863, buildroot path in .pyc files
7812c9
7812c9
* Sat Oct 16 2004 John Dennis <jdennis@redhat.com> 3:2.1.5-26
7812c9
- fix typo in install documentation
7812c9
- fix error in templates/Makefile.in, bad install args, fixes bug #136001,
7812c9
  thank you to Kaj J. Niemi for spotting this.
7812c9
7812c9
* Thu Oct 14 2004 John Dennis <jdennis@redhat.com> 3:2.1.5-24
7812c9
- more FHS changes, matches with new SELinux security policy
7812c9
7812c9
* Wed Sep 29 2004 John Dennis <jdennis@redhat.com> 3:2.1.5-21
7812c9
- move list data dir to /var/lib/mailman to conform to FHS
7812c9
  move lock dir to /var/lock/mailman to conform to FHS
7812c9
  move config dir (VAR_PREFIX/data) to /etc/mailman to conform to FHS
7812c9
  Thanks to Matt Domsch for pointing this out.
7812c9
7812c9
* Tue Sep 28 2004 John Dennis <jdennis@redhat.com> 3:2.1.5-20
7812c9
- fix bug #132732, security policy violations,
7812c9
- bump release verison
7812c9
  move non-data installation files from /var/mailman to /usr/lib/mailman,
7812c9
  update documentation
7812c9
7812c9
* Fri Sep 10 2004 John Dennis <jdennis@redhat.com> 3:2.1.5-19
7812c9
- add il18n start/stop strings to init.d script
7812c9
7812c9
* Fri Sep 10 2004 John Dennis <jdennis@redhat.com> 3:2.1.5-18
7812c9
- fix bug #89250, add condrestart
7812c9
  also fix status return values in mailmanctl and init.d script
7812c9
7812c9
* Tue Sep  7 2004 John Dennis <jdennis@redhat.com> 3:2.1.5-17
7812c9
- fix bug #120930, add contents of contrib to doc area
7812c9
7812c9
* Tue Sep  7 2004 John Dennis <jdennis@redhat.com> 3:2.1.5-16
7812c9
- fix bug #121220, httpd config file tweaks
7812c9
  add doc to INSTALL.REDHAT for selecting MTA
7812c9
7812c9
* Fri Sep  3 2004 John Dennis <jdennis@redhat.com> 3:2.1.5-15
7812c9
- fix bug #117615, don't overwrite user modified templates on install
7812c9
  made template directory "config noreplace"
7812c9
7812c9
* Thu Sep  2 2004 John Dennis <jdennis@redhat.com> 3:2.1.5-14
7812c9
- add comments into the crontab files so users know the /etc/cron.d
7812c9
  file is volitile and will edit the right file.
7812c9
  Also make the master crontab file "config noreplace" so edits are preserved.
7812c9
7812c9
* Wed Sep  1 2004 John Dennis <jdennis@redhat.com> 3:2.1.5-13
7812c9
- fix bug #124208, enable mailman cron jobs from init.d rather than during installation
7812c9
7812c9
* Tue Aug 31 2004 John Dennis <jdennis@redhat.com> 3:2.1.5-12
7812c9
- fix bug #129920, cron jobs execute under wrong SELinux policy
7812c9
7812c9
* Mon Aug 30 2004 John Dennis <jdennis@redhat.com> 3:2.1.5-11
7812c9
- remove all editing of aliases file in %%pre and %%post, fixes #bug 125651
7812c9
7812c9
* Mon Aug  9 2004 John Dennis <jdennis@redhat.com> 3:2.1.5-10
7812c9
- fix bug #129492 and bug #120912
7812c9
  stop using crontab to setup mailman's cron jobs,
7812c9
  instead install cron script in /etc/cron.d
7812c9
7812c9
* Mon Aug  9 2004 John Dennis <jdennis@redhat.com> 3:2.1.5-9
7812c9
- apply patch to elminate "-1 LISTNAME moderator request(s) waiting" messages
7812c9
  problem desciption here:
7812c9
  http://www.python.org/cgi-bin/faqw-mm.py?req=show&file=faq03.038.htp
7812c9
7812c9
* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
7812c9
- rebuilt
7812c9
7812c9
* Wed Jun  9 2004 John Dennis <jdennis@redhat.com> - 3:2.1.5-7
7812c9
- bump rev for rebuild
7812c9
7812c9
* Wed Jun  9 2004 John Dennis <jdennis@redhat.com> - 3:2.1.5-6
7812c9
- fix bug in pre scriplet, last command had been "service mailman stop"
7812c9
  which should have been harmless if mailman was not installed except
7812c9
  that it left the exit status from the script as non-zero and rpm
7812c9
  aborted the install.
7812c9
7812c9
* Wed Jun  9 2004 John Dennis <jdennis@redhat.com> - 3:2.1.5-5
7812c9
- add status reporting to init.d control script
7812c9
  stop mailman during an installation
7812c9
  restart mailman if it had been running prior to installation
7812c9
7812c9
* Mon Jun  7 2004 John Dennis <jdennis@redhat.com> - 3:2.1.5-4
7812c9
- back python prereq down to 2.2, should be sufficient
7812c9
7812c9
* Thu May 20 2004 John Dennis <jdennis@redhat.com> 3:2.1.5-3
7812c9
- make python prereq be at least 2.3
7812c9
7812c9
* Tue May 18 2004 Jeremy Katz <katzj@redhat.com> 3:2.1.5-2
7812c9
- rebuild 
7812c9
7812c9
* Mon May 17 2004 John Dennis <jdennis@redhat.com> 3:2.1.5-1
7812c9
- bring up to latest 2.1.5 upstream release
7812c9
  From Barry Warsaw: Mailman 2.1.5, a bug fix release that also
7812c9
  contains new support for the Turkish language, and a few minor new
7812c9
  features. Mailman 2.1.5 is a significant upgrade which should
7812c9
  improve disk i/o performance, administrative overhead for discarding
7812c9
  held spams, and the behavior of bouncing member disables.  This
7812c9
  version also contains a fix for an exploit that could allow 3rd
7812c9
  parties to retrieve member passwords.  It is thus highly recommended
7812c9
  that all existing sitesupgrade to the latest version
7812c9
7812c9
* Tue May 04 2004 Warren Togami <wtogami@redhat.com> 3:2.1.4-4
7812c9
- #105638 fix bytecompile and rpm -V
7812c9
- postun /etc/postfix/aliases fix
7812c9
- clean uninstall (no more empty dirs)
7812c9
- #115378 RedirectMatch syntax fix
7812c9
7812c9
* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
7812c9
- rebuilt
7812c9
7812c9
* Fri Jan  9 2004 John Dennis <jdennis@finch.boston.redhat.com> 3:2.1.4-1
7812c9
- upgrade to new upstream release 2.1.4
7812c9
- fixes bugs 106349,112851,105367,91463
7812c9
7812c9
* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
7812c9
- rebuilt
7812c9
7812c9
* Wed May  7 2003 John Dennis <jdennis@finch.boston.redhat.com>
7812c9
- bring up to next upstream release 2.1.2
7812c9
7812c9
* Sun May 04 2003 Florian La Roche <Florian.LaRoche@redhat.de>
7812c9
- fix typo in post script: mmusr -> mmuser
7812c9
7812c9
* Thu Apr 24 2003 John Dennis <jdennis@finch.boston.redhat.com>
7812c9
- fix bug 72004, 74483, 74484, 87856 - improper log rotation
7812c9
- fix bug 88083 - mailman user/group needed to exist during build
7812c9
- fix bug 88144 - wrong %%file attributes on mm_cfg.py
7812c9
- fix bug 89221 - mailman user not created on install
7812c9
- fix bug 89250 - wrong pid file name in initscript
7812c9
7812c9
* Wed Mar 05 2003 Florian La Roche <Florian.LaRoche@redhat.de>
7812c9
- change to /etc/rc.d/init.d as in all other rpms
7812c9
7812c9
* Thu Feb 20 2003 John Dennis <jdennis@finch.boston.redhat.com>
7812c9
- change mailman login shell from /bin/false to /sbin/nologin
7812c9
7812c9
* Fri Feb 14 2003 John Dennis <jdennis@finch.boston.redhat.com>
7812c9
- bring package up to 2.1.1 release, add /usr/share/doc files
7812c9
7812c9
* Sat Feb 01 2003 Florian La Roche <Florian.LaRoche@redhat.de>
7812c9
- make the icon dir owned by root:root as in other rpms
7812c9
7812c9
* Fri Jan 31 2003 John Dennis <jdennis@finch.boston.redhat.com>
7812c9
- various small tweaks to the spec file to make installation cleaner
7812c9
- use %%{__python} when compiling, redirect compile output to /dev/null,
7812c9
- don't run update in %%post, let the user do it, remove the .pyc files in %%postun,
7812c9
- add setting of MAILHOST and URLHOST to localhost.localdomain, don't let
7812c9
- configure set them to the build machine.
7812c9
7812c9
* Mon Jan 27 2003 John Dennis <jdennis@finch.boston.redhat.com>
7812c9
- add the cross site scripting (xss) security patch to version 2.1
7812c9
7812c9
* Fri Jan 24 2003 John Dennis <jdennis@finch.boston.redhat.com>
7812c9
- do not start mailman service in %%post
7812c9
7812c9
* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
7812c9
- rebuilt
7812c9
7812c9
* Mon Jan 20 2003 John Dennis <jdennis@finch.boston.redhat.com>
7812c9
- 1) remove config patch, mailmanctl was not the right file to install in init.d,
7812c9
- it needed to be scripts/mailman
7812c9
- 2) rename httpd-mailman.conf to mailman.conf, since the file now lives
7812c9
- in httpd/conf.d directory the http prefix is redundant and inconsistent
7812c9
- with the other file names in that directory.
7812c9
7812c9
* Tue Jan  7 2003 John Dennis <jdennis@finch.boston.redhat.com>
7812c9
- Bring package up to date with current upstream source, 2.1
7812c9
- Fix several install/packaging problems that were in upstream source
7812c9
- Add multiple mail group functionality
7812c9
- Fix syntax error in fblast.py
7812c9
- Remove the forced setting of mail host and url host in mm_cfg.py
7812c9
7812c9
* Tue Nov 12 2002 Tim Powers <timp@redhat.com> 2.0.13-4
7812c9
- remove files from $$RPM_BUILD_ROOT that we don't intent to ship
7812c9
7812c9
* Thu Aug 15 2002 Nalin Dahyabhai <nalin@redhat.com> 2.0.13-3
7812c9
- set MAILHOST and WWWHOST in case the configure script can't figure out the
7812c9
  local host name
7812c9
7812c9
* Fri Aug  2 2002 Nalin Dahyabhai <nalin@redhat.com> 2.0.13-2
7812c9
- rebuild
7812c9
7812c9
* Fri Aug  2 2002 Nalin Dahyabhai <nalin@redhat.com> 2.0.13-1
7812c9
- specify log files individually, per faq wizard
7812c9
- update to 2.0.13
7812c9
7812c9
* Wed May 22 2002 Nalin Dahyabhai <nalin@redhat.com> 2.0.11-1
7812c9
- update to 2.0.11
7812c9
7812c9
* Fri Apr  5 2002 Nalin Dahyabhai <nalin@redhat.com> 2.0.9-1
7812c9
- include README.QMAIL in with the docs (#58887)
7812c9
- include README.SENDMAIL and README.EXIM in with the docs
7812c9
- use an included httpd.conf file instead of listing the configuration
7812c9
  directives in the %%description, which due to specspo magic might look
7812c9
  wrong sometimes (part of #51324)
7812c9
- interpolate the DEFAULT_HOST_NAME value in mm.cfg into both the DEFAULT_URL
7812c9
  and MAILMAN_OWNER (#57987)
7812c9
- move logs to /var/log/mailman, qfiles to /var/spool/mailman, rotate
7812c9
  logs in the log directory (#48724)
7812c9
- raise exceptions when someone tries to set the admin address for a list
7812c9
  to that of the admin alias (#61468)
7812c9
7812c9
* Thu Apr  4 2002 Nalin Dahyabhai <nalin@redhat.com>
7812c9
- fix a default permissions problem in %%{_var}/mailman/archives/private,
7812c9
  reported by Johannes Erdfelt
7812c9
- update to 2.0.9
7812c9
7812c9
* Tue Apr  2 2002 Nalin Dahyabhai <nalin@redhat.com>
7812c9
- make the symlink in /etc/smrsh relative
7812c9
7812c9
* Tue Dec 11 2001 Nalin Dahyabhai <nalin@redhat.com> 2.0.8-1
7812c9
- set FQDN and URL at build-time so that they won't be set to the host the
7812c9
  RPM package is built on (#59177)
7812c9
7812c9
* Wed Nov 28 2001 Nalin Dahyabhai <nalin@redhat.com>
7812c9
- update to 2.0.8
7812c9
7812c9
* Sat Nov 17 2001 Florian La Roche <Florian.LaRoche@redhat.de> 2.0.7-1
7812c9
- update to 2.0.7
7812c9
7812c9
* Wed Jul 25 2001 Nalin Dahyabhai <nalin@redhat.com> 2.0.6-1
7812c9
- update to 2.0.6
7812c9
7812c9
* Mon Jun 25 2001 Nalin Dahyabhai <nalin@redhat.com>
7812c9
- code in default user/group names/IDs
7812c9
7812c9
* Wed May 30 2001 Nalin Dahyabhai <nalin@redhat.com>
7812c9
- update to 2.0.5
7812c9
- change the default hostname from localhost to localhost.localdomain in the
7812c9
  default configuration
7812c9
- chuck configuration file settings other than those dependent on the host name
7812c9
  (the build system's host name is not a good default)  (#32337)
7812c9
7812c9
* Tue Mar 13 2001 Nalin Dahyabhai <nalin@redhat.com>
7812c9
- update to 2.0.3
7812c9
7812c9
* Tue Mar  6 2001 Nalin Dahyabhai <nalin@redhat.com>
7812c9
- update to 2.0.2
7812c9
7812c9
* Wed Feb 21 2001 Nalin Dahyabhai <nalin@redhat.com>
7812c9
- patch from Barry Warsaw (via mailman-developers) to not die on
7812c9
  broken Content-Type: headers
7812c9
7812c9
* Tue Jan  9 2001 Nalin Dahyabhai <nalin@redhat.com>
7812c9
- update to 2.0.1
7812c9
7812c9
* Wed Dec  6 2000 Nalin Dahyabhai <nalin@redhat.com>
7812c9
- update to 2.0 final release
7812c9
- move the data to %%{_var}
7812c9
7812c9
* Fri Oct 20 2000 Nalin Dahyabhai <nalin@redhat.com>
7812c9
- update to beta 6
7812c9
7812c9
* Thu Aug  3 2000 Nalin Dahyabhai <nalin@redhat.com>
7812c9
- add note about adding FollowSymlinks so that archives work
7812c9
7812c9
* Wed Aug  2 2000 Nalin Dahyabhai <nalin@redhat.com>
7812c9
- make the default owner root again so that root owns the docs
7812c9
- update to 2.0beta5, which fixes a possible security vulnerability
7812c9
- add smrsh symlink
7812c9
7812c9
* Mon Jul 24 2000 Prospector <prospector@redhat.com>
7812c9
- rebuilt
7812c9
7812c9
* Wed Jul 19 2000 Nalin Dahyabhai <nalin@redhat.com>
7812c9
- update to beta4
7812c9
- change uid/gid to apache.apache to match apache (#13593)
7812c9
- properly recompile byte-compiled versions of the scripts (#13619)
7812c9
- change mailman alias from root to postmaster
7812c9
7812c9
* Sat Jul  1 2000 Nalin Dahyabhai <nalin@redhat.com>
7812c9
- update to beta3
7812c9
- drop bugs and arch patches (integrated into beta3)
7812c9
7812c9
* Tue Jun 27 2000 Nalin Dahyabhai <nalin@redhat.com>
7812c9
- move web files to reside under %%{contentdir}
7812c9
- move files from /usr/share to %%{_datadir}
7812c9
- integrate spot-fixes from mailman lists via gnome.org
7812c9
7812c9
* Mon Jun 19 2000 Nalin Dahyabhai <nalin@redhat.com>
7812c9
- rebuild for Power Tools
7812c9
7812c9
* Wed May 24 2000 Nalin Dahyabhai <nalin@redhat.com>
7812c9
- Update to 2.0beta2 to pick up security fixes.
7812c9
- Change equires python to list >= 1.5.2
7812c9
7812c9
* Mon Nov  8 1999 Bernhard Rosenkränzer <bero@redhat.com>
7812c9
- 1.1
7812c9
7812c9
* Tue Sep 14 1999 Preston Brown <pbrown@redhat.com>
7812c9
- 1.0 final.
7812c9
7812c9
* Tue Jun 15 1999 Preston Brown <pbrown@redhat.com>
7812c9
- security fix for cookies
7812c9
- moved to /usr/share/mailman
7812c9
7812c9
* Fri May 28 1999 Preston Brown <pbrown@redhat.com>
7812c9
- fix up default values.
7812c9
7812c9
* Fri May 07 1999 Preston Brown <pbrown@redhat.com>
7812c9
- modifications to install scripts
7812c9
7812c9
* Thu May 06 1999 Preston Brown <pbrown@redhat.com>
7812c9
- initial RPM for SWS 3.0