summaryrefslogtreecommitdiffstats
path: root/imap
diff options
context:
space:
mode:
authorSam Varshavchik2021-02-18 22:49:11 -0500
committerSam Varshavchik2021-02-18 22:49:11 -0500
commitde091070e7fd4e8898a8bb3e17996bc7fef7ad48 (patch)
treedad57d76b8f5e5ab748a0b70e75233df6abb4fbb /imap
parent5cba7ab897d2148b68826379218ce15f115d06c5 (diff)
downloadcourier-libs-de091070e7fd4e8898a8bb3e17996bc7fef7ad48.tar.bz2
Remove the IMAP_ENHANCEDIDLE setting.
Diffstat (limited to 'imap')
-rw-r--r--imap/ChangeLog9
-rw-r--r--imap/imapd.c4
-rw-r--r--imap/imapd.dist.in.git14
-rw-r--r--imap/imapd.sgml44
-rw-r--r--imap/imaplogin.c2
-rw-r--r--imap/smap.c4
6 files changed, 18 insertions, 59 deletions
diff --git a/imap/ChangeLog b/imap/ChangeLog
index 1053a99..16d3f12 100644
--- a/imap/ChangeLog
+++ b/imap/ChangeLog
@@ -1,3 +1,12 @@
+2021-02-18 Sam Varshavchik <mrsam@courier-mta.com>
+
+ * Replace FAM/Gamin with inotify.
+
+ * Install the maildirwatch tool.
+
+ * Remove the IMAP_ENHANCEDIDLE setting from the imapd configuration
+ file.
+
5.0.12
2020-12-06 Sam Varshavchik <mrsam@courier-mta.com>
diff --git a/imap/imapd.c b/imap/imapd.c
index c0b5908..f2f4bbd 100644
--- a/imap/imapd.c
+++ b/imap/imapd.c
@@ -4324,9 +4324,7 @@ int uid=0;
read_eol();
- if ((p=getenv("IMAP_ENHANCEDIDLE")) == NULL
- || !atoi(p)
- || imapenhancedidle())
+ if (imapenhancedidle())
imapidle();
curtoken=nexttoken();
if (strcmp(curtoken->tokenbuf, "DONE") == 0)
diff --git a/imap/imapd.dist.in.git b/imap/imapd.dist.in.git
index 372cab3..2674c28 100644
--- a/imap/imapd.dist.in.git
+++ b/imap/imapd.dist.in.git
@@ -282,20 +282,6 @@ IMAP_USELOCKS=1
IMAP_SHAREDINDEXFILE=@sysconfdir@/shared/index
-##NAME: IMAP_ENHANCEDIDLE:0
-#
-# If Courier was compiled with the File Alteration Monitor, setting
-# IMAP_ENHANCEDIDLE to 1 enables enhanced IDLE mode, where multiple
-# clients may open the same folder concurrently, and receive updates to
-# folder contents in realtime. See the imapd(8) man page for additional
-# information.
-#
-# IMPORTANT: IMAP_USELOCKS *MUST* also be set to 1, and IDLE must be included
-# in the IMAP_CAPABILITY list.
-#
-
-IMAP_ENHANCEDIDLE=0
-
##NAME: IMAP_TRASHFOLDERNAME:0
#
# The name of the magic trash Folder. For MSOE compatibility,
diff --git a/imap/imapd.sgml b/imap/imapd.sgml
index 6df09cf..f95932d 100644
--- a/imap/imapd.sgml
+++ b/imap/imapd.sgml
@@ -140,15 +140,6 @@ that runs <command>couriertcpd</command>.</para>
<title>Realtime concurrent folder status updates</title>
<para>
-Setting the <literal>IMAP_ENHANCEDIDLE</literal> to
-<literal>1</literal> in
-<filename>@sysconfdir@/imapd</filename> enables realtime concurrent folder
-status updates.
-When relatime folder status updates are enabled all IMAP mail clients
-that have the same folder open will be
-immediately notified of any changes to the folder's contents.</para>
-
- <para>
The <application>Courier</application> IMAP server always allows
more than one mail client to have the
same folder opened.
@@ -163,12 +154,7 @@ contents are modified by another mail client.</para>
<para>
The <literal>IDLE</literal> extension to the base IMAP protocol provides
a delivery mechanism for notifying mail clients of changes to the mail
-folder's contents. Although at this time it's not known to which extent
-the <literal>IDLE</literal> extension is supported by IMAP mail clients,
-the <application>Courier</application> IMAP server fully implements
-the <literal>IDLE</literal>
-extension provided that the following requirements are met:
-</para>
+folder's contents.</para>
<variablelist>
<varlistentry>
@@ -213,22 +199,8 @@ in most IMAP mail clients is not known.</para>
</varlistentry>
<varlistentry>
- <term><envar>IMAP_ENHANCEDIDLE</envar></term>
<listitem>
<para>
-This setting in <filename>@sysconfdir@/imapd</filename>
-actually enables concurrent realtime folder status updates using the
-<literal>IDLE</literal> extension and the inotify kernel interface.
-Note that it is possible to enable the <literal>IDLE</literal> extension
-even when Courier-IMAP is compiled on a platform without the inotify
-kernel interface, or without
-enabling either the <envar>IMAP_USELOCKS</envar> and/or
-<envar>IMAP_ENHANCEDIDLE</envar> settings.
-The resulting consequences are described are as follows:</para>
-
- <orderedlist inheritnum="ignore" continuation="restarts">
- <listitem>
- <para>
Without <envar>IMAP_USERLOCKS</envar> there exists a small possibility
that multiple mail clients will receive a slightly inconsistent folder index
if both clients try to update the contents of the folder at the same time.
@@ -237,17 +209,13 @@ downloading the same message twice from the server, and caching it incorrectly
in the local cache (if the IMAP client caches message contents).
Clearing the local message cache will quickly eliminate any residual
confusion that results from this situation.</para>
- </listitem>
- <listitem>
- <para>
-Without inotify kernel interface, and
-<envar>IMAP_ENHANCEDIDLE</envar> set, the
+
+ <para>
+Without inotify kernel interface, the
<application>Courier</application> IMAP server will
manually check for changes to the folder's contents every 60 seconds,
in IDLE mode (instead of in real time).
</para>
- </listitem>
- </orderedlist>
</listitem>
</varlistentry>
</variablelist>
@@ -286,7 +254,7 @@ Open two or three terminal windows.
In each window, connect to the IMAP server, and enter IDLE mode:
</para>
<programlisting format="linespecific">
-S:* OK Courier-IMAP ready. Copyright 1998-2002 Double Precision, Inc.
+S:* OK Courier-IMAP ready. Copyright 1998-2021 Double Precision, Inc.
See COPYING for distribution information.
C:a login <replaceable>userid</replaceable> <replaceable>password</replaceable>
S:a OK LOGIN Ok.
@@ -326,7 +294,7 @@ Open another terminal window, connect to the server, and modify the flags
of one of the messages:</para>
<programlisting format="linespecific">
-S:* OK Courier-IMAP ready. Copyright 1998-2002 Double Precision, Inc.
+S:* OK Courier-IMAP ready. Copyright 1998-2021 Double Precision, Inc.
See COPYING for distribution information.
C:a login <replaceable>userid</replaceable> <replaceable>password</replaceable>
S:a OK LOGIN Ok.
diff --git a/imap/imaplogin.c b/imap/imaplogin.c
index 8e8289e..7b407fa 100644
--- a/imap/imaplogin.c
+++ b/imap/imaplogin.c
@@ -481,7 +481,7 @@ int main(int argc, char **argv)
writes("* OK [CAPABILITY ");
imapcapability();
writes("] Courier-IMAP ready. "
- "Copyright 1998-2019 Double Precision, Inc. "
+ "Copyright 1998-2021 Double Precision, Inc. "
"See COPYING for distribution information.\r\n");
fprintf(stderr, "DEBUG: Connection, ip=[%s], port=[%s]\n", ip, port);
writeflush();
diff --git a/imap/smap.c b/imap/smap.c
index 6f43a6e..56690b3 100644
--- a/imap/smap.c
+++ b/imap/smap.c
@@ -4215,9 +4215,7 @@ void smap()
if (strcmp(p, "IDLE") == 0)
{
- if ((p=getenv("IMAP_ENHANCEDIDLE")) == NULL
- || !atoi(p)
- || imapenhancedidle())
+ if (imapenhancedidle())
imapidle();
read_timeout(60);