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
FieldsFields 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 voidaddFilesystemIteratorRules(FileReplication ffr, Map<String, FilesystemIteratorRule> filesystemRules) Configures backups for cyrus-imapd.protected booleanstatic long[]getImapFolderSizes(User.Name username, String[] folderNames) static longgetInboxModified(User.Name username) static longgetInboxSize(User.Name username) static booleanDetermines if the Cyrus configuration has any secondary service names.static booleanChecks if cyrus-imapd is expected to be enabled on this server.static voidstart()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_SERVICESpackage.- Throws:
IOExceptionSQLException- See Also:
-
doRebuild
protected boolean doRebuild()- Specified by:
doRebuildin classBuilderThread- Returns:
trueif successful orfalseif unsuccessful and needs to be retried.
-
start
Remove after testing, or move to JUnit tests.- Throws:
IOExceptionSQLException
-
getProcessTimerDescription
- Specified by:
getProcessTimerDescriptionin 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:
IOExceptionSQLException- See Also:
-
addFilesystemIteratorRules
public static void addFilesystemIteratorRules(FileReplication ffr, Map<String, FilesystemIteratorRule> filesystemRules) throws IOException, SQLExceptionConfigures backups for cyrus-imapd.- Throws:
IOExceptionSQLException
-
