Sync from SUSE:SLFO:Main mailutils revision f038d18e74c47813bcb8939e1f3b6fe7

This commit is contained in:
Adrian Schröter 2024-05-03 16:30:53 +02:00
commit 9c4df1dccf
11 changed files with 1017 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

15
lisp-load-silent.patch Normal file
View File

@ -0,0 +1,15 @@
---
mh/etc/mailutils-mh.eli | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- mh/etc/mailutils-mh.eli
+++ mh/etc/mailutils-mh.eli 2018-05-30 10:14:00.665396617 +0000
@@ -18,7 +18,7 @@
(setq mh-progs "BINDIR")
(setq mh-lib "MHLIBDIR")
(setq mh-lib-progs mh-progs)
-(load "mh-e")
+(load "mh-e" nil t)
(setq mh-variant 'gnu-mh)
;;;; End of mailutils-mh.el

BIN
mailutils-3.16.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
mailutils-3.16.tar.xz.sig Normal file

Binary file not shown.

View File

@ -0,0 +1,90 @@
---
configure.ac | 3 +--
libmu_scm/Makefile.am | 1 -
libmu_scm/Makefile.in | 2 --
libmu_scm/mailutils/Makefile.am | 4 ----
libmu_scm/mailutils/Makefile.in | 6 ++----
5 files changed, 3 insertions(+), 13 deletions(-)
--- configure.ac
+++ configure.ac 2021-10-20 07:42:21.724689930 +0000
@@ -1191,7 +1191,7 @@ AC_SUBST([GUILE_BINDIR])
AC_SUBST([LIBMU_SCM])
AC_SUBST([LIBMU_SCM_DEPS])
AC_SUBST([MU_GUILE_SIEVE_MOD_DIR])
-GINT_INIT([gint],[2.2.0 with-guile],
+GINT_INIT([gint],[2.0.0 with-guile],
[useguile=yes
AC_DEFINE([WITH_GUILE],1,[Enable Guile support])
GUILE_BINDIR=`guile-config info bindir`
@@ -1404,7 +1404,6 @@ MU_CONFIG_TESTSUITE(mh)
MU_CONFIG_TESTSUITE(comsat)
MU_CONFIG_TESTSUITE(imap4d)
MU_CONFIG_TESTSUITE(mimeview)
-MU_CONFIG_TESTSUITE(libmu_scm)
MU_CONFIG_TESTSUITE(libproto/mbox)
MU_CONFIG_TESTSUITE(libproto/mailer)
--- libmu_scm/Makefile.am
+++ libmu_scm/Makefile.am 2021-10-20 07:44:10.930783528 +0000
@@ -44,7 +44,6 @@ libmu_scm_la_LIBADD = \
${MU_LIB_MBOX}\
${MU_LIB_IMAP}\
${MU_LIB_POP}\
- ${MU_LIB_NNTP}\
${MU_LIB_MH}\
${MU_LIB_MAILDIR}\
${MU_LIB_MAILER}\
--- libmu_scm/Makefile.in
+++ libmu_scm/Makefile.in 2021-10-20 07:43:53.363090217 +0000
@@ -776,7 +776,6 @@ MU_LIB_MAILER = @MU_LIB_MAILER@
MU_LIB_MAILUTILS = @MU_LIB_MAILUTILS@
MU_LIB_MBOX = @MU_LIB_MBOX@
MU_LIB_MH = @MU_LIB_MH@
-MU_LIB_NNTP = @MU_LIB_NNTP@
MU_LIB_POP = @MU_LIB_POP@
MU_LIB_PY = @MU_LIB_PY@
MU_LIB_SCM = @MU_LIB_SCM@
@@ -1051,7 +1050,6 @@ libmu_scm_la_LIBADD = \
${MU_LIB_MBOX}\
${MU_LIB_IMAP}\
${MU_LIB_POP}\
- ${MU_LIB_NNTP}\
${MU_LIB_MH}\
${MU_LIB_MAILDIR}\
${MU_LIB_MAILER}\
--- libmu_scm/mailutils/Makefile.am
+++ libmu_scm/mailutils/Makefile.am 2021-10-20 07:45:09.293764629 +0000
@@ -37,10 +37,6 @@ if MU_COND_SUPPORT_IMAP
MU_FEATURES += -DMU_SUPPORT_IMAP
endif
-if MU_COND_SUPPORT_NNTP
- MU_FEATURES += -DMU_SUPPORT_NNTP
-endif
-
if MU_COND_SUPPORT_MH
MU_FEATURES += -DMU_SUPPORT_MH
endif
--- libmu_scm/mailutils/Makefile.in
+++ libmu_scm/mailutils/Makefile.in 2021-10-20 07:44:47.302148559 +0000
@@ -80,9 +80,8 @@ build_triplet = @build@
host_triplet = @host@
@MU_COND_SUPPORT_POP_TRUE@am__append_1 = -DMU_SUPPORT_POP
@MU_COND_SUPPORT_IMAP_TRUE@am__append_2 = -DMU_SUPPORT_IMAP
-@MU_COND_SUPPORT_NNTP_TRUE@am__append_3 = -DMU_SUPPORT_NNTP
-@MU_COND_SUPPORT_MH_TRUE@am__append_4 = -DMU_SUPPORT_MH
-@MU_COND_SUPPORT_MAILDIR_TRUE@am__append_5 = -DMU_SUPPORT_MAILDIR
+@MU_COND_SUPPORT_MH_TRUE@am__append_3 = -DMU_SUPPORT_MH
+@MU_COND_SUPPORT_MAILDIR_TRUE@am__append_4 = -DMU_SUPPORT_MAILDIR
subdir = libmu_scm/mailutils
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -657,7 +656,6 @@ MU_LIB_MAILER = @MU_LIB_MAILER@
MU_LIB_MAILUTILS = @MU_LIB_MAILUTILS@
MU_LIB_MBOX = @MU_LIB_MBOX@
MU_LIB_MH = @MU_LIB_MH@
-MU_LIB_NNTP = @MU_LIB_NNTP@
MU_LIB_POP = @MU_LIB_POP@
MU_LIB_PY = @MU_LIB_PY@
MU_LIB_SCM = @MU_LIB_SCM@

BIN
mailutils-3.5-guile-2.0.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

6
mailutils-rpmlintrc Normal file
View File

@ -0,0 +1,6 @@
addFilter(".*E:.*subdir-in-bin.*/usr/bin/mu-mh/.*")
addFilter(".*W:.*name-repeated-in-summary.*Mailutils.*")
addFilter(".*W:.*files-duplicate.*mailutils-mh\.el.*mailutils-mh\.el.*")
addFilter(".*W:.*binary-or-shlib-calls-gethostbyname.*lib.*\.so.*")
addFilter(".*W:.*bin-sh-syntax-error.*/usr/bin/guim.*")
addFilter(".*W:.*binary-or-shlib-calls-gethostbyname.*/usr/sbin/imap4d.*")

323
mailutils.changes Normal file
View File

@ -0,0 +1,323 @@
-------------------------------------------------------------------
Sat May 6 01:21:26 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 3.16:
* Support for Berkeley DB version 2 withdrawn
* rdcache streams: fix stream size computation
* tlsfdstr streams: fix error handling
* wordwrap streams: fix handling of overflowing lines
-------------------------------------------------------------------
Tue Dec 27 13:09:17 UTC 2022 - Ludwig Nussel <lnussel@suse.com>
- Replace transitional %usrmerged macro with regular version check (boo#1206798)
-------------------------------------------------------------------
Tue Aug 9 18:55:18 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 3.15:
* mbox format: don't count terminating empty line as part of the message
* Improve performance of the Sieve fileinto action
* Improve efficiency of operations on flat mailboxes in append mode
* Bugfixes in quoted-printable and fromrd filters
* Various fixes in mbox and dotmail format libraries
* Fix compilation with flex version 2.6.1
-------------------------------------------------------------------
Mon Jun 20 13:39:33 UTC 2022 - Dr. Werner Fink <werner@suse.de>
- Fix number check of test (builtin) in %pre scriptlet (boo#1200676)
-------------------------------------------------------------------
Sun Feb 20 22:11:59 UTC 2022 - Dirk Müller <dmueller@suse.com>
- udpate to 3.14:
* TLS support rewritten from scratch
** New configuration statement: tls.handshake-timeout
* Fix idle timeout handling (imap4d and pop3d daemons)
* New function mu_mailbox_append_message_ext
* mail utility
** new command: unread (U)
** message state is preserved when copying to another mailbox
* Build requires GNU bison and flex
* All parsers and scanners are rewritten in reentrant form
* Support for mimetypes incorporated to the libmailutils library
* Maildir and MH mailboxes
** Change the way of storing the envelope information
** Message scanner completely rewritten
* Bugfixes
** Fix timezone calculation (see https://savannah.gnu.org/bugs/?61239)
** Fixed some memory and fd leaks
** Fixed corner case in mu_make_file_name_suf function
-------------------------------------------------------------------
Fri Feb 18 11:02:46 UTC 2022 - Stefan Schubert <schubi@suse.de>
- Use libalternatives instead of update-alternatives.
-------------------------------------------------------------------
Wed Oct 20 07:50:16 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Modify patch mailutils-3.5-guile-2.0.patch and apply later
if needed for older guile versions
-------------------------------------------------------------------
Wed Oct 20 06:09:02 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Increase somajor spec file macro to value 8 (boo#1191772)
- Add check for any version change of shared the libraries
-------------------------------------------------------------------
Fri Oct 1 07:21:59 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Update to mailutils 3.13
* Fix boo#1190694: mail processing escape sequences in bodies
non-interactively
* Improved mailbox locking
* Changes in the 'locking' configuration statement.
* mail utility
+ Fix semantics of mail sending and saving commands
+ Fix the -F option
+ Improve POSIX mailx compatible mode
+ Compose escapes are recognized only in interactive mode
* Bugfixes
+ QP decoder: Accept soft line breaks (RFC 2045, 6.7, page 19).
+ Fix stream reference policy in filter streams.
+ Various bugfixes in IMAP client.
+ Fix handling of single-path MIME messages.
* Fix expunging of mailboxes in mbox and dotmail format in a read-only directory
* inc: when updating the "unseen" sequence, translate message numbers to uids
* Fix default port selection in SMTP mailer
* Fix building the mda utilities with mailbox quotas off
* Fix bugs in the testsuite
* Support for the traditional mbox format rewritten from scratch
* Fix incorrect message flags in maildir
* Fix persistency of UIDs for all mailbox formats
* Fix message ordering in maildir.
* Fix parsing of IMAP ranges
* mail
+ Changed syntax for addressing MIME message part
+ write command
* New utility: decodemail
* readmsg
+ MIME messages are decoded on output
+ Improve searches
* imap4d: implement TLS in inetd mode
* imap client code
+ Fix handling of [TRYCREATE] and similar imap responses
* sieve: quoted strings may span several lines
* Dropped support for Python 2.x
* Rewrite the AM_GNU_MAILUTILS macro to avoid using mailutils-config
* mda: restore the message-id-header configuration statement
* Changes to the libmailutils library
+ New functions for MIME parsing and mime object creation:
* Bugfixes
+ Fix intermixed I/O in buffered streams
+ Fix handling of INTR in the "mail" utility shell
+ Fix compilation without libunistring
+ Fix operation of associative arrays in case-insensitive mode
+ Fix memory leaks
+ Fix compilation with gcc 10
+ smtp mailer: fix multiple open/close on the same mailer
+ Fix list sort function
* dotmail: fix mailbox opening in append-only mode
* Fix mda testsuite
* Remove deprecated ioctls
* mail: fix composing MIME messages
* Fix build on FreeBSD
* Fix detection of Kerberos libraries
* Fix build with Python 3.8 (bug #57318)
- Remove patche now upstream
* python38-compat.patch
* silent-common-mu_tcp_wrapper_daemon.patch
- Port patch mailutils-3.5-guile-2.0.patch
-------------------------------------------------------------------
Wed Mar 3 11:51:06 UTC 2021 - Cristian Rodríguez <crrodriguez@opensuse.org>
- mailutils, or any C code that uses pthread_cleanup_* routines
needs -fexeceptions in CFLAGS.
-------------------------------------------------------------------
Wed Jan 27 12:22:54 UTC 2021 - Ludwig Nussel <lnussel@suse.de>
- remove obsolete info macros (boo#1152105)
- fix update-alternatives usage (need to be in postun)
- prepare usrmerge (boo#1029961)
-------------------------------------------------------------------
Mon Aug 24 15:22:20 UTC 2020 - Callum Farmer <callumjfarmer13@gmail.com>
- Fixes for %_libexecdir changing to /usr/libexec (bsc#1174075)
-------------------------------------------------------------------
Mon May 4 14:38:27 UTC 2020 - Dominique Leuenberger <dimstar@opensuse.org>
- Fix python packaging: python/sitepackages is definitively not
below libexecdir.
-------------------------------------------------------------------
Tue Apr 28 06:39:35 UTC 2020 - Dr. Werner Fink <werner@suse.de>
- Modify patch silent-common-mu_tcp_wrapper_daemon.patch
* Also comment out the variable tls_available as not used anywhere
-------------------------------------------------------------------
Thu Feb 27 10:51:15 UTC 2020 - Dr. Werner Fink <werner@suse.de>
- Add patch silent-common-mu_tcp_wrapper_daemon.patch
* Add extern in header file declaration of variable
mu_tcp_wrapper_daemon (boo#1164444)
-------------------------------------------------------------------
Thu Dec 5 13:05:18 UTC 2019 - Dr. Werner Fink <werner@suse.de>
- Correct location of mime.types used by cups (boo#1158532)
-------------------------------------------------------------------
Wed Nov 27 20:36:16 CET 2019 - Matej Cepl <mcepl@suse.com>
- Add python38-compat.patch making it possible to build the
package with Python 3.8.
http://savannah.gnu.org/bugs/index.php?57318
-------------------------------------------------------------------
Tue Nov 12 08:34:36 UTC 2019 - Dr. Werner Fink <werner@suse.de>
- Update to mailutils 3.8
* The maidag utility is withdrawn (CVE-2019-18862, bsc#1156495)
The main purpose of this utility was to work as local mail delivery
agent (MDA), a program responsible for final delivery of email messages
to the recipient's mailbox. As such it required suid privileges.
In parallel with its main purpose, it also was able to work in two
other modes: the 'url' mode, designed to deliver mails to arbitrary
mailbox URLs, and 'lmtp' mode, in which it acted as local mail
transport daemon. Neither of these needed suid privileges.
The unfortunate design decision to combine the three modes in a single
versatile tool resulted in local privilege escalation threat in 'url'
mode.
To fix this, maidag has been replaced by three different utilities,
each one with a precisely defined purpose and carefully designed
privileges: mda, lmtpd, and putmail.
* mda
* lmtpd
* putmail
* Use of TLS in pop3d run from inetd
* comsatd --test
* mail
** fix the semantics of 'hold' and 'keepsave' variables
** New message type specification ":s"
-------------------------------------------------------------------
Wed Oct 30 10:27:43 UTC 2019 - Ondřej Súkup <mimi.vx@gmail.com>
- update to 3.7
- enable python3 instead of python2
* Support for the new mailbox format - dotmail
* Improve automatic mailbox format detection
* Rewrite mailcap (RFC1524) support
* imap4d: SEARCH command
* Improved SEARCH BODY and SEARCH TEXT commands
* Fixes in the 'mail' utility
* New mailbox notation @
* Sender addresses in message sets
* Fixes in IMAP client library
-------------------------------------------------------------------
Fri Nov 30 08:41:21 UTC 2018 - Dr. Werner Fink <werner@suse.de>
- Dynamic determine and use guile version in spec file
-------------------------------------------------------------------
Wed Nov 21 10:32:35 UTC 2018 - Dr. Werner Fink <werner@suse.de>
- Add mailutils-3.5-guile-2.0.patch and mailutils-3.5-guile-2.0.tar.xz
to port the guile-2.0 interface of mailutils-3.4 back to mailutils-3.5
as it seems that guile-2.2 is currently not doable
-------------------------------------------------------------------
Mon Nov 19 10:24:58 UTC 2018 - Dr. Werner Fink <werner@suse.de>
- Move guile site files into main package here there is the guimb
scheme script file
- Repair ghost links used by update-alternatives
- Temporary disable guile as there is currently no guile-2.2
-------------------------------------------------------------------
Tue Oct 30 10:40:54 UTC 2018 - Dr. Werner Fink <werner@suse.de>
- Update to mailutils 3.5
* Support for Guile version 2.2.0 and later
Support for prior versions has been withdrawn.
* New scheme functions
+ mu-encoder-port port name . args
+ mu-decoder-port port name . args
+ mu-header-decode hdr [charset]
+ mu-header-encode hdr [encoding [charset]]
* Introduced support for Python 3.x
* Define sieve variables from the command line
The sieve utility now allows you to supply initial values for
RFC 5229 variables using the --variable command line option, e.g.
sieve --variable mailbox=outgoing
* Support for Berkeley DB versions 5 and 6
* headline variable in the mail utility
The new %D specifier has been implemented, which allows the user to
supply arbitrary strftime(3) format string for outputting message
date/time. E.g.:
set headline="%4m %20D{%Y-%m-%dT%H:%M:%S} %18f %s"
In simplified form, %D can be followed by a single time format
specifier. E.g. %DH can be used instead of %D{%H}.
* Bugfixes
+ Fix alignment specifiers in the headline variable (mail utility)
+ Fix eventual segmentation violation in imap4d
It occurred when a recently started subprocess received a termination
signal before initializing its I/O subsystem. Most often this happens
when the master process is being shut down.
+ Fix endianness bug in string to IP conversion
+ Force terminating null character in the output of mh_format
+ Fix bug in base64 encoder - don't return immediately upon receiving eof
+ Fix command expansion in wordsplit
- Remove patch mimeview_lexer_format-security.patch now upstream
-------------------------------------------------------------------
Fri Aug 3 09:45:20 UTC 2018 - werner@suse.de
- Add some more conflicts to other imap/pop3 services
-------------------------------------------------------------------
Tue Jul 31 10:56:24 UTC 2018 - werner@suse.de
- Generate soem manual pages with help2man
- Move manual pages of system binaries to the appropiate package
-------------------------------------------------------------------
Sun Jun 10 23:33:31 UTC 2018 - jengelh@inai.de
- Trim marketing wording from description, fix grammar.
- Trim idempotent %if..%endif guards.
- Opportunistically use some more macros in the spec.
-------------------------------------------------------------------
Fri Jun 8 06:20:04 UTC 2018 - werner@suse.de
- Adding conflict in mailutils-pop3d to courier-imap as using the
same bibary path /usr/sbin/pop3d
-------------------------------------------------------------------
Thu Jun 7 10:00:15 UTC 2018 - werner@suse.de
- Add patch silent-rpmlint-with_initgroups.patch to add initgroups
before setuid()
-------------------------------------------------------------------
Thu Jun 7 08:36:16 UTC 2018 - werner@suse.de
- Disable build of dotlock and maidag compare with buf boo#1095783
-------------------------------------------------------------------
Tue May 29 16:14:43 UTC 2018 - werner@suse.de
- Initial package mailutils as required by GNU Emacs
Added two patches
* mimeview_lexer_format-security.patch
* lisp-load-silent.patch

BIN
mailutils.keyring Normal file

Binary file not shown.

514
mailutils.spec Normal file
View File

@ -0,0 +1,514 @@
#
# spec file for package mailutils
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%if 0%{?suse_version} > 1500
%bcond_without libalternatives
%else
%bcond_with libalternatives
%endif
%define somajor 9
# See bug boo#1095783
# Currently disabled suid/sgid program dotlock and maidag
%bcond_with set_user_identity
%bcond_with guile_22
Name: mailutils
Version: 3.16
Release: 0
Summary: GNU Mailutils
License: GPL-3.0-or-later AND LGPL-3.0-or-later
Group: Productivity/Networking/Email/Clients
URL: https://mailutils.org/
Source: https://ftp.gnu.org/gnu/mailutils/%{name}-%{version}.tar.xz
Source1: %{name}-3.5-guile-2.0.tar.xz
Source2: %{name}-rpmlintrc
Source3: https://ftp.gnu.org/gnu/mailutils/%{name}-%{version}.tar.xz.sig
Source4: %{name}.keyring
Patch0: lisp-load-silent.patch
Patch2: silent-rpmlint-with_initgroups.patch
Patch3: mailutils-3.5-guile-2.0.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bison
BuildRequires: cpio
BuildRequires: cyrus-sasl-gssapi
BuildRequires: fdupes
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: guile-devel
BuildRequires: help2man
BuildRequires: libmysqld-devel
BuildRequires: libtool
BuildRequires: m4
BuildRequires: makeinfo
BuildRequires: openldap2-devel
BuildRequires: pam-devel
BuildRequires: pkgconfig
# Does not compile due API changes
BuildRequires: readline-devel
BuildRequires: tcpd-devel
BuildRequires: update-alternatives
BuildRequires: pkgconfig(fribidi)
BuildRequires: pkgconfig(gnutls)
BuildRequires: pkgconfig(krb5-gssapi)
BuildRequires: pkgconfig(kyotocabinet)
BuildRequires: pkgconfig(libgsasl)
BuildRequires: pkgconfig(python3)
%if %{with libalternatives}
BuildRequires: alts
Requires: alts
%else
Requires(post): update-alternatives
Requires(postun):update-alternatives
%endif
Requires: guile = %(rpm -q --queryformat '%%{VERSION}' guile-devel)
%if 0
# Seems not compatible with original radius (missing debug.h)
BuildRequires: freeradius-server-devel
%endif
%if %{with set_user_identity}
Requires(post): permissions
Requires(verify):permissions
%endif
# Hard requirement as mimeview uses /usr/share/cups/mime/mime.types
Requires: cups
%description
Mailutils is a set of utilities and daemons for processing e-mail.
All Mailutils programs are able to operate on mailboxes of various
formats, including UNIX maildrops, maildir, and transparently
accessed remote mailboxes (IMAP4, POP3, SMTP).
Included is an implementation of the traditional UNIX mail reader,
"mail", command line utilities such as "frm", "messages", "readmsg",
as well as "sieve", a flexible utility for filtering the incoming
mail.
A special feature of Mailutils is an implementation of the
MH Message Handling System, which combines the UNIX
philosophy with a flexibility of Mailutils libraries, thus
allowing to incorporate mail from remote mailboxes.
For system administrators, Mailutils provides a set of daemons
for delivering and reading electronic mail, including
pop3d, imap4d and a universal mail delivery agent, called maidag.
%package mh
Summary: MH mailbox format support for Mailutils
Group: Productivity/Networking/Email/Clients
%description mh
The implementation provides an interface between Mailutils and Emacs
using the mh-e module.
To use Mailutils MH with Emacs, add the following line to
site-start.el or .gnu-emacs file: (load "mailutils-mh")
%package delivery
Summary: Mailutils's delivery agents
Group: Productivity/Networking/Email/Servers
%description delivery
The name 'maidag' stands for Mail delivery agent. It is a
general-purpose MDA offering a number of features. It can operate
both in traditional mode, reading a message from standard input,
and in LMTP mode. 'Maidag' is able to deliver mail to any mailbox
format supported by GNU Mailutils. These formats, among others,
include 'smtp://', 'prog://' and 'sendmail://', which are equivalent to
forwarding a message over SMTP to a remote node.
%package notify
Summary: Mailutils's incoming e-mail notification daemon
Group: Productivity/Networking/Email/Servers
%description notify
Comsatd is the server which receives reports of incoming mail and
notifies users wishing to get this service.
%package imap4d
Summary: IMAP4 daemon from GNU Mailutils
Group: Productivity/Networking/Email/Servers
Conflicts: courier-imap
Conflicts: cyrus-imapd
Conflicts: imap
%description imap4d
GNU 'imap4d' is a daemon implementing IMAP4 rev1 protocol for accessing
and handling electronic mail messages on a server.
%package pop3d
Summary: POP3 daemon from GNU Mailutils
Group: Productivity/Networking/Email/Servers
Conflicts: courier-imap
Conflicts: cyrus-imapd
Conflicts: imap
%description pop3d
The 'pop3d' daemon implements the Post Office Protocol Version 3 server.
%package devel
Summary: Development files for GNU Mailutils
Group: Development/Libraries/C and C++
Requires: libmailutils%{somajor} = %{version}
Requires: mailutils = %{version}
%description devel
This package includes libraries and header files for building tools to
access mailutils features.
%package -n libmailutils%{somajor}
Summary: Generalized mailbox access library
Group: System/Libraries
%description -n libmailutils%{somajor}
At the core of Mailutils is 'libmailutils', a library which provides
an API for accessing a generalized mailbox. A set of complementary
libraries provide methods for handling particular mailbox
implementations: UNIX mailbox, Maildir, MH, POP3, IMAP4, even SMTP.
%prep
%setup -q
%patch0
%patch2
set -- %(rpm -q --queryformat '%%{VERSION}' guile-devel | sed -r 's@\.@ @g')
(cat > guile.list)<<-EOF
%dir %{_datadir}/guile/site/$1.$2/
%dir %{_datadir}/guile/site/$1.$2/mailutils/
%{_datadir}/guile/site/$1.$2/mailutils/*
EOF
if test $1 -gt 2 -o \( $1 -eq 2 -a $2 -ge 2 \)
then
echo Using guile $1.$2.$3
else
echo Using guile $1.$2.$3
mv libmu_scm libmu_scm-guile-2.2
mv include/mailutils/guile.h include/mailutils/guile-2.2.h
tar xfJ %{SOURCE1}
%patch3 -b .p3
autoreconf -fiv
fi
#
# Check our somajor value with the actual value of VI_CURRENT
#
test %{somajor} == $(sed -rn '/^VI_CURRENT=/{ s/VI_CURRENT[[:space:]]*=[[:space:]]*//p; }' < ./configure)
#
# Avoid build require for emacs as emacs does
# build require one the sub packages herein!
#
mkdir bin
(cat > bin/emacs)<<-'EOF'
#!/bin/sh
case "$@" in
*byte-compile*)
for arg
do
case "$arg" in
*.elc)
> "$arg"
;;
*)
esac
done
;;
*load-path*)
echo %{_datadir}/emacs/site-lisp
;;
*)
esac
EOF
chmod 755 bin/emacs
#
# There is no python-config for python3
#
if type -p python3-config > /dev/null 2>&1
then
sed -ri '\@python-config@{ s@python-config@python3-config@ }' configure
fi
%build
PATH="$PWD/bin:$PATH"
CC=gcc
CXX=g++
#
# In frm/frm.h wrong definition of MB_LEN_MAX if not defined
#
CFLAGS="-Wall %{optflags} -fexceptions -D_GNU_SOURCE -DMB_LEN_MAX=16 -fno-strict-aliasing"
CXXFLAGS="-Wall %{optflags} -D_GNU_SOURCE -DMB_LEN_MAX=16 -fno-strict-aliasing"
export PATH CC CXX CFLAGS CXXFLAGS
%configure --enable-ipv6 \
--enable-build-servers \
--enable-build-clients \
--disable-debug \
--disable-rpath \
%if %{without set_user_identity}
--disable-build-dotlock \
--disable-build-mda \
%endif
%if 0
--disable-silent-rules \
%endif
--disable-static \
--with-gnu-ld \
--with-gssapi \
--with-tcp-wrappers \
--with-ldap \
--with-lispdir=%{_datadir}/emacs/site-lisp \
--with-log-facility=LOG_MAIL \
--with-kyotocabinet \
CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" \
DEFAULT_CUPS_CONFDIR=%{_datarootdir}/cups/mime
make %{?_smp_mflags} V=1
%install
PATH="$PWD/bin:$PATH"
%make_install
#
# Remove dir, .la and .elc files
#
find %{buildroot} \( -name dir -o -name '*.la' -o -name '*.elc' \) -print -delete
#
#
#
%if %{with set_user_identity}
mkdir -p %{buildroot}%{_sysconfdir}/permissions.d
(cat > %{buildroot}%{_sysconfdir}/permissions.d/mailutils) <<-'EOF'
%{_bindir}/dotlock root:root 02755
%{_sbindir}/maidag root:root 04755
EOF
(cat > %{buildroot}%{_sysconfdir}/permissions.d/mailutils.paranoid) <<-'EOF'
%{_bindir}/dotlock root:root 00755
%{_sbindir}/maidag root:root 00755
EOF
%endif
# Move system manual pages
mkdir -p %{buildroot}%{_mandir}/man8
for m in pop3d imap4d
do
mv %{buildroot}%{_mandir}/man1/${m}.1 %{buildroot}%{_mandir}/man8/${m}.8
done
# Create missing manual pages
for m in %{buildroot}%{_bindir}/*
do
case "${m##*/}" in
guimb|mailutils-config|mu-mh) continue ;;
esac
if test ! -e %{buildroot}%{_mandir}/man1/${m##*/}.1
then
LD_LIBRARY_PATH=%{buildroot}%{_libdir} help2man $m > %{buildroot}%{_mandir}/man1/${m##*/}.1
fi
done
for m in %{buildroot}%{_sbindir}/*
do
if test ! -e %{buildroot}%{_mandir}/man8/${m##*/}.8
then
LD_LIBRARY_PATH=%{buildroot}%{_libdir} help2man $m > %{buildroot}%{_mandir}/man8/${m##*/}.8
fi
done
#
# Rename the mail program to avoid conflicts
#
mv %{buildroot}%{_bindir}/mail %{buildroot}%{_bindir}/mu-mail
mv %{buildroot}%{_mandir}/man1/mail.1 %{buildroot}%{_mandir}/man1/mu-mail.1
mkdir -p %{buildroot}/bin
%if ! %{with libalternatives}
# update-alternatives
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
%if 0%{?suse_version} < 1550
ln -sf %{_sysconfdir}/alternatives/binmail %{buildroot}/bin/mail
%endif
ln -sf %{_sysconfdir}/alternatives/Mail %{buildroot}%{_bindir}/Mail
ln -sf %{_sysconfdir}/alternatives/mail %{buildroot}%{_bindir}/mail
ln -sf %{_sysconfdir}/alternatives/Mail.1%{?ext_man} %{buildroot}%{_mandir}/man1/Mail.1%{?ext_man}
ln -sf %{_sysconfdir}/alternatives/mail.1%{?ext_man} %{buildroot}%{_mandir}/man1/mail.1%{?ext_man}
#
%if 0%{?suse_version} < 1550
ln -sf %{_bindir}/mu-mail %{buildroot}%{_sysconfdir}/alternatives/binmail
%endif
ln -sf %{_bindir}/mu-mail %{buildroot}%{_sysconfdir}/alternatives/Mail
ln -sf %{_bindir}/mu-mail %{buildroot}%{_sysconfdir}/alternatives/mail
ln -sf %{_mandir}/man1/mu-mail.1%{?ext_man} %{buildroot}%{_sysconfdir}/alternatives/Mail.1%{?ext_man}
ln -sf %{_mandir}/man1/mu-mail.1%{?ext_man} %{buildroot}%{_sysconfdir}/alternatives/mail.1%{?ext_man}
%else
# libalternatives
ln -sf %{_bindir}/alts %{buildroot}%{_bindir}/Mail
%if 0%{?suse_version} < 1550
ln -sf %{_bindir}/alts %{buildroot}/bin/Mail
%endif
mkdir -p %{buildroot}%{_datadir}/libalternatives/Mail
cat > %{buildroot}%{_datadir}/libalternatives/Mail/10.conf <<EOF
binary=%{_bindir}/mu-mailx
man=mu-mail.1
group=mail, Mail
EOF
ln -sf %{_bindir}/alts %{buildroot}%{_bindir}/mail
%if 0%{?suse_version} < 1550
ln -sf %{_bindir}/alts %{buildroot}/bin/mail
%endif
mkdir -p %{buildroot}%{_datadir}/libalternatives/mail
cat > %{buildroot}%{_datadir}/libalternatives/mail/10.conf <<EOF
binary=%{_bindir}/mu-mail
man=mu-mail.1
group=mail, Mail
EOF
%endif
%fdupes -s %{buildroot}%{python3_sitelib}/mailutils/
%find_lang %{name}
%post
%if ! %{with libalternatives}
%{_sbindir}/update-alternatives --quiet --force \
--install %{_bindir}/mail mail %{_bindir}/mu-mail 10 \
%if 0%{?suse_version} < 1550
--slave /bin/mail binmail %{_bindir}/mu-mail \
%endif
--slave %{_bindir}/Mail Mail %{_bindir}/mu-mail \
--slave %{_mandir}/man1/mail.1%{?ext_man} mail.1%{?ext_man} %{_mandir}/man1/mu-mail.1%{?ext_man} \
--slave %{_mandir}/man1/Mail.1%{?ext_man} Mail.1%{?ext_man} %{_mandir}/man1/mu-mail.1%{?ext_man}
%endif
%if %{with set_user_identity}
%set_permissions %{_bindir}/dotlock
%set_permissions %{_sbindir}/maidag
%endif
%if ! %{with libalternatives}
%postun
if test ! -e %{_bindir}/mu-mail; then
%{_sbindir}/update-alternatives --quiet --force --remove mail %{_bindir}/mu-mail
fi
%else
%pre
# removing old update-alternatives entries
if [ "$1" -gt 0 ] && [ -f %{_sbindir}/update-alternatives ] ; then
%{_sbindir}/update-alternatives --quiet --force --remove mail %{_bindir}/mu-mail
fi
%endif
%post -n libmailutils%{somajor} -p /sbin/ldconfig
%postun -n libmailutils%{somajor} -p /sbin/ldconfig
%if %{with set_user_identity}
%verifyscript
%verify_permissions %{_bindir}/dotlock
%verify_permissions %{_sbindir}/maidag
%endif
%files -f %{name}.lang -f guile.list
%license COPYING COPYING.LESSER
%doc ChangeLog README NEWS AUTHORS THANKS
%{_infodir}/mailutils.info*.gz
%{_mandir}/man1/*.1%{?ext_man}
%if %{with set_user_identity}
%config %{_sysconfdir}/permissions.d/mailutils*
%endif
%if ! 0%{with libalternatives}
%if 0%{?suse_version} < 1550
%ghost %config %{_sysconfdir}/alternatives/binmail
/bin/mail
%endif
%ghost %config %{_sysconfdir}/alternatives/Mail
%ghost %config %{_sysconfdir}/alternatives/mail
%ghost %config %{_sysconfdir}/alternatives/Mail.1%{?ext_man}
%ghost %config %{_sysconfdir}/alternatives/mail.1%{?ext_man}
%else
%dir %{_datadir}/libalternatives
%dir %{_datadir}/libalternatives/mail
%dir %{_datadir}/libalternatives/Mail
%{_datadir}/libalternatives/Mail/10.conf
%{_datadir}/libalternatives/mail/10.conf
%endif
%{_bindir}/decodemail
%if %{with set_user_identity}
%attr(02755,root,root) %verify(not mode) %{_bindir}/dotlock
%endif
%{_bindir}/frm
%{_bindir}/from
%{_bindir}/guimb
%{_bindir}/Mail
%{_bindir}/mail
%{_bindir}/mu-mail
%{_bindir}/mailutils
%{_bindir}/mailutils-config
%{_bindir}/messages
%{_bindir}/mimeview
%{_bindir}/movemail
%{_bindir}/popauth
%{_bindir}/readmsg
%{_bindir}/sieve
%dir %{_libexecdir}/mailutils/
%{_libexecdir}/mailutils/mailutils-*
%dir %{python3_sitelib}/mailutils/
%{python3_sitelib}/mailutils/*.p*
%dir %{python3_sitelib}/mailutils/__pycache__/
%{python3_sitelib}/mailutils/__pycache__/*
%dir %{_libdir}/mailutils/
%{_libdir}/mailutils/*.so
%dir %{python3_sitearch}/mailutils/
%{python3_sitearch}/mailutils/c_api.so
%files mh
%dir %{_bindir}/mu-mh/
%{_bindir}/mu-mh/*
%{_datadir}/emacs/site-lisp/mailutils-mh.el
%dir %{_datadir}/mailutils/
%dir %{_datadir}/mailutils/mh/
%{_datadir}/mailutils/mh/*
%files delivery
%{_sbindir}/lmtpd
%if %{with set_user_identity}
%attr(04755,root,root) %verify(not mode) %{_sbindir}/mda
%{_mandir}/man8/mda.8%{?ext_man}
%endif
%{_bindir}/putmail
%{_mandir}/man8/lmtpd.8%{?ext_man}
%files notify
%{_sbindir}/comsatd
%{_mandir}/man8/comsatd.8%{?ext_man}
%files imap4d
%{_sbindir}/imap4d
%{_mandir}/man8/imap4d.8%{?ext_man}
%files pop3d
%{_sbindir}/pop3d
%{_mandir}/man8/pop3d.8%{?ext_man}
%files devel
%{_libdir}/*.so
%dir %{_includedir}/mailutils/
%{_includedir}/mailutils/*.h
%dir %{_includedir}/mailutils/sys/
%{_includedir}/mailutils/sys/*.h
%{_datadir}/aclocal/mailutils.m4
%files -n libmailutils%{somajor}
%{_libdir}/*.so.*
%changelog

View File

@ -0,0 +1,40 @@
---
comsat/comsat.c | 1 +
comsat/comsat.h | 1 +
pop3d/user.c | 4 +++-
3 files changed, 5 insertions(+), 1 deletion(-)
--- comsat/comsat.c
+++ comsat/comsat.c 2018-06-07 08:51:30.882263156 +0000
@@ -535,6 +535,7 @@ change_user (const char *user)
return 1;
}
+ initgroups (user, pw->pw_gid);
setgid (pw->pw_gid);
setuid (pw->pw_uid);
chdir (pw->pw_dir);
--- comsat/comsat.h
+++ comsat/comsat.h 2018-06-07 09:57:24.467620564 +0000
@@ -35,6 +35,7 @@
#include <syslog.h>
#include <string.h>
#include <pwd.h>
+#include <grp.h>
#include <confpaths.h>
--- pop3d/user.c
+++ pop3d/user.c 2018-06-07 08:56:38.448784813 +0000
@@ -37,8 +37,10 @@ pop3d_begin_session ()
return ERR_LOGIN_DELAY;
}
- if (auth_data->change_uid)
+ if (auth_data->change_uid) {
+ initgroups (auth_data->name, auth_data->gid);
setuid (auth_data->uid);
+ }
if (manlock_open_mailbox (&mbox, auth_data->mailbox, 0,
MU_STREAM_CREAT | MU_STREAM_RDWR))