diff options
| author | Paul Eggert | 2017-03-16 23:50:37 -0700 |
|---|---|---|
| committer | Paul Eggert | 2017-03-17 00:15:48 -0700 |
| commit | 9f771f6440a61433d34f14aee4046cf2fa6ba391 (patch) | |
| tree | 2394bc49b97cd025f338af449fc97992db3f9ccf | |
| parent | ffbb46849990bf4bf952e01b78c9a1a0ca0d4432 (diff) | |
| download | emacs-9f771f6440a61433d34f14aee4046cf2fa6ba391.tar.gz emacs-9f771f6440a61433d34f14aee4046cf2fa6ba391.zip | |
Emacs 'movemail' is now a configure-time option
The new configure option --with-mailutils lets the builder say
that Emacs should assume that GNU Mailutils is installed, instead
of continuing to build and install its own limited and insecure
substitute for 'movemail'.
* INSTALL, etc/NEWS, etc/PROBLEMS: Mention --with-mailutils.
* configure.ac: Add --with-mailutils option.
(with_mailutils): New variable.
Do not bother configuring 'movemail' when not building it.
Warn about issues relating to --with-mailutils.
* doc/emacs/rmail.texi (Movemail): Mention --with-mailutils.
(Movemail, Remote Mailboxes): Document port numbers in
POP and IMAP URLs.
* lib-src/Makefile.in (with_mailutils): New macro.
(UTILITIES): Use it.
| -rw-r--r-- | INSTALL | 22 | ||||
| -rw-r--r-- | configure.ac | 177 | ||||
| -rw-r--r-- | doc/emacs/rmail.texi | 82 | ||||
| -rw-r--r-- | etc/NEWS | 6 | ||||
| -rw-r--r-- | etc/PROBLEMS | 1 | ||||
| -rw-r--r-- | lib-src/Makefile.in | 6 |
6 files changed, 175 insertions, 119 deletions
| @@ -259,12 +259,23 @@ inconvenient for Emacs when running as daemon or running via a remote | |||
| 259 | ssh connection. In order to completely prevent the use of D-Bus, configure | 259 | ssh connection. In order to completely prevent the use of D-Bus, configure |
| 260 | Emacs with the options '--without-dbus --without-gconf --without-gsettings'. | 260 | Emacs with the options '--without-dbus --without-gconf --without-gsettings'. |
| 261 | 261 | ||
| 262 | To read email via a network protocol like IMAP or POP, you can | ||
| 263 | configure Emacs with the option '--with-mailutils', so that it always | ||
| 264 | uses the GNU Mailutils 'movemail' program to retrieve mail. Otherwise | ||
| 265 | the Emacs build procedure builds and installs an auxiliary 'movemail' | ||
| 266 | program, a limited and insecure substitute that Emacs can use when | ||
| 267 | Mailutils is not installed; when this happens, there are several | ||
| 268 | configure options such as --without-pop that provide fine-grained | ||
| 269 | control over Emacs 'movemail' construction. | ||
| 270 | |||
| 262 | The Emacs mail reader RMAIL is configured to be able to read mail from | 271 | The Emacs mail reader RMAIL is configured to be able to read mail from |
| 263 | a POP3 server by default. Versions of the POP protocol older than | 272 | a POP3 server by default. Versions of the POP protocol older than |
| 264 | POP3 are not supported. For Kerberos-authenticated POP add | 273 | POP3 are not supported. While POP3 support is typically enabled, |
| 265 | '--with-kerberos', for Hesiod support add '--with-hesiod'. While POP3 | 274 | whether Emacs actually uses POP3 is controlled by individual users; |
| 266 | is always enabled, whether Emacs actually uses POP is controlled by | 275 | see the Rmail chapter of the Emacs manual. Unless you configure |
| 267 | individual users--see the Rmail chapter of the Emacs manual. | 276 | --with-mailutils, it is a good idea to configure --without-pop so that |
| 277 | users are less likely to inadvertently read email via insecure | ||
| 278 | channels. | ||
| 268 | 279 | ||
| 269 | For image support you may have to download, build, and install the | 280 | For image support you may have to download, build, and install the |
| 270 | appropriate image support libraries for image types other than XBM and | 281 | appropriate image support libraries for image types other than XBM and |
| @@ -538,7 +549,8 @@ information on this. | |||
| 538 | Emacs info files. | 549 | Emacs info files. |
| 539 | 550 | ||
| 540 | 8) If your system uses lock files to interlock access to mailer inbox files, | 551 | 8) If your system uses lock files to interlock access to mailer inbox files, |
| 541 | then you might need to make the movemail program setuid or setgid | 552 | and if you did not configure --with-mailutils, then you might need to |
| 553 | make the Emacs-specific 'movemail' program setuid or setgid in order | ||
| 542 | to enable it to write the lock files. We believe this is safe. | 554 | to enable it to write the lock files. We believe this is safe. |
| 543 | 555 | ||
| 544 | 9) You are done! You can remove executables and object files from | 556 | 9) You are done! You can remove executables and object files from |
diff --git a/configure.ac b/configure.ac index 4d9ba9636d5..47d0e5cd19a 100644 --- a/configure.ac +++ b/configure.ac | |||
| @@ -240,6 +240,18 @@ AC_DEFUN([OPTION_DEFAULT_ON], [dnl | |||
| 240 | m4_bpatsubst([with_$1], [[^0-9a-z]], [_])=$with_features])dnl | 240 | m4_bpatsubst([with_$1], [[^0-9a-z]], [_])=$with_features])dnl |
| 241 | ])dnl | 241 | ])dnl |
| 242 | 242 | ||
| 243 | # FIXME: The default options '--without-mailutils --with-pop' result | ||
| 244 | # in a movemail implementation that supports only unencrypted POP3 | ||
| 245 | # connections. Encrypted connections should be the default. | ||
| 246 | |||
| 247 | OPTION_DEFAULT_OFF([mailutils], | ||
| 248 | [rely on GNU Mailutils being installed; this makes the options | ||
| 249 | --without-pop through --with-mailhost irrelevant)]) | ||
| 250 | if test "$with_mailutils" = no; then | ||
| 251 | with_mailutils= | ||
| 252 | fi | ||
| 253 | AC_SUBST([with_mailutils]) | ||
| 254 | |||
| 243 | OPTION_DEFAULT_ON([pop],[don't support POP mail retrieval with movemail]) | 255 | OPTION_DEFAULT_ON([pop],[don't support POP mail retrieval with movemail]) |
| 244 | if test "$with_pop" = yes; then | 256 | if test "$with_pop" = yes; then |
| 245 | AC_DEFINE(MAIL_USE_POP) | 257 | AC_DEFINE(MAIL_USE_POP) |
| @@ -3789,87 +3801,91 @@ fi | |||
| 3789 | AC_SUBST(LIBXML2_LIBS) | 3801 | AC_SUBST(LIBXML2_LIBS) |
| 3790 | AC_SUBST(LIBXML2_CFLAGS) | 3802 | AC_SUBST(LIBXML2_CFLAGS) |
| 3791 | 3803 | ||
| 3792 | # Check for mail-locking functions in a "mail" library. Probably this should | 3804 | BLESSMAIL_TARGET= |
| 3793 | # have the same check as for liblockfile below. | 3805 | LIBS_MAIL= |
| 3794 | AC_CHECK_LIB(mail, maillock, have_mail=yes, have_mail=no) | 3806 | if test ! "$with_mailutils"; then |
| 3795 | if test $have_mail = yes; then | 3807 | # Check for mail-locking functions in a "mail" library. Probably this should |
| 3796 | LIBS_MAIL=-lmail | 3808 | # have the same check as for liblockfile below. |
| 3797 | AC_DEFINE(HAVE_LIBMAIL, 1, [Define to 1 if you have the 'mail' library (-lmail).]) | 3809 | AC_CHECK_LIB([mail], [maillock], [have_mail=yes], [have_mail=no]) |
| 3798 | 3810 | if test $have_mail = yes; then | |
| 3799 | OLD_LIBS=$LIBS | 3811 | LIBS_MAIL=-lmail |
| 3800 | LIBS="$LIBS_MAIL $LIBS" | 3812 | AC_DEFINE([HAVE_LIBMAIL], [1], |
| 3801 | AC_CHECK_FUNCS(touchlock) | 3813 | [Define to 1 if you have the 'mail' library (-lmail).]) |
| 3802 | LIBS=$OLD_LIBS | 3814 | |
| 3803 | else | 3815 | OLD_LIBS=$LIBS |
| 3804 | LIBS_MAIL= | 3816 | LIBS="$LIBS_MAIL $LIBS" |
| 3805 | fi | 3817 | AC_CHECK_FUNCS([touchlock]) |
| 3806 | dnl Debian, at least: | 3818 | LIBS=$OLD_LIBS |
| 3807 | AC_CHECK_LIB(lockfile, maillock, have_lockfile=yes, have_lockfile=no) | 3819 | fi |
| 3808 | if test $have_lockfile = yes; then | 3820 | dnl Debian, at least: |
| 3809 | LIBS_MAIL=-llockfile | 3821 | AC_CHECK_LIB([lockfile], [maillock], [have_lockfile=yes], [have_lockfile=no]) |
| 3810 | AC_DEFINE(HAVE_LIBLOCKFILE, 1, [Define to 1 if you have the 'lockfile' library (-llockfile).]) | 3822 | if test $have_lockfile = yes; then |
| 3811 | else | 3823 | LIBS_MAIL=-llockfile |
| 3812 | # If we have the shared liblockfile, assume we must use it for mail | 3824 | AC_DEFINE([HAVE_LIBLOCKFILE], [1], |
| 3813 | # locking (e.g. Debian). If we couldn't link against liblockfile | 3825 | [Define to 1 if you have the 'lockfile' library (-llockfile).]) |
| 3814 | # (no liblockfile.a installed), ensure that we don't need to. | 3826 | else |
| 3815 | dnl This works for files generally, not just executables. | 3827 | # If we have the shared liblockfile, assume we must use it for mail |
| 3816 | dnl Should we look elsewhere for it? Maybe examine /etc/ld.so.conf? | 3828 | # locking (e.g. Debian). If we couldn't link against liblockfile |
| 3817 | AC_CHECK_PROG(liblockfile, liblockfile.so, yes, no, | 3829 | # (no liblockfile.a installed), ensure that we don't need to. |
| 3818 | /usr/lib:/lib:/usr/local/lib:$LD_LIBRARY_PATH) | 3830 | dnl This works for files generally, not just executables. |
| 3819 | if test $ac_cv_prog_liblockfile = yes; then | 3831 | dnl Should we look elsewhere for it? Maybe examine /etc/ld.so.conf? |
| 3820 | AC_MSG_ERROR([Shared liblockfile found but can't link against it. | 3832 | AC_CHECK_PROG([liblockfile], [liblockfile.so], [yes], [no], |
| 3833 | [/usr/lib:/lib:/usr/local/lib:$LD_LIBRARY_PATH]) | ||
| 3834 | if test "$ac_cv_prog_liblockfile" = yes; then | ||
| 3835 | AC_MSG_ERROR([Shared liblockfile found but can't link against it. | ||
| 3821 | This probably means that movemail could lose mail. | 3836 | This probably means that movemail could lose mail. |
| 3822 | There may be a 'development' package to install containing liblockfile.]) | 3837 | There may be a 'development' package to install containing liblockfile.]) |
| 3838 | fi | ||
| 3823 | fi | 3839 | fi |
| 3824 | fi | 3840 | AC_CHECK_HEADERS([maillock.h]) |
| 3825 | AC_CHECK_HEADERS_ONCE(maillock.h) | ||
| 3826 | AC_SUBST(LIBS_MAIL) | ||
| 3827 | 3841 | ||
| 3828 | ## Define MAIL_USE_FLOCK (or LOCKF) if the mailer uses flock (or lockf) to | 3842 | ## Define MAIL_USE_FLOCK (or LOCKF) if the mailer uses flock (or lockf) to |
| 3829 | ## interlock access to the mail spool. The alternative is a lock file named | 3843 | ## interlock access to the mail spool. The alternative is a lock file named |
| 3830 | ## /usr/spool/mail/$USER.lock. | 3844 | ## /usr/spool/mail/$USER.lock. |
| 3831 | mail_lock=no | 3845 | mail_lock=no |
| 3832 | case "$opsys" in | 3846 | case $opsys in |
| 3833 | aix4-2) mail_lock="lockf" ;; | 3847 | aix4-2) mail_lock="lockf" ;; |
| 3834 | 3848 | ||
| 3835 | gnu|freebsd|dragonfly|netbsd|openbsd|darwin) mail_lock="flock" ;; | 3849 | gnu|freebsd|dragonfly|netbsd|openbsd|darwin) mail_lock="flock" ;; |
| 3836 | 3850 | ||
| 3837 | ## On GNU/Linux systems, both methods are used by various mail programs. | 3851 | ## On GNU/Linux systems, both methods are used by various mail programs. |
| 3838 | ## I assume most people are using newer mailers that have heard of flock. | 3852 | ## I assume most people are using newer mailers that have heard of flock. |
| 3839 | ## Change this if you need to. | 3853 | ## Change this if you need to. |
| 3840 | ## Debian contains a patch which says: "On Debian/GNU/Linux systems, | 3854 | ## Debian contains a patch which says: "On Debian/GNU/Linux systems, |
| 3841 | ## configure gets the right answers, and that means *NOT* using flock. | 3855 | ## configure gets the right answers, and that means *NOT* using flock. |
| 3842 | ## Using flock is guaranteed to be the wrong thing. See Debian Policy | 3856 | ## Using flock is guaranteed to be the wrong thing. See Debian Policy |
| 3843 | ## for details." and then uses '#ifdef DEBIAN'. Unfortunately the | 3857 | ## for details." and then uses '#ifdef DEBIAN'. Unfortunately the |
| 3844 | ## Debian maintainer hasn't provided a clean fix for Emacs. | 3858 | ## Debian maintainer hasn't provided a clean fix for Emacs. |
| 3845 | ## movemail.c will use 'maillock' when MAILDIR, HAVE_LIBMAIL and | 3859 | ## movemail.c will use 'maillock' when MAILDIR, HAVE_LIBMAIL and |
| 3846 | ## HAVE_MAILLOCK_H are defined, so the following appears to be the | 3860 | ## HAVE_MAILLOCK_H are defined, so the following appears to be the |
| 3847 | ## correct logic. -- fx | 3861 | ## correct logic. -- fx |
| 3848 | ## We must check for HAVE_LIBLOCKFILE too, as movemail does. | 3862 | ## We must check for HAVE_LIBLOCKFILE too, as movemail does. |
| 3849 | ## liblockfile is a Free Software replacement for libmail, used on | 3863 | ## liblockfile is a Free Software replacement for libmail, used on |
| 3850 | ## Debian systems and elsewhere. -rfr. | 3864 | ## Debian systems and elsewhere. -rfr. |
| 3851 | gnu-*) | 3865 | gnu-*) |
| 3852 | mail_lock="flock" | 3866 | mail_lock="flock" |
| 3853 | if test $have_mail = yes || test $have_lockfile = yes; then | 3867 | if test $have_mail = yes || test $have_lockfile = yes; then |
| 3854 | test $ac_cv_header_maillock_h = yes && mail_lock=no | 3868 | test $ac_cv_header_maillock_h = yes && mail_lock=no |
| 3855 | fi | 3869 | fi ;; |
| 3856 | ;; | ||
| 3857 | 3870 | ||
| 3858 | mingw32) | 3871 | mingw32) |
| 3859 | mail_lock="none-needed" ;; | 3872 | mail_lock="none-needed" ;; |
| 3860 | esac | 3873 | esac |
| 3861 | 3874 | ||
| 3862 | BLESSMAIL_TARGET= | 3875 | case $mail_lock in |
| 3863 | case "$mail_lock" in | 3876 | flock) AC_DEFINE([MAIL_USE_FLOCK], [1], |
| 3864 | flock) AC_DEFINE(MAIL_USE_FLOCK, 1, [Define if the mailer uses flock to interlock the mail spool.]) ;; | 3877 | [Define if the mailer uses flock to interlock the mail spool.]);; |
| 3865 | 3878 | ||
| 3866 | lockf) AC_DEFINE(MAIL_USE_LOCKF, 1, [Define if the mailer uses lockf to interlock the mail spool.]) ;; | 3879 | lockf) AC_DEFINE([MAIL_USE_LOCKF], [1], |
| 3880 | [Define if the mailer uses lockf to interlock the mail spool.]);; | ||
| 3867 | 3881 | ||
| 3868 | none-needed) ;; | 3882 | none-needed) ;; |
| 3869 | 3883 | ||
| 3870 | *) BLESSMAIL_TARGET="need-blessmail" ;; | 3884 | *) BLESSMAIL_TARGET="need-blessmail" ;; |
| 3871 | esac | 3885 | esac |
| 3872 | AC_SUBST(BLESSMAIL_TARGET) | 3886 | fi |
| 3887 | AC_SUBST([BLESSMAIL_TARGET]) | ||
| 3888 | AC_SUBST([LIBS_MAIL]) | ||
| 3873 | 3889 | ||
| 3874 | OLD_LIBS=$LIBS | 3890 | OLD_LIBS=$LIBS |
| 3875 | LIBS="$LIB_PTHREAD $LIB_MATH $LIBS" | 3891 | LIBS="$LIB_PTHREAD $LIB_MATH $LIBS" |
| @@ -5469,4 +5485,21 @@ AC_MSG_ERROR(['etc/refcards/emacsver.tex' could not be made.]) | |||
| 5469 | 5485 | ||
| 5470 | AC_OUTPUT | 5486 | AC_OUTPUT |
| 5471 | 5487 | ||
| 5488 | if test ! "$with_mailutils"; then | ||
| 5489 | emacs_use_mailutils="use '$0 --with-mailutils'" | ||
| 5490 | case `(movemail --version) 2>/dev/null` in | ||
| 5491 | *Mailutils*) ;; | ||
| 5492 | *) emacs_use_mailutils="install GNU Mailutils | ||
| 5493 | <http://mailutils.org> and $emacs_use_mailutils";; | ||
| 5494 | esac | ||
| 5495 | if test "$with_pop" = yes; then | ||
| 5496 | AC_MSG_WARN([This configuration installs a 'movemail' program | ||
| 5497 | that retrieves POP3 email via only insecure channels. | ||
| 5498 | To fix this you can $emacs_use_mailutils.]) | ||
| 5499 | else | ||
| 5500 | AC_MSG_NOTICE([This configuration installs a 'movemail' program that cannot | ||
| 5501 | retrieve POP3 email. You might want to $emacs_use_mailutils.]) | ||
| 5502 | fi | ||
| 5503 | fi | ||
| 5504 | |||
| 5472 | test "$MAKE" = make || AC_MSG_NOTICE([Now you can run '$MAKE'.]) | 5505 | test "$MAKE" = make || AC_MSG_NOTICE([Now you can run '$MAKE'.]) |
diff --git a/doc/emacs/rmail.texi b/doc/emacs/rmail.texi index d46398281fb..b64ec223be7 100644 --- a/doc/emacs/rmail.texi +++ b/doc/emacs/rmail.texi | |||
| @@ -1380,15 +1380,17 @@ which applies the code when displaying the text. | |||
| 1380 | your Rmail file (@pxref{Rmail Inbox}). When loaded for the first time, | 1380 | your Rmail file (@pxref{Rmail Inbox}). When loaded for the first time, |
| 1381 | Rmail attempts to locate the @code{movemail} program and determine its | 1381 | Rmail attempts to locate the @code{movemail} program and determine its |
| 1382 | version. There are two versions of the @code{movemail} program: the | 1382 | version. There are two versions of the @code{movemail} program: the |
| 1383 | native one, shipped with GNU Emacs (the Emacs version) and the one | 1383 | GNU Mailutils version (@pxref{movemail,,,mailutils,GNU mailutils}), |
| 1384 | included in GNU mailutils (the mailutils version, | 1384 | and an Emacs-specific version that is built and installed unless Emacs |
| 1385 | @pxref{movemail,,,mailutils,GNU mailutils}). They support the same | 1385 | was configured using the @option{--with-mailutils} option. |
| 1386 | The two @command{mailtool} versions support the same | ||
| 1386 | command line syntax and the same basic subset of options. However, the | 1387 | command line syntax and the same basic subset of options. However, the |
| 1387 | Mailutils version offers additional features. | 1388 | Mailutils version offers additional features. |
| 1388 | 1389 | ||
| 1389 | The Emacs version of @code{movemail} is able to retrieve mail from | 1390 | The Emacs version of @command{movemail} can retrieve mail from the |
| 1390 | the usual Unix mailbox formats and from remote mailboxes using the | 1391 | usual Unix mailbox formats. Although it can also use the POP3 |
| 1391 | POP3 protocol. | 1392 | protocol, this is not recommended because it does not support POP3 via |
| 1393 | encrypted TLS channels. | ||
| 1392 | 1394 | ||
| 1393 | The Mailutils version is able to handle a wide set of mailbox | 1395 | The Mailutils version is able to handle a wide set of mailbox |
| 1394 | formats, such as plain Unix mailboxes, @code{maildir} and @code{MH} | 1396 | formats, such as plain Unix mailboxes, @code{maildir} and @code{MH} |
| @@ -1401,7 +1403,7 @@ in @ref{URL,,,mailutils,Mailbox URL Formats}. In short, a | |||
| 1401 | @acronym{URL} is: | 1403 | @acronym{URL} is: |
| 1402 | 1404 | ||
| 1403 | @smallexample | 1405 | @smallexample |
| 1404 | @var{proto}://[@var{user}[:@var{password}]@@]@var{host-or-file-name} | 1406 | @var{proto}://[@var{user}[:@var{password}]@@]@var{host-or-file-name}[:@var{port}] |
| 1405 | @end smallexample | 1407 | @end smallexample |
| 1406 | 1408 | ||
| 1407 | @noindent | 1409 | @noindent |
| @@ -1422,6 +1424,9 @@ User password to access the remote mailbox. | |||
| 1422 | @item host-or-file-name | 1424 | @item host-or-file-name |
| 1423 | Hostname of the remote server for remote mailboxes or file name of a | 1425 | Hostname of the remote server for remote mailboxes or file name of a |
| 1424 | local mailbox. | 1426 | local mailbox. |
| 1427 | |||
| 1428 | @item port | ||
| 1429 | Optional port number, if not the default for that protocal. | ||
| 1425 | @end table | 1430 | @end table |
| 1426 | 1431 | ||
| 1427 | @noindent | 1432 | @noindent |
| @@ -1429,19 +1434,20 @@ local mailbox. | |||
| 1429 | 1434 | ||
| 1430 | @table @code | 1435 | @table @code |
| 1431 | @item mbox | 1436 | @item mbox |
| 1432 | Usual Unix mailbox format. In this case, neither @var{user} nor | 1437 | Usual Unix mailbox format. In this case, @var{user}, @var{pass} and |
| 1433 | @var{pass} are used, and @var{host-or-file-name} denotes the file name | 1438 | @var{port} are not used, and @var{host-or-file-name} denotes the file |
| 1434 | of the mailbox file, e.g., @code{mbox://var/spool/mail/smith}. | 1439 | name of the mailbox file, e.g., @code{mbox://var/spool/mail/smith}. |
| 1435 | 1440 | ||
| 1436 | @item mh | 1441 | @item mh |
| 1437 | A local mailbox in the @acronym{MH} format. @var{user} and | 1442 | A local mailbox in the @acronym{MH} format. @var{user}, @var{pass} |
| 1438 | @var{pass} are not used. @var{host-or-file-name} denotes the name of | 1443 | and @var{port} are not used. @var{host-or-file-name} denotes the name |
| 1439 | @acronym{MH} folder, e.g., @code{mh://Mail/inbox}. | 1444 | of @acronym{MH} folder, e.g., @code{mh://Mail/inbox}. |
| 1440 | 1445 | ||
| 1441 | @item maildir | 1446 | @item maildir |
| 1442 | A local mailbox in the @acronym{maildir} format. @var{user} and | 1447 | A local mailbox in the @acronym{maildir} format. @var{user}, |
| 1443 | @var{pass} are not used, and @var{host-or-file-name} denotes the name of | 1448 | @var{pass} and @var{port} are not used, and @var{host-or-file-name} |
| 1444 | @code{maildir} mailbox, e.g., @code{maildir://mail/inbox}. | 1449 | denotes the name of @code{maildir} mailbox, e.g., |
| 1450 | @code{maildir://mail/inbox}. | ||
| 1445 | 1451 | ||
| 1446 | @item file | 1452 | @item file |
| 1447 | Any local mailbox format. Its actual format is detected automatically | 1453 | Any local mailbox format. Its actual format is detected automatically |
| @@ -1451,15 +1457,15 @@ by @code{movemail}. | |||
| 1451 | A remote mailbox to be accessed via POP3 protocol. @var{user} | 1457 | A remote mailbox to be accessed via POP3 protocol. @var{user} |
| 1452 | specifies the remote user name to use, @var{pass} may be used to | 1458 | specifies the remote user name to use, @var{pass} may be used to |
| 1453 | specify the user password, @var{host-or-file-name} is the name or IP | 1459 | specify the user password, @var{host-or-file-name} is the name or IP |
| 1454 | address of the remote mail server to connect to; e.g., | 1460 | address of the remote mail server to connect to, and @var{port} is the |
| 1455 | @code{pop://smith:guessme@@remote.server.net}. | 1461 | port number; e.g., @code{pop://smith:guessme@@remote.server.net:995}. |
| 1456 | 1462 | ||
| 1457 | @item imap | 1463 | @item imap |
| 1458 | A remote mailbox to be accessed via IMAP4 protocol. @var{user} | 1464 | A remote mailbox to be accessed via IMAP4 protocol. @var{user} |
| 1459 | specifies the remote user name to use, @var{pass} may be used to | 1465 | specifies the remote user name to use, @var{pass} may be used to |
| 1460 | specify the user password, @var{host-or-file-name} is the name or IP | 1466 | specify the user password, @var{host-or-file-name} is the name or IP |
| 1461 | address of the remote mail server to connect to; | 1467 | address of the remote mail server to connect to, and @var{port} is the |
| 1462 | e.g., @code{imap://smith:guessme@@remote.server.net}. | 1468 | port number; e.g., @code{imap://smith:guessme@@remote.server.net:993}. |
| 1463 | @end table | 1469 | @end table |
| 1464 | 1470 | ||
| 1465 | Alternatively, you can specify the file name of the mailbox to use. | 1471 | Alternatively, you can specify the file name of the mailbox to use. |
| @@ -1483,44 +1489,40 @@ listed in @code{rmail-movemail-search-path}, then in @code{exec-path} | |||
| 1483 | @pindex movemail | 1489 | @pindex movemail |
| 1484 | 1490 | ||
| 1485 | Some sites use a method called POP for accessing users' inbox data | 1491 | Some sites use a method called POP for accessing users' inbox data |
| 1486 | instead of storing the data in inbox files. By default, the @code{Emacs | 1492 | instead of storing the data in inbox files. The Mailutils |
| 1487 | movemail} can work with POP (unless the Emacs @code{configure} script | 1493 | @command{movemail} by default supports POP with TLS encryption. |
| 1488 | was run with the option @samp{--without-pop}). | 1494 | Although the @command{Emacs movemail} supports unencrypted POP, this |
| 1489 | 1495 | is not recommended due to the lack of encryption. Both versions of | |
| 1490 | Similarly, the Mailutils @code{movemail} by default supports POP, unless | 1496 | @command{movemail} work only with POP3, not with older versions of |
| 1491 | it was configured with the @samp{--disable-pop} option. | 1497 | POP. |
| 1492 | |||
| 1493 | Both versions of @code{movemail} only work with POP3, not with older | ||
| 1494 | versions of POP. | ||
| 1495 | 1498 | ||
| 1496 | @cindex @env{MAILHOST} environment variable | 1499 | @cindex @env{MAILHOST} environment variable |
| 1497 | @cindex POP mailboxes | 1500 | @cindex POP mailboxes |
| 1498 | No matter which flavor of @code{movemail} you use, you can specify | 1501 | You can specify |
| 1499 | a POP inbox by using a POP @dfn{URL} (@pxref{Movemail}). A POP | 1502 | a POP inbox by using a POP @dfn{URL} (@pxref{Movemail}). A POP |
| 1500 | @acronym{URL} is of the form | 1503 | @acronym{URL} is of the form |
| 1501 | @samp{pop://@var{username}@@@var{hostname}}, where | 1504 | @samp{pop://@var{username}@@@var{hostname}:@var{port}}, where |
| 1502 | @var{hostname} is the host name or IP address of the remote mail | 1505 | @var{hostname} and @var{port} are the host name (or IP address) |
| 1506 | and port number of the remote mail | ||
| 1503 | server and @var{username} is the user name on that server. | 1507 | server and @var{username} is the user name on that server. |
| 1504 | Additionally, you may specify the password in the mailbox @acronym{URL}: | 1508 | Additionally, you may specify the password in the mailbox @acronym{URL}: |
| 1505 | @samp{pop://@var{username}:@var{password}@@@var{hostname}}. In this | 1509 | @samp{pop://@var{username}:@var{password}@@@var{hostname}:@var{port}}. In this |
| 1506 | case, @var{password} takes preference over the one set by | 1510 | case, @var{password} takes preference over the one set by |
| 1507 | @code{rmail-remote-password} (see below). This is especially useful | 1511 | @code{rmail-remote-password} (see below). This is especially useful |
| 1508 | if you have several remote mailboxes with different passwords. | 1512 | if you have several remote mailboxes with different passwords. |
| 1509 | 1513 | ||
| 1510 | For backward compatibility, Rmail also supports an alternative way of | 1514 | For backward compatibility, Rmail also supports an alternative way of |
| 1511 | specifying remote POP mailboxes. Specifying an inbox name in the form | 1515 | specifying remote POP mailboxes. Specifying an inbox name in the form |
| 1512 | @samp{po:@var{username}:@var{hostname}} is equivalent to | 1516 | @samp{po:@var{username}:@var{hostname}:@var{port}} is equivalent to |
| 1513 | @samp{pop://@var{username}@@@var{hostname}}. If you omit the | 1517 | @samp{pop://@var{username}@@@var{hostname}:@var{port}}. If you omit the |
| 1514 | @var{:hostname} part, the @env{MAILHOST} environment variable specifies | 1518 | @var{:hostname} part, the @env{MAILHOST} environment variable specifies |
| 1515 | the machine on which to look for the POP server. | 1519 | the machine on which to look for the POP server. |
| 1516 | 1520 | ||
| 1517 | @c FIXME mention --with-hesiod "support Hesiod to get the POP server host"? | ||
| 1518 | |||
| 1519 | @cindex IMAP mailboxes | 1521 | @cindex IMAP mailboxes |
| 1520 | Another method for accessing remote mailboxes is IMAP@. This method is | 1522 | Another method for accessing remote mailboxes is IMAP@. This method is |
| 1521 | supported only by the Mailutils @code{movemail}. To specify an IMAP | 1523 | supported only by the Mailutils @code{movemail}. To specify an IMAP |
| 1522 | mailbox in the inbox list, use the following mailbox @acronym{URL}: | 1524 | mailbox in the inbox list, use the following mailbox @acronym{URL}: |
| 1523 | @samp{imap://@var{username}[:@var{password}]@@@var{hostname}}. The | 1525 | @samp{imap://@var{username}[:@var{password}]@@@var{hostname}:@var{port}}. The |
| 1524 | @var{password} part is optional, as described above. | 1526 | @var{password} part is optional, as described above. |
| 1525 | 1527 | ||
| 1526 | @vindex rmail-remote-password | 1528 | @vindex rmail-remote-password |
| @@ -1550,9 +1552,7 @@ preserve your inbox contents; use @code{rmail-preserve-inbox} instead. | |||
| 1550 | 1552 | ||
| 1551 | @cindex Kerberos POP authentication | 1553 | @cindex Kerberos POP authentication |
| 1552 | The @code{movemail} program installed at your site may support | 1554 | The @code{movemail} program installed at your site may support |
| 1553 | Kerberos authentication (the Emacs @code{movemail} does so if Emacs was | 1555 | Kerberos authentication. If it is supported, it is used by default |
| 1554 | configured with the option @code{--with-kerberos} or | ||
| 1555 | @code{--with-kerberos5}). If it is supported, it is used by default | ||
| 1556 | whenever you attempt to retrieve POP mail when | 1556 | whenever you attempt to retrieve POP mail when |
| 1557 | @code{rmail-remote-password} and @code{rmail-remote-password-required} | 1557 | @code{rmail-remote-password} and @code{rmail-remote-password-required} |
| 1558 | are unset. | 1558 | are unset. |
| @@ -37,6 +37,12 @@ Use 'configure --with-gnutls=no' to build even when GnuTLS is missing. | |||
| 37 | ** GnuTLS version 2.12.2 or later is now required, instead of merely | 37 | ** GnuTLS version 2.12.2 or later is now required, instead of merely |
| 38 | version 2.6.6 or later. | 38 | version 2.6.6 or later. |
| 39 | 39 | ||
| 40 | ** The new option 'configure --with-mailutils' causes Emacs to rely on | ||
| 41 | GNU Mailutils 'movemail' to retrieve email. By default, the Emacs | ||
| 42 | build procedure continues to build and install a limited and insecure | ||
| 43 | 'movemail' substitute. Although --with-mailutils is recommended, it | ||
| 44 | is not yet the default due to backward-compatibility concerns. | ||
| 45 | |||
| 40 | ** The new option 'configure --enable-gcc-warnings=warn-only' causes | 46 | ** The new option 'configure --enable-gcc-warnings=warn-only' causes |
| 41 | GCC to issue warnings without stopping the build. This behavior is | 47 | GCC to issue warnings without stopping the build. This behavior is |
| 42 | now the default in developer builds. As before, use | 48 | now the default in developer builds. As before, use |
diff --git a/etc/PROBLEMS b/etc/PROBLEMS index b8923201014..eddae12a70f 100644 --- a/etc/PROBLEMS +++ b/etc/PROBLEMS | |||
| @@ -323,6 +323,7 @@ or set the variable 'cannot-suspend' to a non-nil value. | |||
| 323 | 323 | ||
| 324 | *** movemail compiled with POP support can't connect to the POP server. | 324 | *** movemail compiled with POP support can't connect to the POP server. |
| 325 | 325 | ||
| 326 | This problem can occur if you do not configure --with-mailutils. | ||
| 326 | Make sure that the 'pop' entry in /etc/services, or in the services | 327 | Make sure that the 'pop' entry in /etc/services, or in the services |
| 327 | NIS map if your machine uses NIS, has the same port number as the | 328 | NIS map if your machine uses NIS, has the same port number as the |
| 328 | entry on the POP server. A common error is for the POP server to be | 329 | entry on the POP server. A common error is for the POP server to be |
diff --git a/lib-src/Makefile.in b/lib-src/Makefile.in index d0aa9cc7c27..b2cd66c0498 100644 --- a/lib-src/Makefile.in +++ b/lib-src/Makefile.in | |||
| @@ -100,6 +100,9 @@ bindir=@bindir@ | |||
| 100 | # --libexecdir option to '../configure'. | 100 | # --libexecdir option to '../configure'. |
| 101 | libexecdir=@libexecdir@ | 101 | libexecdir=@libexecdir@ |
| 102 | 102 | ||
| 103 | # Nonempty if Emacs can assume Mailutils is installed. | ||
| 104 | with_mailutils=@with_mailutils@ | ||
| 105 | |||
| 103 | # Directory for local state files for all programs. | 106 | # Directory for local state files for all programs. |
| 104 | localstatedir=@localstatedir@ | 107 | localstatedir=@localstatedir@ |
| 105 | 108 | ||
| @@ -160,7 +163,8 @@ INSTALLABLES = etags${EXEEXT} ctags${EXEEXT} emacsclient${EXEEXT} $(CLIENTW) \ | |||
| 160 | 163 | ||
| 161 | # Things that Emacs runs internally, or during the build process, | 164 | # Things that Emacs runs internally, or during the build process, |
| 162 | # which should not be installed in bindir. | 165 | # which should not be installed in bindir. |
| 163 | UTILITIES = profile${EXEEXT} movemail${EXEEXT} hexl${EXEEXT} \ | 166 | UTILITIES = profile${EXEEXT} hexl${EXEEXT} \ |
| 167 | $(if $(with_mailutils), , movemail${EXEEXT}) \ | ||
| 164 | $(and $(use_gamedir), update-game-score${EXEEXT}) | 168 | $(and $(use_gamedir), update-game-score${EXEEXT}) |
| 165 | 169 | ||
| 166 | DONT_INSTALL= make-docfile${EXEEXT} | 170 | DONT_INSTALL= make-docfile${EXEEXT} |