From de091070e7fd4e8898a8bb3e17996bc7fef7ad48 Mon Sep 17 00:00:00 2001 From: Sam Varshavchik Date: Thu, 18 Feb 2021 22:49:11 -0500 Subject: Remove the IMAP_ENHANCEDIDLE setting. --- imap/ChangeLog | 9 +++++++++ imap/imapd.c | 4 +--- imap/imapd.dist.in.git | 14 -------------- imap/imapd.sgml | 44 ++++++-------------------------------------- imap/imaplogin.c | 2 +- imap/smap.c | 4 +--- 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 + + * 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 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 @@ -139,15 +139,6 @@ that runs couriertcpd. Realtime concurrent folder status updates - -Setting the IMAP_ENHANCEDIDLE to -1 in -@sysconfdir@/imapd 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. - The Courier IMAP server always allows more than one mail client to have the @@ -163,12 +154,7 @@ contents are modified by another mail client. The IDLE 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 IDLE extension is supported by IMAP mail clients, -the Courier IMAP server fully implements -the IDLE -extension provided that the following requirements are met: - +folder's contents. @@ -213,22 +199,8 @@ in most IMAP mail clients is not known. - IMAP_ENHANCEDIDLE -This setting in @sysconfdir@/imapd -actually enables concurrent realtime folder status updates using the -IDLE extension and the inotify kernel interface. -Note that it is possible to enable the IDLE extension -even when Courier-IMAP is compiled on a platform without the inotify -kernel interface, or without -enabling either the IMAP_USELOCKS and/or -IMAP_ENHANCEDIDLE settings. -The resulting consequences are described are as follows: - - - - Without IMAP_USERLOCKS 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. - - - -Without inotify kernel interface, and -IMAP_ENHANCEDIDLE set, the + + +Without inotify kernel interface, the Courier IMAP server will manually check for changes to the folder's contents every 60 seconds, in IDLE mode (instead of in real time). - - @@ -286,7 +254,7 @@ Open two or three terminal windows. In each window, connect to the IMAP server, and enter IDLE mode: -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 userid password 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: -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 userid password 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); -- cgit v1.2.3