Class ImapManager
- All Implemented Interfaces:
TableListener
,PackageManager.PackageListener
TODO: Once conversion done: 0) Look for any /home/?/???/MoveToCyrus folders (www2.kc.aoindustries.com:smurphy is one) 1) Set WUIMAP_CONVERSION_ENABLED to false 2) Make sure all gone in /home/?/???/Mail and /home/?/???/.mailboxlist - Then after a while - 3) rm -rf /opt/imap-2007d 4) rm -rf /var/opt/imap-2007d
TODO: Future Control the synchronous mode for ext2/ext3 automatically? file:///home/orion/temp/cyrus/cyrus-imapd-2.3.7/doc/install-configure.html cd /var/imap chattr +S user quota user/* quota/* chattr +S /var/spool/imap /var/spool/imap/* chattr +S /var/spool/mqueue sieve to replace procmail and allow more directly delivery sieveusehomedir sieveshell: sieveshell --authname=cyrus.test@suspendo.aoindustries.com 192.168.1.12 /bin/su -s /bin/bash -c "/usr/bin/sieveshell 192.168.1.12" cyrus.test@suspendo.aoindustries.com procmail migration script here: http://cyrusimap.web.cmu.edu/twiki/bin/view/Cyrus/MboxCyrusMigration Run chk_cyrus from NOC? Backups: stop master, snapshot, start master Or, without snapshots, do ctl_mboxlist -d http://cyrusimap.web.cmu.edu/twiki/bin/view/Cyrus/Backup Also, don't back-up Junk folders? Add smmapd support Consider https://wikipedia.org/wiki/Application_Configuration_Access_Protocol or https://wikipedia.org/wiki/Application_Configuration_Access_Protocol Look for any "junk" flags for Cyrus folders - if exists can train off this instead of requiring move to/from Junk
TODO: SELinux port management for non-standard ports TODO: pop_port_t for 110, 143, 993, 995 (and on custom ports) TODO: sieve_port_t for Sieve on 4190 (and on custom ports)
TODO: allow lmtp-only config to support receiving-only server (without any POP3/IMAP) TODO: This might be a server configured with Sieve port only.
TODO: Auto-backup directories in /var/lib/imap and /var/spool/imap before removing inbox.
- Author:
- AO Industries, Inc.
-
Field Summary
Fields inherited from class com.aoindustries.aoserv.daemon.util.BuilderThread
DEFAULT_MAXIMUM_DELAY, DEFAULT_MINIMUM_DELAY, DEFAULT_PROCESS_TIMER_MAXIMUM_TIME, DEFAULT_PROCESS_TIMER_REMINDER_INTERVAL
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
addFilesystemIteratorRules
(FileReplication ffr, Map<String, FilesystemIteratorRule> filesystemRules) Configures backups for cyrus-imapd.protected boolean
static long[]
getImapFolderSizes
(User.Name username, String[] folderNames) static long
getInboxModified
(User.Name username) static long
getInboxSize
(User.Name username) static boolean
Determines if the Cyrus configuration has any secondary service names.static boolean
Checks if cyrus-imapd is expected to be enabled on this server.static void
start()
Remove after testing, or move to JUnit tests.Methods inherited from class com.aoindustries.aoserv.daemon.util.BuilderThread
getMaximumDelay, getMinimumDelay, getProcessTimerMaximumTime, getProcessTimerReminderInterval, getProcessTimerSubject, getRandomDelay, packageListUpdated, tableUpdated, waitForBuild
-
Field Details
-
WUIMAP_CONVERSION_ENABLED
public static final boolean WUIMAP_CONVERSION_ENABLED- See Also:
-
mailSpool
-
-
Method Details
-
hasSecondaryService
Determines if the Cyrus configuration has any secondary service names. This will trigger the installation of thePackageManager.PackageName.FAIL2BAN_FILTER_CYRUS_IMAP_MORE_SERVICES
package.- Throws:
IOException
SQLException
- See Also:
-
doRebuild
protected boolean doRebuild()- Specified by:
doRebuild
in classBuilderThread
- Returns:
true
if successful orfalse
if unsuccessful and needs to be retried.
-
start
Remove after testing, or move to JUnit tests.- Throws:
IOException
SQLException
-
getProcessTimerDescription
- Specified by:
getProcessTimerDescription
in classBuilderThread
-
getImapFolderSizes
public static long[] getImapFolderSizes(User.Name username, String[] folderNames) throws IOException, SQLException, MessagingException -
getInboxSize
public static long getInboxSize(User.Name username) throws IOException, SQLException, MessagingException -
getInboxModified
public static long getInboxModified(User.Name username) throws IOException, SQLException, MessagingException, ParseException -
isCyrusImapdEnabled
Checks if cyrus-imapd is expected to be enabled on this server.This is used to know when to enable saslauthd (See
SaslauthdManager
.- Throws:
IOException
SQLException
- See Also:
-
addFilesystemIteratorRules
public static void addFilesystemIteratorRules(FileReplication ffr, Map<String, FilesystemIteratorRule> filesystemRules) throws IOException, SQLExceptionConfigures backups for cyrus-imapd.- Throws:
IOException
SQLException
-