I'm trying to enable the IMAP_ENHANCEDIDLE feature for a long time and but it doesn't work.
Nether the Mailclients notify each other nor the test described in the Manual work properly( Mozilla
1.8 ).
instead of getting : + entering ENHANCED idle mode
i only get: + entering idle mode
although i have IMAP_ENHANCEDIDLE enabled.
regards
Fred
Test as described in http://www.courier-mta.org/?imapd.html
* OK [CAPABILITY IMAP4rev1 CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT IDLE ACL
ACL2=UNION STARTTLS] Courier-IMAP ready.Copyright 1998-2004 Double Precision, Inc. See COPYING for
distribution information.
a login lanparty xxxx
a OK LOGIN Ok.
a SELECT INBOX
* FLAGS (\Draft \Answered \Flagged \Deleted \Seen \Recent)
* OK [PERMANENTFLAGS (\Draft \Answered \Flagged \Deleted \Seen)] Limited
* 5 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1071233394] Ok
* OK [MYRIGHTS "acdilrsw"] ACL
a OK [READ-WRITE] Ok
a IDLE
+ entering idle mode
imapd:
##VERSION: $Id: imapd.dist.in,v 1.12 2001/11/29 04:25:56 mrsam Exp $
#
# imapd created from imapd.dist by sysconftool
#
# Do not alter lines that begin with ##, they are used when upgrading
# this configuration.
#
# Copyright 1998 - 2001 Double Precision, Inc. See COPYING for
# distribution information.
#
# This configuration file sets various options for the Courier-IMAP server
# when used with the couriertcpd server.
# A lot of the stuff here is documented in the manual page for couriertcpd.
#
# NOTE - do not use \ to split long variable contents on multiple lines.
# This will break the default imapd.rc script, which parses this file.
#
##NAME: ADDRESS:0
#
# Address to listen on, can be set to a single IP address.
#
# ADDRESS=127.0.0.1
ADDRESS=0
##NAME: PORT:1
#
# Port numbers that connections are accepted on. The default is 143,
# the standard IMAP port.
#
# Multiple port numbers can be separated by commas. When multiple port
# numbers are used it is possible to select a specific IP address for a
# given port as "ip.port". For example, "127.0.0.1.900,192.68.0.1.900"
# accepts connections on port 900 on IP addresses 127.0.0.1 and 192.68.0.1
# The previous ADDRESS setting is a default for ports that do not have
# a specified IP address.
PORT=143
##NAME: AUTHSERVICE:0
#
# It's possible to authenticate using a different 'service' parameter
# depending on the connection's port. This only works with authentication
# mechanism that use the 'service' parameter, such as PAM. Example:
#
# AUTHSERVICE143=imap
# AUTHSERVICE993=imaps
##NAME: MAXDAEMONS:0
#
# Maximum number of IMAP servers started
#
MAXDAEMONS=80
##NAME: MAXPERIP:0
#
# Maximum number of connections to accept from the same IP address
MAXPERIP=40
##NAME: PIDFILE:0
#
# File where couriertcpd will save its process ID
#
PIDFILE=/var/run/courier/imapd.pid
##NAME: TCPDOPTS:0
#
# Miscellaneous couriertcpd options that shouldn't be changed.
#
TCPDOPTS="-nodnslookup -noidentlookup"
##NAME: AUTHMODULES:0
#
# Authentication modules. Here's the default list:
#
# authdaemon
#
# The default is set during the initial configuration.
#
AUTHMODULES="authdaemon"
##NAME: AUTHMODULES_ORIG:0
#
# For use by webadmin
AUTHMODULES_ORIG="authdaemon"
##NAME: IMAP_CAPABILITY:0
#
# IMAP_CAPABILITY specifies what most of the response should be to the
# CAPABILITY command.
#
# If you have properly configured Courier to use CRAM-MD5 or CRAM-SHA1
# authentication (see INSTALL), set IMAP_CAPABILITY as follows:
#
# IMAP_CAPABILITY="IMAP4rev1 CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT
AUTH=CRAM-MD5 AUTH=CRAM-SHA1"
#
# Otherwise, leave it set to the default value. The IDLE keyword can also
# be added, in experimental mode.
#
# NOTE: CRAM-SHA1 is considered experimental at this time.
#
# NOTE: If you use maildirquotas (see maildir/README.maildirquota), partial
# support for the QUOTA extension can be added.
IMAP_CAPABILITY="IMAP4rev1 CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT IDLE"
##NAME: IMAP_CAPABILITY_ORIG:0
#
# For use by webadmin
IMAP_CAPABILITY_ORIG="IMAP4rev1 CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT
AUTH=CRAM-MD5 AUTH=CRAM-SHA1 IDLE"
##NAME: IMAP_IDLE_TIMEOUT:0
#
# If you want to try out the IDLE extension, this setting controls how often
# the server polls for changes to the folder, in IDLE mode (in seconds).
IMAP_IDLE_TIMEOUT=10
##NAME: IMAP_CAPABILITY_TLS:0
#
# The following setting will advertise SASL PLAIN authentication after
# STARTTLS is established. If you want to allow SASL PLAIN authentication
# with or without TLS then just comment this out, and add AUTH=PLAIN to
# IMAP_CAPABILITY
IMAP_CAPABILITY_TLS="$IMAP_CAPABILITY AUTH=PLAIN"
##NAME: IMAP_TLS_ORIG:0
#
# For use by webadmin
IMAP_CAPABILITY_TLS_ORIG="$IMAP_CAPABILITY_ORIG AUTH=PLAIN"
##NAME: IMAP_DISABLETHREADSORT:0
#
# Set IMAP_DISABLETHREADSORT to disable the THREAD and SORT commands -
# server side sorting and threading.
#
# Those capabilities will still be advertised, but the server will reject
# them. Set this option if you want to disable all the extra load from
# server-side threading and sorting. Not advertising those capabilities
# will simply result in the clients reading the entire folder, and sorting
# it on the client side. That will still put some load on the server.
# advertising these capabilities, but rejecting the commands, will stop this
# silliness.
#
IMAP_DISABLETHREADSORT=0
##NAME: IMAP_CHECK_ALL_FOLDERS:0
#
# Set IMAP_CHECK_ALL_FOLDERS to 1 if you want the server to check for new
# mail in every folder. Not all IMAP clients use an IMAP's server new mail
# indicator, but some do, and normally new mail is checked only in INBOX,
# because it is a comparatively time consuming operation, and it would be
# a complete waste of time unless mail filters are used to deliver new
# mail directly to folders.
#
# When IMAP clients are used which support new mail indication, and when
# mail filters are used to sort incoming mail into folders, setting
# IMAP_CHECK_ALL_FOLDERS to 1 will allow IMAP clients to announce new
# mail in folders. Note that this will result in slightly more load on the
# server.
#
IMAP_CHECK_ALL_FOLDERS=1
##NAME: IMAP_OBSOLETE_CLIENT:0
#
# Set IMAP_OBSOLETE_CLIENT if your IMAP client expects \\NoInferiors to mean
# what \\HasNoChildren really means.
IMAP_OBSOLETE_CLIENT=0
##NAME: IMAP_ULIMITD:0
#
# IMAP_ULIMITD sets the maximum size of the data segment of the server
# process. The value of IMAP_ULIMITD is simply passed to the "ulimit -d"
# command. The argument to ulimit -d sets the upper limit on the size
# of the data segment of the server process, in kilobytes. The default
# value of 65536 sets a very generous limit of 64 megabytes, which should
# be more than plenty for anyone.
#
# This feature is used as an additional safety check that should stop
# any potential denial-of-service attacks that exploit any kind of
# a memory leak to exhaust all the available memory on the server.
# It is theoretically possible that obscenely huge folders will also
# result in the server running out of memory when doing server-side
# sorting (by my calculations you have to have at least 100,000 messages
# in a single folder, for that to happen).
IMAP_ULIMITD=65536
##NAME: IMAP_USELOCKS:0
#
# Set IMAP_USELOCKS to 1 if you experience weird problems when using IMAP
# clients that open multiple connections to the server. I would hope that
# most IMAP clients are sane enough not to issue commands to multiple IMAP
# channels which conflict with each other.
#
IMAP_USELOCKS=1
##NAME: IMAP_EMPTYTRASH:0
#
# The following setting is optional, and causes messages from the given
# folder to be automatically deleted after the given number of days.
# IMAP_EMPTYTRASH is a comma-separated list of folder:days. The default
# setting, below, purges 7 day old messages from the Trash folder.
# Another useful setting would be:
#
# IMAP_EMPTYTRASH=Trash:7,Sent:30
#
# This would also delete messages from the Sent folder (presumably copies
# of sent mail) after 30 days. This is a global setting that is applied to
# every mail account, and is probably useful in a controlled, corporate
# environment.
#
# You might want to disable this setting in certain situations - it results
# in a stat() of every file in each folder, at login and logout.
#
IMAP_EMPTYTRASH=Trash:7
##NAME: IMAP_MOVE_EXPUNGE_TO_TRASH:0
#
# Set IMAP_MOVE_EXPUNGE_TO_TRASH to move expunged messages to Trash. This
# effectively allows an undo of message deletion by fishing the deleted
# mail from trash. Trash can be manually expunged as usually, and mail
# will get automatically expunged from Trash according to IMAP_EMPTYTRASH.
#
# NOTE: shared folders are still expunged as usual. Shared folders are
# not affected.
#
IMAP_MOVE_EXPUNGE_TO_TRASH=0
##NAME: IMAPDSTART:0
#
# IMAPDSTART is not used directly. Rather, this is a convenient flag to
# be read by your system startup script in /etc/rc.d, like this:
#
# . /usr/libexec/imapd.config
#
# case x$IMAPDSTART in
# x[yY]*)
# /usr/libexec/imapd.rc start
# ;;
# esac
#
# The default setting is going to be NO, so you'll have to manually flip
# it to yes.
IMAPDSTART=YES
# Setting the IMAP_ENHANCEDIDLE to 1 in /usr/lib/courier/etc/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.
IMAP_ENHANCEDIDLE=1
> Hi,
>
> I'm trying to enable the IMAP_ENHANCEDIDLE feature for a long time and but it doesn't work.
> Nether the Mailclients notify each other nor the test described in the Manual work properly( Mozilla
> 1.8 ).
>
> instead of getting : + entering ENHANCED idle mode
> i only get: + entering idle mode
> although i have IMAP_ENHANCEDIDLE enabled.
You also need to be using either Linux or Irix (or anything else to which
FAM has been ported to), and you must have FAM installed, configured, and
enabled.
I'm using Linux and already have installed and configured fam ( as you can see in the attached
config file ) and if understand the man page correctly, installing Fam is not mandatory to use .
Therefor i think the error has another origin.
IMAPD(8)
...
IMAP_ENHANCEDIDLE
This setting in /etc/courier/imapd actually enables concurrent realtime folder status
updates using the IDLE extension.
Note that it is possible to enable the IDLE extension even if FAM is not
available, or without enabling either the
IMAP_USELOCKS and/or IMAP_ENHANCEDIDLE settings. The resulting consequences are
described are as follows:
...
My fam Configuration File:
# famd.conf
#
# For more information on the configuration options below, see the
# fam.conf(5) man page.
#
# insecure_compatibility disables authentication. This causes
# untrusted_user to be ignored, because the UID presented by every client
# connection will be believed.
#
# The -C command-line argument overrides this option.
#
insecure_compatibility = false
#
# untrusted_user is the user which will be used for unauthenticated
# clients. If a file can't be stat'ed by this user, those clients won't be
# able to fam it. The value can be a user name or a numeric UID.
#
untrusted_user = nobody
#
# local_only makes famd ignore requests from remote clients & remote fams.
# Note that this is ignored if famd is started by inetd.
#
# The -L command-line argument overrides this option.
#
local_only = true
#
# xtab_verification makes famd check the list of exported filesystems to
# verify that requests from remote hosts fall on filesystems which are
# exported to the hosts.
#
xtab_verification = true
#
# idle_timeout sets the number of seconds famd will wait for new
# connections before quitting. A value of zero will cause famd to
# wait indefinitely. The default is 5.
#
# The -T command-line argument overrides this option.
#
#idle_timeout = 5
#
# nfs_polling_interval sets the number of seconds between polling files
# on NFS filesystems. The default is 6.
#
# The -t command-line argument overrides this option.
#
#nfs_polling_interval = 6
> Sam wrote:
>> Fred Kastl writes:
>>
>>> Hi,
>>>
>>> I'm trying to enable the IMAP_ENHANCEDIDLE feature for a long time and
>>> but it doesn't work.
>>> Nether the Mailclients notify each other nor the test described in the
>>> Manual work properly( Mozilla 1.8 ).
>>>
>>> instead of getting : + entering ENHANCED idle mode
>>> i only get: + entering idle mode
>>> although i have IMAP_ENHANCEDIDLE enabled.
>>
>>
>> You also need to be using either Linux or Irix (or anything else to
>> which FAM has been ported to), and you must have FAM installed,
>> configured, and enabled.
>>
>>
>
> I'm using Linux and already have installed and configured fam ( as you can see in the attached
> config file ) and if understand the man page correctly, installing Fam is not mandatory to use .
It's not. But it's required if you wanted the enhanced idle functionality.
> My fam Configuration File:
You should not be messing with any FAM configuration file. It is your Linux
distribution's responsibility to set up FAM correctly.
You shouldn't need to do anything more than installing the FAM development
libraries (FAM runtime should already be installed and configured by
default), and building Courier-IMAP in an ordinary fashion.