Subject: bug#28597: 26.0.60; [Security] Configure should use --without-pop by default

From: Paul Eggert <[email-masked]>
Date: Mon, 2 Oct 2017 11:23:05 -0700

Thanks for working on this. However, Eli asked for --with-pop to remain 
the default on native MS-Windows. Also, I found the newly-added warnings 
confusing (though admittedly everything is confusing here :-).

How about the attached patch instead? It does not change the 
configure-time warnings. It merely changes the default, so that 
--without-pop is now the default on platforms other than native MS-Windows.
>From 0e6c02134df40b56ca3b100ae0cc1a9d957a6e7f Mon Sep 17 00:00:00 2001
From: Paul Eggert <[email-masked]>
Date: Mon, 2 Oct 2017 11:17:36 -0700
Subject: [PATCH] --with-pop is now the default only on MS-Windows

Problem reported by N. Jackson (Bug#28597).
This improves an earlier suggestion by Robert Pluim (Bug#28597#47).
* INSTALL, configure.ac, etc/NEWS:
Make --with-pop the default only on native MS-Windows.
---
 INSTALL      |  6 ++++--
 configure.ac | 19 +++++++++++++------
 etc/NEWS     |  5 +++--
 3 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/INSTALL b/INSTALL
index e76e843ce2..e93b3064fc 100644
--- a/INSTALL
+++ b/INSTALL
@@ -273,8 +273,10 @@ a POP3 server by default.  Versions of the POP protocol older than
 POP3 are not supported.  While POP3 support is typically enabled,
 whether Emacs actually uses POP3 is controlled by individual users;
 see the Rmail chapter of the Emacs manual.  Unless --with-mailutils is
-in effect, it is a good idea to configure --without-pop so that users
-are less likely to inadvertently read email via insecure channels.
+in effect, it is a good idea to configure without POP3 support so that
+users are less likely to inadvertently read email via insecure
+channels.  On native MS-Windows, --with-pop is the default; on other
+platforms, --without-pop is the default.
 
 For image support you may have to download, build, and install the
 appropriate image support libraries for image types other than XBM and
diff --git a/configure.ac b/configure.ac
index eb2c684040..3feac73bed 100644
--- a/configure.ac
+++ b/configure.ac
@@ -232,9 +232,9 @@ AC_DEFUN
    m4_bpatsubst([with_$1], [[^0-9a-z]], [_])=$with_features])dnl
 ])dnl
 
-# FIXME: The default options '--without-mailutils --with-pop' result
-# in a movemail implementation that supports only unencrypted POP3
-# connections.  Encrypted connections should be the default.
+# For retrieving mail, unencrypted network connections are the default
+# only on native MS-Windows platforms.  (FIXME: These platforms should
+# also be secure by default.)
 
 AC_ARG_WITH([mailutils],
   [AS_HELP_STRING([--with-mailutils],
@@ -251,9 +251,16 @@ AC_DEFUN
 fi
 AC_SUBST([with_mailutils])
 
-OPTION_DEFAULT_ON([pop],
-  [don't support POP mail retrieval with movemail (--without-pop or
-   --with-mailutils is recommended, as movemail POP is insecure)])
+AC_ARG_WITH([pop],
+  [AS_HELP_STRING([--with-pop],
+     [Support POP mail retrieval if Emacs movemail is used (not recommended,
+      as Emacs movemail POP is insecure).  This is the default only on
+      native MS-Windows.])],
+  [],
+  [case $host in
+     *-mingw*) with_pop=yes;;
+     *) with_pop=no;;
+   esac])
 if test "$with_pop" = yes; then
    AC_DEFINE(MAIL_USE_POP)
 fi
diff --git a/etc/NEWS b/etc/NEWS
index b734e8dd19..62d2450f9a 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -35,8 +35,9 @@ GNU Mailutils to retrieve email.  It is recommended, and is the
 default if GNU Mailutils is installed.  When --with-mailutils is not
 in effect, the Emacs build procedure by default continues to build and
 install a limited 'movemail' substitute that retrieves POP3 email only
-via insecure channels; to avoid this problem, use either
---with-mailutils or --without-pop when configuring.
+via insecure channels.  To avoid this problem, use either
+--with-mailutils or --without-pop when configuring; --without-pop
+is the default on platforms other than native MS-Windows.
 
 ** The new option 'configure --enable-gcc-warnings=warn-only' causes
 GCC to issue warnings without stopping the build.  This behavior is
-- 
2.13.6