summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Makefile.am117
-rw-r--r--NEWS131
-rw-r--r--README2
-rw-r--r--README-alpha2
-rw-r--r--README-hacking2
-rw-r--r--THANKS1
-rw-r--r--TODO2
-rw-r--r--am/config_paths.m42
-rw-r--r--am/db2.m42
-rw-r--r--am/debug.m42
-rw-r--r--am/enable.m42
-rw-r--r--am/gsasl.m42
-rw-r--r--am/gssapi.m415
-rw-r--r--am/ipv6.m42
-rw-r--r--am/md5.m42
-rw-r--r--am/nls.m42
-rw-r--r--am/sha1.m42
-rw-r--r--am/tls.m43
-rwxr-xr-xbootstrap2
-rw-r--r--bootstrap.conf10
-rw-r--r--cmc/cmc_act_on.c2
-rw-r--r--cmc/cmc_free.c2
-rw-r--r--cmc/cmc_list.c2
-rw-r--r--cmc/cmc_logoff.c2
-rw-r--r--cmc/cmc_logon.c2
-rw-r--r--cmc/cmc_look_up.c2
-rw-r--r--cmc/cmc_query_config.c2
-rw-r--r--cmc/cmc_read.c2
-rw-r--r--cmc/cmc_send.c2
-rw-r--r--cmc/cmc_send_documents.c2
-rw-r--r--cmc/xcmc.h2
-rw-r--r--comsat/Makefile.am12
-rw-r--r--comsat/action.c2
-rw-r--r--comsat/biff.rc2
-rw-r--r--comsat/biffrc.sed2
-rw-r--r--comsat/comsat.c2
-rw-r--r--comsat/comsat.h2
-rw-r--r--comsat/tests/atlocal.in2
-rw-r--r--comsat/tests/testsuite.at2
-rw-r--r--configure.ac149
-rw-r--r--decodemail/.gitignore1
-rw-r--r--decodemail/Makefile.am (renamed from python/3/Makefile.am)15
-rw-r--r--decodemail/decodemail.c884
-rw-r--r--doc/Makefile.am2
-rw-r--r--doc/man/Makefile.am2
-rw-r--r--doc/man/decodemail.1213
-rw-r--r--doc/man/template.182
-rw-r--r--doc/texinfo/COPYING.DOC2
-rw-r--r--doc/texinfo/Makefile.am3
-rw-r--r--doc/texinfo/address.texi2
-rw-r--r--doc/texinfo/attribute.texi2
-rw-r--r--doc/texinfo/auth.texi2
-rw-r--r--doc/texinfo/body.texi2
-rw-r--r--doc/texinfo/c-api.texi2
-rw-r--r--doc/texinfo/encoding.texi2
-rw-r--r--doc/texinfo/envelope.texi2
-rw-r--r--doc/texinfo/fdl.texi2
-rw-r--r--doc/texinfo/folder.texi2
-rw-r--r--doc/texinfo/framework.texi2
-rwxr-xr-xdoc/texinfo/gendocs.sh2
-rw-r--r--doc/texinfo/getdate.texi2
-rw-r--r--doc/texinfo/headers.texi2
-rw-r--r--doc/texinfo/imap4.texi2
-rw-r--r--doc/texinfo/iterator.texi2
-rw-r--r--doc/texinfo/libmu_auth.texi2
-rw-r--r--doc/texinfo/libmu_scm.texi2
-rw-r--r--doc/texinfo/libmu_sieve.texi2
-rw-r--r--doc/texinfo/locker.texi2
-rw-r--r--doc/texinfo/mailbox.texi2
-rw-r--r--doc/texinfo/mailcap.texi2
-rw-r--r--doc/texinfo/maildir.texi2
-rw-r--r--doc/texinfo/mailer.texi2
-rw-r--r--doc/texinfo/mailutils.texi5
-rw-r--r--doc/texinfo/maint.mk2
-rw-r--r--doc/texinfo/mastermenu.el2
-rw-r--r--doc/texinfo/mbox.texi2
-rw-r--r--doc/texinfo/message.texi2
-rw-r--r--doc/texinfo/mh.texi2
-rw-r--r--doc/texinfo/mime.texi2
-rw-r--r--doc/texinfo/mu-mh.texi2
-rw-r--r--doc/texinfo/muint.texi2
-rw-r--r--doc/texinfo/nntp.texi100
-rw-r--r--doc/texinfo/nullstream.texi2
-rw-r--r--doc/texinfo/parse822.texi2
-rw-r--r--doc/texinfo/programs.texi61
-rw-r--r--doc/texinfo/programs/comsatd.texi2
-rw-r--r--doc/texinfo/programs/decodemail.texi227
-rw-r--r--doc/texinfo/programs/frm.texi2
-rw-r--r--doc/texinfo/programs/guimb.texi2
-rw-r--r--doc/texinfo/programs/imap4d.texi2
-rw-r--r--doc/texinfo/programs/lmtpd.texi2
-rw-r--r--doc/texinfo/programs/mail.texi2
-rw-r--r--doc/texinfo/programs/mailutils.texi4
-rw-r--r--doc/texinfo/programs/mda.texi2
-rw-r--r--doc/texinfo/programs/messages.texi2
-rw-r--r--doc/texinfo/programs/mimeview.texi2
-rw-r--r--doc/texinfo/programs/movemail.texi2
-rw-r--r--doc/texinfo/programs/pop3d.texi2
-rw-r--r--doc/texinfo/programs/putmail.texi2
-rw-r--r--doc/texinfo/programs/readmsg.texi66
-rw-r--r--doc/texinfo/programs/sieve.texi2
-rw-r--r--doc/texinfo/sendmail.texi2
-rw-r--r--doc/texinfo/sieve.texi4
-rw-r--r--doc/texinfo/smtp.texi2
-rw-r--r--doc/texinfo/stream.texi2
-rw-r--r--doc/texinfo/strftime.texi2
-rw-r--r--doc/texinfo/url.texi2
-rw-r--r--doc/texinfo/usage.texi2
-rw-r--r--dotlock/Makefile.am10
-rw-r--r--dotlock/dotlock.c2
-rw-r--r--examples/.gitignore1
-rw-r--r--examples/Makefile.am103
-rw-r--r--examples/aclck.c2
-rw-r--r--examples/addr.c2
-rw-r--r--examples/base64.c2
-rw-r--r--examples/config/Makefile.am2
-rw-r--r--examples/config/mailutils.dict2
-rw-r--r--examples/config/mailutils.schema2
-rw-r--r--examples/cpp/Makefile.am22
-rw-r--r--examples/cpp/addr.cc2
-rw-r--r--examples/cpp/http.cc2
-rw-r--r--examples/cpp/iconv.cc2
-rw-r--r--examples/cpp/listop.cc2
-rw-r--r--examples/cpp/lsf.cc2
-rw-r--r--examples/cpp/mailcap.cc2
-rw-r--r--examples/cpp/mimetest.cc2
-rw-r--r--examples/cpp/msg-send.cc2
-rw-r--r--examples/cpp/murun.cc2
-rw-r--r--examples/cpp/sfrom.cc2
-rw-r--r--examples/cpp/url-parse.cc2
-rw-r--r--examples/echosrv.c2
-rw-r--r--examples/header.c2
-rw-r--r--examples/http.c2
-rw-r--r--examples/iconv.c2
-rw-r--r--examples/lsf.c2
-rw-r--r--examples/mblconv.c2
-rw-r--r--examples/mboxidx.c2
-rw-r--r--examples/mboxsize.c2
-rw-r--r--examples/msg-send.c2
-rw-r--r--examples/mta.c29
-rw-r--r--examples/muauth.c2
-rw-r--r--examples/mucat.c2
-rw-r--r--examples/muemail.c2
-rw-r--r--examples/murun.c2
-rw-r--r--examples/musocio.c2
-rw-r--r--examples/nntpclient.c1078
-rw-r--r--examples/numaddr.c2
-rw-r--r--examples/python/2/Makefile.am27
-rw-r--r--examples/python/2/addr.py70
-rw-r--r--examples/python/2/auth.py85
-rw-r--r--examples/python/2/iconv.py35
-rw-r--r--examples/python/2/lsf.py61
-rw-r--r--examples/python/2/mailcap.py36
-rw-r--r--examples/python/2/mimetest.py150
-rw-r--r--examples/python/2/msg-send.py74
-rw-r--r--examples/python/2/sfrom.py36
-rw-r--r--examples/python/2/url-parse.py63
-rw-r--r--examples/python/3/Makefile.am27
-rw-r--r--examples/python/Makefile.am28
-rw-r--r--examples/python/addr.py (renamed from examples/python/3/addr.py)2
-rw-r--r--examples/python/auth.py (renamed from examples/python/3/auth.py)2
-rw-r--r--examples/python/iconv.py (renamed from examples/python/3/iconv.py)2
-rw-r--r--examples/python/lsf.py (renamed from examples/python/3/lsf.py)2
-rw-r--r--examples/python/mailcap.py (renamed from examples/python/3/mailcap.py)2
-rw-r--r--examples/python/mimetest.py (renamed from examples/python/3/mimetest.py)2
-rw-r--r--examples/python/msg-send.py (renamed from examples/python/3/msg-send.py)2
-rw-r--r--examples/python/sfrom.py (renamed from examples/python/3/sfrom.py)2
-rw-r--r--examples/python/url-parse.py (renamed from examples/python/3/url-parse.py)2
-rw-r--r--examples/sa.c4
-rw-r--r--examples/scheme/Makefile.am2
-rw-r--r--examples/scheme/reply.scm2
-rw-r--r--examples/sfrom.c2
-rw-r--r--frm/Makefile.am17
-rw-r--r--frm/common.c2
-rw-r--r--frm/frm.c2
-rw-r--r--frm/frm.h2
-rw-r--r--frm/from.c2
-rw-r--r--frm/tests/atlocal.in2
-rw-r--r--frm/tests/testsuite.at2
-rw-r--r--imap4d/Makefile.am21
-rw-r--r--imap4d/append.c2
-rw-r--r--imap4d/auth_gsasl.c2
-rw-r--r--imap4d/auth_gss.c2
-rw-r--r--imap4d/authenticate.c2
-rw-r--r--imap4d/bye.c2
-rw-r--r--imap4d/capability.c2
-rw-r--r--imap4d/check.c2
-rw-r--r--imap4d/close.c2
-rw-r--r--imap4d/commands.c2
-rw-r--r--imap4d/copy.c2
-rw-r--r--imap4d/create.c2
-rw-r--r--imap4d/delete.c2
-rw-r--r--imap4d/examine.c2
-rw-r--r--imap4d/expunge.c2
-rw-r--r--imap4d/fetch.c2
-rw-r--r--imap4d/id.c2
-rw-r--r--imap4d/idle.c2
-rw-r--r--imap4d/imap4d.c51
-rw-r--r--imap4d/imap4d.h11
-rw-r--r--imap4d/io.c7
-rw-r--r--imap4d/list.c2
-rw-r--r--imap4d/login.c2
-rw-r--r--imap4d/logout.c2
-rw-r--r--imap4d/lsub.c2
-rw-r--r--imap4d/namespace.c5
-rw-r--r--imap4d/noop.c2
-rw-r--r--imap4d/parsebuf.c2
-rw-r--r--imap4d/preauth.c2
-rw-r--r--imap4d/quota.c2
-rw-r--r--imap4d/rename.c2
-rw-r--r--imap4d/search.c8
-rw-r--r--imap4d/select.c2
-rw-r--r--imap4d/signal.c2
-rw-r--r--imap4d/starttls.c117
-rw-r--r--imap4d/status.c2
-rw-r--r--imap4d/store.c2
-rw-r--r--imap4d/subscribe.c2
-rw-r--r--imap4d/sync.c2
-rw-r--r--imap4d/tests/IDEF0955.at2
-rw-r--r--imap4d/tests/IDEF0956.at2
-rw-r--r--imap4d/tests/Makefile.am6
-rw-r--r--imap4d/tests/anystate.at2
-rw-r--r--imap4d/tests/append00.at2
-rw-r--r--imap4d/tests/append01.at2
-rw-r--r--imap4d/tests/atlocal.in2
-rw-r--r--imap4d/tests/ckiconv.c2
-rw-r--r--imap4d/tests/close-expunge.at2
-rw-r--r--imap4d/tests/create01.at2
-rw-r--r--imap4d/tests/create02.at2
-rw-r--r--imap4d/tests/examine.at2
-rw-r--r--imap4d/tests/expunge.at2
-rw-r--r--imap4d/tests/fetch.at2
-rw-r--r--imap4d/tests/id.at2
-rw-r--r--imap4d/tests/list.at2
-rw-r--r--imap4d/tests/search.at2
-rw-r--r--imap4d/tests/select.at2
-rw-r--r--imap4d/tests/status.at2
-rw-r--r--imap4d/tests/testsuite.at2
-rw-r--r--imap4d/uid.c2
-rw-r--r--imap4d/unsubscribe.c2
-rw-r--r--imap4d/util.c2
-rw-r--r--include/Makefile.am2
-rw-r--r--include/mailutils/Makefile.am3
-rw-r--r--include/mailutils/acl.h2
-rw-r--r--include/mailutils/address.h2
-rw-r--r--include/mailutils/alloc.h2
-rw-r--r--include/mailutils/argcv.h2
-rw-r--r--include/mailutils/assoc.h14
-rw-r--r--include/mailutils/attribute.h2
-rw-r--r--include/mailutils/auth.h2
-rw-r--r--include/mailutils/body.h4
-rw-r--r--include/mailutils/cctype.h2
-rw-r--r--include/mailutils/cfg.h2
-rw-r--r--include/mailutils/cidr.h2
-rw-r--r--include/mailutils/cli.h221
-rw-r--r--include/mailutils/cpp/Makefile.am2
-rw-r--r--include/mailutils/cpp/address.h2
-rw-r--r--include/mailutils/cpp/attribute.h2
-rw-r--r--include/mailutils/cpp/body.h2
-rw-r--r--include/mailutils/cpp/envelope.h2
-rw-r--r--include/mailutils/cpp/error.h2
-rw-r--r--include/mailutils/cpp/filter.h2
-rw-r--r--include/mailutils/cpp/folder.h2
-rw-r--r--include/mailutils/cpp/header.h2
-rw-r--r--include/mailutils/cpp/iterator.h2
-rw-r--r--include/mailutils/cpp/list.h2
-rw-r--r--include/mailutils/cpp/mailbox.h2
-rw-r--r--include/mailutils/cpp/mailcap.h2
-rw-r--r--include/mailutils/cpp/mailer.h2
-rw-r--r--include/mailutils/cpp/mailutils.h2
-rw-r--r--include/mailutils/cpp/message.h2
-rw-r--r--include/mailutils/cpp/mime.h2
-rw-r--r--include/mailutils/cpp/pop3.h2
-rw-r--r--include/mailutils/cpp/registrar.h2
-rw-r--r--include/mailutils/cpp/secret.h2
-rw-r--r--include/mailutils/cpp/sieve.h2
-rw-r--r--include/mailutils/cpp/stream.h2
-rw-r--r--include/mailutils/cpp/url.h2
-rw-r--r--include/mailutils/cpp/util.h2
-rw-r--r--include/mailutils/cstr.h8
-rw-r--r--include/mailutils/daemon.h2
-rw-r--r--include/mailutils/datetime.h2
-rw-r--r--include/mailutils/dbm.h2
-rw-r--r--include/mailutils/debug.h2
-rw-r--r--include/mailutils/diag.h2
-rw-r--r--include/mailutils/envelope.h2
-rw-r--r--include/mailutils/errno.hin2
-rw-r--r--include/mailutils/error.h2
-rw-r--r--include/mailutils/filter.h2
-rw-r--r--include/mailutils/folder.h2
-rw-r--r--include/mailutils/glob.h2
-rw-r--r--include/mailutils/gsasl.h2
-rw-r--r--include/mailutils/guile.h2
-rw-r--r--include/mailutils/header.h2
-rw-r--r--include/mailutils/imap.h2
-rw-r--r--include/mailutils/imapio.h2
-rw-r--r--include/mailutils/imaputil.h2
-rw-r--r--include/mailutils/io.h2
-rw-r--r--include/mailutils/iterator.h2
-rw-r--r--include/mailutils/kwd.h2
-rw-r--r--include/mailutils/ldap.h2
-rw-r--r--include/mailutils/list.h2
-rw-r--r--include/mailutils/locker.h2
-rw-r--r--include/mailutils/locus.h2
-rw-r--r--include/mailutils/log.h5
-rw-r--r--include/mailutils/mailbox.h2
-rw-r--r--include/mailutils/mailcap.h2
-rw-r--r--include/mailutils/mailer.h4
-rw-r--r--include/mailutils/mailutils.h2
-rw-r--r--include/mailutils/md5.h2
-rw-r--r--include/mailutils/message.h30
-rw-r--r--include/mailutils/mh.h2
-rw-r--r--include/mailutils/mime.h20
-rw-r--r--include/mailutils/monitor.h2
-rw-r--r--include/mailutils/msgset.h2
-rw-r--r--include/mailutils/mu_auth.h2
-rw-r--r--include/mailutils/nls.h2
-rw-r--r--include/mailutils/nntp.h247
-rw-r--r--include/mailutils/observer.h2
-rw-r--r--include/mailutils/opool.h2
-rw-r--r--include/mailutils/opt.h2
-rw-r--r--include/mailutils/pam.h2
-rw-r--r--include/mailutils/parse822.h2
-rw-r--r--include/mailutils/pop3.h2
-rw-r--r--include/mailutils/prog.h2
-rw-r--r--include/mailutils/progmailer.h2
-rw-r--r--include/mailutils/property.h3
-rw-r--r--include/mailutils/python.h2
-rw-r--r--include/mailutils/radius.h2
-rw-r--r--include/mailutils/refcount.h2
-rw-r--r--include/mailutils/registrar.h10
-rw-r--r--include/mailutils/secret.h2
-rw-r--r--include/mailutils/server.h2
-rw-r--r--include/mailutils/sha1.h2
-rw-r--r--include/mailutils/sieve.h2
-rw-r--r--include/mailutils/smtp.h2
-rw-r--r--include/mailutils/sockaddr.h2
-rw-r--r--include/mailutils/sql.h2
-rw-r--r--include/mailutils/stdstream.h2
-rw-r--r--include/mailutils/stream.h53
-rw-r--r--include/mailutils/sys/.gitignore1
-rw-r--r--include/mailutils/sys/Makefile.am4
-rw-r--r--include/mailutils/sys/amd.h2
-rw-r--r--include/mailutils/sys/attribute.h2
-rw-r--r--include/mailutils/sys/auth.h2
-rw-r--r--include/mailutils/sys/body.h10
-rw-r--r--include/mailutils/sys/dbm.h2
-rw-r--r--include/mailutils/sys/dotmail.h2
-rw-r--r--include/mailutils/sys/envelope.h2
-rw-r--r--include/mailutils/sys/file_stream.h2
-rw-r--r--include/mailutils/sys/filter.h2
-rw-r--r--include/mailutils/sys/folder.h2
-rw-r--r--include/mailutils/sys/gsasl-stream.h2
-rw-r--r--include/mailutils/sys/header.h2
-rw-r--r--include/mailutils/sys/header_stream.h2
-rw-r--r--include/mailutils/sys/imap.h2
-rw-r--r--include/mailutils/sys/imapio.h2
-rw-r--r--include/mailutils/sys/iostream.h2
-rw-r--r--include/mailutils/sys/iterator.h2
-rw-r--r--include/mailutils/sys/list.h16
-rw-r--r--include/mailutils/sys/logstream.h3
-rw-r--r--include/mailutils/sys/mailbox.h2
-rw-r--r--include/mailutils/sys/mailcap.h2
-rw-r--r--include/mailutils/sys/mailer.h3
-rw-r--r--include/mailutils/sys/mapfile_stream.h2
-rw-r--r--include/mailutils/sys/memory_stream.h2
-rw-r--r--include/mailutils/sys/message.h2
-rw-r--r--include/mailutils/sys/message_stream.h31
-rw-r--r--include/mailutils/sys/mime.h30
-rw-r--r--include/mailutils/sys/monitor.h2
-rw-r--r--include/mailutils/sys/msgset.h2
-rw-r--r--include/mailutils/sys/nntp.h221
-rw-r--r--include/mailutils/sys/nullstream.h2
-rw-r--r--include/mailutils/sys/observer.h2
-rw-r--r--include/mailutils/sys/pop3.h2
-rw-r--r--include/mailutils/sys/prog_stream.h2
-rw-r--r--include/mailutils/sys/property.h2
-rw-r--r--include/mailutils/sys/rdcache_stream.h2
-rw-r--r--include/mailutils/sys/registrar.h2
-rw-r--r--include/mailutils/sys/smtp.h2
-rw-r--r--include/mailutils/sys/stream.h3
-rw-r--r--include/mailutils/sys/streamref.h2
-rw-r--r--include/mailutils/sys/streamtrans.h2
-rw-r--r--include/mailutils/sys/syslogstream.h2
-rw-r--r--include/mailutils/sys/temp_file_stream.h2
-rw-r--r--include/mailutils/sys/temp_stream.h35
-rw-r--r--include/mailutils/sys/tls-stream.h2
-rw-r--r--include/mailutils/sys/url.h2
l---------include/mailutils/sys/wordsplit.h1
-rw-r--r--include/mailutils/sys/xscript-stream.h2
-rw-r--r--include/mailutils/syslog.h2
-rw-r--r--include/mailutils/tls.h2
-rw-r--r--include/mailutils/types.hin2
-rw-r--r--include/mailutils/url.h2
-rw-r--r--include/mailutils/util.h14
-rw-r--r--include/mailutils/version.h2
-rw-r--r--include/mailutils/wordsplit.h2
-rw-r--r--include/mailutils/yyloc.h2
-rw-r--r--lib/Makefile.am14
-rw-r--r--lib/guile.c2
-rw-r--r--lib/mailcap.c2
-rw-r--r--lib/manlock.c2
-rw-r--r--lib/mdecode.c309
-rw-r--r--lib/mu_umaxtostr.c2
-rw-r--r--lib/muaux.h11
-rw-r--r--lib/muscript.h2
-rw-r--r--lib/python.c2
-rw-r--r--lib/script.c2
-rw-r--r--lib/sieve.c2
-rw-r--r--lib/signal.c2
-rw-r--r--lib/strexit.c2
-rw-r--r--lib/tcpwrap.c2
-rw-r--r--lib/tcpwrap.h4
-rw-r--r--lib/unistr_c.c (renamed from imap4d/unistr_c.c)21
-rw-r--r--lib/unistr_u8.c (renamed from imap4d/unistr_u8.c)12
-rw-r--r--lib/utmp.c2
-rw-r--r--libmailutils/Makefile.am4
-rw-r--r--libmailutils/address/Makefile.am4
-rw-r--r--libmailutils/address/address.c2
-rw-r--r--libmailutils/address/addrstream.c2
-rw-r--r--libmailutils/address/parse822.c32
-rw-r--r--libmailutils/auth/Makefile.am4
-rw-r--r--libmailutils/auth/auth.c2
-rw-r--r--libmailutils/auth/mu_auth.c2
-rw-r--r--libmailutils/auth/system.c2
-rw-r--r--libmailutils/base/Makefile.am5
-rw-r--r--libmailutils/base/alloc.c2
-rw-r--r--libmailutils/base/amd.c174
-rw-r--r--libmailutils/base/argcvfree.c2
-rw-r--r--libmailutils/base/argcvjoin.c2
-rw-r--r--libmailutils/base/argcvrem.c2
-rw-r--r--libmailutils/base/assoc.c198
-rw-r--r--libmailutils/base/coord.c124
-rw-r--r--libmailutils/base/copyfile.c2
-rw-r--r--libmailutils/base/ctparse.c175
-rw-r--r--libmailutils/base/daemon.c2
-rw-r--r--libmailutils/base/fdwait.c2
-rw-r--r--libmailutils/base/fgetpwent.c2
-rw-r--r--libmailutils/base/filename.c2
-rw-r--r--libmailutils/base/filesafety.c2
-rw-r--r--libmailutils/base/freeitem.c2
-rw-r--r--libmailutils/base/fscompose.c2
-rw-r--r--libmailutils/base/getcwd.c2
-rw-r--r--libmailutils/base/getmaxfd.c2
-rw-r--r--libmailutils/base/getpass.c2
-rw-r--r--libmailutils/base/glob.c2
-rw-r--r--libmailutils/base/hostname.c2
-rw-r--r--libmailutils/base/iterator.c2
-rw-r--r--libmailutils/base/kwd.c2
-rw-r--r--libmailutils/base/lcall.c2
-rw-r--r--libmailutils/base/locale.c2
-rw-r--r--libmailutils/base/locker.c2
-rw-r--r--libmailutils/base/monitor.c2
-rw-r--r--libmailutils/base/msgid.c2
-rw-r--r--libmailutils/base/munre.c2
-rw-r--r--libmailutils/base/mutil.c2
-rw-r--r--libmailutils/base/nls.c2
-rw-r--r--libmailutils/base/nullrec.c6
-rw-r--r--libmailutils/base/observer.c2
-rw-r--r--libmailutils/base/onexit.c2
-rw-r--r--libmailutils/base/opool.c2
-rw-r--r--libmailutils/base/permstr.c4
-rw-r--r--libmailutils/base/refcount.c2
-rw-r--r--libmailutils/base/registrar.c2
-rw-r--r--libmailutils/base/removefile.c2
-rw-r--r--libmailutils/base/renamefile.c2
-rw-r--r--libmailutils/base/rfc2047.c2
-rw-r--r--libmailutils/base/schemeauto.c2
-rw-r--r--libmailutils/base/secret.c2
-rw-r--r--libmailutils/base/sha1.c2
-rw-r--r--libmailutils/base/spawnvp.c2
-rw-r--r--libmailutils/base/symlink.c7
-rw-r--r--libmailutils/base/tempfile.c2
-rw-r--r--libmailutils/base/ticket.c2
-rw-r--r--libmailutils/base/tilde.c6
-rw-r--r--libmailutils/base/userprivs.c2
-rw-r--r--libmailutils/base/usremail.c2
-rw-r--r--libmailutils/base/version.c5
-rw-r--r--libmailutils/base/wicket.c2
-rw-r--r--libmailutils/cfg/Makefile.am6
-rw-r--r--libmailutils/cfg/driver.c4
-rw-r--r--libmailutils/cfg/format.c2
-rw-r--r--libmailutils/cfg/lexer.l2
-rw-r--r--libmailutils/cfg/parser.y5
-rw-r--r--libmailutils/cidr/Makefile.am4
-rw-r--r--libmailutils/cidr/fromsa.c2
-rw-r--r--libmailutils/cidr/fromstr.c2
-rw-r--r--libmailutils/cidr/match.c2
-rw-r--r--libmailutils/cidr/tosa.c2
-rw-r--r--libmailutils/cidr/tostr.c2
-rw-r--r--libmailutils/cli/Makefile.am5
-rw-r--r--libmailutils/cli/acl.c2
-rw-r--r--libmailutils/cli/capa.c2
-rw-r--r--libmailutils/cli/cli.c29
-rw-r--r--libmailutils/cli/simple.c226
-rw-r--r--libmailutils/cli/stdcapa.c2
-rw-r--r--libmailutils/datetime/Makefile.am6
-rw-r--r--libmailutils/datetime/dow.c2
-rw-r--r--libmailutils/datetime/doy.c2
-rw-r--r--libmailutils/datetime/jd.c2
-rw-r--r--libmailutils/datetime/parsedate.y2
-rw-r--r--libmailutils/datetime/scantime.c5
-rw-r--r--libmailutils/datetime/streamftime.c2
-rw-r--r--libmailutils/datetime/strftime.c2
-rw-r--r--libmailutils/datetime/tab.c2
-rw-r--r--libmailutils/datetime/tzlocal.c2
-rw-r--r--libmailutils/datetime/unixtime.c2
-rw-r--r--libmailutils/datetime/utcoff.c4
-rw-r--r--libmailutils/datetime/yd.c2
-rw-r--r--libmailutils/diag/Makefile.am4
-rw-r--r--libmailutils/diag/bt.c2
-rw-r--r--libmailutils/diag/debcat2
-rw-r--r--libmailutils/diag/debug.c3
-rw-r--r--libmailutils/diag/diag.c2
-rw-r--r--libmailutils/diag/errors4
-rw-r--r--libmailutils/diag/muerrno.cin2
-rw-r--r--libmailutils/diag/muerror.c2
-rw-r--r--libmailutils/diag/syslog.c2
-rw-r--r--libmailutils/diag/wd.c2
-rw-r--r--libmailutils/filter/Makefile.am4
-rw-r--r--libmailutils/filter/base64.c7
-rw-r--r--libmailutils/filter/binflt.c2
-rw-r--r--libmailutils/filter/c-escape.c2
-rw-r--r--libmailutils/filter/crlfdot.c2
-rw-r--r--libmailutils/filter/crlfflt.c2
-rw-r--r--libmailutils/filter/decode.c2
-rw-r--r--libmailutils/filter/dot.c2
-rw-r--r--libmailutils/filter/dq.c2
-rw-r--r--libmailutils/filter/filter.c2
-rw-r--r--libmailutils/filter/fltchain.c2
-rw-r--r--libmailutils/filter/fromflt.c2
-rw-r--r--libmailutils/filter/header.c2
-rw-r--r--libmailutils/filter/htmlent.c2
-rw-r--r--libmailutils/filter/iconvflt.c2
-rw-r--r--libmailutils/filter/inline-comment.c12
-rw-r--r--libmailutils/filter/linecon.c2
-rw-r--r--libmailutils/filter/linelenflt.c2
-rw-r--r--libmailutils/filter/percent.c2
-rw-r--r--libmailutils/filter/qpflt.c2
-rw-r--r--libmailutils/filter/xml.c2
-rw-r--r--libmailutils/imapio/Makefile.am4
-rw-r--r--libmailutils/imapio/create.c2
-rw-r--r--libmailutils/imapio/errstate.c2
-rw-r--r--libmailutils/imapio/flags.c2
-rw-r--r--libmailutils/imapio/getline.c14
-rw-r--r--libmailutils/imapio/litstream.c2
-rw-r--r--libmailutils/imapio/litstring.c2
-rw-r--r--libmailutils/imapio/printf.c2
-rw-r--r--libmailutils/imapio/qstring.c2
-rw-r--r--libmailutils/imapio/replstr.c2
-rw-r--r--libmailutils/imapio/send.c2
-rw-r--r--libmailutils/imapio/sendcmd.c2
-rw-r--r--libmailutils/imapio/sendcmde.c2
-rw-r--r--libmailutils/imapio/sendcmdv.c2
-rw-r--r--libmailutils/imapio/sendflg.c2
-rw-r--r--libmailutils/imapio/sendmsgset.c2
-rw-r--r--libmailutils/imapio/time.c2
-rw-r--r--libmailutils/imapio/trace.c2
-rw-r--r--libmailutils/imapio/transport.c2
-rw-r--r--libmailutils/imapio/wildmatch.c2
-rw-r--r--libmailutils/imapio/words.c2
-rw-r--r--libmailutils/imapio/xscript.c2
-rw-r--r--libmailutils/list/Makefile.am4
-rw-r--r--libmailutils/list/append.c2
-rw-r--r--libmailutils/list/array.c2
-rw-r--r--libmailutils/list/clear.c2
-rw-r--r--libmailutils/list/count.c2
-rw-r--r--libmailutils/list/create.c2
-rw-r--r--libmailutils/list/destroy.c2
-rw-r--r--libmailutils/list/empty.c2
-rw-r--r--libmailutils/list/fold.c2
-rw-r--r--libmailutils/list/foreach.c2
-rw-r--r--libmailutils/list/foreachdir.c2
-rw-r--r--libmailutils/list/get.c2
-rw-r--r--libmailutils/list/getcomp.c2
-rw-r--r--libmailutils/list/gmap.c2
-rw-r--r--libmailutils/list/head.c2
-rw-r--r--libmailutils/list/insert.c2
-rw-r--r--libmailutils/list/intersect.c2
-rw-r--r--libmailutils/list/iterator.c2
-rw-r--r--libmailutils/list/listlist.c2
-rw-r--r--libmailutils/list/locate.c2
-rw-r--r--libmailutils/list/map.c2
-rw-r--r--libmailutils/list/pop.c2
-rw-r--r--libmailutils/list/prepend.c2
-rw-r--r--libmailutils/list/push.c2
-rw-r--r--libmailutils/list/remove.c2
-rw-r--r--libmailutils/list/removenth.c2
-rw-r--r--libmailutils/list/replace.c2
-rw-r--r--libmailutils/list/rfold.c2
-rw-r--r--libmailutils/list/setcomp.c2
-rw-r--r--libmailutils/list/setdestr.c2
-rw-r--r--libmailutils/list/slice.c2
-rw-r--r--libmailutils/list/slice2.c2
-rw-r--r--libmailutils/list/sort.c84
-rw-r--r--libmailutils/list/tail.c2
-rw-r--r--libmailutils/locus/Makefile.am4
-rw-r--r--libmailutils/locus/debug.c2
-rw-r--r--libmailutils/locus/genprloc.c2
-rw-r--r--libmailutils/locus/ident.c2
-rw-r--r--libmailutils/locus/linetrack.c2
-rw-r--r--libmailutils/locus/locus.c2
-rw-r--r--libmailutils/mailbox/Makefile.am4
-rw-r--r--libmailutils/mailbox/attribute.c2
-rw-r--r--libmailutils/mailbox/biffnotify.c2
-rw-r--r--libmailutils/mailbox/body.c324
-rw-r--r--libmailutils/mailbox/bodystruct.c100
-rw-r--r--libmailutils/mailbox/copy.c2
-rw-r--r--libmailutils/mailbox/envelope.c2
-rw-r--r--libmailutils/mailbox/folder.c2
-rw-r--r--libmailutils/mailbox/fsfolder.c2
-rw-r--r--libmailutils/mailbox/hdrfirst.c2
-rw-r--r--libmailutils/mailbox/hdritr.c2
-rw-r--r--libmailutils/mailbox/header.c2
-rw-r--r--libmailutils/mailbox/imapenv.c2
-rw-r--r--libmailutils/mailbox/mailbox.c2
-rw-r--r--libmailutils/mailbox/mbx_default.c2
-rw-r--r--libmailutils/mailbox/mbxitr.c2
-rw-r--r--libmailutils/mailbox/msgattr.c2
-rw-r--r--libmailutils/mailbox/msgbody.c2
-rw-r--r--libmailutils/mailbox/msgcpy.c2
-rw-r--r--libmailutils/mailbox/msgcreat.c2
-rw-r--r--libmailutils/mailbox/msgenv.c266
-rw-r--r--libmailutils/mailbox/msgheader.c2
-rw-r--r--libmailutils/mailbox/msglines.c2
-rw-r--r--libmailutils/mailbox/msgmbx.c2
-rw-r--r--libmailutils/mailbox/msgmod.c2
-rw-r--r--libmailutils/mailbox/msgmulti.c2
-rw-r--r--libmailutils/mailbox/msgnumparts.c2
-rw-r--r--libmailutils/mailbox/msgobs.c2
-rw-r--r--libmailutils/mailbox/msgpart.c2
-rw-r--r--libmailutils/mailbox/msgqid.c2
-rw-r--r--libmailutils/mailbox/msgqlines.c2
-rw-r--r--libmailutils/mailbox/msgref.c2
-rw-r--r--libmailutils/mailbox/msgsave.c2
-rw-r--r--libmailutils/mailbox/msgscan.c2
-rw-r--r--libmailutils/mailbox/msgsize.c2
-rw-r--r--libmailutils/mailbox/msgstream.c34
-rw-r--r--libmailutils/mailbox/msguid.c2
-rw-r--r--libmailutils/mailbox/msguidl.c2
-rw-r--r--libmailutils/mailcap/Makefile.am4
-rw-r--r--libmailutils/mailcap/ctmatch.c2
-rw-r--r--libmailutils/mailcap/deferrclos.c2
-rw-r--r--libmailutils/mailcap/ent_cmd.c2
-rw-r--r--libmailutils/mailcap/ent_creat.c2
-rw-r--r--libmailutils/mailcap/ent_destr.c2
-rw-r--r--libmailutils/mailcap/ent_locus.c2
-rw-r--r--libmailutils/mailcap/ent_type.c2
-rw-r--r--libmailutils/mailcap/fieldacc.c2
-rw-r--r--libmailutils/mailcap/fields.c2
-rw-r--r--libmailutils/mailcap/finder.c2
-rw-r--r--libmailutils/mailcap/mcp_count.c2
-rw-r--r--libmailutils/mailcap/mcp_creat.c2
-rw-r--r--libmailutils/mailcap/mcp_destr.c2
-rw-r--r--libmailutils/mailcap/mcp_err.c2
-rw-r--r--libmailutils/mailcap/mcp_find.c2
-rw-r--r--libmailutils/mailcap/mcp_flags.c2
-rw-r--r--libmailutils/mailcap/mcp_get.c2
-rw-r--r--libmailutils/mailcap/mcp_sel.c2
-rw-r--r--libmailutils/mailcap/parse.c2
-rw-r--r--libmailutils/mailcap/parsefile.c2
-rw-r--r--libmailutils/mailer/Makefile.am4
-rw-r--r--libmailutils/mailer/mailer.c31
-rw-r--r--libmailutils/mailer/progmailer.c4
-rw-r--r--libmailutils/mime/Makefile.am7
-rw-r--r--libmailutils/mime/attachment.c27
-rw-r--r--libmailutils/mime/mime.c715
-rw-r--r--libmailutils/mime/mimehdr.c677
-rw-r--r--libmailutils/mime/mimehdrset.c2
-rw-r--r--libmailutils/mime/mimeitr.c312
-rw-r--r--libmailutils/msgset/Makefile.am4
-rw-r--r--libmailutils/msgset/add.c2
-rw-r--r--libmailutils/msgset/addset.c2
-rw-r--r--libmailutils/msgset/aggr.c2
-rw-r--r--libmailutils/msgset/clear.c2
-rw-r--r--libmailutils/msgset/copy.c2
-rw-r--r--libmailutils/msgset/count.c2
-rw-r--r--libmailutils/msgset/create.c2
-rw-r--r--libmailutils/msgset/first.c2
-rw-r--r--libmailutils/msgset/foreachmsg.c2
-rw-r--r--libmailutils/msgset/foreachmsgno.c2
-rw-r--r--libmailutils/msgset/foreachnum.c2
-rw-r--r--libmailutils/msgset/foreachuid.c2
-rw-r--r--libmailutils/msgset/free.c2
-rw-r--r--libmailutils/msgset/getitr.c2
-rw-r--r--libmailutils/msgset/getlist.c2
-rw-r--r--libmailutils/msgset/getmbox.c2
-rw-r--r--libmailutils/msgset/isempty.c2
-rw-r--r--libmailutils/msgset/last.c2
-rw-r--r--libmailutils/msgset/locate.c2
-rw-r--r--libmailutils/msgset/negate.c2
-rw-r--r--libmailutils/msgset/parse.c2
-rw-r--r--libmailutils/msgset/print.c2
-rw-r--r--libmailutils/msgset/sub.c2
-rw-r--r--libmailutils/msgset/subset.c2
-rw-r--r--libmailutils/msgset/trans.c4
-rw-r--r--libmailutils/opt/Makefile.am4
-rw-r--r--libmailutils/opt/help.c2
-rw-r--r--libmailutils/opt/opt.c4
-rw-r--r--libmailutils/opt/progname.c2
-rw-r--r--libmailutils/property/Makefile.am4
-rw-r--r--libmailutils/property/assocprop.c2
-rw-r--r--libmailutils/property/create.c12
-rw-r--r--libmailutils/property/mhprop.c2
-rw-r--r--libmailutils/property/propclr.c2
-rw-r--r--libmailutils/property/propget.c2
-rw-r--r--libmailutils/property/propinv.c4
-rw-r--r--libmailutils/property/propitr.c2
-rw-r--r--libmailutils/property/propset.c2
-rw-r--r--libmailutils/server/Makefile.am4
-rw-r--r--libmailutils/server/acl.c2
-rw-r--r--libmailutils/server/ipsrv.c2
-rw-r--r--libmailutils/server/msrv.c2
-rw-r--r--libmailutils/server/server.c2
-rw-r--r--libmailutils/server/sid.c2
-rw-r--r--libmailutils/sockaddr/Makefile.am4
-rw-r--r--libmailutils/sockaddr/copy.c2
-rw-r--r--libmailutils/sockaddr/create.c2
-rw-r--r--libmailutils/sockaddr/free.c3
-rw-r--r--libmailutils/sockaddr/fromnode.c2
-rw-r--r--libmailutils/sockaddr/fromsock.c2
-rw-r--r--libmailutils/sockaddr/insert.c2
-rw-r--r--libmailutils/sockaddr/ipaddr.c2
-rw-r--r--libmailutils/sockaddr/str.c2
-rw-r--r--libmailutils/sockaddr/unlink.c2
-rw-r--r--libmailutils/sockaddr/url.c2
-rw-r--r--libmailutils/stdstream/Makefile.am4
-rw-r--r--libmailutils/stdstream/basestr.c2
-rw-r--r--libmailutils/stdstream/dbgstream.c2
-rw-r--r--libmailutils/stdstream/strerr.c2
-rw-r--r--libmailutils/stream/Makefile.am6
-rw-r--r--libmailutils/stream/file_stream.c2
-rw-r--r--libmailutils/stream/fltstream.c2
-rw-r--r--libmailutils/stream/hdrcpy.c2
-rw-r--r--libmailutils/stream/iostream.c16
-rw-r--r--libmailutils/stream/logstream.c41
-rw-r--r--libmailutils/stream/mapfile_stream.c2
-rw-r--r--libmailutils/stream/memory_stream.c2
-rw-r--r--libmailutils/stream/message_stream.c203
-rw-r--r--libmailutils/stream/nullstream.c2
-rw-r--r--libmailutils/stream/prog_stream.c2
-rw-r--r--libmailutils/stream/rdcache_stream.c2
-rw-r--r--libmailutils/stream/socket_stream.c2
-rw-r--r--libmailutils/stream/stdio_stream.c2
-rw-r--r--libmailutils/stream/stream.c194
-rw-r--r--libmailutils/stream/stream_printf.c2
-rw-r--r--libmailutils/stream/stream_vprintf.c2
-rw-r--r--libmailutils/stream/streamcpy.c73
-rw-r--r--libmailutils/stream/streamref.c38
-rw-r--r--libmailutils/stream/streamshift.c279
-rw-r--r--libmailutils/stream/syslogstream.c2
-rw-r--r--libmailutils/stream/tcp.c2
-rw-r--r--libmailutils/stream/temp_file_stream.c4
-rw-r--r--libmailutils/stream/temp_stream.c178
-rw-r--r--libmailutils/stream/wordwrap.c2
-rw-r--r--libmailutils/stream/xscript-stream.c12
-rw-r--r--libmailutils/string/Makefile.am11
-rw-r--r--libmailutils/string/asnprintf.c2
-rw-r--r--libmailutils/string/asprintf.c2
-rw-r--r--libmailutils/string/cpystr.c2
-rw-r--r--libmailutils/string/cstrcasecmp.c2
-rw-r--r--libmailutils/string/cstrcasestr.c2
-rw-r--r--libmailutils/string/cstrescape.c2
-rw-r--r--libmailutils/string/cstrlower.c2
-rw-r--r--libmailutils/string/cstrunescape.c2
-rw-r--r--libmailutils/string/cstrupper.c2
-rw-r--r--libmailutils/string/expvar.c9
-rw-r--r--libmailutils/string/hexstr.c2
-rw-r--r--libmailutils/string/mkfilename.c2
-rw-r--r--libmailutils/string/muctype.c4
-rw-r--r--libmailutils/string/safefilename.c2
-rw-r--r--libmailutils/string/stpcpy.c2
-rw-r--r--libmailutils/string/str_to_c.c15
-rw-r--r--libmailutils/string/strcount.c24
-rw-r--r--libmailutils/string/stripws.c2
-rw-r--r--libmailutils/string/strlst.c2
-rw-r--r--libmailutils/string/strltrim.c2
-rw-r--r--libmailutils/string/strrtrim.c2
-rw-r--r--libmailutils/string/strskip.c2
-rw-r--r--libmailutils/string/strtosize.c132
-rw-r--r--libmailutils/string/trueans.c2
-rw-r--r--libmailutils/string/unfold.c2
-rw-r--r--libmailutils/string/vasnprintf.c2
-rw-r--r--libmailutils/string/xdecode.c2
-rw-r--r--libmailutils/tests/.gitignore9
-rw-r--r--libmailutils/tests/Makefile.am24
-rw-r--r--libmailutils/tests/addr.c2
-rw-r--r--libmailutils/tests/address.at2
-rw-r--r--libmailutils/tests/atlocal.in2
-rw-r--r--libmailutils/tests/base64d.at2
-rw-r--r--libmailutils/tests/base64e.at2
-rw-r--r--libmailutils/tests/cidr.c2
-rw-r--r--libmailutils/tests/content-type.at62
-rw-r--r--libmailutils/tests/conttype.c8
-rw-r--r--libmailutils/tests/crlf.at2
-rw-r--r--libmailutils/tests/crlfdot.at2
-rw-r--r--libmailutils/tests/ctm.at2
-rw-r--r--libmailutils/tests/ctm.c2
-rw-r--r--libmailutils/tests/debugspec.at2
-rw-r--r--libmailutils/tests/debugspec.c2
-rw-r--r--libmailutils/tests/decode2047.at2
-rw-r--r--libmailutils/tests/decode2047.c2
-rw-r--r--libmailutils/tests/dot.at2
-rw-r--r--libmailutils/tests/encode2047.at2
-rw-r--r--libmailutils/tests/encode2047.c2
-rw-r--r--libmailutils/tests/exp.at2
-rw-r--r--libmailutils/tests/exp.c2
-rw-r--r--libmailutils/tests/fltst.c11
-rw-r--r--libmailutils/tests/fromflt.at2
-rw-r--r--libmailutils/tests/fsaf.at2
-rw-r--r--libmailutils/tests/fsaf.c2
-rw-r--r--libmailutils/tests/fsaftomod.at2
-rw-r--r--libmailutils/tests/fsaftomod.c2
-rw-r--r--libmailutils/tests/fsfolder.c2
-rw-r--r--libmailutils/tests/fsfolder00.at2
-rw-r--r--libmailutils/tests/fsfolder01.at2
-rw-r--r--libmailutils/tests/fsfolder02.at2
-rw-r--r--libmailutils/tests/fsfolder03.at2
-rw-r--r--libmailutils/tests/fsfolder04.at2
-rw-r--r--libmailutils/tests/getdelim.at12
-rw-r--r--libmailutils/tests/globtest.at2
-rw-r--r--libmailutils/tests/globtest.c2
-rw-r--r--libmailutils/tests/hdrcpy.at2
-rw-r--r--libmailutils/tests/hdrcpy.c2
-rw-r--r--libmailutils/tests/hdrflt.at2
-rw-r--r--libmailutils/tests/htmlent.at2
-rw-r--r--libmailutils/tests/imapio.at2
-rw-r--r--libmailutils/tests/imapio.c2
-rw-r--r--libmailutils/tests/inline-comment.at2
-rw-r--r--libmailutils/tests/linecon.at2
-rw-r--r--libmailutils/tests/linetrack.at2
-rw-r--r--libmailutils/tests/list.at7
-rw-r--r--libmailutils/tests/listop.c2
-rw-r--r--libmailutils/tests/listsort.c249
-rw-r--r--libmailutils/tests/logstr.at8
-rw-r--r--libmailutils/tests/logstr.c48
-rw-r--r--libmailutils/tests/mailcap.at2
-rw-r--r--libmailutils/tests/mailcap.c2
-rw-r--r--libmailutils/tests/mcf.c2
-rw-r--r--libmailutils/tests/mimehdr.at59
-rw-r--r--libmailutils/tests/mimehdr.c89
-rw-r--r--libmailutils/tests/mimeitr.c52
-rw-r--r--libmailutils/tests/modmesg.c24
-rw-r--r--libmailutils/tests/modmesg00.at2
-rw-r--r--libmailutils/tests/modmesg01.at2
-rw-r--r--libmailutils/tests/modmesg02.at2
-rw-r--r--libmailutils/tests/modmesg03.at2
-rw-r--r--libmailutils/tests/modtofsaf.at2
-rw-r--r--libmailutils/tests/modtofsaf.c2
-rw-r--r--libmailutils/tests/msgset.at2
-rw-r--r--libmailutils/tests/msgset.c2
-rw-r--r--libmailutils/tests/parseopt.c2
-rw-r--r--libmailutils/tests/parseopt00.at2
-rw-r--r--libmailutils/tests/parseopt01.at2
-rw-r--r--libmailutils/tests/parseopt02.at2
-rw-r--r--libmailutils/tests/parseopt03.at2
-rw-r--r--libmailutils/tests/parseopt04.at2
-rw-r--r--libmailutils/tests/parseopt05.at2
-rw-r--r--libmailutils/tests/parseopt06.at2
-rw-r--r--libmailutils/tests/parseopt07.at2
-rw-r--r--libmailutils/tests/parseopt08.at2
-rw-r--r--libmailutils/tests/parseopt09.at2
-rw-r--r--libmailutils/tests/parseopt10.at2
-rw-r--r--libmailutils/tests/parseopt11.at2
-rw-r--r--libmailutils/tests/parseopt12.at2
-rw-r--r--libmailutils/tests/parseopt13.at2
-rw-r--r--libmailutils/tests/parseopt14.at2
-rw-r--r--libmailutils/tests/parseopt15.at2
-rw-r--r--libmailutils/tests/parseopt16.at2
-rw-r--r--libmailutils/tests/parseopt17.at2
-rw-r--r--libmailutils/tests/parseopt18.at2
-rw-r--r--libmailutils/tests/parseopt19.at2
-rw-r--r--libmailutils/tests/parseopt20.at2
-rw-r--r--libmailutils/tests/parseopt21.at2
-rw-r--r--libmailutils/tests/parseopt22.at2
-rw-r--r--libmailutils/tests/parseopt23.at2
-rw-r--r--libmailutils/tests/parseopt24.at2
-rw-r--r--libmailutils/tests/parseopt25.at2
-rw-r--r--libmailutils/tests/parseopt26.at2
-rw-r--r--libmailutils/tests/parseopt27.at2
-rw-r--r--libmailutils/tests/parseopt28.at2
-rw-r--r--libmailutils/tests/parseopt_help00.at2
-rw-r--r--libmailutils/tests/parseopt_help01.at2
-rw-r--r--libmailutils/tests/parseopt_help02.at2
-rw-r--r--libmailutils/tests/parseopt_help03.at2
-rw-r--r--libmailutils/tests/parseopt_help04.at2
-rw-r--r--libmailutils/tests/parseopt_help05.at2
-rw-r--r--libmailutils/tests/parseopt_help06.at2
-rw-r--r--libmailutils/tests/parseopt_help07.at2
-rw-r--r--libmailutils/tests/parseopt_help08.at2
-rw-r--r--libmailutils/tests/parseopt_help09.at2
-rw-r--r--libmailutils/tests/parseopt_help10.at2
-rw-r--r--libmailutils/tests/parseopt_help11.at2
-rw-r--r--libmailutils/tests/parseopt_help12.at2
-rw-r--r--libmailutils/tests/prop.at2
-rw-r--r--libmailutils/tests/prop.c2
-rw-r--r--libmailutils/tests/readmesg.at72
-rw-r--r--libmailutils/tests/readmesg.c111
-rw-r--r--libmailutils/tests/recenv.at56
-rw-r--r--libmailutils/tests/recenv.c52
-rw-r--r--libmailutils/tests/scantime.at2
-rw-r--r--libmailutils/tests/scantime.c2
-rw-r--r--libmailutils/tests/stream-getdelim.c218
-rw-r--r--libmailutils/tests/streamshift.at27
-rw-r--r--libmailutils/tests/strerr.at2
-rw-r--r--libmailutils/tests/strftime.at2
-rw-r--r--libmailutils/tests/strftime.c2
-rw-r--r--libmailutils/tests/strin.at2
-rw-r--r--libmailutils/tests/strin.c2
-rw-r--r--libmailutils/tests/strout.at2
-rw-r--r--libmailutils/tests/strout.c2
-rw-r--r--libmailutils/tests/strtoc.at2
-rw-r--r--libmailutils/tests/strtoc.c25
-rw-r--r--libmailutils/tests/t-streamshift.c265
-rw-r--r--libmailutils/tests/t0-stream.at20
-rw-r--r--libmailutils/tests/t0-stream.c74
-rw-r--r--libmailutils/tests/t1-stream.at20
-rw-r--r--libmailutils/tests/t1-stream.c123
-rw-r--r--libmailutils/tests/tcli.c2
-rw-r--r--libmailutils/tests/temp_stream.c75
-rw-r--r--libmailutils/tests/tempfile.c2
-rw-r--r--libmailutils/tests/tesh.c2
-rw-r--r--libmailutils/tests/tesh.h2
-rw-r--r--libmailutils/tests/testsuite.at17
-rw-r--r--libmailutils/tests/url-comp.at2
-rw-r--r--libmailutils/tests/url-comp.c2
-rw-r--r--libmailutils/tests/url-parse.c2
-rw-r--r--libmailutils/tests/url.at2
-rw-r--r--libmailutils/tests/vexp.c2
-rw-r--r--libmailutils/tests/wicket.at2
-rw-r--r--libmailutils/tests/wicket.c2
-rw-r--r--libmailutils/tests/wordwrap.c2
-rw-r--r--libmailutils/tests/wordwrap00.at2
-rw-r--r--libmailutils/tests/wordwrap01.at2
-rw-r--r--libmailutils/tests/wordwrap02.at2
-rw-r--r--libmailutils/tests/wordwrap03.at2
-rw-r--r--libmailutils/tests/xml.at2
-rw-r--r--libmailutils/tests/xscript.at2
-rw-r--r--libmailutils/tests/xscript.c2
-rw-r--r--libmailutils/url/Makefile.am4
-rw-r--r--libmailutils/url/accessor.h2
-rw-r--r--libmailutils/url/add-param.c2
-rw-r--r--libmailutils/url/add-query.c2
-rw-r--r--libmailutils/url/clr-param.c2
-rw-r--r--libmailutils/url/clr-query.c2
-rw-r--r--libmailutils/url/copy.c2
-rw-r--r--libmailutils/url/create.c2
-rw-r--r--libmailutils/url/decode.c2
-rw-r--r--libmailutils/url/destroy.c25
-rw-r--r--libmailutils/url/dup.c2
-rw-r--r--libmailutils/url/expand.c2
-rw-r--r--libmailutils/url/flag.c2
-rw-r--r--libmailutils/url/get-param.c2
-rw-r--r--libmailutils/url/get-query.c2
-rw-r--r--libmailutils/url/get-secret.c2
-rw-r--r--libmailutils/url/match.c2
-rw-r--r--libmailutils/url/null.c2
-rw-r--r--libmailutils/url/port.c2
-rw-r--r--libmailutils/url/scheme.c2
-rw-r--r--libmailutils/url/set-auth.c2
-rw-r--r--libmailutils/url/set-host.c2
-rw-r--r--libmailutils/url/set-path.c2
-rw-r--r--libmailutils/url/set-port.c2
-rw-r--r--libmailutils/url/set-scheme.c2
-rw-r--r--libmailutils/url/set-secret.c2
-rw-r--r--libmailutils/url/set-service.c2
-rw-r--r--libmailutils/url/set-user.c2
-rw-r--r--libmailutils/url/uplevel.c2
-rw-r--r--libmailutils/url/urlinv.c2
-rw-r--r--libmailutils/url/urlstr.c2
-rw-r--r--libmailutils/wicket/Makefile.am4
-rw-r--r--libmailutils/wicket/file.c2
-rw-r--r--libmailutils/wicket/noauth.c2
m---------libmailutils/wordsplit0
-rw-r--r--libmu_auth/Makefile.am6
-rw-r--r--libmu_auth/gsasl.c2
-rw-r--r--libmu_auth/ldap.c29
-rw-r--r--libmu_auth/pam.c2
-rw-r--r--libmu_auth/radius.c2
-rw-r--r--libmu_auth/sql.c2
-rw-r--r--libmu_auth/sql.h2
-rw-r--r--libmu_auth/tls.c2
-rw-r--r--libmu_auth/tlsconf.c2
-rw-r--r--libmu_auth/tlsvar.c2
-rw-r--r--libmu_auth/virtual.c2
-rw-r--r--libmu_cpp/Makefile.am6
-rw-r--r--libmu_cpp/address.cc2
-rw-r--r--libmu_cpp/attribute.cc2
-rw-r--r--libmu_cpp/body.cc2
-rw-r--r--libmu_cpp/envelope.cc2
-rw-r--r--libmu_cpp/filter.cc2
-rw-r--r--libmu_cpp/folder.cc2
-rw-r--r--libmu_cpp/header.cc2
-rw-r--r--libmu_cpp/iterator.cc2
-rw-r--r--libmu_cpp/list.cc2
-rw-r--r--libmu_cpp/mailbox.cc2
-rw-r--r--libmu_cpp/mailcap.cc2
-rw-r--r--libmu_cpp/mailer.cc2
-rw-r--r--libmu_cpp/message.cc2
-rw-r--r--libmu_cpp/mime.cc2
-rw-r--r--libmu_cpp/mutil.cc2
-rw-r--r--libmu_cpp/pop3.cc2
-rw-r--r--libmu_cpp/registrar.cc2
-rw-r--r--libmu_cpp/secret.cc2
-rw-r--r--libmu_cpp/sieve.cc2
-rw-r--r--libmu_cpp/stream.cc2
-rw-r--r--libmu_cpp/url.cc2
-rw-r--r--libmu_dbm/Makefile.am6
-rw-r--r--libmu_dbm/berkeley.c2
-rw-r--r--libmu_dbm/close.c2
-rw-r--r--libmu_dbm/create.c2
-rw-r--r--libmu_dbm/datumfree.c2
-rw-r--r--libmu_dbm/dbm.c2
-rw-r--r--libmu_dbm/delete.c2
-rw-r--r--libmu_dbm/destroy.c2
-rw-r--r--libmu_dbm/errstr.c2
-rw-r--r--libmu_dbm/fetch.c2
-rw-r--r--libmu_dbm/firstkey.c2
-rw-r--r--libmu_dbm/gdbm.c2
-rw-r--r--libmu_dbm/getfd.c2
-rw-r--r--libmu_dbm/kyoto.c2
-rw-r--r--libmu_dbm/mudbm.h2
-rw-r--r--libmu_dbm/name.c2
-rw-r--r--libmu_dbm/ndbm.c2
-rw-r--r--libmu_dbm/nextkey.c2
-rw-r--r--libmu_dbm/open.c2
-rw-r--r--libmu_dbm/safety.c2
-rw-r--r--libmu_dbm/store.c2
-rw-r--r--libmu_dbm/tokyo.c2
-rw-r--r--libmu_scm/Makefile.am10
-rw-r--r--libmu_scm/mailutils/Makefile.am8
-rw-r--r--libmu_scm/mailutils/ancilla.scm2
-rw-r--r--libmu_scm/mailutils/mailutils.scm.in2
-rw-r--r--libmu_scm/mu_address.c2
-rw-r--r--libmu_scm/mu_body.c2
-rw-r--r--libmu_scm/mu_dbgport.c2
-rw-r--r--libmu_scm/mu_debug.c2
-rw-r--r--libmu_scm/mu_filter.c2
-rw-r--r--libmu_scm/mu_guile.c2
-rw-r--r--libmu_scm/mu_logger.c2
-rw-r--r--libmu_scm/mu_mailbox.c2
-rw-r--r--libmu_scm/mu_message.c2
-rw-r--r--libmu_scm/mu_mime.c2
-rw-r--r--libmu_scm/mu_port.c2
-rw-r--r--libmu_scm/mu_scm.c2
-rw-r--r--libmu_scm/mu_scm.h2
-rw-r--r--libmu_scm/mu_util.c2
-rw-r--r--libmu_scm/portstream.c2
-rw-r--r--libmu_scm/tests/Makefile.am2
-rw-r--r--libmu_scm/tests/address-count.at2
-rw-r--r--libmu_scm/tests/address-domain.at2
-rw-r--r--libmu_scm/tests/address-email.at2
-rw-r--r--libmu_scm/tests/address-local.at2
-rw-r--r--libmu_scm/tests/address-personal.at2
-rw-r--r--libmu_scm/tests/atlocal.in2
-rw-r--r--libmu_scm/tests/bodyp.at2
-rw-r--r--libmu_scm/tests/const.at2
-rw-r--r--libmu_scm/tests/mailbox-append-message.at2
-rw-r--r--libmu_scm/tests/mailbox-expunge.at2
-rw-r--r--libmu_scm/tests/mailbox-get-message.at2
-rw-r--r--libmu_scm/tests/mailbox-get-size.at2
-rw-r--r--libmu_scm/tests/mailbox-get-url.at2
-rw-r--r--libmu_scm/tests/mailbox-iterate.at2
-rw-r--r--libmu_scm/tests/mailbox-messages-count.at2
-rw-r--r--libmu_scm/tests/mailbox-open-exc.at2
-rw-r--r--libmu_scm/tests/mailbox-open.at2
-rw-r--r--libmu_scm/tests/mailbox-print.at2
-rw-r--r--libmu_scm/tests/message-body-port.at2
-rw-r--r--libmu_scm/tests/message-body.at2
-rw-r--r--libmu_scm/tests/message-create.at2
-rw-r--r--libmu_scm/tests/message-delete.at2
-rw-r--r--libmu_scm/tests/message-get-envelope-date.at4
-rw-r--r--libmu_scm/tests/message-get-envelope.at2
-rw-r--r--libmu_scm/tests/message-get-flag.at2
-rw-r--r--libmu_scm/tests/message-get-header-fields.at2
-rw-r--r--libmu_scm/tests/message-get-header.at2
-rw-r--r--libmu_scm/tests/message-get-lines.at2
-rw-r--r--libmu_scm/tests/message-get-num-parts.at2
-rw-r--r--libmu_scm/tests/message-get-part.at2
-rw-r--r--libmu_scm/tests/message-get-sender.at2
-rw-r--r--libmu_scm/tests/message-get-size.at2
-rw-r--r--libmu_scm/tests/message-multipart.at2
-rw-r--r--libmu_scm/tests/message-port-1.at2
-rw-r--r--libmu_scm/tests/message-port-2.at2
-rw-r--r--libmu_scm/tests/message-port-read-1.at2
-rw-r--r--libmu_scm/tests/message-port-read-2.at2
-rw-r--r--libmu_scm/tests/message-print.at2
-rw-r--r--libmu_scm/tests/message-set-header-fields.at2
-rw-r--r--libmu_scm/tests/message-set-header.at2
-rw-r--r--libmu_scm/tests/mime-add-part.at2
-rw-r--r--libmu_scm/tests/mime-create.at2
-rw-r--r--libmu_scm/tests/mime-get-num-parts.at2
-rw-r--r--libmu_scm/tests/mime-get-part.at2
-rw-r--r--libmu_scm/tests/mime-multipart-p.at2
-rw-r--r--libmu_scm/tests/mime-p.at2
-rw-r--r--libmu_scm/tests/testsuite.at2
-rw-r--r--libmu_sieve/Makefile.am12
-rw-r--r--libmu_sieve/actions.c2
-rw-r--r--libmu_sieve/comparator.c2
-rw-r--r--libmu_sieve/conf.c4
-rw-r--r--libmu_sieve/encoded.c2
-rw-r--r--libmu_sieve/environment.c2
-rw-r--r--libmu_sieve/extensions/Makefile.am19
-rw-r--r--libmu_sieve/extensions/editheader.c2
-rw-r--r--libmu_sieve/extensions/list.c2
-rw-r--r--libmu_sieve/extensions/moderator.c2
-rw-r--r--libmu_sieve/extensions/pipe.c2
-rw-r--r--libmu_sieve/extensions/spamd.c4
-rw-r--r--libmu_sieve/extensions/timestamp.c2
-rw-r--r--libmu_sieve/extensions/vacation.c3
-rw-r--r--libmu_sieve/load.c2
-rw-r--r--libmu_sieve/mem.c2
-rw-r--r--libmu_sieve/prog.c2
-rw-r--r--libmu_sieve/registry.c2
-rw-r--r--libmu_sieve/relational.c2
-rw-r--r--libmu_sieve/require.c2
-rw-r--r--libmu_sieve/runtime.c2
-rw-r--r--libmu_sieve/sieve-gram.y2
-rw-r--r--libmu_sieve/sieve-lex.l35
-rw-r--r--libmu_sieve/sieve-priv.h2
-rw-r--r--libmu_sieve/strexp.c2
-rw-r--r--libmu_sieve/string.c2
-rw-r--r--libmu_sieve/tests.c2
-rw-r--r--libmu_sieve/util.c2
-rw-r--r--libmu_sieve/variables.c2
-rw-r--r--libproto/Makefile.am6
-rw-r--r--libproto/dotmail/Makefile.am6
-rw-r--r--libproto/dotmail/dotmail.c2
-rw-r--r--libproto/dotmail/folder.c2
-rw-r--r--libproto/dotmail/message.c2
-rw-r--r--libproto/dotmail/tests/Makefile.am6
-rw-r--r--libproto/dotmail/tests/append.at2
-rw-r--r--libproto/dotmail/tests/atlocal.in2
-rw-r--r--libproto/dotmail/tests/attr.at2
-rw-r--r--libproto/dotmail/tests/autodetect.at2
-rw-r--r--libproto/dotmail/tests/body.at2
-rw-r--r--libproto/dotmail/tests/count.at2
-rw-r--r--libproto/dotmail/tests/delete.at2
-rw-r--r--libproto/dotmail/tests/dm_detect.c2
-rw-r--r--libproto/dotmail/tests/dm_mesg.c2
-rw-r--r--libproto/dotmail/tests/dm_qget.c2
-rw-r--r--libproto/dotmail/tests/env.at2
-rw-r--r--libproto/dotmail/tests/header.at2
-rw-r--r--libproto/dotmail/tests/qget.at2
-rw-r--r--libproto/dotmail/tests/recent.at2
-rw-r--r--libproto/dotmail/tests/setattr.at2
-rw-r--r--libproto/dotmail/tests/testsuite.at2
-rw-r--r--libproto/dotmail/tests/uid.at2
-rw-r--r--libproto/dotmail/tests/uidvalidity.at2
-rw-r--r--libproto/dotmail/tests/unseen.at2
-rw-r--r--libproto/imap/Makefile.am6
-rw-r--r--libproto/imap/appmsg.c2
-rw-r--r--libproto/imap/appstr.c2
-rw-r--r--libproto/imap/appstrsiz.c2
-rw-r--r--libproto/imap/callback.c2
-rw-r--r--libproto/imap/capability.c2
-rw-r--r--libproto/imap/capatst.c2
-rw-r--r--libproto/imap/carrier.c2
-rw-r--r--libproto/imap/check.c2
-rw-r--r--libproto/imap/close.c2
-rw-r--r--libproto/imap/connect.c2
-rw-r--r--libproto/imap/copy.c2
-rw-r--r--libproto/imap/create.c2
-rw-r--r--libproto/imap/delete.c2
-rw-r--r--libproto/imap/destroy.c2
-rw-r--r--libproto/imap/disconnect.c2
-rw-r--r--libproto/imap/err.c2
-rw-r--r--libproto/imap/expunge.c2
-rw-r--r--libproto/imap/fetch.c2
-rw-r--r--libproto/imap/folder.c2
-rw-r--r--libproto/imap/gencom.c2
-rw-r--r--libproto/imap/genlist.c2
-rw-r--r--libproto/imap/id.c2
-rw-r--r--libproto/imap/list.c2
-rw-r--r--libproto/imap/login.c2
-rw-r--r--libproto/imap/logout.c2
-rw-r--r--libproto/imap/lsub.c2
-rw-r--r--libproto/imap/mbcreate.c2
-rw-r--r--libproto/imap/mbox.c2
-rw-r--r--libproto/imap/noop.c2
-rw-r--r--libproto/imap/rename.c2
-rw-r--r--libproto/imap/resplist.c2
-rw-r--r--libproto/imap/response.c2
-rw-r--r--libproto/imap/resproc.c4
-rw-r--r--libproto/imap/search.c2
-rw-r--r--libproto/imap/select.c2
-rw-r--r--libproto/imap/starttls.c2
-rw-r--r--libproto/imap/state.c2
-rw-r--r--libproto/imap/status.c2
-rw-r--r--libproto/imap/store.c2
-rw-r--r--libproto/imap/storeflg.c2
-rw-r--r--libproto/imap/subscribe.c2
-rw-r--r--libproto/imap/tag.c2
-rw-r--r--libproto/imap/tests/Makefile.am12
-rw-r--r--libproto/imap/tests/imapfolder.c2
-rw-r--r--libproto/imap/trace.c2
-rw-r--r--libproto/imap/unselect.c2
-rw-r--r--libproto/imap/unsubscribe.c2
-rw-r--r--libproto/imap/url.c2
-rw-r--r--libproto/maildir/Makefile.am6
-rw-r--r--libproto/maildir/folder.c2
-rw-r--r--libproto/maildir/maildir.h2
-rw-r--r--libproto/maildir/mbox.c2
-rw-r--r--libproto/mailer/Makefile.am9
-rw-r--r--libproto/mailer/mbox.c2
-rw-r--r--libproto/mailer/prog.c2
-rw-r--r--libproto/mailer/sendmail.c2
-rw-r--r--libproto/mailer/smtp.c175
-rw-r--r--libproto/mailer/smtp_auth.c2
-rw-r--r--libproto/mailer/smtp_capa.c2
-rw-r--r--libproto/mailer/smtp_capa_itr.c2
-rw-r--r--libproto/mailer/smtp_carrier.c13
-rw-r--r--libproto/mailer/smtp_cmd.c2
-rw-r--r--libproto/mailer/smtp_create.c2
-rw-r--r--libproto/mailer/smtp_data.c2
-rw-r--r--libproto/mailer/smtp_disconnect.c2
-rw-r--r--libproto/mailer/smtp_dot.c2
-rw-r--r--libproto/mailer/smtp_ehlo.c2
-rw-r--r--libproto/mailer/smtp_gsasl.c4
-rw-r--r--libproto/mailer/smtp_io.c2
-rw-r--r--libproto/mailer/smtp_mail.c2
-rw-r--r--libproto/mailer/smtp_mech.c2
-rw-r--r--libproto/mailer/smtp_open.c2
-rw-r--r--libproto/mailer/smtp_param.c2
-rw-r--r--libproto/mailer/smtp_quit.c2
-rw-r--r--libproto/mailer/smtp_rcpt.c2
-rw-r--r--libproto/mailer/smtp_rset.c2
-rw-r--r--libproto/mailer/smtp_secret.c2
-rw-r--r--libproto/mailer/smtp_send.c2
-rw-r--r--libproto/mailer/smtp_starttls.c2
-rw-r--r--libproto/mailer/smtp_trace.c2
-rw-r--r--libproto/mailer/smtp_url.c2
-rw-r--r--libproto/mailer/tests/.gitignore8
-rw-r--r--libproto/mailer/tests/Makefile.am30
-rw-r--r--libproto/mailer/tests/atlocal.in5
-rw-r--r--libproto/mailer/tests/sendm.c95
-rw-r--r--libproto/mailer/tests/sends.c94
-rw-r--r--libproto/mailer/tests/seqsend.at101
-rw-r--r--libproto/mailer/tests/smtp-msg.at (renamed from testsuite/smtp-msg.at)41
-rw-r--r--libproto/mailer/tests/smtp-str.at (renamed from testsuite/smtp-str.at)41
-rw-r--r--libproto/mailer/tests/smtpsend.c (renamed from testsuite/smtpsend.c)2
-rw-r--r--libproto/mailer/tests/testsuite.at23
-rw-r--r--libproto/mbox/Makefile.am7
-rw-r--r--libproto/mbox/folder.c2
-rw-r--r--libproto/mbox/mbox.c7
-rw-r--r--libproto/mbox/mbox0.h9
-rw-r--r--libproto/mbox/mboxscan.c2
-rw-r--r--libproto/mbox/tests/.gitignore5
-rw-r--r--libproto/mbox/tests/Makefile.am23
-rw-r--r--libproto/mbox/tests/atlocal.in5
-rw-r--r--libproto/mbox/tests/testsuite.at18
-rw-r--r--libproto/mbox/tests/ufms.at (renamed from testsuite/ufms.at)2
-rw-r--r--libproto/mbox/tests/ufms.c (renamed from testsuite/ufms.c)2
-rw-r--r--libproto/mh/Makefile.am6
-rw-r--r--libproto/mh/folder.c2
-rw-r--r--libproto/mh/mbox.c2
-rw-r--r--libproto/mh/profile.c2
-rw-r--r--libproto/nntp/.gitignore9
-rw-r--r--libproto/nntp/Makefile.am59
-rw-r--r--libproto/nntp/folder.c201
-rw-r--r--libproto/nntp/mbox.c686
-rw-r--r--libproto/nntp/nntp0.h92
-rw-r--r--libproto/nntp/nntp_article.c141
-rw-r--r--libproto/nntp/nntp_body.c108
-rw-r--r--libproto/nntp/nntp_carrier.c55
-rw-r--r--libproto/nntp/nntp_connect.c87
-rw-r--r--libproto/nntp/nntp_create.c72
-rw-r--r--libproto/nntp/nntp_date.c100
-rw-r--r--libproto/nntp/nntp_debug.c38
-rw-r--r--libproto/nntp/nntp_destroy.c52
-rw-r--r--libproto/nntp/nntp_disconnect.c47
-rw-r--r--libproto/nntp/nntp_group.c109
-rw-r--r--libproto/nntp/nntp_head.c106
-rw-r--r--libproto/nntp/nntp_help.c74
-rw-r--r--libproto/nntp/nntp_ihave.c151
-rw-r--r--libproto/nntp/nntp_iterator.c185
-rw-r--r--libproto/nntp/nntp_last.c72
-rw-r--r--libproto/nntp/nntp_list_active.c113
-rw-r--r--libproto/nntp/nntp_list_distribpats.c118
-rw-r--r--libproto/nntp/nntp_list_distributions.c117
-rw-r--r--libproto/nntp/nntp_list_extensions.c80
-rw-r--r--libproto/nntp/nntp_list_newsgroups.c117
-rw-r--r--libproto/nntp/nntp_list_times.c122
-rw-r--r--libproto/nntp/nntp_mode_reader.c66
-rw-r--r--libproto/nntp/nntp_newgroups.c82
-rw-r--r--libproto/nntp/nntp_newnews.c92
-rw-r--r--libproto/nntp/nntp_next.c72
-rw-r--r--libproto/nntp/nntp_post.c152
-rw-r--r--libproto/nntp/nntp_quit.c61
-rw-r--r--libproto/nntp/nntp_readline.c193
-rw-r--r--libproto/nntp/nntp_response.c86
-rw-r--r--libproto/nntp/nntp_sendline.c122
-rw-r--r--libproto/nntp/nntp_stat.c100
-rw-r--r--libproto/nntp/nntp_stream.c145
-rw-r--r--libproto/nntp/nntp_timeout.c48
-rw-r--r--libproto/nntp/url.c50
-rw-r--r--libproto/pop/Makefile.am6
-rw-r--r--libproto/pop/folder.c2
-rw-r--r--libproto/pop/mbox.c2
-rw-r--r--libproto/pop/pop3_apop.c2
-rw-r--r--libproto/pop/pop3_capa.c2
-rw-r--r--libproto/pop/pop3_capatst.c2
-rw-r--r--libproto/pop/pop3_carrier.c2
-rw-r--r--libproto/pop/pop3_connect.c2
-rw-r--r--libproto/pop/pop3_create.c2
-rw-r--r--libproto/pop/pop3_dele.c2
-rw-r--r--libproto/pop/pop3_destroy.c2
-rw-r--r--libproto/pop/pop3_disconnect.c2
-rw-r--r--libproto/pop/pop3_iterator.c2
-rw-r--r--libproto/pop/pop3_list.c2
-rw-r--r--libproto/pop/pop3_list_cmd.c2
-rw-r--r--libproto/pop/pop3_lista.c2
-rw-r--r--libproto/pop/pop3_listas.c2
-rw-r--r--libproto/pop/pop3_noop.c2
-rw-r--r--libproto/pop/pop3_pass.c2
-rw-r--r--libproto/pop/pop3_quit.c2
-rw-r--r--libproto/pop/pop3_rdlist.c2
-rw-r--r--libproto/pop/pop3_readline.c2
-rw-r--r--libproto/pop/pop3_response.c2
-rw-r--r--libproto/pop/pop3_retr.c2
-rw-r--r--libproto/pop/pop3_rset.c2
-rw-r--r--libproto/pop/pop3_sendline.c2
-rw-r--r--libproto/pop/pop3_stat.c2
-rw-r--r--libproto/pop/pop3_stls.c2
-rw-r--r--libproto/pop/pop3_stream.c28
-rw-r--r--libproto/pop/pop3_timeout.c2
-rw-r--r--libproto/pop/pop3_top.c2
-rw-r--r--libproto/pop/pop3_trace.c2
-rw-r--r--libproto/pop/pop3_uidl.c2
-rw-r--r--libproto/pop/pop3_uidl_cmd.c2
-rw-r--r--libproto/pop/pop3_uidla.c2
-rw-r--r--libproto/pop/pop3_uidlas.c2
-rw-r--r--libproto/pop/pop3_user.c2
-rw-r--r--libproto/pop/url.c2
-rw-r--r--mail/Makefile.am20
-rw-r--r--mail/alias.c2
-rw-r--r--mail/alt.c2
-rw-r--r--mail/cd.c2
-rw-r--r--mail/copy.c8
-rw-r--r--mail/decode.c177
-rw-r--r--mail/delete.c4
-rw-r--r--mail/dp.c2
-rw-r--r--mail/echo.c2
-rw-r--r--mail/edit.c4
-rw-r--r--mail/envelope.c4
-rw-r--r--mail/eq.c11
-rw-r--r--mail/escape.c5
-rw-r--r--mail/exit.c2
-rw-r--r--mail/file.c2
-rw-r--r--mail/folders.c2
-rw-r--r--mail/followup.c4
-rw-r--r--mail/from.c6
-rw-r--r--mail/headers.c2
-rw-r--r--mail/help.c2
-rw-r--r--mail/hold.c4
-rw-r--r--mail/if.c2
-rw-r--r--mail/inc.c2
-rw-r--r--mail/list.c2
-rw-r--r--mail/mail.c6
-rw-r--r--mail/mail.h34
-rw-r--r--mail/mailline.c34
-rw-r--r--mail/mailvar.c2
-rw-r--r--mail/mbox.c4
-rw-r--r--mail/msgset.y78
-rw-r--r--mail/next.c4
-rw-r--r--mail/page.c13
-rw-r--r--mail/pipe.c4
-rw-r--r--mail/previous.c4
-rw-r--r--mail/print.c4
-rw-r--r--mail/quit.c10
-rw-r--r--mail/reply.c15
-rw-r--r--mail/retain.c2
-rw-r--r--mail/save.c2
-rw-r--r--mail/send.c116
-rw-r--r--mail/set.c2
-rw-r--r--mail/setenv.c2
-rw-r--r--mail/shell.c2
-rw-r--r--mail/size.c10
-rw-r--r--mail/source.c17
-rw-r--r--mail/struct.c20
-rw-r--r--mail/summary.c2
-rw-r--r--mail/table.c2
-rw-r--r--mail/tag.c16
-rw-r--r--mail/tests/D.at2
-rw-r--r--mail/tests/Makefile.am2
-rw-r--r--mail/tests/align.at2
-rw-r--r--mail/tests/atlocal.in4
-rw-r--r--mail/tests/cols00.at2
-rw-r--r--mail/tests/cols01.at2
-rw-r--r--mail/tests/copy00.at2
-rw-r--r--mail/tests/copy01.at2
-rw-r--r--mail/tests/copy02.at2
-rw-r--r--mail/tests/copy03.at2
-rw-r--r--mail/tests/copy04.at2
-rw-r--r--mail/tests/hold.at34
-rw-r--r--mail/tests/nohome.at2
-rw-r--r--mail/tests/testsuite.at2
-rw-r--r--mail/tests/version.at2
-rw-r--r--mail/testsuite/Makefile.am2
-rw-r--r--mail/testsuite/if.mail2
-rw-r--r--mail/testsuite/lib/mail.exp2
-rw-r--r--mail/testsuite/mail/alias.exp2
-rw-r--r--mail/testsuite/mail/folder.exp2
-rw-r--r--mail/testsuite/mail/if.exp2
-rw-r--r--mail/testsuite/mail/read.exp20
-rw-r--r--mail/testsuite/mail/send.exp118
-rw-r--r--mail/testsuite/mail/tag.exp2
-rw-r--r--mail/testsuite/mail/write.exp2
-rw-r--r--mail/testsuite/mail/z.exp2
-rwxr-xr-xmail/testsuite/makespool2
-rw-r--r--mail/top.c4
-rw-r--r--mail/touch.c4
-rw-r--r--mail/unalias.c2
-rw-r--r--mail/undelete.c4
-rw-r--r--mail/unset.c2
-rw-r--r--mail/util.c147
-rw-r--r--mail/version.c2
-rw-r--r--mail/visual.c4
-rw-r--r--mail/write.c31
-rw-r--r--mail/z.c2
-rw-r--r--mapi/MAPIAddress.c27
-rw-r--r--mapi/MAPIDeleteMail.c25
-rw-r--r--mapi/MAPIDetails.c25
-rw-r--r--mapi/MAPIFindNext.c27
-rw-r--r--mapi/MAPIFreeBuffer.c25
-rw-r--r--mapi/MAPILogoff.c26
-rw-r--r--mapi/MAPILogon.c26
-rw-r--r--mapi/MAPIReadMail.c26
-rw-r--r--mapi/MAPISaveMail.c25
-rw-r--r--mapi/MAPISendDocuments.c27
-rw-r--r--mapi/MAPISendMail.c26
-rw-r--r--mapi/Makefile.am41
-rw-r--r--mapi/mapi.h185
-rw-r--r--mda/Makefile.am2
-rw-r--r--mda/lib/Makefile.am6
-rw-r--r--mda/lib/deliver.c2
-rw-r--r--mda/lib/forward.c2
-rw-r--r--mda/lib/libmda.h2
-rw-r--r--mda/lib/mailquota.c41
-rw-r--r--mda/lib/script.c6
-rw-r--r--mda/lib/util.c2
-rw-r--r--mda/lmtpd/Makefile.am28
-rw-r--r--mda/lmtpd/lmtpd.c2
-rw-r--r--mda/lmtpd/tests/Makefile.am2
-rw-r--r--mda/lmtpd/tests/atlocal.in2
-rw-r--r--mda/lmtpd/tests/lmtpd.at2
-rw-r--r--mda/lmtpd/tests/testsuite.at2
-rw-r--r--mda/mda/Makefile.am28
-rw-r--r--mda/mda/mda.c2
-rw-r--r--mda/mda/tests/Makefile.am38
-rw-r--r--mda/mda/tests/atlocal.in2
-rw-r--r--mda/mda/tests/forward.at24
-rw-r--r--mda/mda/tests/mda.at2
-rw-r--r--mda/mda/tests/testsuite.at2
-rw-r--r--mda/putmail/Makefile.am29
-rw-r--r--mda/putmail/putmail.c2
-rw-r--r--mda/putmail/tests/Makefile.am2
-rw-r--r--mda/putmail/tests/atlocal.in2
-rw-r--r--mda/putmail/tests/putmail.at2
-rw-r--r--mda/putmail/tests/testsuite.at2
-rw-r--r--mda/tests/mda.sh2
-rw-r--r--messages/Makefile.am16
-rw-r--r--messages/messages.c2
-rw-r--r--messages/tests/atlocal.in2
-rw-r--r--messages/tests/testsuite.at2
-rw-r--r--mh/Makefile.am38
-rw-r--r--mh/ali.c2
-rw-r--r--mh/anno.c2
-rw-r--r--mh/burst.c2
-rw-r--r--mh/burstfsa.c2
-rw-r--r--mh/comp.c2
-rw-r--r--mh/compcommon.c2
-rw-r--r--mh/etc/Makefile.am2
-rw-r--r--mh/etc/mailutils-mh.eli2
-rw-r--r--mh/etc/mhl.format2
-rw-r--r--mh/etc/mhl.forward2
-rw-r--r--mh/etc/mhl.headers2
-rw-r--r--mh/etc/mhl.repl2
-rw-r--r--mh/etc/mhl.usenet2
-rw-r--r--mh/etc/replcomps2
-rw-r--r--mh/etc/replgroupcomps2
-rw-r--r--mh/etc/scan.default2
-rw-r--r--mh/etc/scan.mailx2
-rw-r--r--mh/etc/scan.size2
-rw-r--r--mh/etc/scan.time2
-rw-r--r--mh/etc/scan.timely2
-rw-r--r--mh/fmtcheck.c2
-rw-r--r--mh/folder.c2
-rw-r--r--mh/forw.c2
-rw-r--r--mh/inc.c2
-rw-r--r--mh/install-mh.c2
-rw-r--r--mh/mark.c2
-rw-r--r--mh/mboxprop.c2
-rw-r--r--mh/mh.h2
-rw-r--r--mh/mh_alias_gram.y2
-rw-r--r--mh/mh_alias_lex.l2
-rw-r--r--mh/mh_fmtgram.y2
-rw-r--r--mh/mh_format.c2
-rw-r--r--mh/mh_format.h2
-rw-r--r--mh/mh_getopt.c2
-rw-r--r--mh/mh_getopt.h2
-rw-r--r--mh/mh_global.c2
-rw-r--r--mh/mh_init.c2
-rw-r--r--mh/mh_list.c2
-rw-r--r--mh/mh_msgset.c2
-rw-r--r--mh/mh_sequence.c2
-rw-r--r--mh/mh_stream.c2
-rw-r--r--mh/mh_whatnow.c2
-rw-r--r--mh/mh_whom.c2
-rw-r--r--mh/mhl.c2
-rw-r--r--mh/mhn.c2
-rw-r--r--mh/mhparam.c2
-rw-r--r--mh/mhpath.c2
-rw-r--r--mh/mhseq.c2
-rw-r--r--mh/msgchk.c2
-rw-r--r--mh/pick-gram.y2
-rw-r--r--mh/pick.c2
-rw-r--r--mh/pick.h2
-rw-r--r--mh/prompter-rl.c2
-rw-r--r--mh/prompter-tty.c2
-rw-r--r--mh/prompter.c2
-rw-r--r--mh/prompter.h2
-rw-r--r--mh/refile.c2
-rw-r--r--mh/repl.c2
-rw-r--r--mh/rmf.c2
-rw-r--r--mh/rmm.c2
-rw-r--r--mh/scan.c2
-rw-r--r--mh/scanfmt.c2
-rw-r--r--mh/send.c2
-rw-r--r--mh/seqelim.c2
-rw-r--r--mh/show.c2
-rw-r--r--mh/sortm.c2
-rw-r--r--mh/tests/Makefile.am4
-rw-r--r--mh/tests/ali.at2
-rw-r--r--mh/tests/anno.at2
-rw-r--r--mh/tests/atlocal.in2
-rw-r--r--mh/tests/burst.at2
-rw-r--r--mh/tests/comp.at6
-rw-r--r--mh/tests/fmtcnd00.at2
-rw-r--r--mh/tests/fmtcomp.at2
-rw-r--r--mh/tests/fmtfunc.at2
-rw-r--r--mh/tests/folder.at2
-rw-r--r--mh/tests/forw.at22
-rw-r--r--mh/tests/inc.at2
-rw-r--r--mh/tests/install-mh.at2
-rw-r--r--mh/tests/lu.c2
-rw-r--r--mh/tests/mark.at2
-rw-r--r--mh/tests/mhl.at4
-rw-r--r--mh/tests/mhn.at20
-rw-r--r--mh/tests/mhparam.at2
-rw-r--r--mh/tests/mhpath.at2
-rw-r--r--mh/tests/mhseq.at2
-rw-r--r--mh/tests/pick.at2
-rw-r--r--mh/tests/refile.at2
-rw-r--r--mh/tests/repl.at10
-rw-r--r--mh/tests/rmf.at2
-rw-r--r--mh/tests/rmm.at2
-rw-r--r--mh/tests/scan.at2
-rw-r--r--mh/tests/send.at154
-rw-r--r--mh/tests/sortm.at2
-rw-r--r--mh/tests/testsuite.at10
-rw-r--r--mh/whatnow.c2
-rw-r--r--mh/whatnowenv.c2
-rw-r--r--mh/whom.c2
-rw-r--r--mimeview/Makefile.am14
-rw-r--r--mimeview/grammar.y2
-rw-r--r--mimeview/lexer.l2
-rw-r--r--mimeview/mimeview.c2
-rw-r--r--mimeview/mimeview.h2
-rw-r--r--mimeview/tests/Makefile.am2
-rw-r--r--mimeview/tests/bf.c2
-rw-r--r--mimeview/tests/testsuite.at2
-rw-r--r--movemail/Makefile.am18
-rw-r--r--movemail/movemail.c2
-rw-r--r--mu-aux/Makefile.am2
-rw-r--r--mu-aux/debcat.awk2
-rwxr-xr-xmu-aux/gencl2
-rw-r--r--mu-aux/generr.awk2
-rwxr-xr-xmu-aux/gitinfo2
-rwxr-xr-xmu-aux/gylwrap2
-rw-r--r--mu-aux/ltmain.sh11171
-rw-r--r--mu-aux/mailutils.m418
-rwxr-xr-xmu-aux/sqlmod.sh2
-rw-r--r--mu-aux/texify.sed2
-rw-r--r--mu/Makefile.am8
-rw-r--r--mu/libexec/Makefile.am62
-rw-r--r--mu/libexec/acl.c2
-rw-r--r--mu/libexec/cflags.c2
-rw-r--r--mu/libexec/dbm.c2
-rw-r--r--mu/libexec/filter.c2
-rw-r--r--mu/libexec/flt2047.c2
-rw-r--r--mu/libexec/getans.c2
-rw-r--r--mu/libexec/getarg.c2
-rw-r--r--mu/libexec/getopt.c2
-rw-r--r--mu/libexec/getyn.c2
-rw-r--r--mu/libexec/imap.c2
-rw-r--r--mu/libexec/info.c2
-rw-r--r--mu/libexec/ldflags.c12
-rw-r--r--mu/libexec/logger.c2
-rw-r--r--mu/libexec/mu.h2
-rw-r--r--mu/libexec/pop.c2
-rw-r--r--mu/libexec/query.c2
-rw-r--r--mu/libexec/send.c2
-rw-r--r--mu/libexec/shell.c2
-rw-r--r--mu/libexec/smtp.c2
-rw-r--r--mu/libexec/stat.c2
-rw-r--r--mu/libexec/util.c2
-rw-r--r--mu/libexec/verbose.c2
-rw-r--r--mu/libexec/wicket.c2
-rw-r--r--[-rwxr-xr-x]mu/mailutils-config4
-rw-r--r--mu/mu.c2
-rw-r--r--mu/template.c2
-rw-r--r--paths4
-rw-r--r--po/POTFILES.in2
-rw-r--r--pop3d/Makefile.am28
-rw-r--r--pop3d/apop.c2
-rw-r--r--pop3d/auth.c2
-rw-r--r--pop3d/bulletin.c2
-rw-r--r--pop3d/capa.c2
-rw-r--r--pop3d/cmd.c2
-rw-r--r--pop3d/dele.c2
-rw-r--r--pop3d/expire.c2
-rw-r--r--pop3d/extra.c7
-rw-r--r--pop3d/list.c2
-rw-r--r--pop3d/logindelay.c2
-rw-r--r--pop3d/noop.c2
-rw-r--r--pop3d/pop3d.c2
-rw-r--r--pop3d/pop3d.h2
-rw-r--r--pop3d/popauth.c2
-rw-r--r--pop3d/quit.c2
-rw-r--r--pop3d/retr.c2
-rw-r--r--pop3d/rset.c2
-rw-r--r--pop3d/signal.c2
-rw-r--r--pop3d/stat.c2
-rw-r--r--pop3d/stls.c2
-rw-r--r--pop3d/testsuite/Makefile.am2
-rw-r--r--pop3d/testsuite/lib/pop3d.exp2
-rw-r--r--pop3d/testsuite/pop3d.rcin2
-rw-r--r--pop3d/testsuite/pop3d/read.exp2
-rw-r--r--pop3d/top.c2
-rw-r--r--pop3d/uidl.c2
-rw-r--r--pop3d/user.c2
-rw-r--r--python/2/Makefile.am18
-rw-r--r--python/2/libmu_py/Makefile.am57
-rw-r--r--python/2/libmu_py/address.c354
-rw-r--r--python/2/libmu_py/attribute.c291
-rw-r--r--python/2/libmu_py/auth.c716
-rw-r--r--python/2/libmu_py/body.c152
-rw-r--r--python/2/libmu_py/envelope.c164
-rw-r--r--python/2/libmu_py/errno.c34
-rw-r--r--python/2/libmu_py/error.c47
-rw-r--r--python/2/libmu_py/filter.c88
-rw-r--r--python/2/libmu_py/folder.c275
-rw-r--r--python/2/libmu_py/header.c241
-rw-r--r--python/2/libmu_py/libmu_py.c140
-rw-r--r--python/2/libmu_py/libmu_py.h96
-rw-r--r--python/2/libmu_py/list.c52
-rw-r--r--python/2/libmu_py/mailbox.c461
-rw-r--r--python/2/libmu_py/mailcap.c339
-rw-r--r--python/2/libmu_py/mailer.c206
-rw-r--r--python/2/libmu_py/message.c402
-rw-r--r--python/2/libmu_py/mime.c267
-rw-r--r--python/2/libmu_py/nls.c66
-rw-r--r--python/2/libmu_py/registrar.c134
-rw-r--r--python/2/libmu_py/script.c92
-rw-r--r--python/2/libmu_py/secret.c190
-rw-r--r--python/2/libmu_py/sieve.c372
-rw-r--r--python/2/libmu_py/stream.c433
-rw-r--r--python/2/libmu_py/url.c277
-rw-r--r--python/2/libmu_py/util.c111
-rw-r--r--python/2/mailutils/Makefile.am49
-rw-r--r--python/2/mailutils/address.py110
-rw-r--r--python/2/mailutils/attribute.py156
-rw-r--r--python/2/mailutils/auth.py130
-rw-r--r--python/2/mailutils/body.py56
-rw-r--r--python/2/mailutils/c_api.c25
-rw-r--r--python/2/mailutils/envelope.py44
-rw-r--r--python/2/mailutils/error.py47
-rw-r--r--python/2/mailutils/filter.py46
-rw-r--r--python/2/mailutils/header.py182
-rw-r--r--python/2/mailutils/mailbox.py228
-rw-r--r--python/2/mailutils/mailcap.py111
-rw-r--r--python/2/mailutils/message.py158
-rw-r--r--python/2/mailutils/registrar.py53
-rw-r--r--python/2/mailutils/secret.py46
-rw-r--r--python/2/mailutils/url.py103
-rw-r--r--python/3/mailutils/__init__.py60
-rw-r--r--python/3/mailutils/folder.py73
-rw-r--r--python/3/mailutils/mailer.py50
-rw-r--r--python/3/mailutils/mime.py66
-rw-r--r--python/3/mailutils/nls.py29
-rw-r--r--python/3/mailutils/sieve.py64
-rw-r--r--python/3/mailutils/stream.py146
-rw-r--r--python/3/mailutils/util.py37
-rw-r--r--python/Makefile.am23
-rw-r--r--python/libmu_py/Makefile.am (renamed from python/3/libmu_py/Makefile.am)20
-rw-r--r--python/libmu_py/address.c (renamed from python/3/libmu_py/address.c)2
-rw-r--r--python/libmu_py/attribute.c (renamed from python/3/libmu_py/attribute.c)2
-rw-r--r--python/libmu_py/auth.c (renamed from python/3/libmu_py/auth.c)2
-rw-r--r--python/libmu_py/body.c (renamed from python/3/libmu_py/body.c)2
-rw-r--r--python/libmu_py/envelope.c (renamed from python/3/libmu_py/envelope.c)2
-rw-r--r--python/libmu_py/errno.c (renamed from python/3/libmu_py/errno.c)2
-rw-r--r--python/libmu_py/error.c (renamed from python/3/libmu_py/error.c)2
-rw-r--r--python/libmu_py/filter.c (renamed from python/3/libmu_py/filter.c)2
-rw-r--r--python/libmu_py/folder.c (renamed from python/3/libmu_py/folder.c)2
-rw-r--r--python/libmu_py/header.c (renamed from python/3/libmu_py/header.c)2
-rw-r--r--python/libmu_py/libmu_py.c (renamed from python/3/libmu_py/libmu_py.c)2
-rw-r--r--python/libmu_py/libmu_py.h (renamed from python/3/libmu_py/libmu_py.h)2
-rw-r--r--python/libmu_py/list.c (renamed from python/3/libmu_py/list.c)2
-rw-r--r--python/libmu_py/mailbox.c (renamed from python/3/libmu_py/mailbox.c)2
-rw-r--r--python/libmu_py/mailcap.c (renamed from python/3/libmu_py/mailcap.c)2
-rw-r--r--python/libmu_py/mailer.c (renamed from python/3/libmu_py/mailer.c)2
-rw-r--r--python/libmu_py/message.c (renamed from python/3/libmu_py/message.c)2
-rw-r--r--python/libmu_py/mime.c (renamed from python/3/libmu_py/mime.c)2
-rw-r--r--python/libmu_py/nls.c (renamed from python/3/libmu_py/nls.c)2
-rw-r--r--python/libmu_py/registrar.c (renamed from python/3/libmu_py/registrar.c)2
-rw-r--r--python/libmu_py/script.c (renamed from python/3/libmu_py/script.c)2
-rw-r--r--python/libmu_py/secret.c (renamed from python/3/libmu_py/secret.c)2
-rw-r--r--python/libmu_py/sieve.c (renamed from python/3/libmu_py/sieve.c)2
-rw-r--r--python/libmu_py/stream.c (renamed from python/3/libmu_py/stream.c)2
-rw-r--r--python/libmu_py/url.c (renamed from python/3/libmu_py/url.c)2
-rw-r--r--python/libmu_py/util.c (renamed from python/3/libmu_py/util.c)2
-rw-r--r--python/mailutils/Makefile.am (renamed from python/3/mailutils/Makefile.am)6
-rw-r--r--python/mailutils/__init__.py (renamed from python/2/mailutils/__init__.py)2
-rw-r--r--python/mailutils/address.py (renamed from python/3/mailutils/address.py)2
-rw-r--r--python/mailutils/attribute.py (renamed from python/3/mailutils/attribute.py)2
-rw-r--r--python/mailutils/auth.py (renamed from python/3/mailutils/auth.py)2
-rw-r--r--python/mailutils/body.py (renamed from python/3/mailutils/body.py)2
-rw-r--r--python/mailutils/c_api.c (renamed from python/3/mailutils/c_api.c)2
-rw-r--r--python/mailutils/envelope.py (renamed from python/3/mailutils/envelope.py)2
-rw-r--r--python/mailutils/error.py (renamed from python/3/mailutils/error.py)2
-rw-r--r--python/mailutils/filter.py (renamed from python/3/mailutils/filter.py)2
-rw-r--r--python/mailutils/folder.py (renamed from python/2/mailutils/folder.py)2
-rw-r--r--python/mailutils/header.py (renamed from python/3/mailutils/header.py)2
-rw-r--r--python/mailutils/mailbox.py (renamed from python/3/mailutils/mailbox.py)2
-rw-r--r--python/mailutils/mailcap.py (renamed from python/3/mailutils/mailcap.py)2
-rw-r--r--python/mailutils/mailer.py (renamed from python/2/mailutils/mailer.py)2
-rw-r--r--python/mailutils/message.py (renamed from python/3/mailutils/message.py)2
-rw-r--r--python/mailutils/mime.py (renamed from python/2/mailutils/mime.py)2
-rw-r--r--python/mailutils/nls.py (renamed from python/2/mailutils/nls.py)2
-rw-r--r--python/mailutils/registrar.py (renamed from python/3/mailutils/registrar.py)2
-rw-r--r--python/mailutils/secret.py (renamed from python/3/mailutils/secret.py)2
-rw-r--r--python/mailutils/sieve.py (renamed from python/2/mailutils/sieve.py)2
-rw-r--r--python/mailutils/stream.py (renamed from python/2/mailutils/stream.py)2
-rw-r--r--python/mailutils/url.py (renamed from python/3/mailutils/url.py)2
-rw-r--r--python/mailutils/util.py (renamed from python/2/mailutils/util.py)2
-rw-r--r--python/usercustomize.py4
-rw-r--r--readmsg/Makefile.am17
-rw-r--r--readmsg/msglist.c162
-rw-r--r--readmsg/readmsg.c272
-rw-r--r--readmsg/readmsg.h12
-rw-r--r--readmsg/tests/all.at2
-rw-r--r--readmsg/tests/atlocal.in2
-rw-r--r--readmsg/tests/hdr.at2
-rw-r--r--readmsg/tests/nohdr.at2
-rw-r--r--readmsg/tests/testsuite.at2
-rw-r--r--readmsg/tests/twomsg.at2
-rw-r--r--readmsg/tests/weed.at2
-rw-r--r--scheme/Makefile.am2
-rw-r--r--scheme/guimb.scmi2
-rw-r--r--sieve/Makefile.am20
-rw-r--r--sieve/examples/exn-5.4.sv2
-rw-r--r--sieve/sieve.c2
-rw-r--r--sieve/tests/Makefile.am2
-rw-r--r--sieve/tests/action.at2
-rw-r--r--sieve/tests/addheader.at2
-rw-r--r--sieve/tests/address.at2
-rw-r--r--sieve/tests/allof.at2
-rw-r--r--sieve/tests/anyof.at2
-rw-r--r--sieve/tests/atlocal.in2
-rw-r--r--sieve/tests/compile.at15
-rw-r--r--sieve/tests/delheader.at2
-rw-r--r--sieve/tests/enc-char.at2
-rw-r--r--sieve/tests/envelope.at2
-rw-r--r--sieve/tests/environment.at2
-rw-r--r--sieve/tests/exists.at2
-rw-r--r--sieve/tests/ext.at2
-rw-r--r--sieve/tests/false.at2
-rw-r--r--sieve/tests/header.at2
-rw-r--r--sieve/tests/i-casemap.at2
-rw-r--r--sieve/tests/i-numeric.at2
-rw-r--r--sieve/tests/i-octet.at2
-rw-r--r--sieve/tests/list.at2
-rw-r--r--sieve/tests/moderator.at56
-rw-r--r--sieve/tests/mul-addr.at2
-rw-r--r--sieve/tests/not.at2
-rw-r--r--sieve/tests/pipeact.at2
-rw-r--r--sieve/tests/pipetest.at2
-rw-r--r--sieve/tests/redirect.at121
-rw-r--r--sieve/tests/reject.at311
-rw-r--r--sieve/tests/relational.at2
-rw-r--r--sieve/tests/size.at2
-rw-r--r--sieve/tests/testsuite.at4
-rw-r--r--sieve/tests/true.at2
-rw-r--r--sieve/tests/vacation.at590
-rw-r--r--sieve/tests/variables.at2
-rw-r--r--sieve/tests/version.at2
-rw-r--r--sql/Makefile.am4
-rw-r--r--sql/mysql.c2
-rw-r--r--sql/odbc.c2
-rw-r--r--sql/postgres.c2
-rw-r--r--sql/sql.c2
-rw-r--r--testsuite/.gitignore4
-rw-r--r--testsuite/Makefile.am49
-rw-r--r--testsuite/atlocal.in2
-rw-r--r--testsuite/bs.c2
-rw-r--r--testsuite/cwdrepl.at2
-rw-r--r--testsuite/cwdrepl.c358
-rw-r--r--testsuite/etc/mail.rc2
-rw-r--r--testsuite/etc/mailutils.rc.in2
-rw-r--r--testsuite/fldel.at2
-rw-r--r--testsuite/fldel.c2
-rw-r--r--testsuite/lib/mailutils.exp2
-rw-r--r--testsuite/lstuid.c2
-rw-r--r--testsuite/lstuid00.at2
-rw-r--r--testsuite/lstuid01.at2
-rw-r--r--testsuite/lstuid02.at2
-rw-r--r--testsuite/mbdel.at2
-rw-r--r--testsuite/mbdel.c2
-rw-r--r--testsuite/mh/mbox1/12
-rw-r--r--testsuite/mh/mbox1/22
-rw-r--r--testsuite/mh/mbox1/32
-rw-r--r--testsuite/mh/mbox1/42
-rw-r--r--testsuite/mh/mbox1/52
-rw-r--r--testsuite/mh/teaparty/12
-rw-r--r--testsuite/mh/teaparty/102
-rw-r--r--testsuite/mh/teaparty/112
-rw-r--r--testsuite/mh/teaparty/122
-rw-r--r--testsuite/mh/teaparty/132
-rw-r--r--testsuite/mh/teaparty/142
-rw-r--r--testsuite/mh/teaparty/152
-rw-r--r--testsuite/mh/teaparty/162
-rw-r--r--testsuite/mh/teaparty/172
-rw-r--r--testsuite/mh/teaparty/182
-rw-r--r--testsuite/mh/teaparty/192
-rw-r--r--testsuite/mh/teaparty/22
-rw-r--r--testsuite/mh/teaparty/202
-rw-r--r--testsuite/mh/teaparty/212
-rw-r--r--testsuite/mh/teaparty/222
-rw-r--r--testsuite/mh/teaparty/232
-rw-r--r--testsuite/mh/teaparty/242
-rw-r--r--testsuite/mh/teaparty/252
-rw-r--r--testsuite/mh/teaparty/262
-rw-r--r--testsuite/mh/teaparty/272
-rw-r--r--testsuite/mh/teaparty/282
-rw-r--r--testsuite/mh/teaparty/292
-rw-r--r--testsuite/mh/teaparty/32
-rw-r--r--testsuite/mh/teaparty/302
-rw-r--r--testsuite/mh/teaparty/312
-rw-r--r--testsuite/mh/teaparty/322
-rw-r--r--testsuite/mh/teaparty/332
-rw-r--r--testsuite/mh/teaparty/342
-rw-r--r--testsuite/mh/teaparty/352
-rw-r--r--testsuite/mh/teaparty/362
-rw-r--r--testsuite/mh/teaparty/372
-rw-r--r--testsuite/mh/teaparty/382
-rw-r--r--testsuite/mh/teaparty/392
-rw-r--r--testsuite/mh/teaparty/42
-rw-r--r--testsuite/mh/teaparty/402
-rw-r--r--testsuite/mh/teaparty/412
-rw-r--r--testsuite/mh/teaparty/422
-rw-r--r--testsuite/mh/teaparty/432
-rw-r--r--testsuite/mh/teaparty/442
-rw-r--r--testsuite/mh/teaparty/452
-rw-r--r--testsuite/mh/teaparty/462
-rw-r--r--testsuite/mh/teaparty/472
-rw-r--r--testsuite/mh/teaparty/482
-rw-r--r--testsuite/mh/teaparty/492
-rw-r--r--testsuite/mh/teaparty/52
-rw-r--r--testsuite/mh/teaparty/502
-rw-r--r--testsuite/mh/teaparty/512
-rw-r--r--testsuite/mh/teaparty/522
-rw-r--r--testsuite/mh/teaparty/532
-rw-r--r--testsuite/mh/teaparty/542
-rw-r--r--testsuite/mh/teaparty/552
-rw-r--r--testsuite/mh/teaparty/562
-rw-r--r--testsuite/mh/teaparty/572
-rw-r--r--testsuite/mh/teaparty/582
-rw-r--r--testsuite/mh/teaparty/592
-rw-r--r--testsuite/mh/teaparty/62
-rw-r--r--testsuite/mh/teaparty/602
-rw-r--r--testsuite/mh/teaparty/612
-rw-r--r--testsuite/mh/teaparty/622
-rw-r--r--testsuite/mh/teaparty/632
-rw-r--r--testsuite/mh/teaparty/642
-rw-r--r--testsuite/mh/teaparty/652
-rw-r--r--testsuite/mh/teaparty/662
-rw-r--r--testsuite/mh/teaparty/672
-rw-r--r--testsuite/mh/teaparty/682
-rw-r--r--testsuite/mh/teaparty/692
-rw-r--r--testsuite/mh/teaparty/72
-rw-r--r--testsuite/mh/teaparty/702
-rw-r--r--testsuite/mh/teaparty/712
-rw-r--r--testsuite/mh/teaparty/722
-rw-r--r--testsuite/mh/teaparty/732
-rw-r--r--testsuite/mh/teaparty/742
-rw-r--r--testsuite/mh/teaparty/752
-rw-r--r--testsuite/mh/teaparty/762
-rw-r--r--testsuite/mh/teaparty/772
-rw-r--r--testsuite/mh/teaparty/782
-rw-r--r--testsuite/mh/teaparty/792
-rw-r--r--testsuite/mh/teaparty/82
-rw-r--r--testsuite/mh/teaparty/802
-rw-r--r--testsuite/mh/teaparty/812
-rw-r--r--testsuite/mh/teaparty/822
-rw-r--r--testsuite/mh/teaparty/832
-rw-r--r--testsuite/mh/teaparty/842
-rw-r--r--testsuite/mh/teaparty/852
-rw-r--r--testsuite/mh/teaparty/862
-rw-r--r--testsuite/mh/teaparty/872
-rw-r--r--testsuite/mh/teaparty/882
-rw-r--r--testsuite/mh/teaparty/892
-rw-r--r--testsuite/mh/teaparty/92
-rw-r--r--testsuite/mh/teaparty/902
-rw-r--r--testsuite/mh/teaparty/912
-rw-r--r--testsuite/mh/teaparty/922
-rw-r--r--testsuite/mh/teaparty/932
-rw-r--r--testsuite/mh/teaparty/942
-rw-r--r--testsuite/mh/teaparty/952
-rw-r--r--testsuite/mime.at2
-rw-r--r--testsuite/mime01.at2
-rw-r--r--testsuite/mimetest.c2
-rw-r--r--testsuite/mockmail.at110
-rw-r--r--testsuite/mockmail.c497
-rw-r--r--testsuite/mockmta.at69
-rw-r--r--testsuite/mockmta.c1582
-rw-r--r--testsuite/msgset.c2
-rw-r--r--testsuite/package.m4.in6
-rw-r--r--testsuite/testsuite.am2
-rw-r--r--testsuite/testsuite.at14
-rw-r--r--testsuite/testsuite.inc22
1931 files changed, 25855 insertions, 20796 deletions
diff --git a/Makefile.am b/Makefile.am
index 2b49200..a842ca8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,5 @@
## This file is part of GNU Mailutils
-## Copyright (C) 2000-2019 Free Software Foundation, Inc.
+## Copyright (C) 2000-2020 Free Software Foundation, Inc.
##
## GNU Mailutils is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License as
@@ -16,106 +16,101 @@
ACLOCAL_AMFLAGS = -I m4 -I am -I gint -I doc/imprimatur
-if MU_COND_MH
- MH_DIR = mh
+if MU_COND_LIBMU_SCM
+ GINT_DIR = gint
+ LIBMU_SCM_DIR = libmu_scm
+ SCHEME_DIR = scheme
+endif
+
+if MU_COND_SUPPORT_CXX
+ LIBMU_CPP_DIR = libmu_cpp
endif
+if MU_COND_DBM
+ LIBMU_DBM_DIR = libmu_dbm
+endif
+
+if MU_COND_PYTHON
+ PYTHON_DIR = python
+endif
+
+SUBDIRS = . \
+ mu-aux\
+ include\
+ po\
+ libmailutils\
+ sql\
+ libmu_auth\
+ libproto\
+ testsuite\
+ lib\
+ $(LIBMU_CPP_DIR)\
+ $(GINT_DIR)\
+ $(LIBMU_SCM_DIR)\
+ $(LIBMU_DBM_DIR)\
+ libmu_sieve\
+ $(PYTHON_DIR)\
+ doc\
+ examples\
+ mu\
+ $(SCHEME_DIR)
+
if MU_COND_FRM
- FRM_DIR = frm
+ SUBDIRS += frm
endif
if MU_COND_POP3D
- POP3D_DIR = pop3d
+ SUBDIRS += pop3d
endif
if MU_COND_IMAP4D
- IMAP4D_DIR = imap4d
+ SUBDIRS += imap4d
endif
if MU_COND_MDA_TOOLS
- MDA_DIR = mda
+ SUBDIRS += mda
endif
if MU_COND_MAIL
- MAIL_DIR = mail
+ SUBDIRS += mail
endif
if MU_COND_SIEVE
- SIEVE_DIR = sieve
+ SUBDIRS += sieve
endif
if MU_COND_MESSAGES
- MESSAGES_DIR = messages
+ SUBDIRS += messages
endif
if MU_COND_COMSAT
- COMSAT_DIR = comsat
+ SUBDIRS += comsat
endif
if MU_COND_READMSG
- READMSG_DIR = readmsg
+ SUBDIRS += readmsg
endif
if MU_COND_DOTLOCK
- DOTLOCK_DIR = dotlock
+ SUBDIRS += dotlock
endif
-if MU_COND_MOVEMAIL
- MOVEMAIL_DIR = movemail
-endif
-
-if MU_COND_MIMEVIEW
- MIMEVIEW_DIR = mimeview
+if MU_COND_MH
+ SUBDIRS += mh
endif
-if MU_COND_LIBMU_SCM
- GINT_DIR = gint
- LIBMU_SCM_DIR = libmu_scm
- SCHEME_DIR = scheme
+if MU_COND_MOVEMAIL
+ SUBDIRS += movemail
endif
-if MU_COND_SUPPORT_CXX
- LIBMU_CPP_DIR = libmu_cpp
+if MU_COND_DECODEMAIL
+ SUBDIRS += decodemail
endif
-if MU_COND_DBM
- LIBMU_DBM_DIR = libmu_dbm
+if MU_COND_MIMEVIEW
+ SUBDIRS += mimeview
endif
-SUBDIRS = . \
- mu-aux\
- include\
- po\
- libmailutils\
- sql\
- libmu_auth\
- libproto\
- testsuite\
- lib\
- $(LIBMU_CPP_DIR)\
- $(GINT_DIR)\
- $(LIBMU_SCM_DIR)\
- $(LIBMU_DBM_DIR)\
- libmu_sieve\
- python\
- doc\
- examples\
- mu\
- $(SCHEME_DIR)\
- $(FRM_DIR)\
- $(POP3D_DIR)\
- $(IMAP4D_DIR)\
- $(MDA_DIR)\
- $(MAIL_DIR)\
- $(SIEVE_DIR)\
- $(MESSAGES_DIR)\
- $(COMSAT_DIR)\
- $(READMSG_DIR)\
- $(DOTLOCK_DIR)\
- $(MH_DIR)\
- $(MOVEMAIL_DIR)\
- $(MIMEVIEW_DIR)
-
EXTRA_DIST = COPYING.LESSER paths
DISTCLEANFILES = pathdefs.h
diff --git a/NEWS b/NEWS
index 429c636..ee8a07c 100644
--- a/NEWS
+++ b/NEWS
@@ -1,10 +1,133 @@
-GNU mailutils NEWS -- history of user-visible changes. 2019-11-08
-Copyright (C) 2002-2019 Free Software Foundation, Inc.
+GNU mailutils NEWS -- history of user-visible changes. 2020-06-26
See the end of file for copying conditions.
Please send mailutils bug reports to <bug-mailutils@gnu.org>.
-Version 3.8.90 (git)
+Version 3.9.90 (Git)
+
+* mail
+
+** Changed syntax for addressing MIME message part.
+
+The familiar dot notation is used. E.g. 1.2 extracts part 2
+from multipart message 1.
+
+** write command
+
+The write (Write) command operates on message parts as well as on
+messages. Decoding is automatic.
+
+* New utility: decodemail
+
+* readmsg
+
+** MIME messages are decoded on output.
+
+** Improve searches
+
+Requested patterns are searched in textual MIME parts as well.
+Regular expression search is also supported.
+New options --glob, --regex, and --ignorecase control the type of
+search used.
+
+* imap4d: implement TLS in inetd mode
+
+* imap client code
+
+** Fix handling of [TRYCREATE] and similar imap responses.
+
+* Dropped support for Python 2.x
+
+* Bugfixes
+
+** Fix intermixed I/O in buffered streams.
+
+
+Version 3.9, 2020-03-13
+
+* dotmail: fix mailbox opening in append-only mode
+
+* Fix mda testsuite
+
+The tests don't depend on the selected default mailbox format.
+
+* New options to configure:
+
+ --disable-build-mda do not build mda
+ --disable-build-lmtpd do not build lmtpd
+ --disable-build-putmail do not build putmail
+
+* Remove deprecated functions
+
+Following is a complete list of deprecated functions. For the record,
+each function name is followed by a short instruction on how to
+replace eventual use of this function in old code.
+
+ . mu_body_get_stream
+ . mu_message_get_stream
+ . mu_mailer_get_stream
+ . mu_header_get_stream
+ These functions should not be used at all.
+ They will reappear within a couple of releases as synonyms
+ for the corresponding _get_streamref functions, after which
+ the latter will be gradually removed. Thus, at the end of
+ the transition perion _get_streamref's will be replaced by
+ _get_stream.
+
+ . mu_sieve_compile_buffer
+ Replaced by mu_sieve_compile_text.
+ Old code:
+ rc = mu_sieve_compile_buffer (mach, buf, bufsize, fname, line);
+ New code:
+ struct mu_locus_point loc = MU_LOCUS_POINT_INITIALIZER;
+ mu_locus_point_set_file (&loc, fname);
+ loc.mu_line = line;
+ rc = mu_sieve_compile_text (mach, buf, bufsize, &loc);
+ mu_locus_point_deinit (&loc);
+
+ . mu_address_to_string
+ Use mu_address_get_printable instead.
+
+ . mu_address_format_string
+ Use mu_stream_format_address instead. E.g. to print to a string:
+
+ char buf[100];
+ stream_t str;
+ mu_fixed_memory_stream_create (&str, buf, sizeof(buf), MU_STREAM_WRITE);
+ rc = mu_stream_format_address (str, addr);
+
+ . mu_registrar_get_list
+ Should not be used. Use mu_registrar_get_iterator if you need to
+ iterate over the list.
+
+ . mu_mailbox_save_attributes
+ Replaced by mu_mailbox_sync.
+
+ . mu_msgset_print
+ Use mu_stream_msgset_format.
+ Old code:
+ rc = mu_msgset_print (mu_stream_t str, mu_msgset_t mset);
+ New code:
+ rc = mu_stream_msgset_format (str, mu_msgset_fmt_imap, mset);
+
+* Remove deprecated ioctls
+
+The following ioctl codes have been removed: MU_IOCTL_LOGSTREAM_GET_LOCUS,
+and MU_IOCTL_LOGSTREAM_SET_LOCUS.
+
+* mail: fix composing MIME messages
+
+- Make sure message body has inline disposition (fixes bug #54992).
+- When building the "filename" parameter of the Content-Disposition
+ header, and the "name" parameter of the Content-Type header, strip
+ directory components off the original file name (fixes bug #57431).
+
+* Fix build on FreeBSD
+
+* Fix detection of Kerberos libraries
+
+* Fix build with Python 3.8 (bug #57318)
+
Version 3.8 - 2019-11-06
@@ -2351,7 +2474,7 @@ The first release.
----------------------------------------------------------------------
Copyright information:
-Copyright (C) 2002-2018, Free Software Foundation, Inc.
+Copyright (C) 2002-2020, Free Software Foundation, Inc.
Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
diff --git a/README b/README
index ff4a322..94f0667 100644
--- a/README
+++ b/README
@@ -350,7 +350,7 @@ by visiting http://mail.gnu.org/mailman/listinfo/bug-mailutils.
* Copyright information:
-Copyright (C) 2002-2019 Free Software Foundation, Inc.
+Copyright (C) 2002-2020 Free Software Foundation, Inc.
Permission is granted to anyone to make or distribute verbatim
copies of this document as received, in any medium, provided that
diff --git a/README-alpha b/README-alpha
index c7d1a2d..6a30ec0 100644
--- a/README-alpha
+++ b/README-alpha
@@ -67,7 +67,7 @@ your breakpoints and proceed as usual.
* Copyright information:
-Copyright (C) 2002-2019 Free Software Foundation, Inc.
+Copyright (C) 2002-2020 Free Software Foundation, Inc.
Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
diff --git a/README-hacking b/README-hacking
index de0ec2e..86d72e0 100644
--- a/README-hacking
+++ b/README-hacking
@@ -74,7 +74,7 @@ To clean all flowgraphs, run (from the source tree root directory):
* Copyright information
- Copyright (C) 2007-2019 Free Software Foundation, Inc.
+ Copyright (C) 2007-2020 Free Software Foundation, Inc.
Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
diff --git a/THANKS b/THANKS
index ec71ffd..2386b2f 100644
--- a/THANKS
+++ b/THANKS
@@ -18,6 +18,7 @@ James Troup <james@nocrew.org>
Jeff Bailey <jbailey@nisa.net>
Jim Hull <imaginos@imaginos.net>
Jordi Mallach <jordi@sindominio.net>
+Karl Berry <karl@freefriends.org>
Kidong Lee <briankdlee@yahoo.com>
Kostas Zorbadelos <kzorba@otenet.gr>
Kurt Hackenberg <kh@panix.com>
diff --git a/TODO b/TODO
index 525092b..70d2a7c 100644
--- a/TODO
+++ b/TODO
@@ -1,5 +1,5 @@
GNU mailutils TODO list. 2010-12-21
-Copyright (C) 2001-2019 Free Software Foundation, Inc.
+Copyright (C) 2001-2020 Free Software Foundation, Inc.
* Provide a generic way to store UID, UIDNEXT and UIDVALIDITY in mailboxes.
diff --git a/am/config_paths.m4 b/am/config_paths.m4
index 5026c34..f89d9d7 100644
--- a/am/config_paths.m4
+++ b/am/config_paths.m4
@@ -1,5 +1,5 @@
#serial 1
-dnl Copyright (C) 1996-2019 Free Software Foundation, Inc.
+dnl Copyright (C) 1996-2020 Free Software Foundation, Inc.
dnl
dnl Written by Miles Bader <miles@gnu.ai.mit.edu> and
dnl Sergey Poznyakoff <gray@gnu.org>
diff --git a/am/db2.m4 b/am/db2.m4
index 6ce972e..6ea9e6d 100644
--- a/am/db2.m4
+++ b/am/db2.m4
@@ -1,5 +1,5 @@
dnl This file is part of GNU mailutils.
-dnl Copyright (C) 2003-2019 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2020 Free Software Foundation, Inc.
dnl
dnl GNU Mailutils is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
diff --git a/am/debug.m4 b/am/debug.m4
index 1f8a947..cde0730 100644
--- a/am/debug.m4
+++ b/am/debug.m4
@@ -1,5 +1,5 @@
dnl This file is part of GNU mailutils.
-dnl Copyright (C) 2001-2019 Free Software Foundation, Inc.
+dnl Copyright (C) 2001-2020 Free Software Foundation, Inc.
dnl
dnl This file is free software; as a special exception the author gives
dnl unlimited permission to copy and/or distribute it, with or without
diff --git a/am/enable.m4 b/am/enable.m4
index 82e872d..aa220c8 100644
--- a/am/enable.m4
+++ b/am/enable.m4
@@ -1,5 +1,5 @@
dnl This file is part of GNU mailutils.
-dnl Copyright (C) 2002-2019 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2020 Free Software Foundation, Inc.
dnl
dnl GNU Mailutils is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
diff --git a/am/gsasl.m4 b/am/gsasl.m4
index 9023a1e..2d2e470 100644
--- a/am/gsasl.m4
+++ b/am/gsasl.m4
@@ -1,5 +1,5 @@
dnl This file is part of GNU mailutils.
-dnl Copyright (C) 2003-2019 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2020 Free Software Foundation, Inc.
dnl
dnl GNU Mailutils is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
diff --git a/am/gssapi.m4 b/am/gssapi.m4
index 8e4f5d7..ed25dda 100644
--- a/am/gssapi.m4
+++ b/am/gssapi.m4
@@ -14,11 +14,10 @@ AC_DEFUN([MU_CHECK_GSSAPI],
GSSAPI_PREFIX=[$1]
GSSAPI_IMPL="none"
# First try krb5-config
- if test "$GSSAPI_PREFIX" != "yes"; then
- krb5_path="$GSSAPI_PREFIX/bin"
- else
- krb5_path="$PATH"
- fi
+ case $GSSAPI_PREFIX in
+ yes|probe) krb5_path="$PATH";;
+ *) krb5_path="$GSSAPI_PREFIX/bin"
+ esac
AC_PATH_PROG(KRB5CFGPATH, krb5-config, none, $krb5_path)
AC_CHECK_HEADER(gss.h, [wantgss=yes], [wantgss=no])
if test $wantgss != no; then
@@ -47,12 +46,14 @@ int main() { return gss_check_version ("0.0.9") == (char*) 0; }],
saved_CPPFLAGS="$CPPFLAGS"
saved_LDFLAGS="$LDFLAGS"
saved_LIBS="$LIBS"
- if test "$GSSAPI_PREFIX" != "yes"; then
+ case $GSSAPI_PREFIX in
+ yes|probe) ;;
+ *)
GSSAPI_CFLAGS="-I$GSSAPI_PREFIX/include"
GSSAPI_LDFLAGS="-L$GSSAPI_PREFIX/lib"
CPPFLAGS="$CPPFLAGS $GSSAPI_CFLAGS"
LDFLAGS="$LDFLAGS $GSSAPI_LDFLAGS"
- fi
+ esac
## Check for new MIT kerberos V support
AC_CHECK_LIB(gssapi_krb5, gss_init_sec_context,
diff --git a/am/ipv6.m4 b/am/ipv6.m4
index 181f5b3..c7aa668 100644
--- a/am/ipv6.m4
+++ b/am/ipv6.m4
@@ -1,5 +1,5 @@
dnl This file is part of GNU Mailutils. -*- autoconf -*-
-dnl Copyright (C) 2011-2019 Free Software Foundation, Inc.
+dnl Copyright (C) 2011-2020 Free Software Foundation, Inc.
dnl
dnl GNU Mailutils is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
diff --git a/am/md5.m4 b/am/md5.m4
index d8fe6f3..1e3548d 100644
--- a/am/md5.m4
+++ b/am/md5.m4
@@ -1,5 +1,5 @@
# md5.m4 serial 9
-dnl Copyright (C) 2002-2019 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2020 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/am/nls.m4 b/am/nls.m4
index 8dc584d..2313159 100644
--- a/am/nls.m4
+++ b/am/nls.m4
@@ -1,5 +1,5 @@
# nls.m4 serial 3 (gettext-0.15)
-dnl Copyright (C) 1995-2019 Free Software Foundation, Inc.
+dnl Copyright (C) 1995-2020 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/am/sha1.m4 b/am/sha1.m4
index b480ebe..f8e4546 100644
--- a/am/sha1.m4
+++ b/am/sha1.m4
@@ -1,5 +1,5 @@
# sha1.m4 serial 7
-dnl Copyright (C) 2002-2019 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2020 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
diff --git a/am/tls.m4 b/am/tls.m4
index 5179529..60cb66e 100644
--- a/am/tls.m4
+++ b/am/tls.m4
@@ -1,5 +1,5 @@
dnl This file is part of GNU mailutils.
-dnl Copyright (C) 2003-2019 Free Software Foundation, Inc.
+dnl Copyright (C) 2003-2020 Free Software Foundation, Inc.
dnl
dnl GNU Mailutils is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
@@ -18,6 +18,7 @@ dnl
dnl MU_CHECK_GNUTLS([VERSION = `'],[ACTION-IF-TRUE=`'],[ACTION-IF-FALSE=`']
AC_DEFUN([MU_CHECK_GNUTLS],
[
+ AC_SUBST([TLS_LIBS])
if test "x$mu_cv_lib_gnutls" = x; then
cached=""
AC_ARG_WITH([gnutls],
diff --git a/bootstrap b/bootstrap
index 8ebd2de..dd90005 100755
--- a/bootstrap
+++ b/bootstrap
@@ -4,7 +4,7 @@ scriptversion=2014-12-08.12; # UTC
# Bootstrap this package from checked-out sources.
-# Copyright (C) 2003-2019 Free Software Foundation, Inc.
+# Copyright (C) 2003-2020 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/bootstrap.conf b/bootstrap.conf
index 361217c..348f71e 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -1,6 +1,6 @@
# Bootstrap configuration for GNU Mailutils. -*- shell-script -*-
#
-# Copyright (C) 2006-2019 Free Software Foundation, Inc.
+# Copyright (C) 2006-2020 Free Software Foundation, Inc.
#
# GNU Mailutils is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -48,7 +48,6 @@ XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
--flag=mu_debug_printf:3:c-format\\\
--flag=mu_sieve_error:2:c-format\\\
--flag=mu_sieve_log_action:3:c-format\\\
- --flag=mu_nntp_writeline:2:c-format\\\
--flag=mu_pop3_writeline:2:c-format\\\
--flag=mu_stream_printf:3:c-format\\\
--flag=mu_stream_sequential_printf:2:c-format\\\
@@ -113,3 +112,10 @@ if [ -z "$help" ]; then
#make -C doc/texinfo -f maint.mk
fi
+bootstrap_epilogue() {
+ # Install a ltmain.sh version that fixes the two libtool issues we've
+ # encountered.
+ # See http://gray.gnu.org.ua/public/ltbug for details.
+ set -e
+ (cd build-aux && rm ltmain.sh && ln -s ../mu-aux/ltmain.sh)
+}
diff --git a/cmc/cmc_act_on.c b/cmc/cmc_act_on.c
index cafd28e..0f64d82 100644
--- a/cmc/cmc_act_on.c
+++ b/cmc/cmc_act_on.c
@@ -1,5 +1,5 @@
/* GNU Mailutils -- a suite of utilities for electronic mail
- Copyright (C) 1999-2019 Free Software Foundation, Inc.
+ Copyright (C) 1999-2020 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
diff --git a/cmc/cmc_free.c b/cmc/cmc_free.c
index 3cdf13b..5289029 100644
--- a/cmc/cmc_free.c
+++ b/cmc/cmc_free.c
@@ -1,5 +1,5 @@
/* GNU Mailutils -- a suite of utilities for electronic mail
- Copyright (C) 1999-2019 Free Software Foundation, Inc.
+ Copyright (C) 1999-2020 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
diff --git a/cmc/cmc_list.c b/cmc/cmc_list.c
index 3f5a243..ed75794 100644
--- a/cmc/cmc_list.c
+++ b/cmc/cmc_list.c
@@ -1,5 +1,5 @@
/* GNU Mailutils -- a suite of utilities for electronic mail
- Copyright (C) 1999-2019 Free Software Foundation, Inc.
+ Copyright (C) 1999-2020 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
diff --git a/cmc/cmc_logoff.c b/cmc/cmc_logoff.c
index 4e5c0aa..10fdc26 100644
--- a/cmc/cmc_logoff.c
+++ b/cmc/cmc_logoff.c
@@ -1,5 +1,5 @@
/* GNU Mailutils -- a suite of utilities for electronic mail
- Copyright (C) 1999-2019 Free Software Foundation, Inc.
+ Copyright (C) 1999-2020 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
diff --git a/cmc/cmc_logon.c b/cmc/cmc_logon.c
index fc8d3ae..4321a38 100644
--- a/cmc/cmc_logon.c
+++ b/cmc/cmc_logon.c
@@ -1,5 +1,5 @@
/* GNU Mailutils -- a suite of utilities for electronic mail
- Copyright (C) 1999-2019 Free Software Foundation, Inc.
+ Copyright (C) 1999-2020 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
diff --git a/cmc/cmc_look_up.c b/cmc/cmc_look_up.c
index 97431e5..64a46c4 100644
--- a/cmc/cmc_look_up.c
+++ b/cmc/cmc_look_up.c
@@ -1,5 +1,5 @@
/* GNU Mailutils -- a suite of utilities for electronic mail
- Copyright (C) 1999-2019 Free Software Foundation, Inc.
+ Copyright (C) 1999-2020 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
diff --git a/cmc/cmc_query_config.c b/cmc/cmc_query_config.c
index 17a3bfd..50aef3d 100644
--- a/cmc/cmc_query_config.c
+++ b/cmc/cmc_query_config.c
@@ -1,5 +1,5 @@
/* GNU Mailutils -- a suite of utilities for electronic mail
- Copyright (C) 1999-2019 Free Software Foundation, Inc.
+ Copyright (C) 1999-2020 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
diff --git a/cmc/cmc_read.c b/cmc/cmc_read.c
index c0756ae..5891a9d 100644
--- a/cmc/cmc_read.c
+++ b/cmc/cmc_read.c
@@ -1,5 +1,5 @@
/* GNU Mailutils -- a suite of utilities for electronic mail
- Copyright (C) 1999-2019 Free Software Foundation, Inc.
+ Copyright (C) 1999-2020 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
diff --git a/cmc/cmc_send.c b/cmc/cmc_send.c
index 8925cad..e6b5afe 100644
--- a/cmc/cmc_send.c
+++ b/cmc/cmc_send.c
@@ -1,5 +1,5 @@
/* GNU Mailutils -- a suite of utilities for electronic mail
- Copyright (C) 1999-2019 Free Software Foundation, Inc.
+ Copyright (C) 1999-2020 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
diff --git a/cmc/cmc_send_documents.c b/cmc/cmc_send_documents.c
index 4a2358d..4598e86 100644
--- a/cmc/cmc_send_documents.c
+++ b/cmc/cmc_send_documents.c
@@ -1,5 +1,5 @@
/* GNU Mailutils -- a suite of utilities for electronic mail
- Copyright (C) 1999-2019 Free Software Foundation, Inc.
+ Copyright (C) 1999-2020 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
diff --git a/cmc/xcmc.h b/cmc/xcmc.h
index 3fac641..4e13965 100644
--- a/cmc/xcmc.h
+++ b/cmc/xcmc.h
@@ -1,5 +1,5 @@
/* GNU Mailutils -- a suite of utilities for electronic mail
- Copyright (C) 1999-2019 Free Software Foundation, Inc.
+ Copyright (C) 1999-2020 Free Software Foundation, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
diff --git a/comsat/Makefile.am b/comsat/Makefile.am
index 5d124c5..a64ca59 100644
--- a/comsat/Makefile.am
+++ b/comsat/Makefile.am
@@ -1,5 +1,5 @@
## This file is part of GNU Mailutils.
-## Copyright (C) 2001-2019 Free Software Foundation, Inc.
+## Copyright (C) 2001-2020 Free Software Foundation, Inc.
##
## GNU Mailutils is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License as
@@ -19,7 +19,7 @@ sbin_PROGRAMS = comsatd
comsatd_SOURCES = action.c comsat.c comsat.h biff.rc.h
AM_CPPFLAGS = \
- @MU_APP_COMMON_INCLUDES@\
+ $(MU_APP_COMMON_INCLUDES)\
-DSYSCONFDIR=\"$(sysconfdir)\"
BUILT_SOURCES=biff.rc.h
@@ -30,8 +30,8 @@ biff.rc.h: $(top_srcdir)/comsat/biff.rc
$(top_srcdir)/comsat/biff.rc > biff.rc.h
comsatd_LDADD = \
- ${MU_APP_LIBRARIES}\
- ${MU_LIB_MAILBOX}\
- ${MU_LIB_MAILUTILS}\
- @MU_COMMON_LIBRARIES@
+ $(MU_LIB_MAILBOX)\
+ $(MU_LIB_MAILUTILS)\
+ $(MU_APP_LIBRARIES)\
+ $(MU_COMMON_LIBRARIES)
diff --git a/comsat/action.c b/comsat/action.c
index c6102c4..8574369 100644
--- a/comsat/action.c
+++ b/comsat/action.c
@@ -1,5 +1,5 @@
/* GNU Mailutils -- a suite of utilities for electronic mail
- Copyright (C) 1999-2019 Free Software Foundation, Inc.
+ Copyright (C) 1999-2020 Free Software Foundation, Inc.
GNU Mailutils is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/comsat/biff.rc b/comsat/biff.rc
index 933cc6b..b368fbe 100644
--- a/comsat/biff.rc
+++ b/comsat/biff.rc
@@ -1,5 +1,5 @@
# The default biffrc file for GNU Mailutils comsatd utility.
-# Copyright (C) 2010-2019 Free Software Foundation, Inc.
+# Copyright (C) 2010-2020 Free Software Foundation, Inc.
#
# GNU Mailutils is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
diff --git a/comsat/biffrc.sed b/comsat/biffrc.sed
index 3107946..f8f8b44 100644
--- a/comsat/biffrc.sed
+++ b/comsat/biffrc.sed
@@ -1,5 +1,5 @@
# This file is part of GNU Mailutils.
-# Copyright (C) 2010-2019 Free Software Foundation, Inc.
+# Copyright (C) 2010-2020 Free Software Foundation, Inc.
#
# GNU Mailutils is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
diff --git a/comsat/comsat.c b/comsat/comsat.c
index cee4745..630780f 100644
--- a/comsat/comsat.c
+++ b/comsat/comsat.c
@@ -1,5 +1,5 @@
/* GNU Mailutils -- a suite of utilities for electronic mail
- Copyright (C) 1999-2019 Free Software Foundation, Inc.
+ Copyright (C) 1999-2020 Free Software Foundation, Inc.
GNU Mailutils is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/comsat/comsat.h b/comsat/comsat.h
index a154362..46da965 100644
--- a/comsat/comsat.h
+++ b/comsat/comsat.h
@@ -1,5 +1,5 @@
/* GNU Mailutils -- a suite of utilities for electronic mail
- Copyright (C) 1999-2019 Free Software Foundation, Inc.
+ Copyright (C) 1999-2020 Free Software Foundation, Inc.
GNU Mailutils is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/comsat/tests/atlocal.in b/comsat/tests/atlocal.in
index 34ccd9e..3dfdb2d 100644
--- a/comsat/tests/atlocal.in
+++ b/comsat/tests/atlocal.in
@@ -1,6 +1,6 @@
# @configure_input@ -*- shell-script -*-
# Configurable variable values for Mailutils test suite.
-# Copyright (C) 2004-2019 Free Software Foundation, Inc.
+# Copyright (C) 2004-2020 Free Software Foundation, Inc.
PATH=@abs_builddir@:@abs_top_builddir@/comsat:$top_srcdir:$srcdir:$PATH
@MU_COND_SUPPORT_MH_TRUE@MH_SUPPORT=yes
diff --git a/comsat/tests/testsuite.at b/comsat/tests/testsuite.at
index db2dbd0..9cdce48 100644
--- a/comsat/tests/testsuite.at
+++ b/comsat/tests/testsuite.at
@@ -1,5 +1,5 @@
# This file is part of GNU Mailutils. -*- Autotest -*-
-# Copyright (C) 2007-2019 Free Software Foundation, Inc.
+# Copyright (C) 2007-2020 Free Software Foundation, Inc.
#
# GNU Mailutils is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
diff --git a/configure.ac b/configure.ac
index 1a2f459..b58610f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
dnl Configuration for GNU Mailutils -- a suite of utilities for electronic mail
dnl
-dnl Copyright (C) 1999-2019 Free Software Foundation, Inc.
+dnl Copyright (C) 1999-2020 Free Software Foundation, Inc.
dnl
dnl GNU Mailutils is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
@@ -16,11 +16,11 @@ dnl You should have received a copy of the GNU General Public License along
dnl with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>.
AC_PREREQ(2.63)
-AC_INIT([GNU Mailutils], [3.8.90], [bug-mailutils@gnu.org], [mailutils],
+AC_INIT([GNU Mailutils], [3.9.90], [bug-mailutils@gnu.org], [mailutils],
[http://mailutils.org])
AC_CONFIG_SRCDIR([libmailutils/mailbox/mailbox.c])
AC_CONFIG_AUX_DIR([build-aux])
-AM_INIT_AUTOMAKE([gnits 1.11 dist-bzip2 dist-xz std-options silent-rules])
+AM_INIT_AUTOMAKE([gnits 1.15 dist-bzip2 dist-xz std-options silent-rules])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
@@ -51,7 +51,7 @@ AC_SUBST(mu_aux_dir,'$(top_srcdir)/mu-aux')
AC_SUBST(MU_SIEVE_MODDIR,'$(libdir)/$(PACKAGE)')
AC_SUBST(MU_COMMON_LIBRARIES,'$(LTLIBINTL) $(LTLIBICONV)')
-AC_SUBST(MU_APP_LIBRARIES,'${top_builddir}/lib/libmuaux.la')
+AC_SUBST(MU_APP_LIBRARIES,'${top_builddir}/lib/libmuaux.la ${UNISTRING_LIBS}')
# There are two sets of include directories: MU_LIB_COMMON_INCLUDES, used
# by the libraries, and MU_APP_COMMON_INCLUDES, which is used by applications.
@@ -76,11 +76,11 @@ gl_EARLY
AC_PROG_CXX
AC_PROG_INSTALL
AC_PROG_LN_S
-AC_LIBTOOL_DLOPEN
-AC_PROG_LIBTOOL
MU_PROG_BISON
MU_PROG_FLEX
-AM_PROG_LIBTOOL
+
+LT_PREREQ([2.4.6])
+LT_INIT
## Predefine several variables used to display configuration status
status_pam=no
@@ -121,9 +121,6 @@ AH_BOTTOM([
#define DEFAULT_TEXT_DOMAIN PACKAGE
])
-AC_SUBST(MU_LINK_POSTFLAGS,[`for opt in $LTLIBICONV; do case $opt in -[[lL]]*) echo $opt;; esac; done|tr '\n' ' '`])
-
-
# Check for large file support
AC_SYS_LARGEFILE
@@ -243,43 +240,30 @@ AC_ARG_WITH([gssapi],
AC_HELP_STRING([--with-gssapi@<:@=PATH@:>@],
[use GSSAPI authentication]),
[status_gssapi=$withval],
- [status_gssapi=no])
+ [status_gssapi=probe])
-if test "x$status_gssapi" != "xno"; then
+if test "$status_gssapi" != "no"; then
MU_CHECK_GSSAPI($status_gssapi)
if test "$GSSAPI_IMPL" = "none"; then
AC_CACHE_SAVE
AC_MSG_RESULT([GSSAPI libraries not found])
+ if test "$status_gssapi" = probe; then
+ status_gssapi=no
+ else
+ AC_MSG_FAILURE([The requested GSSAPI library not found or is unusable])
+ fi
else
- # Output produced by `krb5-config --libs' may contain `-Wl,-rpath -Wl,DIR'
- # options. Once they are added to SERV_AUTHLIBS, libtool, when creating
- # relink command line in wrapper files for executables, places them at the
- # beginnig of the option list and adds its own -rpath directives at
- # the end. Executables created by such command will look for the runtime
- # libraries first in DIR and then in the local tree subdirectories. Thus,
- # if DIR contains libraries from a previous installation of Mailutils, the
- # programs will use old libraries.
- #
- # Obviously, libtool should be fixed to place user-added -rpath directives
- # after the ones added by it. For the time being I work around this bug by
- # removing any -Wl directives from GSSAPI_LIBS.
- #
- for arg in $GSSAPI_LIBS
- do
- case $arg in
- -Wl,*) ;;
- *) SERV_AUTHLIBS="$SERV_AUTHLIBS $arg"
- esac
- done
- SERV_AUTHINCS="$SERV_AUTHINCS $GSSAPI_CFLAGS"
+ SERV_AUTHLIBS="${SERV_AUTHLIBS}${SERV_AUTHLIBS:+ }$GSSAPI_LIBS"
+ SERV_AUTHINCS="${SERV_AUTHINCS}${SERV_AUTHINCS:+ }$GSSAPI_CFLAGS"
AC_DEFINE(WITH_GSSAPI,1,[Define if mailutils is using GSSAPI])
+ status_gssapi=yes
fi
fi
AM_CONDITIONAL([MU_COND_GSSAPI],[test "$status_gssapi" = "yes"])
MU_CHECK_GSASL(0.2.3, [
AC_DEFINE(WITH_GSASL,1,[Define if mailutils is using GNU SASL])
- MU_AUTHLIBS="$MU_AUTHLIBS $GSASL_LIBS"
+ MU_AUTHLIBS="${MU_AUTHLIBS}${MU_AUTHLIBS:+ }$GSASL_LIBS"
status_gsasl=yes])
AM_CONDITIONAL([MU_COND_GSASL],[test "$status_gsasl" = "yes"])
@@ -295,7 +279,7 @@ AC_ARG_WITH(cram-passwd,
esac])
MU_CHECK_GNUTLS([1.2.1],[
- MU_AUTHLIBS="$MU_AUTHLIBS $TLS_LIBS"
+ MU_AUTHLIBS="${MU_AUTHLIBS}${MU_AUTHLIBS:+ }$TLS_LIBS"
AC_DEFINE(WITH_GNUTLS,1,[Define if mailutils is using GNU TLS])
AC_DEFINE(WITH_TLS,1,[Define if mailutils is using TLS])
status_gnutls=yes
@@ -439,15 +423,13 @@ check_bdb() {
AC_CHECK_LIB($2, $3,
[AC_CHECK_HEADERS(db.h)
if test $ac_cv_header_db_h = yes; then
- DBMLIBS="$DBMLIBS -l$2"
- MU_DB2_CURSOR
status_bdb="$1"
fi])
if test "$status_bdb" = no; then
:
else
save_LIBS=$LIBS
- LIBS="$LIBS $DBMLIBS"
+ LIBS="-l$2 $DBMLIBS $LIBS"
AC_RUN_IFELSE(
[AC_LANG_PROGRAM([#include "db.h"],
[int v_major, v_minor, v_patch;
@@ -462,6 +444,8 @@ check_bdb() {
LIBS=$save_LIBS
if test "$status_bdb" != no; then
AC_DEFINE_UNQUOTED(WITH_BDB,$ver)
+ DBMLIBS="-l$2 $DBMLIBS"
+ MU_DB2_CURSOR
fi
fi
}
@@ -797,7 +781,7 @@ AC_DEFUN([MU_SQL_LDADD],[
if test "$USE_LOADABLE_MODULES" = yes; then
$1=$2
else
- SQLLIB="$SQLLIB $2"
+ SQLLIB="${SQLLIB}${SQLLIB:+ }$2"
fi
])
@@ -939,9 +923,9 @@ if test -n "$SQL_MODULES"; then
do
${module:-dummy}_init
if test $USE_LOADABLE_MODULES = yes; then
- SQL_LOADABLE_MODULES="$SQL_LOADABLE_MODULES ${module}.la"
+ SQL_LOADABLE_MODULES="${SQL_LOADABLE_MODULES}${SQL_LOADABLE_MODULES:+ }${module}.la"
else
- SQL_LIBOBJS="$SQL_LIBOBJS ${module}.o"
+ SQL_LIBOBJS="${SQL_LIBOBJS}${SQL_LIBOBJS:+ }${module}.o"
fi
done
S=`echo "$SQL_LIBOBJS" |
@@ -974,7 +958,8 @@ if test $status_ldap = maybe; then
AC_CHECK_LIB(ldap, ldap_bind,[
status_ldap=yes
AC_DEFINE(WITH_LDAP, 1, [Define to 1 if you want to use -lldap])
- MU_AUTHLIBS="$MU_AUTHLIBS -lldap"],
+ MU_AUTHLIBS="${MU_AUTHLIBS}${MU_AUTHLIBS:+ }-lldap"
+ AC_CHECK_LIB(lber, ber_set_option,[MU_AUTHLIBS="${MU_AUTHLIBS} -llber"])],
[status_ldap=no])
fi
@@ -1001,7 +986,6 @@ MU_ENABLE_REMOTE_MAILBOX_FORMAT([imap])
# This is not a full-fledged testsuite yet, but it might be useful anyways
AC_CONFIG_FILES([libproto/imap/tests/Makefile])
MU_ENABLE_REMOTE_MAILBOX_FORMAT([pop])
-MU_ENABLE_LOCAL_MAILBOX_FORMAT([nntp],[],[],["$mu_build_experimental" = "yes"])
MU_ENABLE_LOCAL_MAILBOX_FORMAT([mh])
MU_ENABLE_LOCAL_MAILBOX_FORMAT([maildir])
MU_ENABLE_LOCAL_MAILBOX_FORMAT([dotmail])
@@ -1020,7 +1004,7 @@ MU_ENABLE_SUPPORT(prog)
# FIXME: Should be --with-radius
MU_ENABLE_SUPPORT(radius,
[AM_GNU_RADIUS(1.6,
- [MU_AUTHLIBS="$MU_AUTHLIBS -lgnuradius"
+ [MU_AUTHLIBS="${MU_AUTHLIBS}${MU_AUTHLIBS:+ }-lgnuradius"
mu_cv_enable_radius=yes],
[mu_cv_enable_radius=no])])
@@ -1029,7 +1013,7 @@ if test x"$testpam" = x"yes"; then
if test x"$ac_cv_header_security_pam_appl_h" = x"yes"; then
AC_CHECK_LIB(dl, dlopen, [LDL=-ldl], [LDL=])
AC_CHECK_LIB(pam, pam_start,
- [MU_AUTHLIBS="$MU_AUTHLIBS -lpam $LDL"
+ [MU_AUTHLIBS="${MU_AUTHLIBS}${MU_AUTHLIBS:+ }-lpam $LDL"
ac_cv_have_libpam="yes"],, $LDL)
AC_DEFINE(USE_LIBPAM,1,[Enable use of PAM])
status_pam=yes
@@ -1218,30 +1202,36 @@ esac],[status_python=yes])
AC_SUBST(PYTHON_LIBS)
AC_SUBST(PYTHON_INCLUDES)
-AC_SUBST(PYTHON_MAJOR)
-
if test "$status_python" = yes; then
- AM_PATH_PYTHON(2.5.0,, [status_python=no])
+ AM_PATH_PYTHON(3.0,, [status_python=no])
if test "$status_python" = yes; then
AC_ARG_VAR([PYTHON_CONFIG], [The name of python-config binary])
- AC_PATH_PROG([PYTHON_CONFIG], python-config)
+ if test -z "$PYTHON_CONFIG"; then
+ AC_PATH_PROGS([PYTHON_CONFIG], [python3-config python-config])
+ fi
if test -n "$PYTHON_CONFIG"; then
- case $PYTHON_VERSION in
- 2.*) PYTHON_MAJOR=2;;
- 3.*) PYTHON_MAJOR=3;;
- *) AC_MSG_WARN([unsupported Python version $PYTHON_VERSION])
- status_python=no
- esac
-
- PYTHON_LIBS=`$PYTHON_CONFIG --libs`
- PYTHON_INCLUDES=`$PYTHON_CONFIG --includes`
+ save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS=$($PYTHON_CONFIG --includes)
+ AC_MSG_CHECKING([whether python-config ($PYTHON_CONFIG) is of same version as python])
+ AC_EGREP_CPP([^\"$PYTHON_VERSION],
+ [#include <patchlevel.h>
+PY_VERSION],
+ [AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])
+ status_python=no])
+ CPPFLAGS=$save_CPPFLAGS
else
- status_python=no
+ status_python=no
fi
-
+
if test "$status_python" = yes; then
+ # See https://docs.python.org/dev/whatsnew/3.8.html#debug-build-uses-the-same-abi-as-release-build
+ PYTHON_LIBS=`$PYTHON_CONFIG --libs --embed 2>/dev/null` || \
+ PYTHON_LIBS=`$PYTHON_CONFIG --libs`
+ PYTHON_INCLUDES=`$PYTHON_CONFIG --includes`
+
AC_DEFINE(WITH_PYTHON,1,[Enable Python support])
- MU_LIB_PY='${top_builddir}/python/$(PYTHON_MAJOR)/libmu_py/libmu_py.la'
+ MU_LIB_PY='${top_builddir}/python/libmu_py/libmu_py.la'
AC_SUBST([PYTHON_SITE_DIR])
AC_SUBST([PYTHON_EXEC_DIR])
AC_ARG_WITH([pythondir],
@@ -1258,12 +1248,7 @@ if test "$status_python" = yes; then
fi
fi
-AM_CONDITIONAL([MU_COND_PYTHON],
- [test "$status_python" = yes])
-AM_CONDITIONAL([MU_COND_PYTHON2],
- [test "$status_python" = yes && test "$PYTHON_MAJOR" = "2"])
-AM_CONDITIONAL([MU_COND_PYTHON3],
- [test "$status_python" = yes && test "$PYTHON_MAJOR" = "3"])
+AM_CONDITIONAL([MU_COND_PYTHON], [test "$status_python" = yes])
AC_SUBST(MU_CXX_EXAMPLES_BUILD)
MU_ENABLE_SUPPORT(cxx,
@@ -1326,9 +1311,12 @@ MU_ENABLE_BUILD(pop3d,,,["$mu_build_servers" = yes],,[server_list])
MU_ENABLE_BUILD(imap4d,,,["$mu_build_servers" = yes],,[server_list])
MU_ENABLE_BUILD(comsat,,,["$mu_build_servers" = yes],,[server_list])
-MU_ENABLE_BUILD(mda,[mu_build_mda_tools=yes],,["$mu_build_servers" = yes],,[server_list])
-MU_ENABLE_BUILD(lmtpd,[mu_build_mda_tools=yes],,["$mu_build_servers" = yes],,[server_list])
-MU_ENABLE_BUILD(putmail,[mu_build_mda_tools=yes],,["$mu_build_clients" = yes],,[client_list])
+MU_ENABLE_BUILD(mda,[mu_build_mda_tools=yes],,
+ ["$mu_build_servers" = yes],,[server_list])
+MU_ENABLE_BUILD(lmtpd,[mu_build_mda_tools=yes],,
+ ["$mu_build_servers" = yes],,[server_list])
+MU_ENABLE_BUILD(putmail,[mu_build_mda_tools=yes],,
+ ["$mu_build_clients" = yes],,[client_list])
AM_CONDITIONAL([MU_COND_MDA_TOOLS],[test "$mu_build_mda_tools" = yes])
MU_ENABLE_BUILD(frm,,,["$mu_build_clients" = yes],,[client_list])
@@ -1346,6 +1334,7 @@ MU_ENABLE_BUILD(readmsg,,,["$mu_build_clients" = yes],,[client_list])
MU_ENABLE_BUILD(dotlock,,,["$mu_build_clients" = yes],,[client_list])
MU_ENABLE_BUILD(movemail,,,["$mu_build_clients" = yes],,[client_list])
MU_ENABLE_BUILD(mimeview,,,["$mu_build_clients" = yes],,[client_list])
+MU_ENABLE_BUILD(decodemail,,,["$mu_build_clients" = yes],,[client_list])
MU_ENABLE_BUILD(mh,,,["$mu_build_clients$mu_cv_enable_mh" = yesyes],,[client_list])
@@ -1371,7 +1360,6 @@ AC_CONFIG_FILES([include/mailutils/types.h:include/mailutils/types.hin])
AC_CONFIG_TESTDIR(testsuite)
AC_CONFIG_FILES([testsuite/Makefile testsuite/atlocal])
-AC_CONFIG_FILES([testsuite/package.m4])
MU_CONFIG_TESTSUITE(libmailutils)
MU_CONFIG_TESTSUITE(frm)
MU_CONFIG_TESTSUITE(mda/lmtpd)
@@ -1386,6 +1374,8 @@ 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)
AM_MISSING_PROG([AUTOM4TE], [autom4te])
@@ -1468,11 +1458,7 @@ status_gnutls=$status_gnutls
status_gsasl=$status_gsasl
status_gssapi=$status_gssapi
status_guile=$useguile
-if test $status_python = yes; then
- status_python="$status_python (v. $PYTHON_MAJOR)"
-else
- status_python=$status_python
-fi
+status_python=$status_python
status_cxx=$mu_cv_enable_cxx
status_tcpwrap=$status_tcpwrap
status_pthread=$usepthread
@@ -1508,8 +1494,6 @@ AC_CONFIG_FILES([
examples/config/Makefile
examples/cpp/Makefile
examples/python/Makefile
- examples/python/2/Makefile
- examples/python/3/Makefile
examples/scheme/Makefile
gint/Makefile
frm/Makefile
@@ -1574,13 +1558,10 @@ AC_CONFIG_FILES([
pop3d/Makefile
pop3d/testsuite/Makefile
python/Makefile
- python/2/Makefile
- python/2/libmu_py/Makefile
- python/2/mailutils/Makefile
- python/3/Makefile
- python/3/libmu_py/Makefile
- python/3/mailutils/Makefile
+ python/libmu_py/Makefile
+ python/mailutils/Makefile
readmsg/Makefile
+ decodemail/Makefile
mu-aux/Makefile
mu-aux/mailutils.spec
sieve/Makefile
diff --git a/decodemail/.gitignore b/decodemail/.gitignore
new file mode 100644
index 0000000..9969b31
--- a/dev/null
+++ b/decodemail/.gitignore
@@ -0,0 +1 @@
+decodemail
diff --git a/python/3/Makefile.am b/decodemail/Makefile.am
index 084b13e..31b7682 100644
--- a/python/3/Makefile.am
+++ b/decodemail/Makefile.am
@@ -1,5 +1,5 @@
## This file is part of GNU Mailutils.
-## Copyright (C) 2009-2019 Free Software Foundation, Inc.
+## Copyright (C) 2020 Free Software Foundation, Inc.
##
## GNU Mailutils is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License as
@@ -12,7 +12,14 @@
## General Public License for more details.
##
## You should have received a copy of the GNU General Public License
-## along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>.
-
-SUBDIRS = libmu_py mailutils
+## along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>.
+bin_PROGRAMS = decodemail
+AM_CPPFLAGS=$(MU_APP_COMMON_INCLUDES)
+decodemail_LDADD =\
+ $(MU_APP_LIBRARIES)\
+ $(MU_LIB_MAILBOX)\
+ $(MU_LIB_AUTH)\
+ $(MU_AUTHLIBS)\
+ $(MU_LIB_MAILUTILS)\
+ $(MU_COMMON_LIBRARIES)
diff --git a/decodemail/decodemail.c b/decodemail/decodemail.c
new file mode 100644
index 0000000..e75bdbf
--- a/dev/null
+++ b/decodemail/decodemail.c
@@ -0,0 +1,884 @@
+/* GNU Mailutils -- a suite of utilities for electronic mail
+ Copyright (C) 1999-2020 Free Software Foundation, Inc.
+
+ GNU Mailutils is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ GNU Mailutils is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <config.h>
+#include <stdlib.h>
+#include <mailutils/mailutils.h>
+#include <mailutils/sys/envelope.h>
+#include <muaux.h>
+#include <sysexits.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+
+int truncate_opt;
+int from_filter;
+int recode_charset;
+char *charset;
+int fd_err;
+
+static struct mu_option decodemail_options[] =
+{
+ { "truncate", 't', NULL, MU_OPTION_DEFAULT,
+ N_("truncate the output mailbox, if it exists"),
+ mu_c_bool, &truncate_opt },
+ { "charset", 'c', N_("CHARSET"), MU_OPTION_DEFAULT,
+ N_("recode output to this charset"),
+ mu_c_string, &charset },
+ { "recode", 'R', NULL, MU_OPTION_DEFAULT,
+ N_("recode text parts to the current charset"),
+ mu_c_bool, &recode_charset },
+ MU_OPTION_END
+}, *options[] = { decodemail_options, NULL };
+
+struct mu_cli_setup cli = {
+ .optv = options,
+ .prog_doc = N_("GNU decodemail -- decode messages."),
+ .prog_args = N_("[INBOX] [OUTBOX]")
+};
+
+static char *decodemail_capa[] = {
+ "debug",
+ "mailbox",
+ "locking",
+ "mime",
+ NULL
+};
+
+char *charset;
+
+static void
+define_charset (void)
+{
+ struct mu_lc_all lc_all = { .flags = 0 };
+ char *ep = getenv ("LC_ALL");
+ if (!ep)
+ ep = getenv ("LANG");
+
+ if (ep && mu_parse_lc_all (ep, &lc_all, MU_LC_CSET) == 0)
+ {
+ charset = mu_strdup (lc_all.charset);
+ mu_lc_all_free (&lc_all);
+ }
+ else
+ charset = mu_strdup ("us-ascii");
+}
+
+static mu_message_t message_decode (mu_message_t, mu_coord_t *, size_t);
+
+static void message_store_mbox (mu_message_t, mu_mailbox_t);
+static void message_store_stdout (mu_message_t, mu_mailbox_t);
+
+static void
+enable_log_prefix (int on)
+{
+ int mode;
+
+ mu_stream_ioctl (mu_strerr, MU_IOCTL_LOGSTREAM,
+ MU_IOCTL_LOGSTREAM_GET_MODE, &mode);
+ if (on)
+ mode |= MU_LOGMODE_PREFIX;
+ else
+ mode &= ~MU_LOGMODE_PREFIX;
+
+ mu_stream_ioctl (mu_strerr, MU_IOCTL_LOGSTREAM,
+ MU_IOCTL_LOGSTREAM_SET_MODE, &mode);
+}
+
+static void
+set_log_prefix (mu_coord_t crd, size_t dim)
+{
+ char *prefix = mu_coord_part_string (crd, dim);
+ mu_stream_ioctl (mu_strerr, MU_IOCTL_LOGSTREAM,
+ MU_IOCTL_LOGSTREAM_SET_PREFIX, prefix);
+ free (prefix);
+}
+
+void
+abend (int code)
+{
+ if (fd_err)
+ {
+ struct rlimit rlim;
+
+ getrlimit (RLIMIT_NOFILE, &rlim);
+ rlim.rlim_cur += fd_err;
+ mu_error (_("at least %lu file descriptors are needed to process this message"),
+ (unsigned long) rlim.rlim_cur);
+ }
+ exit (code);
+}
+
+int
+main (int argc, char **argv)
+{
+ int rc;
+ mu_mailbox_t imbox, ombox = NULL;
+ char *imbox_name = NULL, *ombox_name = NULL;
+ void (*message_store) (mu_message_t, mu_mailbox_t);
+ mu_iterator_t itr;
+ unsigned long i;
+ int err = 0;
+ mu_coord_t crd;
+
+ /* Native Language Support */
+ MU_APP_INIT_NLS ();
+
+ /* register the formats. */
+ mu_register_all_mbox_formats ();
+ mu_register_extra_formats ();
+ mu_auth_register_module (&mu_auth_tls_module);
+ mu_cli_capa_register (&mu_cli_capa_mime);
+
+ mu_cli (argc, argv, &cli, decodemail_capa, NULL, &argc, &argv);
+
+ switch (argc)
+ {
+ case 2:
+ ombox_name = argv[1];
+ case 1:
+ imbox_name = argv[0];
+ break;
+ case 0:
+ break;
+ default:
+ mu_error (_("too many arguments; try %s --help for help"),
+ mu_program_name);
+ exit (EX_USAGE);
+ }
+
+ if (!charset && recode_charset)
+ define_charset ();
+
+ /* Open input mailbox */
+ rc = mu_mailbox_create_default (&imbox, imbox_name);
+ if (rc != 0)
+ {
+ if (imbox_name)
+ mu_error (_("could not create mailbox `%s': %s"),
+ imbox_name,
+ mu_strerror (rc));
+ else
+ mu_error (_("could not create default mailbox: %s"),
+ mu_strerror (rc));
+ abend (EX_OSERR);
+ }
+
+ rc = mu_mailbox_open (imbox, MU_STREAM_READ);
+ if (rc)
+ {
+ mu_url_t url = NULL;
+
+ mu_mailbox_get_url (imbox, &url);
+ mu_error (_("could not open input mailbox `%s': %s"),
+ mu_url_to_string (url), mu_strerror (rc));
+ abend (EX_NOINPUT);
+ }
+
+ /* Create output mailbox */
+ if (ombox_name)
+ {
+ mu_property_t prop;
+ const char *type;
+
+ rc = mu_mailbox_create_default (&ombox, ombox_name);
+ if (rc != 0)
+ {
+ mu_error (_("could not create output mailbox `%s': %s"),
+ ombox_name,
+ mu_strerror (rc));
+ abend (EX_OSERR);
+ }
+ rc = mu_mailbox_open (ombox, MU_STREAM_RDWR|MU_STREAM_CREAT);
+ if (rc)
+ {
+ mu_error (_("could not open mailbox `%s': %s"),
+ ombox_name, mu_strerror (rc));
+ abend (EX_CANTCREAT);
+ }
+
+ if (mu_mailbox_get_property (ombox, &prop) == 0 &&
+ mu_property_sget_value (prop, "TYPE", &type) == 0 &&
+ strcmp (type, "MBOX") == 0)
+ from_filter = 1;
+
+ if (truncate_opt)
+ {
+ mu_mailbox_get_iterator (ombox, &itr);
+ for (mu_iterator_first (itr), i = 1; !mu_iterator_is_done (itr);
+ mu_iterator_next (itr), i++)
+ {
+ mu_message_t m;
+ mu_attribute_t a;
+
+ rc = mu_iterator_current (itr, (void **)&m);
+ mu_message_get_attribute (m, &a);
+ mu_attribute_set_deleted (a);
+ }
+ mu_iterator_destroy (&itr);
+ }
+ message_store = message_store_mbox;
+ }
+ else
+ {
+ message_store = message_store_stdout;
+ from_filter = 1;
+ }
+
+ rc = mu_mailbox_get_iterator (imbox, &itr);
+ if (rc)
+ {
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_mailbox_get_iterator", NULL, rc);
+ abend (EX_SOFTWARE);
+ }
+
+ rc = mu_coord_alloc (&crd, 1);
+ if (rc)
+ mu_alloc_die ();
+
+ enable_log_prefix (1);
+ for (mu_iterator_first (itr), i = 1; !mu_iterator_is_done (itr);
+ mu_iterator_next (itr), i++)
+ {
+ mu_message_t msg, newmsg;
+
+ rc = mu_iterator_current (itr, (void **)&msg);
+ if (rc)
+ {
+ mu_error (_("cannot read message %lu: %s"),
+ i, mu_strerror (rc));
+ err = 1;
+ continue;
+ }
+ crd[1] = i;
+ fd_err = 0;
+ newmsg = message_decode (msg, &crd, 1);
+ message_store (newmsg, ombox);
+ mu_message_unref (newmsg);
+ }
+ enable_log_prefix (0);
+
+ mu_mailbox_destroy (&imbox);
+ (truncate_opt ? mu_mailbox_expunge : mu_mailbox_sync) (ombox);
+ mu_mailbox_destroy (&ombox);
+
+ if (err)
+ abend (EX_UNAVAILABLE);
+ exit (EX_OK);
+}
+
+static void
+message_store_mbox (mu_message_t msg, mu_mailbox_t mbx)
+{
+ int rc = mu_mailbox_append_message (mbx, msg);
+ if (rc)
+ {
+ mu_error (_("cannot store message: %s"), mu_strerror (rc));
+ switch (rc)
+ {
+ case MU_ERR_INVALID_EMAIL:
+ case MU_ERR_EMPTY_ADDRESS:
+ break;
+
+ case EMFILE:
+ fd_err++;
+ /* FALLTHROUGH */
+
+ default:
+ abend (EX_IOERR);
+ }
+ }
+}
+
+static void
+env_print (mu_message_t msg)
+{
+ mu_envelope_t env;
+ char const *buf;
+ size_t len;
+
+ mu_message_get_envelope (msg, &env);
+ if (mu_envelope_sget_sender (env, &buf))
+ buf = "UNKNOWN";
+ mu_printf ("From %s ", buf);
+
+ if (mu_envelope_sget_date (env, &buf))
+ {
+ char datebuf[MU_DATETIME_FROM_LENGTH+1];
+ time_t t;
+ struct tm *tm;
+
+ t = time (NULL);
+ tm = gmtime (&t);
+ mu_strftime (datebuf, sizeof datebuf, MU_DATETIME_FROM, tm);
+ buf = datebuf;
+ }
+
+ mu_printf ("%s", buf);
+ len = strlen (buf);
+ if (len > 1 && buf[len-1] != '\n')
+ mu_printf ("\n");
+}
+
+static void
+message_store_stdout (mu_message_t msg, mu_mailbox_t mbx)
+{
+ mu_stream_t str;
+
+ env_print (msg);
+ mu_message_get_streamref (msg, &str);
+ mu_stream_copy_nl (mu_strout, str, 0, NULL);
+ mu_stream_destroy (&str);
+ mu_printf ("\n");
+}
+
+static inline int
+is_address_header (char const *name)
+{
+ return !mu_c_strcasecmp (name, MU_HEADER_FROM) ||
+ !mu_c_strcasecmp (name, MU_HEADER_TO) ||
+ !mu_c_strcasecmp (name, MU_HEADER_CC) ||
+ !mu_c_strcasecmp (name, MU_HEADER_BCC);
+}
+
+static int
+qstring_needed (char const *s)
+{
+ for (; *s; s++)
+ {
+ if (mu_isascii (*s) && !mu_istspec (*s))
+ continue;
+ return 1;
+ }
+ return 0;
+}
+
+static void
+qstring_format (mu_stream_t stream, char const *s)
+{
+ if (!s)
+ return;
+ if (qstring_needed (s))
+ {
+ char const *cp;
+
+ mu_stream_write (stream, "\"", 1, NULL);
+ while (*(cp = mu_str_skip_cset_comp (s, "\\\"")))
+ {
+ mu_stream_write (stream, s, cp - s, NULL);
+ mu_stream_write (stream, "\\", 1, NULL);
+ mu_stream_write (stream, cp, 1, NULL);
+ s = cp + 1;
+ }
+ if (*s)
+ mu_stream_write (stream, s, strlen (s), NULL);
+ mu_stream_write (stream, "\"", 1, NULL);
+ }
+ else
+ mu_stream_write (stream, s, strlen (s), NULL);
+}
+
+static int
+address_decode (char const *name, char const *value, char const *charset,
+ mu_header_t newhdr)
+{
+ int rc;
+ mu_address_t addr;
+ mu_stream_t mstr;
+ mu_transport_t trans[2];
+
+ rc = mu_memory_stream_create (&mstr, MU_STREAM_RDWR);
+ if (rc)
+ return rc;
+
+ rc = mu_address_create (&addr, value);
+ if (rc == 0)
+ {
+ mu_address_t cur;
+ for (cur = addr; cur; cur = cur->next)
+ {
+ char *s;
+
+ rc = mu_rfc2047_decode (charset, cur->personal, &s);
+ if (rc == 0)
+ {
+ qstring_format (mstr, s);
+ free (s);
+ }
+ else
+ qstring_format (mstr, cur->personal);
+ mu_stream_printf (mstr, " <%s>", cur->email);
+ if (cur->next)
+ mu_stream_write (mstr, ", ", 2, NULL);
+ }
+ mu_stream_write (mstr, "", 1, NULL);
+ rc = mu_stream_err (mstr);
+ if (rc == 0)
+ {
+ mu_stream_ioctl (mstr, MU_IOCTL_TRANSPORT,
+ MU_IOCTL_OP_GET,
+ trans);
+ mu_header_append (newhdr, name, (char*)trans[0]);
+ }
+ mu_stream_destroy (&mstr);
+ mu_address_destroy (&addr);
+ }
+ return rc;
+}
+
+/*
+ * Decode a single message or message part.
+ *
+ * Arguments:
+ * msg - Message or message part.
+ * crd - Pointer to mu_coord_t object that keeps its location.
+ * dim - Number of significant positions in crd. If it is 1,
+ * msg is the message. If it is greater than 1, msg is
+ * part of a MIME message.
+ *
+ * The function can reallocate crd to increase its actual dimension.
+ * It can modify the coordinate positions starting from dim+1 (inclusive).
+ */
+static mu_message_t
+message_decode_nomime (mu_message_t msg)
+{
+ mu_message_t newmsg;
+ int rc;
+ mu_stream_t str;
+ mu_body_t body;
+ mu_stream_t bstr;
+ mu_header_t hdr, newhdr;
+ mu_iterator_t itr;
+ size_t i;
+ char *content_type = NULL;
+ mu_stream_stat_buffer stat;
+
+ rc = message_body_stream (msg, from_filter, charset, &str);
+ if (rc)
+ return NULL;
+
+ rc = mu_message_create (&newmsg, NULL);
+ if (rc)
+ {
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_message_create", NULL, rc);
+ abend (EX_OSERR);
+ }
+
+ rc = mu_message_get_body (newmsg, &body);
+ if (rc)
+ {
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_message_get_body", NULL, rc);
+ goto end;
+ }
+
+ rc = mu_body_get_streamref (body, &bstr);
+ if (rc)
+ {
+ if (rc == EMFILE)
+ fd_err++;
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_body_get_streamref", NULL, rc);
+ goto end;
+ }
+
+ mu_stream_set_stat (bstr,
+ MU_STREAM_STAT_MASK (MU_STREAM_STAT_IN8BIT),
+ stat);
+ rc = mu_stream_copy (bstr, str, 0, NULL);
+ if (rc)
+ {
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_stream_copy", NULL, rc);
+ if (mu_stream_err (bstr))
+ {
+ abend (EX_IOERR);
+ }
+ else
+ {
+ mu_stream_printf (bstr,
+ "\n[decodemail: content decoding failed: %s]\n",
+ mu_strerror (rc));
+ }
+ }
+ mu_stream_unref (bstr);
+ mu_stream_unref (str);
+
+ rc = mu_message_get_header (msg, &hdr);
+ if (rc)
+ {
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_message_get_header", "msg", rc);
+ goto end;
+ }
+
+ rc = mu_message_get_header (newmsg, &newhdr);
+ if (rc)
+ {
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_message_get_header", "newmsg", rc);
+ goto end;
+ }
+
+ rc = mu_header_get_iterator (hdr, &itr);
+ if (rc)
+ {
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_header_get_iterator", NULL, rc);
+ goto end;
+ }
+
+ for (mu_iterator_first (itr), i = 1; !mu_iterator_is_done (itr);
+ mu_iterator_next (itr), i++)
+ {
+ const char *name;
+ const char *value;
+ char *s;
+
+ rc = mu_iterator_current_kv (itr, (void const **) &name,
+ (void**)&value);
+ if (rc)
+ {
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_iterator_current_kv", NULL, rc);
+ continue;
+ }
+
+ if (!mu_c_strcasecmp (name, MU_HEADER_CONTENT_TYPE))
+ {
+ if (charset)
+ {
+ mu_content_type_t ct;
+ struct mu_mime_param **pparam;
+ char *vc = mu_strdup (value);
+ size_t len;
+ mu_string_unfold (vc, &len);
+ rc = mu_content_type_parse_ext (vc, NULL,
+ MU_CONTENT_TYPE_RELAXED |
+ MU_CONTENT_TYPE_PARAM,
+ &ct);
+ if (rc)
+ {
+ mu_diag_funcall (MU_DIAG_ERROR,
+ "mu_content_type_parse_ext",
+ vc, rc);
+ free (vc);
+ continue;
+ }
+ free (vc);
+ rc = mu_assoc_install_ref (ct->param, "charset", &pparam);
+ switch (rc)
+ {
+ case 0:
+ *pparam = mu_zalloc (sizeof **pparam);
+ break;
+
+ case MU_ERR_EXISTS:
+ free ((*pparam)->value);
+ break;
+
+ default:
+ mu_diag_funcall (MU_DIAG_ERROR,
+ "mu_assoc_install_ref",
+ NULL, rc);
+ abend (EX_IOERR);
+ }
+ (*pparam)->value = mu_strdup (charset);
+ mu_content_type_format (ct, &content_type);
+ mu_content_type_destroy (&ct);
+ continue;
+ }
+ }
+ else if (!mu_c_strcasecmp (name, MU_HEADER_CONTENT_TRANSFER_ENCODING))
+ continue;
+ else if (is_address_header (name))
+ {
+ if (address_decode (name, value, charset, newhdr))
+ mu_header_append (newhdr, name, value);
+ continue;
+ }
+
+ rc = mu_rfc2047_decode (charset, value, &s);
+ if (rc == 0)
+ {
+ mu_header_append (newhdr, name, s);
+ free (s);
+ }
+ else
+ mu_header_append (newhdr, name, value);
+ }
+ mu_iterator_destroy (&itr);
+ rc = 0;
+
+ mu_header_set_value (newhdr,
+ MU_HEADER_CONTENT_TRANSFER_ENCODING,
+ stat[MU_STREAM_STAT_IN8BIT] ? "8bit" : "7bit",
+ 1);
+ if (charset)
+ {
+ if (!content_type)
+ mu_asprintf (&content_type, "text/plain; charset=%s", charset);
+ mu_header_set_value (newhdr,
+ MU_HEADER_CONTENT_TYPE,
+ content_type,
+ 1);
+ free (content_type);
+ }
+ end:
+ if (rc)
+ {
+ mu_message_unref (newmsg);
+ newmsg = NULL;
+ }
+ return newmsg;
+}
+
+static mu_message_t
+message_decode_mime (mu_message_t msg, mu_coord_t *crd, size_t dim)
+{
+ int rc;
+ mu_message_t newmsg;
+ size_t nparts, i;
+ mu_mime_t mime;
+ mu_header_t hdr, newhdr;
+ mu_iterator_t itr;
+ char *s;
+ mu_content_type_t ct;
+
+ /* FIXME: The following could be simplified if we could obtain
+ a mime object from the message */
+ rc = mu_message_get_header (msg, &hdr);
+ if (rc)
+ {
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_message_get_header", "msg", rc);
+ return NULL;
+ }
+
+ rc = mu_header_aget_value_unfold (hdr, MU_HEADER_CONTENT_TYPE, &s);
+ if (rc)
+ {
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_header_aget_value_unfold",
+ MU_HEADER_CONTENT_TYPE, rc);
+ return NULL;
+ }
+
+ rc = mu_content_type_parse_ext (s, NULL,
+ MU_CONTENT_TYPE_RELAXED |
+ MU_CONTENT_TYPE_PARAM, &ct);
+ if (rc)
+ {
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_content_type_parse_ext", s, rc);
+ free (s);
+ return NULL;
+ }
+ free (s);
+
+ if (!ct->subtype)
+ {
+ mu_content_type_destroy (&ct);
+ return NULL;
+ }
+
+ rc = mu_mime_create_multipart (&mime, ct->subtype, ct->param);
+ mu_content_type_destroy (&ct);
+ if (rc)
+ {
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_mime_create_multipart", NULL, rc);
+ return NULL;
+ }
+
+ rc = mu_message_get_num_parts (msg, &nparts);
+ if (rc)
+ {
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_message_get_num_parts",
+ NULL, rc);
+ return NULL;
+ }
+
+ ++dim;
+ if (dim > mu_coord_length (*crd))
+ {
+ rc = mu_coord_realloc (crd, dim);
+ if (rc)
+ mu_alloc_die ();
+ }
+
+ for (i = 1; i <= nparts; i++)
+ {
+ mu_message_t msgpart, msgdec;
+
+ (*crd)[dim] = i;
+ rc = mu_message_get_part (msg, i, &msgpart);
+ if (rc)
+ {
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_message_get_part",
+ NULL, rc);
+ mu_mime_unref (mime);
+ return NULL;
+ }
+ msgdec = message_decode (msgpart, crd, dim);
+ rc = mu_mime_add_part (mime, msgdec);
+ mu_message_unref (msgdec);
+ if (rc)
+ {
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_mime_add_part", NULL, rc);
+ mu_mime_unref (mime);
+ return NULL;
+ }
+ }
+
+ --dim;
+
+ rc = mu_mime_to_message (mime, &newmsg);
+ mu_mime_unref (mime);
+ if (rc)
+ {
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_mime_to_message", NULL, rc);
+ return NULL;
+ }
+
+ /* Copy headers */
+ rc = mu_message_get_header (newmsg, &newhdr);
+ if (rc)
+ {
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_message_get_header", "newmsg", rc);
+ goto end;
+ }
+
+ rc = mu_header_get_iterator (hdr, &itr);
+ if (rc)
+ {
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_header_get_iterator", NULL, rc);
+ goto end;
+ }
+
+ for (mu_iterator_first (itr), i = 1; !mu_iterator_is_done (itr);
+ mu_iterator_next (itr), i++)
+ {
+ const char *name;
+ const char *value;
+ char *s;
+
+ rc = mu_iterator_current_kv (itr, (void const **) &name,
+ (void**)&value);
+ if (rc)
+ {
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_iterator_current_kv", NULL, rc);
+ continue;
+ }
+
+ if (mu_c_strcasecmp (name, MU_HEADER_MIME_VERSION) == 0 ||
+ mu_c_strcasecmp (name, MU_HEADER_CONTENT_TYPE) == 0)
+ continue;
+ else if (is_address_header (name))
+ {
+ if (address_decode (name, value, charset, newhdr))
+ mu_header_append (newhdr, name, value);
+ continue;
+ }
+ rc = mu_rfc2047_decode (charset, value, &s);
+ if (rc == 0)
+ {
+ mu_header_append (newhdr, name, s);
+ free (s);
+ }
+ else
+ mu_header_append (newhdr, name, value);
+ }
+ mu_iterator_destroy (&itr);
+ rc = 0;
+
+ end:
+ if (rc)
+ {
+ mu_message_unref (newmsg);
+ newmsg = NULL;
+ }
+ return newmsg;
+}
+
+static mu_message_t
+message_decode (mu_message_t msg, mu_coord_t *crd, size_t dim)
+{
+ mu_message_t newmsg;
+ int ismime = 0;
+ int rc;
+
+ set_log_prefix (*crd, dim);
+
+ rc = mu_message_is_multipart (msg, &ismime);
+ if (rc)
+ {
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_message_is_multipart", NULL, rc);
+ newmsg = NULL;
+ }
+ else if (!ismime)
+ {
+ newmsg = message_decode_nomime (msg);
+ }
+ else
+ {
+ newmsg = message_decode_mime (msg, crd, dim);
+ }
+
+ if (!newmsg)
+ {
+ mu_message_ref (msg);
+ return msg;
+ }
+
+ set_log_prefix (*crd, dim);
+
+ if (dim == 1)
+ {
+ /* Copy envelope */
+ mu_envelope_t env, newenv;
+
+ rc = mu_message_get_envelope (msg, &env);
+ if (rc == 0)
+ {
+ char *sender = NULL, *date = NULL;
+ if ((rc = mu_envelope_aget_sender (env, &sender)) != 0)
+ {
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_envelope_aget_sender",
+ NULL, rc);
+ }
+ else if ((rc = mu_envelope_aget_date (env, &date)) != 0)
+ {
+ free (sender);
+ sender = NULL;
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_envelope_aget_date",
+ NULL, rc);
+ }
+
+ if (sender)
+ {
+ if ((rc = mu_envelope_create (&newenv, newmsg)) == 0)
+ {
+ newenv->sender = sender;
+ newenv->date = date;
+ mu_message_set_envelope (newmsg, newenv,
+ mu_message_get_owner (newmsg));
+ }
+ else
+ {
+ free (sender);
+ free (date);
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_envelope_create",
+ NULL, rc);
+ }
+ }
+ }
+ else
+ mu_diag_funcall (MU_DIAG_ERROR, "mu_message_get_envelope",
+ NULL, rc);
+ }
+
+ return newmsg;
+}
+
diff --git a/doc/Makefile.am b/doc/Makefile.am
index ce64378..3b417e2 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,5 +1,5 @@
## This file is part of GNU Mailutils.
-## Copyright (C) 2000-2019 Free Software Foundation, Inc.
+## Copyright (C) 2000-2020 Free Software Foundation, Inc.
##
## GNU Mailutils is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License as
diff --git a/doc/man/Makefile.am b/doc/man/Makefile.am
index 493ec62..94b6cc2 100644
--- a/doc/man/Makefile.am
+++ b/doc/man/Makefile.am
@@ -1,5 +1,5 @@
## This file is part of GNU Mailutils.
-## Copyright (C) 2001-2019 Free Software Foundation, Inc.
+## Copyright (C) 2001-2020 Free Software Foundation, Inc.
##
## GNU Mailutils is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License as
diff --git a/doc/man/decodemail.1 b/doc/man/decodemail.1
new file mode 100644
index 0000000..8630727
--- a/dev/null
+++ b/doc/man/decodemail.1
@@ -0,0 +1,213 @@
+.\" GNU Mailutils -- a suite of utilities for electronic mail
+.\" Copyright (C) 1999-2020 Free Software Foundation, Inc.
+.\"
+.\" GNU Mailutils is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 3, or (at your option)
+.\" any later version.
+.\"
+.\" GNU Mailutils is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>.
+.TH DECODEMAIL 1 "August 3, 2020" "MAILUTILS" "Mailutilst User Reference"
+.SH NAME
+decodemail \- decode MIME messages
+.SH SYNOPSIS
+.nh
+.na
+\fBcommand\fR\
+ [\fB\-Rt\fR]\
+ [\fB\-c \fICHARSET\fR]\
+ [\fB\-\-charset=\fICHARSET\fR]\
+ [\fB\-\-recode\fR]\
+ [\fB\-\-truncate\fR]\
+ [\fB\-\-no\-recode]\
+ [\fB\-\-no\-truncate]\
+ [\fIDEBUG\-OPTIONS\fR]\
+ [\fICONFIG\-OPTIONS\fR]\
+ [\fIINBOX\fR [\fIOUTBOX\fR]]
+.PP
+\fBcommand\fR \fIINFORMATIONAL\-OPTIONS\fR
+.ad
+.hy
+.SH DESCRIPTION
+The \fBdecodemail\fR utility is a filter program that reads
+messages from the input mailbox, decodes \fItextual\fR parts of each
+multipart message to 8-bit or 7-bit transfer encoding and stores the
+processed messages in the output mailbox. Non-multipart messages as
+well as message parts that cannot be decoded are transferred to the
+output mailbox verbatim.
+.PP
+A message part is considered \fItextual\fR if its \fBContent\-Type\fR
+header matches one of the predefined content type patterns. The list
+of such patterns is configurable.
+.PP
+The
+.I INBOX
+and
+.I OUTBOX
+arguments are file names or URLs of the input and output mailboxes,
+correspondingly. The input mailbox is opened read-only and will not
+be modified in any way. In particular, the status of the processed
+messages will not change. If the output mailbox does not exist, it
+will be created. If it exists, the messages will be appended to it,
+preserving any original messages that are already in it.
+.PP
+Both arguments can be omitted. If \fIOUTBOX\fR is not supplied, the
+resulting mailbox will be printed on the standard output in Unix
+\fImbox\fR format. If \fIINBOX\fR is not supplied, the utility will
+open the system inbox for the current user and use it for input.
+.SH OPTIONS
+.TP
+\fB\-c\fR, \fB\-\-charset=\fICHARSET\fR
+Convert all textual parts from their original character set to the
+specified charset.
+.TP
+\fB\-R\fR, \fB\-\-recode\fR
+Convert all textual parts from their original character set to the
+current character set, as specified by the \fBLC_ALL\fR or \fBLANG\fR
+environment variable.
+.TP
+\fB\-\-no\-recode\fR
+Do not recode character sets. This is the default.
+.TP
+\fB\-t\fR, \fB\-\-truncate\fR
+If the output mailbox exists, truncate it before appending new
+messages.
+.TP
+\fB\-\-no\-truncate\fR
+Keep the existing messages in the output mailbox intact. This is the
+default.
+.TP
+\fIDEBUG\-OPTIONS\fR, \fICONFIG\-OPTIONS\fR, \fIINFORMATIONAL-OPTIONS\fR
+See
+.BR mailutils\-command (1).
+.SH CONTENT TYPE PATTERNS
+Each element in the list of textual content types is a
+.BR glob (7)
+pattern that will be matched agains the actual content type and
+subtype. Each pattern has the form
+.sp
+.nf
+.IB type / subtype
+.fi
+.sp
+with the slash (\fB/\fR) delimiting the two parts. E.g.:
+.sp
+.nf
+ text/*
+.fi
+.PP
+The parser for the \fBContent\-Type\fR header is pretty
+tolerant and allows, in particular, for missing subtypes. To match
+such (obsolete) content types, omit the \fB/\fIsubtype\fR part from
+the pattern.
+.PP
+The default list of textual content type patterns is as follows:
+.sp
+.nf
+ text/*
+ application/*shell
+ application/shellscript
+ */x-csrc
+ */x-csource
+ */x-diff
+ */x-patch
+ */x-perl
+ */x-php
+ */x-python
+ */x-sh
+.fi
+.PP
+You can add new items to that list using the \fBmime.text\-type\fR
+configuration statement. E.g., in your
+.B ~/.decodemail
+file:
+.sp
+.nf
+mime {
+ text-type */x-ps;
+}
+.fi
+.PP
+See
+.BR mailutils-config (5),
+for details about the mailutils configuration files, and the following
+chapter for configuration statements specific for \fBdecodemail\fR.
+.SH CONFIGURATION
+The following common configuration statements affect the behavior of
+\fBdecodemail\fR:
+.sp
+.nf
+.I mime
+.I debug
+.I mailbox
+.I locking
+.fi
+.PP
+See
+.BR mailutils\-config (5)
+for a detailed discussion of these.
+.SH "SEE ALSO"
+.BR mailutils\-command (1),
+.BR mailutils\-config (5).
+.SH NOTES
+This manpage is a short description of a program from GNU mailutils.
+For a detailed discussion of GNU mailutils and its components,
+including examples and usage recommendations, refer to the
+\fBGNU Mailutils Manual\fR available in texinfo format. If the \fBinfo\fR
+reader and \fBGNU mailutils\fR documentation are properly installed on your
+system, the command
+.PP
+.RS +4
+.B info mailutils
+.RE
+.PP
+should give you access to the complete manual. Similarly, the command
+.PP
+.RS +4
+.B info decodemail
+.RE
+.PP
+will bring you the documentation about this program.
+.PP
+You can also view the manual using the info mode in
+.BR emacs (1),
+or find it in various formats online at
+.PP
+.RS +4
+.B https://www.gnu.org/software/mailutils/manual
+.RE
+.PP
+Additional documentation about GNU mailutils can be found at
+.PP
+.RS +4
+.B https://mailutils.org/wiki
+.RE
+.PP
+Should any discrepancies occur between this manpage and the
+\fBGNU Mailutils Manual\fR, the later shall be considered the authoritative
+source.
+.SH "BUG REPORTS"
+Report bugs to <bug\-mailutils@gnu.org>.
+.SH COPYRIGHT
+Copyright \(co 1999-2020 Free Software Foundation, Inc.
+.br
+.na
+License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
+.br
+.ad
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law.
+.\" Local variables:
+.\" eval: (add-hook 'write-file-hooks 'time-stamp)
+.\" time-stamp-start: ".TH [A-Z_][A-Z0-9_.\\-]* [0-9] \""
+.\" time-stamp-format: "%:B %:d, %:y"
+.\" time-stamp-end: "\""
+.\" time-stamp-line-limit: 20
+.\" end:
+
diff --git a/doc/man/template.1 b/doc/man/template.1
new file mode 100644
index 0000000..2b1decc
--- a/dev/null
+++ b/doc/man/template.1
@@ -0,0 +1,82 @@
+.\" GNU Mailutils -- a suite of utilities for electronic mail
+.\" Copyright (C) 1999-2020 Free Software Foundation, Inc.
+.\"
+.\" GNU Mailutils is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 3, or (at your option)
+.\" any later version.
+.\"
+.\" GNU Mailutils is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>.
+.TH COMMAND 1 "August 3, 2020" "MAILUTILS" "Mailutilst User Reference"
+.SH NAME
+command \-
+.SH SYNOPSIS
+.nh
+.na
+\fBcommand\fR \fB\-\-OPTION\fR...
+.PP
+\fBcommand\fR \fB\-\-help\fR
+.ad
+.hy
+.SH DESCRIPTION
+.SH OPTIONS
+.SH "SEE ALSO"
+.SH "SEE ALSO"
+.BR mailutils\-command (1),
+.BR mailutils\-config (5).
+.SH NOTES
+This manpage is a short description of a program from GNU mailutils.
+For a detailed discussion of GNU mailutils and its components,
+including examples and usage recommendations, refer to the
+\fBGNU Mailutils Manual\fR available in texinfo format. If the \fBinfo\fR
+reader and \fBGNU mailutils\fR documentation are properly installed on your
+system, the command
+.PP
+.RS +4
+.B info mailutils
+.RE
+.PP
+should give you access to the complete manual.
+.PP
+You can also view the manual using the info mode in
+.BR emacs (1),
+or find it in various formats online at
+.PP
+.RS +4
+.B https://www.gnu.org/software/mailutils/manual
+.RE
+.PP
+Additional documentation about GNU mailutils can be found at
+.PP
+.RS +4
+.B https://mailutils.org/wiki
+.RE
+.PP
+Should any discrepancies occur between this manpage and the
+\fBGNU Mailutils Manual\fR, the later shall be considered the authoritative
+source.
+.SH "BUG REPORTS"
+Report bugs to <bug\-mailutils@gnu.org>.
+.SH COPYRIGHT
+Copyright \(co 1999-2020 Free Software Foundation, Inc.
+.br
+.na
+License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
+.br
+.ad
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law.
+.\" Local variables:
+.\" eval: (add-hook 'write-file-hooks 'time-stamp)
+.\" time-stamp-start: ".TH [A-Z_][A-Z0-9_.\\-]* [0-9] \""
+.\" time-stamp-format: "%:B %:d, %:y"
+.\" time-stamp-end: "\""
+.\" time-stamp-line-limit: 20
+.\" end:
+
diff --git a/doc/texinfo/COPYING.DOC b/doc/texinfo/COPYING.DOC
index 854849c..c2ab091 100644
--- a/doc/texinfo/COPYING.DOC
+++ b/doc/texinfo/COPYING.DOC
@@ -2,7 +2,7 @@
Version 1.2, November 2002
- Copyright (C) 2000-2019 Free Software Foundation, Inc.
+ Copyright (C) 2000-2020 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
diff --git a/doc/texinfo/Makefile.am b/doc/texinfo/Makefile.am
index 95438eb..b168866 100644
--- a/doc/texinfo/Makefile.am
+++ b/doc/texinfo/Makefile.am
@@ -1,5 +1,5 @@
## This file is part of GNU Mailutils.
-## Copyright (C) 2001-2019 Free Software Foundation, Inc.
+## Copyright (C) 2001-2020 Free Software Foundation, Inc.
##
## GNU Mailutils is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License as
@@ -29,6 +29,7 @@ mailutils_TEXINFOS = \
$(programs_TEXINFOS)
programs_TEXINFOS = \
+ programs/decodemail.texi\
programs/frm.texi\
programs/mail.texi\
programs/messages.texi\
diff --git a/doc/texinfo/address.texi b/doc/texinfo/address.texi
index 26862b7..ecd27f3 100644
--- a/doc/texinfo/address.texi
+++ b/doc/texinfo/address.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/attribute.texi b/doc/texinfo/attribute.texi
index 87a2d6f..014930a 100644
--- a/doc/texinfo/attribute.texi
+++ b/doc/texinfo/attribute.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/auth.texi b/doc/texinfo/auth.texi
index 7356099..de9620b 100644
--- a/doc/texinfo/auth.texi
+++ b/doc/texinfo/auth.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/body.texi b/doc/texinfo/body.texi
index a372270..43ae963 100644
--- a/doc/texinfo/body.texi
+++ b/doc/texinfo/body.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/c-api.texi b/doc/texinfo/c-api.texi
index 79952f4..2b96753 100644
--- a/doc/texinfo/c-api.texi
+++ b/doc/texinfo/c-api.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/encoding.texi b/doc/texinfo/encoding.texi
index 48d029a..cf4910c 100644
--- a/doc/texinfo/encoding.texi
+++ b/doc/texinfo/encoding.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/envelope.texi b/doc/texinfo/envelope.texi
index 9ce0c6f..944e75e 100644
--- a/doc/texinfo/envelope.texi
+++ b/doc/texinfo/envelope.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/fdl.texi b/doc/texinfo/fdl.texi
index a2cb12d..dc1c2c7 100644
--- a/doc/texinfo/fdl.texi
+++ b/doc/texinfo/fdl.texi
@@ -2,7 +2,7 @@
@center Version 1.2, November 2002
@display
-Copyright @copyright{} 2000-2019 Free Software Foundation, Inc.
+Copyright @copyright{} 2000-2020 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies
diff --git a/doc/texinfo/folder.texi b/doc/texinfo/folder.texi
index 661e1ac..e0adf0a 100644
--- a/doc/texinfo/folder.texi
+++ b/doc/texinfo/folder.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/framework.texi b/doc/texinfo/framework.texi
index ac0b1c7..a223152 100644
--- a/doc/texinfo/framework.texi
+++ b/doc/texinfo/framework.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/gendocs.sh b/doc/texinfo/gendocs.sh
index e2c6a8f..b72716e 100755
--- a/doc/texinfo/gendocs.sh
+++ b/doc/texinfo/gendocs.sh
@@ -4,7 +4,7 @@
scriptversion=2015-03-02.18
-# Copyright 2003-2019 Free Software Foundation, Inc.
+# Copyright 2003-2020 Free Software Foundation, Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/doc/texinfo/getdate.texi b/doc/texinfo/getdate.texi
index 4746e9f..3f25aa3 100644
--- a/doc/texinfo/getdate.texi
+++ b/doc/texinfo/getdate.texi
@@ -1,6 +1,6 @@
@c GNU date syntax documentation
-@c Copyright (C) 1994-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1994-2020 Free Software Foundation, Inc.
@c Permission is granted to copy, distribute and/or modify this document
@c under the terms of the GNU Free Documentation License, Version 1.2 or
diff --git a/doc/texinfo/headers.texi b/doc/texinfo/headers.texi
index e4bb8f0..9045934 100644
--- a/doc/texinfo/headers.texi
+++ b/doc/texinfo/headers.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/imap4.texi b/doc/texinfo/imap4.texi
index 5f4ac2d..9f92b16 100644
--- a/doc/texinfo/imap4.texi
+++ b/doc/texinfo/imap4.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/iterator.texi b/doc/texinfo/iterator.texi
index d3bc3e2..52378a3 100644
--- a/doc/texinfo/iterator.texi
+++ b/doc/texinfo/iterator.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/libmu_auth.texi b/doc/texinfo/libmu_auth.texi
index 3d3e471..d9d0a0e 100644
--- a/doc/texinfo/libmu_auth.texi
+++ b/doc/texinfo/libmu_auth.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/libmu_scm.texi b/doc/texinfo/libmu_scm.texi
index 886abab..76981c5 100644
--- a/doc/texinfo/libmu_scm.texi
+++ b/doc/texinfo/libmu_scm.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/libmu_sieve.texi b/doc/texinfo/libmu_sieve.texi
index da060df..441604e 100644
--- a/doc/texinfo/libmu_sieve.texi
+++ b/doc/texinfo/libmu_sieve.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/locker.texi b/doc/texinfo/locker.texi
index b2e7f51..761d4d2 100644
--- a/doc/texinfo/locker.texi
+++ b/doc/texinfo/locker.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/mailbox.texi b/doc/texinfo/mailbox.texi
index c63d8eb..8c9d4ba 100644
--- a/doc/texinfo/mailbox.texi
+++ b/doc/texinfo/mailbox.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/mailcap.texi b/doc/texinfo/mailcap.texi
index d298168..da63118 100644
--- a/doc/texinfo/mailcap.texi
+++ b/doc/texinfo/mailcap.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/maildir.texi b/doc/texinfo/maildir.texi
index e901316..7d809c2 100644
--- a/doc/texinfo/maildir.texi
+++ b/doc/texinfo/maildir.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/mailer.texi b/doc/texinfo/mailer.texi
index 6867698..be8e2df 100644
--- a/doc/texinfo/mailer.texi
+++ b/doc/texinfo/mailer.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/mailutils.texi b/doc/texinfo/mailutils.texi
index f93f233..c499e8d 100644
--- a/doc/texinfo/mailutils.texi
+++ b/doc/texinfo/mailutils.texi
@@ -39,6 +39,7 @@
* movemail: (mailutils) movemail. Move Mail between Mailboxes.
* pop3d: (mailutils) pop3d. POP3 Daemon.
* readmsg: (mailutils) readmsg. Extract Messages from a Folder.
+* decodemail: (mailutils) decodemail. Decode MIME messages.
* sieve: (mailutils) sieve. Mail Filtering Utility.
* mimeview: (mailutils) mimeview. View MIME Messages.
* mailutils: (mailutils) mailutils. Mailutils Multi-Purpose Tool
@@ -50,7 +51,7 @@ Published by the Free Software Foundation,
51 Franklin Street, Fifth Floor
Boston, MA 02110-1301, USA
-Copyright @copyright{} 1999-2019 Free Software Foundation, Inc.
+Copyright @copyright{} 1999-2020 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2 or
@@ -138,7 +139,9 @@ Mailutils Programs
* movemail:: Moves Mail from the User Maildrop to the Local File.
* readmsg:: Extract Messages from a Folder.
+* decodemail:: Decode MIME messages.
* sieve:: Mail Filtering Utility.
+
* guimb:: Mailbox Scanning and Processing Language.
* mda:: Local Mail Delivery Agent.
diff --git a/doc/texinfo/maint.mk b/doc/texinfo/maint.mk
index 1c6a004..72d77fd 100644
--- a/doc/texinfo/maint.mk
+++ b/doc/texinfo/maint.mk
@@ -1,5 +1,5 @@
# GNU Mailutils -- a suite of utilities for electronic mail
-# Copyright (C) 2010-2019 Free Software Foundation, Inc.
+# Copyright (C) 2010-2020 Free Software Foundation, Inc.
#
# This library is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
diff --git a/doc/texinfo/mastermenu.el b/doc/texinfo/mastermenu.el
index a756a11..c3e9513 100644
--- a/doc/texinfo/mastermenu.el
+++ b/doc/texinfo/mastermenu.el
@@ -1,6 +1,6 @@
;;; mastermenu.el --- Redefinition of texinfo-master-menu-list
-;; Copyright (C) 2006-2019 Free Software Foundation, Inc.
+;; Copyright (C) 2006-2020 Free Software Foundation, Inc.
;; Author: Sergey Poznyakoff
;; Maintainer: bug-tar@gnu.org
diff --git a/doc/texinfo/mbox.texi b/doc/texinfo/mbox.texi
index 849a67c..b89c03f 100644
--- a/doc/texinfo/mbox.texi
+++ b/doc/texinfo/mbox.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/message.texi b/doc/texinfo/message.texi
index 957bc6e..7b8b321 100644
--- a/doc/texinfo/message.texi
+++ b/doc/texinfo/message.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/mh.texi b/doc/texinfo/mh.texi
index 9199c8c..8c2181a 100644
--- a/doc/texinfo/mh.texi
+++ b/doc/texinfo/mh.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/mime.texi b/doc/texinfo/mime.texi
index 6863a5f..abb9c3b 100644
--- a/doc/texinfo/mime.texi
+++ b/doc/texinfo/mime.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/mu-mh.texi b/doc/texinfo/mu-mh.texi
index c9d10cd..840ddc3 100644
--- a/doc/texinfo/mu-mh.texi
+++ b/doc/texinfo/mu-mh.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 2006-2019 Free Software Foundation, Inc.
+@c Copyright (C) 2006-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/muint.texi b/doc/texinfo/muint.texi
index 6954916..b9730d5 100644
--- a/doc/texinfo/muint.texi
+++ b/doc/texinfo/muint.texi
@@ -20,7 +20,7 @@ Published by the Free Software Foundation,
51 Franklin Street, Fifth Floor
Boston, MA 02110-1301, USA
-Copyright @copyright{} 2003-2019 Free Software Foundation, Inc.
+Copyright @copyright{} 2003-2020 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2 or
diff --git a/doc/texinfo/nntp.texi b/doc/texinfo/nntp.texi
deleted file mode 100644
index 72bf281..0000000
--- a/doc/texinfo/nntp.texi
+++ b/dev/null
@@ -1,100 +0,0 @@
-@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
-@c See file mailutils.texi for copying conditions.
-@comment *******************************************************************
-
-@smallexample
-@code{/* Prefix @emph{mu_nntp_} is reserved */}
-@code{#include <mailutils/nntp.h>}
-
-@end smallexample
-
-Network News Transfer Protocol. Not implemented.
-
-@subsection Commands
-
-@subsubsection Initialization
-@cindex NNTP Initialization
-@deftypefun int mu_nntp_create (mu_nntp_t *)
-@end deftypefun
-
-@deftypefun int mu_nntp_destroy (mu_nntp_t *)
-@end deftypefun
-
-@deftypefun int mu_nntp_open (nnpt_t)
-@end deftypefun
-
-@subsubsection Article
-@cindex NNTP Article
-@deftypefun int mu_nntp_article (nnpt_t)
-@end deftypefun
-
-@subsubsection Body
-@cindex NNTP Body
-@deftypefun int mu_nntp_body (mu_nntp_t)
-@end deftypefun
-
-@subsubsection Group
-@cindex NNTP Group
-@deftypefun int mu_nntp_group (mu_nntp_t)
-@end deftypefun
-
-@subsubsection Head
-@cindex NNTP Head
-@deftypefun int mu_nntp_head (mu_nntp_t)
-@end deftypefun
-
-@subsubsection Help
-@cindex NNTP Help
-@deftypefun int mu_nntp_help (mu_nntp_t)
-@end deftypefun
-
-@subsubsection IHave
-@cindex NNTP IHave
-@deftypefun int mu_nntp_ihave (mu_nntp_t)
-@end deftypefun
-
-@subsubsection Last
-@cindex NNTP Last
-@deftypefun int mu_nntp_last (mu_nntp_t)
-@end deftypefun
-
-@subsubsection List
-@cindex NNTP List
-@deftypefun int mu_nntp_list (mu_nntp_t)
-@end deftypefun
-
-@subsubsection NewGroups
-@cindex NNTP NewGroups
-@deftypefun int mu_nntp_newgroups (mu_nntp_t)
-@end deftypefun
-
-@subsubsection NewNews
-@cindex NNTP NewNews
-@deftypefun int mu_nntp_newnews (mu_nntp_t)
-@end deftypefun
-
-@subsubsection Next
-@cindex NNTP Next
-@deftypefun int mu_nntp_next (mu_nntp_t)
-@end deftypefun
-
-@subsubsection Post
-@cindex NNTP Post
-@deftypefun int mu_nntp_post (mu_nntp_t)
-@end deftypefun
-
-@subsubsection Quit
-@cindex NNTP Quit
-@deftypefun int mu_nntp_quit (mu_nntp_t)
-@end deftypefun
-
-@subsubsection Slave
-@cindex NNTP Slave
-@deftypefun int mu_nntp_slave (mu_nntp_t)
-@end deftypefun
-
-@subsubsection Stat
-@cindex NNTP Stat
-@deftypefun int mu_nntp_stat (mu_nntp_t)
-@end deftypefun
diff --git a/doc/texinfo/nullstream.texi b/doc/texinfo/nullstream.texi
index b9fd60f..934c7f8 100644
--- a/doc/texinfo/nullstream.texi
+++ b/doc/texinfo/nullstream.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 2010-2019 Free Software Foundation, Inc.
+@c Copyright (C) 2010-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@c *******************************************************************
diff --git a/doc/texinfo/parse822.texi b/doc/texinfo/parse822.texi
index 37d0fac..e2f4a49 100644
--- a/doc/texinfo/parse822.texi
+++ b/doc/texinfo/parse822.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/programs.texi b/doc/texinfo/programs.texi
index f2de687..56a8487 100644
--- a/doc/texinfo/programs.texi
+++ b/doc/texinfo/programs.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
@@ -28,6 +28,7 @@ syntax.
* messages:: Count the Number of Messages in a Mailbox.
* movemail:: Moves Mail from the User Maildrop to the Local File.
* readmsg:: Extract Messages from a Folder.
+* decodemail:: Decode multipart messages.
* sieve:: Mail Filtering Utility.
* guimb:: Mailbox Scanning and Processing Language.
@@ -407,6 +408,7 @@ configuration files.
* logging statement::
* debug statement::
* mailbox statement::
+* mime statement::
* locking statement::
* mailer statement::
* acl statement::
@@ -1223,6 +1225,54 @@ The @var{dir} argument can contain mailbox type prefix, e.g
The default folder name is @samp{Mail/}.
@end deffn
+@node mime statement
+@subsection The @command{mime} Statement
+@kwindex mime
+@subheading Syntax
+@example
+@group
+mime @{
+ # Define additional textual mime types.
+ text-type PATTERN;
+ # or
+ text-type ( PATTERN-LIST );
+@}
+@end group
+@end example
+
+@subheading Description
+The @code{mime} compound statement is used by utilities that process
+MIME messages, in particular @command{mail}, @command{readmsg}, and
+@command{decodemail}. As of mailutils version @value{VERSION} it
+contains only one statement:
+
+@deffn {Configuration} text-type @var{pattern}
+@deffnx {Configuration} text-type ( @var{pattern-list} )
+Defines additional patterns for recognition of textual message parts.
+The @var{pattern} is a shell globbing pattern that will be compared
+against the @samp{Content-Type} header of a MIME message part in order
+to determine whether it can be treated as a text part. In second
+form, @var{pattern-list} is a comma-separated list of such patterns.
+
+In both forms, the new patterns are appended to the built-in textual
+pattern list, which contains:
+
+@itemize @bullet
+@item text/*
+@item application/*shell
+@item application/shellscript
+@item */x-csrc
+@item */x-csource
+@item */x-diff
+@item */x-patch
+@item */x-perl
+@item */x-php
+@item */x-python
+@item */x-sh
+@end itemize
+
+@end deffn
+
@node locking statement
@subsection The @command{locking} Statement
@anchor{Locking Statement}
@@ -2069,7 +2119,7 @@ The @code{radius} block statement configures @acronym{RADIUS
authentication} and authorization.
Mailutils uses GNU Radius library, which is configured via
-@file{raddb/client.conf} file (@pxref{client.conf, Client Configuration,
+@file{raddb/client.conf} file (@pxref{client, Client Configuration,
Client Configuration, radius, GNU Radius Reference Manual}). Its exact
location depends on configuration settings that were used while
compiling GNU Radius. Usually it is @file{/usr/local/etc}, or
@@ -2835,7 +2885,7 @@ extremely copious and reveals sender private and security-sensitive
data. If you wish to trace SMTP session flow, use @samp{mailer.=prot}
or at least @samp{mailer.prot,!trace6}.
-@item serve
+@item server
This category provides debugging information for Mailutils IP
server objects. It supports the @samp{error} and @samp{trace0} levels.
@@ -2881,6 +2931,11 @@ Show payload information
@section @command{readmsg} --- Extract Messages from a Folder
@include programs/readmsg.texi
+@page
+@node decodemail
+@section @command{decodemail} -- Decode multipart messages
+@include programs/decodemail.texi
+
@node sieve
@section @command{sieve}
@include programs/sieve.texi
diff --git a/doc/texinfo/programs/comsatd.texi b/doc/texinfo/programs/comsatd.texi
index 07fa516..e256b06 100644
--- a/doc/texinfo/programs/comsatd.texi
+++ b/doc/texinfo/programs/comsatd.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
@pindex comsatd
diff --git a/doc/texinfo/programs/decodemail.texi b/doc/texinfo/programs/decodemail.texi
new file mode 100644
index 0000000..0267124
--- a/dev/null
+++ b/doc/texinfo/programs/decodemail.texi
@@ -0,0 +1,227 @@
+@c This is part of the GNU Mailutils manual.
+@c Copyright (C) 2020 Free Software Foundation, Inc.
+@c See file mailutils.texi for copying conditions.
+@comment *******************************************************************
+@pindex decodemail
+
+The @command{decodemail} utility is a filter program that reads
+messages from the input mailbox, decodes ``textual'' parts of each
+multipart message from a base64- or quoted-printable encoding to an
+8-bit or 7-bit transfer encoding, and stores the processed messages in
+the output mailbox. All messages from the input mailbox are stored in
+the output, regardless of whether a change was made.
+
+The message parts deemed to be textual are those whose
+@samp{Content-Type} header matches a predefined, or user-defined,
+mime type pattern. In addition, encoded pieces of the @samp{From:},
+@samp{To:}, @samp{Subject:}, etc., headers are decoded.
+
+For example, @command{decodemail} makes this transformation:
+
+@example
+Subject: =?utf-8?Q?The=20Baroque=20Enquirer=20|=20July=202020?=
+@result{} Subject: The Baroque Enquirer | July 2020
+@end example
+
+The built-in list of textual content type patterns is:
+
+@example
+text/*
+application/*shell
+application/shellscript
+*/x-csrc
+*/x-csource
+*/x-diff
+*/x-patch
+*/x-perl
+*/x-php
+*/x-python
+*/x-sh
+@end example
+
+These strings are matched as shell globbing patterns
+(@pxref{glob,,,glob(7), glob(7) manual page}).
+
+More patterns can be added to this list using the
+@code{mime.text-type} configuration statement.
+@xref{mime statement}, for a detailed discussion, and the
+configuration section below for a simple example.
+
+When processing old mesages you may encounter @samp{Content-Type}
+headers whose value contains only type, but no subtype. To match
+such headers, use the pattern without @samp{/whatever} part. E.g.
+@samp{text/*} matches @samp{text/plain} and @samp{text/html}, but
+does not match @samp{text}. On the other hand, @samp{t*xt} does
+not match @samp{text/plain}, but does match @samp{text}.
+
+Optionally, the decoded parts can be converted to another character
+set. By default, the character set is not changed.
+
+@menu
+* Opt-decodemail:: Invocation of @command{decodemail}.
+* Conf-decodemail:: Configuration of @command{decodemail}.
+* Using-decodemail:: Purpose and caveats of @command{decodemail}.
+@end menu
+
+@node Opt-decodemail
+@subsection Invocation of @command{decodemail}.
+
+Usually, the utility is invoked as:
+
+@example
+decodemail @var{inbox} @var{outbox}
+@end example
+
+@noindent
+where @var{inbox} and @var{outbox} are file names or URLs of the input
+and output mailboxes, correspondingly. The input mailbox is opened
+read-only and will not be modified in any way. In particular, the
+status of the processed messages will not change. If the output
+mailbox does not exist, it will be created. If it exists, the
+messages will be appended to it, preserving any original messages that
+are already in it. This behavior can be changed using the @option{-t}
+(@option{--truncate}) option, described below.
+
+The two mailboxes can be of different types. For example you can read
+input from an imap server and store it in local @samp{maildir} box
+using the following command:
+
+@example
+decodemail imap://user@@example.com maildir:///var/mail/user
+@end example
+
+Both arguments can be omitted. If @var{outbox} is not supplied, the
+resulting mailbox will be printed on the standard output in Unix
+@samp{mbox} format. If @var{inbox} is not supplied, the utility will
+open the system inbox for the current user and use it for input.
+
+A consequence of these rules is that there is no simple way to read
+the input mailbox from standard input (the input must be seekable).
+If you need to do this, the normal procedure would be to save what
+would be standard input in a temporary file and then give that file as
+@command{decodemail}'s input.
+
+The following command line options modify the @command{decodemail}
+behavior:
+
+@table @option
+@item -c, --charset=@var{charset}
+Convert all textual parts from their original character set to the
+specified @var{charset}.
+
+@item -R, --recode
+Convert all textual parts from their original character set to the
+current character set, as specified by the @env{LC_ALL} or @env{LANG}
+environment variable.
+
+@item --no-recode
+Do not convert character sets. This is the default.
+
+@item -t, --truncate
+If the output mailbox exists, truncate it before appending new
+messages.
+
+@item --no-truncate
+Keep the existing messages in the output mailbox intact. This is the
+default.
+@end table
+
+Additionally, the @ref{Common Options} are also understood.
+
+@node Conf-decodemail
+@subsection Configuration of @command{decodemail}.
+
+The following common configuration statements affect the behavior of
+@command{decodemail}:
+
+@multitable @columnfractions 0.3 0.6
+@headitem Statement @tab Reference
+@item mime @tab @xref{mime statement}.
+@item debug @tab @xref{Debug Statement}.
+@item mailbox @tab @xref{Mailbox Statement}.
+@item locking @tab @xref{Locking Statement}.
+@end multitable
+
+Notably, the @code{mime} statement can be used to extend the list of
+types which are decoded. For example, in the file @file{~/.decodemail}
+(other locations are possible, @pxref{configuration}), you could have:
+
+@example
+# base64/qp decode these mime types also:
+mime @{
+ text-type "application/x-bibtex";
+ text-type "application/x-tex";
+@}
+@end example
+
+Since the list of textual mime types is open-ended, with new types being
+used at any time, we do not attempt to make the built-in list
+comprehensive.
+
+@node Using-decodemail
+@subsection Purpose and caveats of @command{decodemail}.
+
+The principal use envisioned for this program is to decode messages in
+batch, after they are received.
+
+Unfortunately, some mailers prefer to encode messages in their
+entirety in base64 (or quoted-printable), even when the content is
+entirely human-readable text. This makes straightforward use of
+@command{grep} or other standard commands impossible. The idea is for
+@command{decodemail} to rectify that, by making the message text
+readable again.
+
+Besides personal mail, mailing list archives are another place where
+such decoding can be useful, as they are often searched with standard
+tools.
+
+It is generally not recommended to run @command{decodemail} within a
+mail reader (which should be able to do the decoding itself), or
+directly in a terminal (since quite possibly there will be 8-bit
+output not in the current character set).
+
+Although the output message from @command{decodemail} should be
+entirely equivalent to the input message, apart from the decoding, it
+is generally not identical. Because @command{decodemail} parses the
+input message and reconstructs it for output, there are usually small
+differences:
+
+@itemize
+@item In the envelope @samp{From } line, multiple spaces are collapsed
+to one.
+
+@item A @samp{Content-Transfer-Encoding:} header may be added where
+not previously present, or its value changed from @samp{8bit} to
+@samp{7bit}, or vice versa. This may happen both for the message as a
+whole, and for a given mime part. @command{decodemail} looks at the
+actual content of the text and outputs
+@samp{Content-Transfer-Encoding:} accordingly.
+
+@item A trailing space is inserted when a long header line is broken
+to occupy several lines (@dfn{header wrapping}).
+
+@example
+SomeHeader:
+ someextremelylongvaluethatcannotbebroken
+@end example
+
+@item The non-tracing headers may be reordered, notably those that are
+mime-related.
+
+@item Any material before the first mime part of a mime multipart
+message is lost. By the standards, nothing should appear
+there. Typically if it does appear, it is a string such as @samp{This
+is a multi-part message in MIME format.}.
+
+@item In mime parts, the charset specifications may no longer be
+quoted (if quoting is not necessary). For example,
+@samp{charset="utf-8"} becomes @samp{charset=utf-8}.
+
+@item The mime boundary strings will be changed.
+
+@end itemize
+
+If a discrepancy is created which actually affects message parsing or
+reading, that's most likely a bug, and please report it. Naturally,
+please send an exact input message to reproduce the problem.
+
diff --git a/doc/texinfo/programs/frm.texi b/doc/texinfo/programs/frm.texi
index 98e3511..d03b853 100644
--- a/doc/texinfo/programs/frm.texi
+++ b/doc/texinfo/programs/frm.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
@UNREVISED
diff --git a/doc/texinfo/programs/guimb.texi b/doc/texinfo/programs/guimb.texi
index 6d04610..ca8de0b 100644
--- a/doc/texinfo/programs/guimb.texi
+++ b/doc/texinfo/programs/guimb.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
@pindex guimb
diff --git a/doc/texinfo/programs/imap4d.texi b/doc/texinfo/programs/imap4d.texi
index 119e8d7..4321732 100644
--- a/doc/texinfo/programs/imap4d.texi
+++ b/doc/texinfo/programs/imap4d.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
@pindex imap4d
diff --git a/doc/texinfo/programs/lmtpd.texi b/doc/texinfo/programs/lmtpd.texi
index e0212db..bfe1607 100644
--- a/doc/texinfo/programs/lmtpd.texi
+++ b/doc/texinfo/programs/lmtpd.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
@pindex lmtpd
diff --git a/doc/texinfo/programs/mail.texi b/doc/texinfo/programs/mail.texi
index 471bd18..11c648b 100644
--- a/doc/texinfo/programs/mail.texi
+++ b/doc/texinfo/programs/mail.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
@pindex mail
diff --git a/doc/texinfo/programs/mailutils.texi b/doc/texinfo/programs/mailutils.texi
index 43d4b40..d4769b8 100644
--- a/doc/texinfo/programs/mailutils.texi
+++ b/doc/texinfo/programs/mailutils.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
@pindex mailutils
@@ -187,8 +187,6 @@ Link in the Maildir format support.
Link in the IMAP protocol support.
@item pop
Link in the POP protocol support.
-@item nntp
-Link in the NNTP protocol support.
@item mailer
Enable support for mailers.
@item sieve
diff --git a/doc/texinfo/programs/mda.texi b/doc/texinfo/programs/mda.texi
index acce830..6bc007b 100644
--- a/doc/texinfo/programs/mda.texi
+++ b/doc/texinfo/programs/mda.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
@pindex mda
diff --git a/doc/texinfo/programs/messages.texi b/doc/texinfo/programs/messages.texi
index 686f2b2..490023c 100644
--- a/doc/texinfo/programs/messages.texi
+++ b/doc/texinfo/programs/messages.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
@pindex messages
diff --git a/doc/texinfo/programs/mimeview.texi b/doc/texinfo/programs/mimeview.texi
index 3ae4aba..518af4d 100644
--- a/doc/texinfo/programs/mimeview.texi
+++ b/doc/texinfo/programs/mimeview.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
@pindex mimeview
diff --git a/doc/texinfo/programs/movemail.texi b/doc/texinfo/programs/movemail.texi
index e3e65b3..7c950da 100644
--- a/doc/texinfo/programs/movemail.texi
+++ b/doc/texinfo/programs/movemail.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
@pindex movemail
diff --git a/doc/texinfo/programs/pop3d.texi b/doc/texinfo/programs/pop3d.texi
index b508bf5..572c78a 100644
--- a/doc/texinfo/programs/pop3d.texi
+++ b/doc/texinfo/programs/pop3d.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
@pindex pop3d
diff --git a/doc/texinfo/programs/putmail.texi b/doc/texinfo/programs/putmail.texi
index 9c6a024..4bb01ae 100644
--- a/doc/texinfo/programs/putmail.texi
+++ b/doc/texinfo/programs/putmail.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
@pindex putmail
diff --git a/doc/texinfo/programs/readmsg.texi b/doc/texinfo/programs/readmsg.texi
index b216d68..0cbb799 100644
--- a/doc/texinfo/programs/readmsg.texi
+++ b/doc/texinfo/programs/readmsg.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
@pindex readmsg
@@ -13,27 +13,47 @@ criteria are:
@item
A list of message numbers may be specified. Values
-of @samp{0} and @samp{$} in the list both mean the last
+of @samp{0} and @samp{$} in the list both mean the last
message in the mailbox. For example:
+
@example
readmsg 1 3 0
@end example
+
+@noindent
extracts three messages from the folder: the first, the third, and the last.
@item
Finally, the selection may be some text to match. This will select a mail
message which exactly matches the specified text. For example,
+
@example
readmsg staff meeting
@end example
+
+@noindent
extracts the message which contains the words @samp{staff meeting}.
Note that it will not match a message containing @samp{Staff Meeting}
--- the matching is case sensitive. Normally only the first message
-which matches the pattern is printed.
+-- the matching is case sensitive by default. This can changed using
+the @option{-i} (@option{--ignorecase}) option. Two more options are
+provided to control the matching algorithm: the @option{-g}
+(@option{--glob}) option instructs @command{readmsg} to treat
+arguments as shell globbing patterns and the @option{-r}
+(@option{--regex}) option instructs it to treat them as POSIX extended
+regular expressions. Needless to say, when using any of the two latter
+options, you should pay attention to escape the matching pattern to
+prevent it from being interpreted by the shell. E.g.:
+
+@example
+readmsg --regex 'staff.*meeting'
+@end example
@end enumerate
-Unless one of the informational options is used, at least one command
-line argument must be present. Informational options are:
+Unless requested otherwise, only the first message that matches the
+pattern is printed.
+
+At least one command line argument or one informational option must be
+present in @command{readmsg} invocation. Informational options are:
@option{--help} (@option{-?}), @option{--usage}, and
@option{--version} (@option{-V}).
@@ -48,21 +68,49 @@ line argument must be present. Informational options are:
@table @option
@item -a
@itemx --show-all
-If a pattern is use for selection show all messages that match pattern
+If a pattern is used for selection, show all messages that match pattern
by default only the first one is presented.
@item -d
@itemx --debug
Display mailbox debugging information.
+@item -e
+@itemx --exact
+Look for messages containing exactly the words given as arguments.
+This is the default. Other options changing this behavior are:
+@option{--glob}, @option{--regex}, and @option{--ignorecase}.
+
@item -f @var{mailbox}
@itemx --folder=@var{mailbox}
Specified the default mailbox.
+@item -g
+@itemx --glob
+Treat non-option arguments as shell globbing patterns. For example,
+to select the first message with words @samp{morning} and
+@samp{coffee} with anything bewteen them:
+
+@example
+readmsg --glob 'morning*coffee'
+@end example
+
+@noindent
+(notice quoting, which prevents the shell from interpreting the
+@samp{*} prematurely).
+
@item -h
@itemx --header
Show the entire header and ignore the weedlist.
+@item -i
+@itemx --ignorecase
+Ignore the case of letters when looking for matching messages. E.g.:
+
+@example
+readmsg --glob --ignorecase 'morning*coffee'
+@end example
+
@item -n
@itemx --no-header
Do not print the message header.
@@ -71,6 +119,10 @@ Do not print the message header.
@itemx --form-feed
Put form-feed (Control-L) between messages instead of newline.
+@item -r
+@itemx --regex
+Treat non-option arguments as POSIX extended regular expressions.
+
@anchor{weedlist option}
@item -w @var{weedlist}
@itemx --weedlist=@var{weedlist}
diff --git a/doc/texinfo/programs/sieve.texi b/doc/texinfo/programs/sieve.texi
index 0d8e2bf..8a790ff 100644
--- a/doc/texinfo/programs/sieve.texi
+++ b/doc/texinfo/programs/sieve.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
@pindex sieve
diff --git a/doc/texinfo/sendmail.texi b/doc/texinfo/sendmail.texi
index 1dc1f5f..0371de7 100644
--- a/doc/texinfo/sendmail.texi
+++ b/doc/texinfo/sendmail.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/sieve.texi b/doc/texinfo/sieve.texi
index 57f5980..bfbef83 100644
--- a/doc/texinfo/sieve.texi
+++ b/doc/texinfo/sieve.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
@@ -1889,7 +1889,7 @@ This is an example loadable extension. @ref{External Tests, numaddr}.
The @code{editheader} extension complies with @cite{RFC 5293}. It
provides the following actions:
-@deftypefn Action {} addheader [:last] @var{field-name}(string) @var{value}(string
+@deftypefn Action {} addheader [:last] @var{field-name}(string) @var{value}(string)
Adds a header field to the existing message header. By default the
header is inserted at the beginning of the header list. If the tag
@code{:last} is specified, it is appended at the end.
diff --git a/doc/texinfo/smtp.texi b/doc/texinfo/smtp.texi
index 90e33f8..6db498a 100644
--- a/doc/texinfo/smtp.texi
+++ b/doc/texinfo/smtp.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/stream.texi b/doc/texinfo/stream.texi
index 797f56c..8f7a9bf 100644
--- a/doc/texinfo/stream.texi
+++ b/doc/texinfo/stream.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/strftime.texi b/doc/texinfo/strftime.texi
index aa86df1..1d65c64 100644
--- a/doc/texinfo/strftime.texi
+++ b/doc/texinfo/strftime.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 2018-2019 Free Software Foundation, Inc.
+@c Copyright (C) 2018-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@c *******************************************************************
diff --git a/doc/texinfo/url.texi b/doc/texinfo/url.texi
index a26ad6a..c743dcd 100644
--- a/doc/texinfo/url.texi
+++ b/doc/texinfo/url.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/doc/texinfo/usage.texi b/doc/texinfo/usage.texi
index 337cef3..cc000b0 100644
--- a/doc/texinfo/usage.texi
+++ b/doc/texinfo/usage.texi
@@ -1,5 +1,5 @@
@c This is part of the GNU Mailutils manual.
-@c Copyright (C) 1999-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1999-2020 Free Software Foundation, Inc.
@c See file mailutils.texi for copying conditions.
@comment *******************************************************************
diff --git a/dotlock/Makefile.am b/dotlock/Makefile.am
index 3e121fa..8995a2f 100644
--- a/dotlock/Makefile.am
+++ b/dotlock/Makefile.am
@@ -1,5 +1,5 @@
## This file is part of GNU Mailutils.
-## Copyright (C) 2002-2019 Free Software Foundation, Inc.
+## Copyright (C) 2002-2020 Free Software Foundation, Inc.
##
## GNU Mailutils is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License as
@@ -14,14 +14,14 @@
## You should have received a copy of the GNU General Public License
## along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>.
-AM_CPPFLAGS = @MU_APP_COMMON_INCLUDES@
+AM_CPPFLAGS = $(MU_APP_COMMON_INCLUDES)
bin_PROGRAMS = dotlock
dotlock_LDADD = \
- ${MU_APP_LIBRARIES}\
- ${MU_LIB_MAILUTILS}\
- @MU_COMMON_LIBRARIES@
+ $(MU_APP_LIBRARIES)\
+ $(MU_LIB_MAILUTILS)\
+ $(MU_COMMON_LIBRARIES)
install-exec-hook:
for i in $(bin_PROGRAMS); do\
diff --git a/dotlock/dotlock.c b/dotlock/dotlock.c
index bcda651..fa9845d 100644
--- a/dotlock/dotlock.c
+++ b/dotlock/dotlock.c
@@ -1,5 +1,5 @@
/* GNU Mailutils -- a suite of utilities for electronic mail
- Copyright (C) 1999-2019 Free Software Foundation, Inc.
+ Copyright (C) 1999-2020 Free Software Foundation, Inc.
GNU Mailutils is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
diff --git a/examples/.gitignore b/examples/.gitignore
index faf9e43..c5a7849 100644
--- a/examples/.gitignore
+++ b/examples/.gitignore
@@ -25,7 +25,6 @@ mucat
muemail
murun
musocio
-nntpclient
sa
sfrom
url-parse
diff --git a/examples/Makefile.am b/examples/Makefile.am
index 54e92f7..8e46b56 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -1,5 +1,5 @@
## This file is part of GNU Mailutils.
-## Copyright (C) 2002-2019 Free Software Foundation, Inc.
+## Copyright (C) 2002-2020 Free Software Foundation, Inc.
##
## GNU Mailutils is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License as
@@ -14,10 +14,6 @@
## You should have received a copy of the GNU General Public License
## along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>.
-if MU_COND_SUPPORT_NNTP
- NNTPCLIENT = nntpclient
-endif
-
if MU_COND_SUPPORT_CXX
CPP_DIR = cpp
endif
@@ -46,87 +42,76 @@ noinst_PROGRAMS = \
muemail\
murun\
musocio\
- $(NNTPCLIENT)\
sa\
sfrom
-EXTRA_PROGRAMS = nntpclient
-
## NOTE: Numaddr must be an installable target, otherwise libtool
## will not create a shared library and `make check' will fail in
## sieve. Pity.
## -Sergey
-moddir=@MU_SIEVE_MODDIR@
+moddir=$(MU_SIEVE_MODDIR)
mod_LTLIBRARIES = numaddr.la
-AM_CPPFLAGS = @MU_LIB_COMMON_INCLUDES@
+AM_CPPFLAGS = $(MU_LIB_COMMON_INCLUDES)
LDADD = \
- ../lib/libmuaux.la\
- ${MU_LIB_MAILUTILS}\
- @MU_COMMON_LIBRARIES@
+ $(MU_APP_LIBRARIES) \
+ $(MU_LIB_MAILUTILS)\
+ $(MU_COMMON_LIBRARIES)
numaddr_la_SOURCES = numaddr.c
-numaddr_la_LIBADD = ${MU_LIB_SIEVE}
+numaddr_la_LIBADD = $(MU_LIB_SIEVE)
numaddr_la_LDFLAGS = -module -avoid-version -no-undefined -rpath '$(moddir)'
msg_send_LDADD =\
- ../lib/libmuaux.la\
- ${MU_LIB_MAILER}\
- @MU_AUTHLIBS@\
- ${MU_LIB_MAILUTILS}
+ $(MU_APP_LIBRARIES) \
+ $(MU_LIB_MAILER)\
+ $(MU_AUTHLIBS)\
+ $(MU_LIB_MAILUTILS)
-mta_CPPFLAGS=@MU_LIB_COMMON_INCLUDES@ -I${top_srcdir}/lib -I${top_builddir}/lib
+mta_CPPFLAGS=$(MU_LIB_COMMON_INCLUDES) -I$(top_srcdir)/lib -I$(top_builddir)/lib
mta_LDADD =\
- ../lib/libmuaux.la\
- ${MU_LIB_MBOX}\
- ${MU_LIB_MAILER}\
- ${MU_LIB_MAILUTILS}
+ $(MU_APP_LIBRARIES) \
+ $(MU_LIB_MBOX)\
+ $(MU_LIB_MAILER)\
+ $(MU_LIB_MAILUTILS)
sfrom_LDADD =\
- ../lib/libmuaux.la\
- ${MU_LIB_MAILBOX}\
- ${MU_LIB_AUTH}\
- @MU_AUTHLIBS@\
- ${MU_LIB_MAILUTILS}
+ $(MU_APP_LIBRARIES) \
+ $(MU_LIB_MAILBOX)\
+ $(MU_LIB_AUTH)\
+ $(MU_AUTHLIBS)\
+ $(MU_LIB_MAILUTILS)
mboxsize_LDADD =\
- ../lib/libmuaux.la\
- ${MU_LIB_MAILBOX}\
- ${MU_LIB_AUTH}\
- @MU_AUTHLIBS@\
- ${MU_LIB_MAILUTILS}
-
-nntpclient_LDADD = \
- ../lib/libmuaux.la\
- ${MU_LIB_NNTP}\
- ${MU_LIB_AUTH}\
- @MU_AUTHLIBS@\
- ${MU_LIB_MAILUTILS}\
- @READLINE_LIBS@
+ $(MU_APP_LIBRARIES) \
+ $(MU_LIB_MAILBOX)\
+ $(MU_LIB_AUTH)\
+ $(MU_AUTHLIBS)\
+ $(MU_LIB_MAILUTILS)
lsf_LDADD = \
- ${MU_LIB_MAILBOX}\
- ${MU_LIB_AUTH}\
- @MU_AUTHLIBS@ \
- ${MU_LIB_MAILUTILS}
+ $(MU_LIB_MAILBOX)\
+ $(MU_LIB_AUTH)\
+ $(MU_AUTHLIBS) \
+ $(MU_LIB_MAILUTILS)
-muauth_CPPFLAGS = @MU_APP_COMMON_INCLUDES@
+muauth_CPPFLAGS = $(MU_APP_COMMON_INCLUDES)
muauth_LDADD = \
- ${MU_APP_LIBRARIES}\
- ${MU_LIB_AUTH}\
- @MU_AUTHLIBS@ \
- ${MU_LIB_MAILUTILS}
+ $(MU_APP_LIBRARIES)\
+ $(MU_LIB_AUTH)\
+ $(MU_AUTHLIBS) \
+ $(MU_LIB_MAILUTILS)
-muemail_CPPFLAGS = @MU_APP_COMMON_INCLUDES@
+muemail_CPPFLAGS = $(MU_APP_COMMON_INCLUDES)
muemail_LDADD = \
- ${MU_APP_LIBRARIES} \
- ${MU_LIB_MAILUTILS}
+ $(MU_APP_LIBRARIES) \
+ $(MU_LIB_MAILUTILS)
-mboxidx_CPPFLAGS = @MU_APP_COMMON_INCLUDES@
+mboxidx_CPPFLAGS = $(MU_APP_COMMON_INCLUDES)
mboxidx_LDADD=\
- ../lib/libmuaux.la\
- ${MU_LIB