/**************************************************************************** * * Copyright (c) 2001 Novell, Inc. All Rights Reserved. * * This program is free software; you can redistribute it and/or * modify it under the terms of version 2 of the GNU General Public License * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, contact Novell, Inc. * * To contact Novell about this file by physical or electronic mail, you * may find current contact information at www.novell.com. * ****************************************************************************/ #ifndef BONGO_MANAGEMENT_H #define BONGO_MANAGEMENT_H #include #include #define DMC_MANAGER_PORT 21289 #define DMC_MANAGER_SSL_PORT 21389 #define DMC_HASH_SIZE 128 #define DMC_CONNECTION_TIMEOUT (15 * 60) #define DMC_MANAGEMENT_STACKSIZE (64 * 1024) #define DMC_REPORT_PRODUCT_VERSION(d, dl) \ { \ unsigned long cOuNtOfByTeS; \ cOuNtOfByTeS = strlen(PRODUCT_NAME) + 2 + strlen(PRODUCT_SHORT_NAME) + 17 + strlen(PRODUCT_DESCRIPTION) + 2; \ if ((d)&& ((dl) > cOuNtOfByTeS)) { \ (dl) = sprintf((d), "%s (%s: v%d.%d.%d)\r\n%s\r\n", PRODUCT_NAME, PRODUCT_SHORT_NAME, PRODUCT_MAJOR_VERSION, PRODUCT_MINOR_VERSION, PRODUCT_LETTER_VERSION, PRODUCT_DESCRIPTION); \ } else { \ (dl) = cOuNtOfByTeS; \ } \ } enum ManagementStates { MANAGEMENT_LOADING = 0, MANAGEMENT_INITIALIZING, MANAGEMENT_READY, MANAGEMENT_RUNNING, MANAGEMENT_STOPPING, MANAGEMENT_STOPPED, MANAGEMENT_MAX_STATES }; typedef BOOL (*DMCReadVariable)(unsigned int Variable, unsigned char *Data, size_t *DataLength); typedef BOOL (*DMCWriteVariable)(unsigned int Variable, unsigned char *Data, size_t DataLength); typedef BOOL (*DMCCommand)(unsigned char *Arguments, unsigned char **Response, BOOL *CloseConnection); typedef struct _ManagementVariable { unsigned char *Name; unsigned char *Help; DMCReadVariable Read; DMCWriteVariable Write; } ManagementVariables; typedef struct _DMC_MANAGEMENT_COMMAND { unsigned char *Name; DMCCommand Execute; } ManagementCommands; typedef struct _AddressBookStatistics{ unsigned char Version[256]; /* DMCMV_VERSION */ struct { unsigned long Count; /* Connection Pool Allocation Count */ unsigned long Size; /* Connection Pool Allocation Size */ unsigned long Pitches; /* Connection Pool Pitches */ unsigned long Strikes; /* Connection Pool Strikes */ } Memory; unsigned long ServerThreads; /* DMCMV_SERVER_THREAD_COUNT */ unsigned long Connections; /* DMCMV_CONNECTION_COUNT */ unsigned long Idle; /* DMCMV_IDLE_CONNECTION_COUNT */ } AddressBookStatistics; typedef struct _BONGO_ALIAS_STATISTICS { unsigned char Version[256]; /* DMCMV_VERSION */ struct { unsigned long Count; /* Connection Pool Allocation Count */ unsigned long Size; /* Connection Pool Allocation Size */ unsigned long Pitches; /* Connection Pool Pitches */ unsigned long Strikes; /* Connection Pool Strikes */ } Memory; unsigned long ServerThreads; /* DMCMV_SERVER_THREAD_COUNT */ unsigned long Connections; /* DMCMV_CONNECTION_COUNT */ unsigned long Idle; /* DMCMV_IDLE_CONNECTION_COUNT */ } AliasStatistics; typedef struct _BONGO_ANTISPAM_STATISTICS { unsigned char Version[256]; /* DMCMV_VERSION */ struct { unsigned long Count; /* Connection Pool Allocation Count */ unsigned long Size; /* Connection Pool Allocation Size */ unsigned long Pitches; /* Connection Pool Pitches */ unsigned long Strikes; /* Connection Pool Strikes */ } Memory; unsigned long ServerThreads; /* DMCMV_SERVER_THREAD_COUNT */ unsigned long Connections; /* DMCMV_CONNECTION_COUNT */ unsigned long Idle; /* DMCMV_IDLE_CONNECTION_COUNT */ } AntiSPAMStatistics; typedef struct _BONGO_ANTIVIRUS_STATISTICS { unsigned char Version[256]; /* DMCMV_VERSION */ struct { unsigned long Count; /* Connection Pool Allocation Count */ unsigned long Size; /* Connection Pool Allocation Size */ unsigned long Pitches; /* Connection Pool Pitches */ unsigned long Strikes; /* Connection Pool Strikes */ } Memory; unsigned long ServerThreads; /* DMCMV_SERVER_THREAD_COUNT */ unsigned long Connections; /* DMCMV_CONNECTION_COUNT */ unsigned long Idle; /* DMCMV_IDLE_CONNECTION_COUNT */ unsigned long MessagesScanned; /* AVMV_MESSAGES_SCANNED */ unsigned long AttachmentsScanned; /* AVMV_ATTACHMENTS_SCANNED */ unsigned long AttachmentsBlocked; /* AVMV_ATTACHMENTS_BLOCKED */ unsigned long VirusesFound; /* AVMV_VIRUSES_FOUND */ } AntiVirusStatistics; typedef struct _BONGO_CALENDAR_STATISTICS { unsigned char Version[256]; /* DMCMV_VERSION */ struct { unsigned long Count; /* Connection Pool Allocation Count */ unsigned long Size; /* Connection Pool Allocation Size */ unsigned long Pitches; /* Connection Pool Pitches */ unsigned long Strikes; /* Connection Pool Strikes */ } Memory; unsigned long ServerThreads; /* DMCMV_SERVER_THREAD_COUNT */ unsigned long Connections; /* DMCMV_CONNECTION_COUNT */ unsigned long Idle; /* DMCMV_IDLE_CONNECTION_COUNT */ } CalendarStatistics; typedef struct _BONGO_CAP_STATISTICS { unsigned char Version[256]; /* DMCMV_VERSION */ struct { unsigned long Count; /* Connection Pool Allocation Count */ unsigned long Size; /* Connection Pool Allocation Size */ unsigned long Pitches; /* Connection Pool Pitches */ unsigned long Strikes; /* Connection Pool Strikes */ } Memory; unsigned long ServerThreads; /* DMCMV_SERVER_THREAD_COUNT */ unsigned long Connections; /* DMCMV_CONNECTION_COUNT */ unsigned long Idle; /* DMCMV_IDLE_CONNECTION_COUNT */ unsigned long ConnectionLimit; /* DMCMV_MAX_CONNECTION_COUNT */ } CAPStatistics; typedef struct _BONGO_CONNECTION_MANAGER_STATISTICS { unsigned char Version[256]; /* DMCMV_VERSION */ struct { unsigned long Count; /* Connection Pool Allocation Count */ unsigned long Size; /* Connection Pool Allocation Size */ unsigned long Pitches; /* Connection Pool Pitches */ unsigned long Strikes; /* Connection Pool Strikes */ } Memory; unsigned long ServerThreads; /* DMCMV_SERVER_THREAD_COUNT */ unsigned long Connections; /* DMCMV_CONNECTION_COUNT */ unsigned long Idle; /* DMCMV_IDLE_CONNECTION_COUNT */ } ConnectionManagerStatistics; typedef struct _BONGO_FINGER_STATISTICS { unsigned char Version[256]; /* DMCMV_VERSION */ struct { unsigned long Count; /* Connection Pool Allocation Count */ unsigned long Size; /* Connection Pool Allocation Size */ unsigned long Pitches; /* Connection Pool Pitches */ unsigned long Strikes; /* Connection Pool Strikes */ } Memory; unsigned long ServerThreads; /* DMCMV_SERVER_THREAD_COUNT */ unsigned long Connections; /* DMCMV_CONNECTION_COUNT */ unsigned long Idle; /* DMCMV_IDLE_CONNECTION_COUNT */ } FingerStatistics; typedef struct _BONGO_IMAP_STATISTICS { unsigned char Version[256]; /* DMCMV_VERSION */ struct { unsigned long Count; /* Connection Pool Allocation Count */ unsigned long Size; /* Connection Pool Allocation Size */ unsigned long Pitches; /* Connection Pool Pitches */ unsigned long Strikes; /* Connection Pool Strikes */ } Memory; unsigned long ServerThreads; /* DMCMV_SERVER_THREAD_COUNT */ unsigned long Connections; /* DMCMV_CONNECTION_COUNT */ unsigned long Idle; /* DMCMV_IDLE_CONNECTION_COUNT */ unsigned long ConnectionLimit; /* DMCMV_MAX_CONNECTION_COUNT */ unsigned long ConnectionsServiced; /* DMCMV_TOTAL_CONNECTIONS */ unsigned long BadPasswords; /* DMCMV_BAD_PASSWORD_COUNT */ } IMAPStatistics; typedef struct _BONGO_LIST_SERVER_STATISTICS { unsigned char Version[256]; /* DMCMV_VERSION */ struct { unsigned long Count; /* Connection Pool Allocation Count */ unsigned long Size; /* Connection Pool Allocation Size */ unsigned long Pitches; /* Connection Pool Pitches */ unsigned long Strikes; /* Connection Pool Strikes */ } Memory; unsigned long ServerThreads; /* DMCMV_SERVER_THREAD_COUNT */ unsigned long Connections; /* DMCMV_CONNECTION_COUNT */ unsigned long Idle; /* DMCMV_IDLE_CONNECTION_COUNT */ } ListServerStatistics; typedef struct _BONGO_NMAP_STATISTICS { unsigned char Version[256]; /* DMCMV_VERSION */ struct { unsigned long Count; /* Connection Pool Allocation Count */ unsigned long Size; /* Connection Pool Allocation Size */ unsigned long Pitches; /* Connection Pool Pitches */ unsigned long Strikes; /* Connection Pool Strikes */ } Memory; unsigned long ServerThreads; /* DMCMV_SERVER_THREAD_COUNT */ unsigned long Connections; /* DMCMV_CONNECTION_COUNT */ unsigned long Idle; /* DMCMV_IDLE_CONNECTION_COUNT */ unsigned long QueueThreads; /* DMCMV_QUEUE_THREAD_COUNT */ struct { BOOL Disabled; /* NMAPMV_LOAD_MONITOR_DISABLED */ unsigned long Interval; /* NMAPMV_LOAD_MONITOR_INTERVAL */ } Monitor; struct { unsigned long Low; /* NMAPMV_LOW_UTILIZATION_THRESHOLD */ unsigned long High; /* NMAPMV_HIGH_UTILIZATION_THRESHOLD */ } Utilization; struct { unsigned long Concurrent; /* NMAPMV_QUEUE_LIMIT_CONCURRENT */ unsigned long Sequential; /* NMAPMV_QUEUE_LIMIT_SEQUENTIAL */ unsigned long Threshold; /* NMAPMV_QUEUE_LOAD_THRESHOLD */ } Queue; struct { time_t Interval; /* NMAPMV_BOUNCE_INTERVAL */ unsigned long Maximum; /* NMAPMV_MAX_BOUNCE_COUNT */ } Bounce; struct { unsigned long Connections; /* NMAPMV_NMAP_TO_NMAP_CONNECTIONS */ unsigned long Serviced; /* DMCMV_TOTAL_CONNECTIONS */ unsigned long Agents; /* NMAPMV_AGENTS_SERVICED */ } NMAP; struct { unsigned long Queued; /* NMAPMV_MESSAGES_QUEUED_LOCALLY */ unsigned long SPAMDiscarded; /* NMAPMV_SPAM_MESSAGES_DISCARDED */ struct { unsigned long Count; /* NMAPMV_MESSAGES_STORED_LOCALLY */ unsigned long Recipients; /* NMAPMV_RECIPIENTS_STORED_LOCALLY */ unsigned long KiloBytes; /* NMAPMV_BYTES_STORED_LOCALLY */ } Stored; struct { unsigned long Local; /* NMAPMV_LOCAL_DELIVERY_FAILURES */ unsigned long Remote; /* NMAPMV_REMOTE_DELIVERY_FAILURES */ } Failed; } Messages; } NMAPStatistics; typedef struct _BONGO_PLUSPACK_STATISTICS { unsigned char Version[256]; /* DMCMV_VERSION */ struct { unsigned long Count; /* Connection Pool Allocation Count */ unsigned long Size; /* Connection Pool Allocation Size */ unsigned long Pitches; /* Connection Pool Pitches */ unsigned long Strikes; /* Connection Pool Strikes */ } Memory; unsigned long ServerThreads; /* DMCMV_SERVER_THREAD_COUNT */ unsigned long Connections; /* DMCMV_CONNECTION_COUNT */ unsigned long Idle; /* DMCMV_IDLE_CONNECTION_COUNT */ } PlusPackStatistics; typedef struct _BONGO_POP3_STATISTICS { unsigned char Version[256]; /* DMCMV_VERSION */ struct { unsigned long Count; /* Connection Pool Allocation Count */ unsigned long Size; /* Connection Pool Allocation Size */ unsigned long Pitches; /* Connection Pool Pitches */ unsigned long Strikes; /* Connection Pool Strikes */ } Memory; unsigned long ServerThreads; /* DMCMV_SERVER_THREAD_COUNT */ unsigned long Connections; /* DMCMV_CONNECTION_COUNT */ unsigned long Idle; /* DMCMV_IDLE_CONNECTION_COUNT */ unsigned long ConnectionLimit; /* DMCMV_MAX_CONNECTION_COUNT */ unsigned long ConnectionsServiced; /* DMCMV_TOTAL_CONNECTIONS */ unsigned long BadPasswords; /* DMCMV_BAD_PASSWORD_COUNT */ } POP3Statistics; typedef struct _BONGO_PROXY_STATISTICS { unsigned char Version[256]; /* DMCMV_VERSION */ struct { unsigned long Count; /* Connection Pool Allocation Count */ unsigned long Size; /* Connection Pool Allocation Size */ unsigned long Pitches; /* Connection Pool Pitches */ unsigned long Strikes; /* Connection Pool Strikes */ } Memory; unsigned long ServerThreads; /* DMCMV_SERVER_THREAD_COUNT */ unsigned long Connections; /* DMCMV_CONNECTION_COUNT */ unsigned long Idle; /* DMCMV_IDLE_CONNECTION_COUNT */ unsigned long ConnectionsServiced; /* DMCMV_TOTAL_CONNECTIONS */ unsigned long BadPasswords; /* DMCMV_BAD_PASSWORD_COUNT */ unsigned long Messages; /* PROXYMV_REMOTE_MESSAGES_PULLED */ unsigned long KiloBytes; /* PROXYMV_REMOTE_BYTES_PULLED */ } ProxyStatistics; typedef struct _BONGO_RULES_SERVER_STATISTICS { unsigned char Version[256]; /* DMCMV_VERSION */ struct { unsigned long Count; /* Connection Pool Allocation Count */ unsigned long Size; /* Connection Pool Allocation Size */ unsigned long Pitches; /* Connection Pool Pitches */ unsigned long Strikes; /* Connection Pool Strikes */ } Memory; unsigned long ServerThreads; /* DMCMV_SERVER_THREAD_COUNT */ unsigned long Connections; /* DMCMV_CONNECTION_COUNT */ unsigned long Idle; /* DMCMV_IDLE_CONNECTION_COUNT */ } RulesServerStatistics; typedef struct _BONGO_SMTP_STATISTICS { unsigned char Version[256]; /* DMCMV_VERSION */ struct { unsigned long Count; /* Connection Pool Allocation Count */ unsigned long Size; /* Connection Pool Allocation Size */ unsigned long Pitches; /* Connection Pool Pitches */ unsigned long Strikes; /* Connection Pool Strikes */ } Memory; unsigned long ServerThreads; /* DMCMV_SERVER_THREAD_COUNT */ unsigned long Connections; /* DMCMV_CONNECTION_COUNT */ unsigned long Idle; /* DMCMV_IDLE_CONNECTION_COUNT */ unsigned long ConnectionLimit; /* DMCMV_MAX_CONNECTION_COUNT */ unsigned long QueueThreads; /* DMCMV_QUEUE_THREAD_COUNT */ unsigned long BadPasswords; /* DMCMV_BAD_PASSWORD_COUNT */ struct { struct { unsigned long Connections; /* SMTPMV_INCOMING_SERVERS */ unsigned long Serviced; /* SMTPMV_SERVICED_SERVERS */ } InBound; struct { unsigned long Connections; /* SMTPMV_OUTGOING_SERVERS */ unsigned long Serviced; /* SMTPMV_CLOSED_OUT_SERVERS */ } OutBound; } Servers; struct { unsigned long Connections; /* SMTPMV_INCOMING_QUEUE_AGENT */ } NMAP; struct { unsigned long Address; /* SMTPMV_SPAM_ADDRS_BLOCKED */ unsigned long MAPS; /* SMTPMV_SPAM_MAPS_BLOCKED */ unsigned long NoDNSEntry; /* SMTPMV_SPAM_NO_DNS_ENTRY */ unsigned long Routing; /* SMTPMV_SPAM_DENIED_ROUTING */ unsigned long Queue; /* SMTPMV_SPAM_QUEUE */ } Blocked; struct { unsigned long Count; /* SMTPMV_LOCAL_MSGS_RECEIVED */ unsigned long Recipients; /* SMTPMV_LOCAL_RECIP_RECEIVED */ unsigned long KiloBytes; /* SMTPMV_LOCAL_BYTES_RECEIVED */ } Local; struct { struct { unsigned long Received; /* SMTPMV_REMOTE_RECIP_RECEIVED */ unsigned long Stored; /* SMTPMV_REMOTE_RECIP_STORED */ } Recipients; struct { unsigned long Received; /* SMTPMV_REMOTE_BYTES_RECEIVED */ unsigned long Stored; /* SMTPMV_REMOTE_BYTES_STORED */ } KiloBytes; struct { unsigned long Received; /* SMTPMV_REMOTE_MSGS_RECEIVED */ unsigned long Stored; /* SMTPMV_REMOTE_MSGS_STORED */ } Messages; } Remote; } SMTPStatistics; typedef struct _BongoStatistics { unsigned long UpTime; unsigned long ModuleCount; AddressBookStatistics AddressBook; AliasStatistics Alias; AntiSPAMStatistics AntiSpam; AntiVirusStatistics AntiVirus; CalendarStatistics Calendar; CAPStatistics CAP; ConnectionManagerStatistics ConnectionManager; FingerStatistics Finger; IMAPStatistics IMAP; ListServerStatistics List; NMAPStatistics NMAP; PlusPackStatistics PlusPack; POP3Statistics POP3; ProxyStatistics Proxy; RulesServerStatistics Rules; SMTPStatistics SMTP; } BongoStatistics; typedef struct _BONGO_STATISTICS { /* Generic */ unsigned long ModulesLoaded; unsigned long Uptime; unsigned long SystemLoad; unsigned long SystemMemoryUsed; unsigned long UnauthorizedAccess; unsigned long WrongPassword; /* + NMStats->POP3.BadPasswords + NMStats->IMAP.BadPasswords + NMStats->SMTP.BadPasswords + NMStats->Proxy.BadPasswords */ unsigned long DeliveryFailedLocal; /* NMStats->NMAP.Messages.Failed.Local */ unsigned long DeliveryFailedRemote; /* NMStats->NMAP.Messages.Failed.Remote */ /* Connections */ unsigned long IncomingClients; /* + NMStats->POP3.Connections + NMStats->IMAP.Connections */ unsigned long IncomingServers; /* NMStats->SMTP.Connections */ unsigned long ServicedClients; /* + NMStats->POP3.ConnectionsServiced + NMStats->IMAP.ConnectionsServiced */ unsigned long ServicedServers; /* NMStats->SMTP.Servers.InBound.Serviced */ unsigned long OutgoingServers; /* NMStats->SMTP.Servers.OutBound.Connections */ unsigned long ClosedOutServers; /* NMStats->SMTP.Servers.OutBound.Serviced */ /* NMAP Agents */ unsigned long IncomingQueueAgents; /* NMStats->SMTP.NMAP.Connections */ unsigned long OutgoingQueueAgents; unsigned long CurrentStoreAgents; /* NMStats->NMAP.Connections */ unsigned long ServicedStoreAgents; /* NMStats->NMAP.NMAP.Agents */ unsigned long CurrentNMAPtoNMAPAgents; /* NMStats->NMAP.NMAP.Connections */ unsigned long ServicedNMAPtoNMAPAgents; /* NMStats->NMAP.NMAP.Serviced */ /* Messages */ unsigned long MsgReceivedLocal; /* NMStats->SMTP.Local.Count */ unsigned long MsgReceivedRemote; /* NMStats->SMTP.Remote.Messages.Received */ unsigned long MsgStoredLocal; /* NMStats->NMAP.Messages.Stored.Count */ unsigned long MsgStoredRemote; /* NMStats->SMTP.Remote.Messages.Stored */ unsigned long MsgQueuedLocal; /* NMStats->NMAP.Messages.Queued */ unsigned long MsgQueuedRemote; /* Bytes */ unsigned long ByteReceivedLocal; /* NMStats->SMTP.Local.KiloBytes */ unsigned long ByteReceivedRemote; /* NMStats->SMTP.Remote.KiloBytes.Received */ unsigned long ByteStoredLocal; /* NMStats->NMAP.Messages.Stored.KiloBytes */ unsigned long ByteStoredRemote; /* NMStats->SMTP.Remote.KiloBytes.Stored */ unsigned long ByteReceivedCount; /* NMStats->SMTP.Local.Count + NMStats->SMTP.Remote.Messages.Received */ unsigned long ByteStoredCount; /* NMStats->NMAP.Messages.Stored.Count + NMStats->SMTP.Remote.KiloBytes.Stored */ /* Recipients */ unsigned long RcptReceivedLocal; /* NMStats->SMTP.Local.Recipients */ unsigned long RcptReceivedRemote; /* NMStats->SMTP.Remote.Recipients.Received */ unsigned long RcptStoredLocal; /* NMStats->NMAP.Messages.Stored.Recipients */ unsigned long RcptStoredRemote; /* NMStats->SMTP.Remote.Recipients.Stored */ } StatisticsStruct; typedef struct _ANTISPAM_STATISTICS { unsigned long QueueSpamBlocked; /* NMStats->NMAP.Messages.SPAMDiscared + NMStats->SMTP.Blocked.Queue */ unsigned long AddressBlocked; /* NMStats->SMTP.Blocked.Address */ unsigned long MAPSBlocked; /* NMStats->SMTP.Blocked.MAPS */ unsigned long DeniedRouting; /* NMStats->SMTP.Blocked.Routing */ unsigned long NoDNSEntry; /* NMStats->SMTP.Blocked.NoDNSEntry */ unsigned long MessagesScanned; /* NMStats->AntiVirus.MessagesScanned */ unsigned long AttachmentsScanned; /* NMStats->AntiVirus.AttachmentsScanned */ unsigned long AttachmentsBlocked; /* NMStats->AntiVirus.AttachmentsBlocked */ unsigned long VirusesFound; /* NMStats->AntiVirus.VirusesFound */ unsigned long VirusesBlocked; unsigned long VirusesCured; } AntispamStatisticsStruct; #define NMSTATS_TO_STATS(n, s) \ if (s) { \ memset((s), 0, sizeof(StatisticsStruct)); \ } \ if (n) { \ if (s) { \ (s)->Uptime = (n)->UpTime; \ (s)->WrongPassword = (n)->POP3.BadPasswords \ + (n)->IMAP.BadPasswords \ + (n)->SMTP.BadPasswords \ + (n)->Proxy.BadPasswords; \ (s)->DeliveryFailedLocal = (n)->NMAP.Messages.Failed.Local; \ (s)->DeliveryFailedRemote = (n)->NMAP.Messages.Failed.Remote; \ (s)->IncomingClients = + (n)->POP3.Connections \ + (n)->IMAP.Connections; \ (s)->IncomingServers = (n)->SMTP.Connections; \ (s)->ServicedClients = (n)->POP3.ConnectionsServiced \ + (n)->IMAP.ConnectionsServiced; \ (s)->ServicedServers = (n)->SMTP.Servers.InBound.Serviced; \ (s)->OutgoingServers = (n)->SMTP.Servers.OutBound.Connections; \ (s)->ClosedOutServers = (n)->SMTP.Servers.OutBound.Serviced; \ (s)->IncomingQueueAgents = (n)->SMTP.NMAP.Connections; \ (s)->CurrentStoreAgents = (n)->NMAP.Connections; \ (s)->ServicedStoreAgents = (n)->NMAP.NMAP.Agents; \ (s)->CurrentNMAPtoNMAPAgents = (n)->NMAP.NMAP.Connections; \ (s)->ServicedNMAPtoNMAPAgents = (n)->NMAP.NMAP.Serviced; \ (s)->MsgReceivedLocal = (n)->SMTP.Local.Count; \ (s)->MsgReceivedRemote = (n)->SMTP.Remote.Messages.Received; \ (s)->MsgStoredLocal = (n)->NMAP.Messages.Stored.Count; \ (s)->MsgStoredRemote = (n)->SMTP.Remote.Messages.Stored; \ (s)->MsgQueuedLocal = (n)->NMAP.Messages.Queued; \ (s)->ByteReceivedLocal = (n)->SMTP.Local.KiloBytes; \ (s)->ByteReceivedRemote = (n)->SMTP.Remote.KiloBytes.Received; \ (s)->ByteStoredLocal = (n)->NMAP.Messages.Stored.KiloBytes; \ (s)->ByteStoredRemote = (n)->SMTP.Remote.KiloBytes.Stored; \ (s)->ByteReceivedCount = (n)->SMTP.Local.Count \ + (n)->SMTP.Remote.Messages.Received; \ (s)->ByteStoredCount = (n)->NMAP.Messages.Stored.Count \ + (n)->SMTP.Remote.KiloBytes.Stored; \ (s)->RcptReceivedLocal = (n)->SMTP.Local.Recipients; \ (s)->RcptReceivedRemote = (n)->SMTP.Remote.Recipients.Received; \ (s)->RcptStoredLocal = (n)->NMAP.Messages.Stored.Recipients; \ (s)->RcptStoredRemote = (n)->SMTP.Remote.Recipients.Stored; \ } \ } #define NMSTATS_TO_SPAMSTATS(n, sp) \ if (sp) { \ memset((sp), 0, sizeof(AntispamStatisticsStruct)); \ } \ if (n) { \ if (sp) { \ (sp)->QueueSpamBlocked = (n)->NMAP.Messages.SPAMDiscarded \ + (n)->SMTP.Blocked.Queue; \ (sp)->AddressBlocked = (n)->SMTP.Blocked.Address; \ (sp)->MAPSBlocked = (n)->SMTP.Blocked.MAPS; \ (sp)->DeniedRouting = (n)->SMTP.Blocked.Routing; \ (sp)->NoDNSEntry = (n)->SMTP.Blocked.NoDNSEntry; \ (sp)->MessagesScanned = (n)->AntiVirus.MessagesScanned; \ (sp)->AttachmentsScanned = (n)->AntiVirus.AttachmentsScanned; \ (sp)->AttachmentsBlocked = (n)->AntiVirus.AttachmentsBlocked; \ (sp)->VirusesFound = (n)->AntiVirus.VirusesFound; \ } \ } #define PVCSRevisionToVersion(pvcs, version) \ { unsigned char *delimPTR; \ delimPTR = strchr((pvcs), ':'); \ if (delimPTR) { \ do { \ delimPTR++; \ } while (isspace(*delimPTR)); \ strcpy((version), delimPTR); \ delimPTR = strchr((version), '$'); \ if (delimPTR) { \ do { \ delimPTR--; \ } while (isspace(*delimPTR)); \ delimPTR[1] = '\0'; \ } else { \ strcpy((version), "0.0"); \ } \ } else { \ strcpy((version), "0.0"); \ } \ } /* Response Codes: 10XX Success 11XX State 20XX Server Errors 21XX Requestor Errors */ #define DMCMSG1000OK "1000 OK\r\n" #define DMCMSG1000OK_LEN 9 #define DMCMSG1001RESPONSES_COMMING "1001-%d responses to follow.\r\n" #define DMCMSG1001BYTES_COMING "1001-%d octets to follow.\r\n" #define DMCMSG1002SALT_COMING "1002-Salt to follow.\r\n" #define DMCMSG1002SALT_COMING_LEN 22 #define DMCMSG1002SIGNATURE_COMING "1002-Agent signature to follow.\r\n" #define DMCMSG1002SIGNATURE_COMING_LEN 33 #define DMCMSG1003SEND_BYTES "1003-Send %d octets.\r\n" #define DMCMSG1003SEND_VARIABLES "1003-Send variables.\r\n" #define DMCMSG1003SEND_VARIABLES_LEN 22 #define DMCMSG1003SEND_COMMANDS "1003-Send commands.\r\n" #define DMCMSG1003SEND_COMMANDS_LEN 21 #define DMCMSG1004NEGOTIATE_TLS "1001-Begin TLS negotiation.\r\n" #define DMCMSG1004NEGOTIATE_TLS_LEN 29 #define DMCMSG1003SEND_VALUE "1003-Send value.\r\n" #define DMCMSG1003SEND_VALUE_LEN 18 #define DMCMSG1100USE_AUTH ": Authentication required, use LOGIN\r\n" #define DMCMSG1100USE_AUTH_LEN 38 #define DMCMSG1101AUTHORIZED ": Authorized [%s]\r\n" #define DMCMSG1102MANAGING_SERVER ": Managing \"%s\"\r\n" #define DMCMSG1102MANAGING_AGENT ": Managing \"%s\" [\"%s\"]\r\n" #define DMCMSG1103BAD_STATE ": Invalid state; use EXIT\r\n" #define DMCMSG1103BAD_STATE_LEN 27 #define DMCMSG1104SERVER_DEREGISTERED "1104 Server has deregistered.\r\n" #define DMCMSG1104SERVER_DEREGISTERED_LEN 31 #define DMCMSG1104AGENT_DEREGISTERED "1104 Agent has deregistered.\r\n" #define DMCMSG1104AGENT_DEREGISTERED_LEN 30 #define DMCMSG2000NOMEMORY "2000 Out of memory.\r\n" #define DMCMSG2000NOMEMORY_LEN 21 #define DMCMSG2000NOT_IMPLEMENTED "2000 Command not implemented.\r\n" #define DMCMSG2000NOT_IMPLEMENTED_LEN 31 #define DMCMSG2001NOT_MANAGER "2001 Not a configured manager.\r\n" #define DMCMSG2001NOT_MANAGER_LEN 32 #define DMCMSG2001NEGOTIATE_FAILED "2001 TLS negotiation failed.\r\n" #define DMCMSG2001NEGOTIATE_FAILED_LEN 30 #define DMCMSG2002READ_ERROR "2002 Error reading variable value.\r\n" #define DMCMSG2002READ_ERROR_LEN 36 #define DMCMSG2002WRITE_ERROR "2002 Error writing variable value.\r\n" #define DMCMSG2002WRITE_ERROR_LEN 36 #define DMCMSG2003CONNECTION_CLOSED "2003 Connection with resource interrupted.\r\n" #define DMCMSG2003CONNECTION_CLOSED_LEN 44 #define DMCMSG2004SERVER_DOWN "2004 Server shutting down.\r\n" #define DMCMSG2005SERVER_TOO_MANY "2005 Connection limit reached." #define DMCMSG2006SERVER_NO_ACCEPT "2006 Connections not accepted at this time." #define DMCMSG2100BADCOMMAND "2100 Command unrecognized.\r\n" #define DMCMSG2100BADCOMMAND_LEN 28 #define DMCMSG2100BADRESPONSE "2100 Unexpected resource response of \"%s\".\r\n" #define DMCMSG2101BADPARAMS "2101 Invalid command parameters.\r\n" #define DMCMSG2101BADPARAMS_LEN 34 #define DMCMSG2102BADSTATE "2102 Invalid connection state for command.\r\n" #define DMCMSG2102BADSTATE_LEN 44 #define DMCMSG2103RESET "2103 Already managing; use RESET to stop managing.\r\n" #define DMCMSG2103RESET_LEN 52 #define DMCMSG2104NOT_WRITEABLE "2104 Variable not settable.\r\n" #define DMCMSG2104NOT_WRITEABLE_LEN 29 #define DMCMSG2105PORT_DISABLED "2105 No communications port configured.\r\n" #define DMCMSG2105PORT_DISABLED_LEN 41 #define DMCMSG2106CONNECT_FAILED "2106 Connection attempt failed.\r\n" #define DMCMSG2106CONNECT_FAILED_LEN 33 #define DMCMSG3242BADAUTH "3242 Bad authentication!\r\n" #define DMCMSG2106BADAUTH_LEN 26 /* Common Managed Variables */ #define DMCMV_CONNECTION_COUNT "Connection Count" #define DMCMV_CONNECTION_COUNT_HELP "Count of active connection threads.\r\n" #define DMCMV_IDLE_CONNECTION_COUNT "Idle Connection Count" #define DMCMV_IDLE_CONNECTION_COUNT_HELP "Count of idle connection threads.\r\n" #define DMCMV_MAX_CONNECTION_COUNT "Maximum Connections" #define DMCMV_MAX_CONNECTION_COUNT_HELP "The maximum number of connections allowed.\r\n" #define DMCMV_SERVER_THREAD_COUNT "Server Thread Count" #define DMCMV_SERVER_THREAD_COUNT_HELP "Count of active agent server threads.\r\n" #define DMCMV_QUEUE_THREAD_COUNT "Queue Thread Count" #define DMCMV_QUEUE_THREAD_COUNT_HELP "Count of active message queue processing threads.\r\n" #define DMCMV_HOSTNAME "Host Name" #define DMCMV_HOSTNAME_HELP "The agent's configured host name.\r\n" #define DMCMV_OFFICIAL_NAME "Official Name" #define DMCMV_OFFICIAL_NAME_HELP "The official domain name for the agent.\r\n" #define DMCMV_REVISIONS "Revisions" #define DMCMV_REVISIONS_HELP "Report the agent's source file revision information.\r\n" #define DMCMV_VERSION "Version" #define DMCMV_VERSION_HELP "Report the agent's version information.\r\n" #define DMCMV_DBF_DIRECTORY "DBF Directory" #define DMCMV_DBF_DIRECTORY_HELP "The agent's configured DBF directory {What does DBF stand for?}.\r\n" #define DMCMV_NLS_DIRECTORY "NLS Directory" #define DMCMV_NLS_DIRECTORY_HELP "The agent's configured NLS directory {what does NLS stand for?}.\r\n" #define DMCMV_MAIL_DIRECTORY "Mail Directory" #define DMCMV_MAIL_DIRECTORY_HELP "The agent's configured Mail directory.\r\n" #define DMCMV_SCMS_DIRECTORY "SCMS Directory" #define DMCMV_SCMS_DIRECTORY_HELP "The agent's configured Single Copy Message Store directory.\r\n" #define DMCMV_SPOOL_DIRECTORY "Spool Directory" #define DMCMV_SPOOL_DIRECTORY_HELP "The agent's configured Spool directory.\r\n" #define DMCMV_WORK_DIRECTORY "Work Directory" #define DMCMV_WORK_DIRECTORY_HELP "The configured working directory used by the agent.\r\n" #define DMCMV_NMAP_QUEUE "Registered NMAP Queue" #define DMCMV_NMAP_QUEUE_HELP "The NMAP Queue the agent registered for.\r\n" #define DMCMV_NMAP_ADDRESS "NMAP Address" #define DMCMV_NMAP_ADDRESS_HELP "The address of the NMAP server to which the agent registered.\r\n" #define DMCMV_NOTIFY_POSTMASTER "Notify Postmaster" #define DMCMV_POSTMASTER "PostMaster" #define DMCMV_POSTMASTER_HELP "The messaging user desginated as the PostMaster.\r\n" #define DMCMV_RECEIVER_DISABLED "Block Connections" #define DMCMV_RECEIVER_DISABLED_HELP "Set to TRUE to block connection attempts to the agent.\r\n" #define DMCMV_MESSAGE "Message" #define DMCMV_SESSION_COUNT "Session Count" #define DMCMV_SESSION_COUNT_HELP "Number of active sessions.\r\n" #define DMCMV_TOTAL_CONNECTIONS "Connections Serviced" #define DMCMV_TOTAL_CONNECTIONS_HELP "Number of connections serviced by the agent.\r\n" #define DMCMV_BAD_PASSWORD_COUNT "Bad Passwords" #define DMCMV_BAD_PASSWORD_COUNT_HELP "Number of bad passwords received by the agent.\r\n" #define DMCMV_UTC_OFFSET "UTC Offset" #define DMCMV_UTC_OFFSET_HELP "Universal Time-Coordinated offset used by the agent.\r\n" #define DMCMV_SSL_ENABLED "Allow SSL" #define DMCMV_SSL_ENABLED_HELP "Support SSL connections.\r\n" #define DMCMV_PORT "Port" #define DMCMV_PORT_HELP "TCP port used to receive requests.\r\n" #define DMCMV_SSL_PORT "SSL Port" #define DMCMV_SSL_PORT_HELP "TCP port used to receive SSL or TLS encrypted requests.\r\n" #define DMCMV_MESSAGING_SERVER_DN "Server DN" #define DMCMV_MESSAGING_SERVER_DN_HELP "The complete directory name for the messaging server object.\r\n" #define DMCMV_CLIENT_POOL_STATISTICS "Client Pool Statistics" #define DMCMV_CLIENT_POOL_STATISTICS_HELP "Client memory pool usage statistics" #define DMCMV_MEM_STATISTICS "Mem Statistics" #define DMCMV_MEM_STATISTICS_HELP "Memory Manager usage statistics" /* Common Managed Commands */ #define DMCMC_UNKOWN_COMMAND "Unknown agent command.\r\n" #define DMCMC_HELP "Help" #define DMCMC_HELP_HELP "Help Stats Unload\r\n" #define DMCMC_SHUTDOWN "Shutdown" #define DMCMC_SHUTDOWN_HELP "Initiate an agent shutdown and automatic unload of the module.\r\n" #define DMCMC_STATS "Stats" #define DMCMC_STATS_HELP "Agent name, version and current values of statistics variables.\r\n" #define DMCMC_DUMP_MEMORY_USAGE "Memory" #define DMCMC_DUMP_MEMORY_USAGE_HELP "Summary of memory usage by address space.\r\n" #define DMCMC_CONN_TRACE_USAGE "ConnTrace" #define DMCMC_CONN_TRACE_USAGE_HELP "Used to designate which network events should be traced. \r\n\r\nUsage: 'CMD CONNTRACE FLAG <+|-> [ <+|->...]'\r\n where flags are:\r\n ALL, OUTBOUND, INBOUND, NMAP, CONNECT, CLOSE,\r\n SSLCONNECT, SSLSHUTDOWN, READ, WRITE, ERROR\r\n\r\nUsage: 'CMD CONNTRACE ADDR (<+|->ALL | <+|-> ...)'\r\n" /* Address Book Managed Variables */ #define ADBKMV_LDAP_LISTEN_PORT "LDAP Port" #define ADBKMV_LDAP_LISTEN_PORT_HELP "Agent TCP port to receive LDAP requests.\r\n" #define ADBKMV_LDAP_SSL_LISTEN_PORT "LDAP SSL Port" #define ADBKMV_LDAP_SSL_LISTEN_PORT_HELP "Agent TCP port to receive LDAP SSL encrypted requests.\r\n" #define ADBKMV_LDIF_DATABASE "LDIF Database" #define ADBKMV_LDIF_DATABASE_HELP "The agent's LDIF database filename.\r\n" #define ADBKMV_LDIF_WORKBASE "LDIF Workbase" #define ADBKMV_LDIF_WORKBASE_HELP "The agent's LDIF work database filename.\r\n" #define ADBKMV_DBCYCLE_TIME "Database Interval" #define ADBKMV_DBCYCLE_TIME_HELP "The agent's interval between directory dredges.\r\n" #define ADBKMV_DO_LDAP "LDAP Enabled" #define ADBKMV_DO_LDAP_HELP "Enable the agent's LDAP server.\r\n" #define ADBKMV_DO_LDIF "LDIF Enabled" #define ADBKMV_DO_LDIF_HELP "Enable the agent's LDIF export.\r\n" #define ADBKMV_DO_PERSONAL "Personal Lookup Enabled" #define ADBKMV_DO_PERSONAL_HELP "Enable personal address book entry lookup.\r\n" #define ADBKMV_LDAP_REQUIRE_BASEDN "Require Base Name" #define ADBKMV_LDAP_REQUIRE_BASEDN_HELP "Require a base name for LDAP searches.\r\n" #define ADBKMV_LDAP_REQUIRE_AUTH "Require LDAP Authentication" #define ADBKMV_LDAP_REQUIRE_AUTH_HELP "Require LDAP authenticate for LDAP searches.\r\n" #define ADBKMV_USE_USER_BASEDN "Use User Base Name" #define ADBKMV_USE_USER_BASEDN_HELP "Use the user's base name as the LDAP base name.\r\n" /* Alias Managed Variables */ #define ALASMV_DO_FIRSTLAST "Enable FirstLast" #define ALASMV_DO_FIRSTLAST_HELP "Enable creation of \"FirstLast\" alias names.\r\n" #define ALASMV_DO_FLASTNAME "Enable FLastname" #define ALASMV_DO_FLASTNAME_HELP "Enable creation of \"FLastname\" alias names.\r\n" #define ALASMV_DO_FIRSTDLAST "Enable FirstDLast" #define ALASMV_DO_FIRSTDLAST_HELP "Enable creation of \"FirstDLast\" alias names.\r\n" #define ALASMV_DO_FULLDOT "Enable FullDot" #define ALASMV_DO_FULLDOT_HELP "Enable creation of \"FullDot\" alias names.\r\n" #define ALASMV_DO_FULLUNDER "Enable FullUnder" #define ALASMV_DO_FULLUNDER_HELP "Enable creation of \"FullUnder\" alias names.\r\n" #define ALASMV_AUTO_POPULATE "Enable AutoPopulation" #define ALASMV_AUTO_POPULATE_HELP "Enable the auto population of messaging users directory email address.\r\n" #define ALASMV_POPULATE_DEFAULT "Enable Populate Defaults" #define ALASMV_POPULATE_DEFAULT_HELP "Use the messaging username and official domain as the directory object's email address.\r\n" #define ALASMV_POPULATE_FIRSTLAST "Enable Populate FirstLast" #define ALASMV_POPULATE_FIRSTLAST_HELP "Populate directory entries with \"FirstLast\".\r\n" #define ALASMV_POPULATE_FLASTNAME "Enable Populate FLastname" #define ALASMV_POPULATE_FLASTNAME_HELP "Populate directory entries with \"FLastname\".\r\n" #define ALASMV_POPULATE_FIRSTDLAST "Enable Populate FirstDLast" #define ALASMV_POPULATE_FIRSTDLAST_HELP "Populate directory entries with \"FirstDLast\".\r\n" #define ALASMV_POPULATE_FULLDOT "Enable Populate FullDot" #define ALASMV_POPULATE_FULLDOT_HELP "Populate directory entries with \"FullDot\".\r\n" #define ALASMV_POPULATE_FULLUNDER "Enable Populate FullUnder" #define ALASMV_POPULATE_FULLUNDER_HELP "Populate directory entries with \"FullUnder\".\r\n" #define ALASMV_DBCYCLE_TIME "Database Interval" #define ALASMV_DBCYCLE_TIME_HELP "The agent's interval in seconds between directory dredges.\r\n" /* AntiSPAM Managed Variables */ #define ASPMMV_DO_RTS "Enable RTS" #define ASPMMV_DO_RTS_HELP "Enable return SPAM to sender.\r\n" #define ASPMMV_NOTIFY_POSTMASTER "Notify the PostMaster of a SPAM message.\r\n" #define ASPMMV_BLACK_LIST_ARRAY "BlackList" #define ASPMMV_BLACK_LIST_ARRAY_HELP "The agent's current list of known SPAM hosts.\r\n" /* AntiVirus Managed Variables */ #define AVMV_DO_INCOMING "Enable Incoming" #define AVMV_DO_INCOMING_HELP "Enable anti-virus scanning of all incoming messages.\r\n" #define AVMV_NOTIFY_SENDER "Notify Sender" #define AVMV_NOTIFY_SENDER_HELP "Notify sender of virus infected messages.\r\n" #define AVMV_NOTIFY_RECIPIENT "Notify Recipient" #define AVMV_NOTIFY_RECIPIENT_HELP "Notify recipient of virus infected messages.\r\n" #define AVMV_CARRIER_SCAN_HOST "Carrier Scan Host" #define AVMV_CARRIER_SCAN_HOST_HELP "TCP/IP address of the anti-virus scanner.\r\n" #define AVMV_CARRIER_SCAN_PORT "Carrier Scan Port" #define AVMV_CARRIER_SCAN_PORT_HELP "UDP port of the anti-virus scanner.\r\n" #define AVMV_WORK_DIRECTORY "Work Directory" #define AVMV_WORK_DIRECTORY_HELP "The agent's configured working directory.\r\n" #define AVMV_PATTERN_FILE_DIRECTORY "Pattern File Directory" #define AVMV_PATTERN_FILE_DIRECTORY_HELP "The agent's pattern file directory for the anti-virus scanner.\r\n" #define AVMV_MESSAGES_SCANNED "Messages Scanned" #define AVMV_MESSAGES_SCANNED_HELP "The number of messages sent to the anti-virus scanner.\r\n" #define AVMV_ATTACHMENTS_SCANNED "Attachments Scanned" #define AVMV_ATTACHMENTS_SCANNED_HELP "The number of attachments sent to the anti-virus scanner.\r\n" #define AVMV_ATTACHMENTS_BLOCKED "Attachments Blocked" #define AVMV_ATTACHMENTS_BLOCKED_HELP "The number of attachments blocked due to virus infections.\r\n" #define AVMV_VIRUSES_FOUND "Virus Count" #define AVMV_VIRUSES_FOUND_HELP "The number of virus infections encountered.\r\n" /* Finger Managed Variables */ #define FNGRMV_FINGER_MESSAGE_HELP "The default finger message.\r\n" /* Forward Managed Variables */ #define FWDMV_FORWARD_MESSAGE_HELP "The default forward message.\r\n" /* Connection Manager Managed Variables */ #define CMMV_MAX_AGE "Maximum Age" #define CMMV_MAX_AGE_HELP "The maximum time in seconds to retain entries in the connection table.\r\n" /* IMAP Managed Variables */ #define IMAPMV_ACL_ENABLED "ACL Supported" #define IMAPMV_ACL_ENABLED_HELP "Set to TRUE if the IMAP ACL extension is supported.\r\n" #define IMAPMV_MANAGEMENT_URL "Management URL" #define IMAPMV_MANAGEMENT_URL_HELP "Account URL reported in the IMAP Netscape extension command.\r\n" /* List Server Managed Variables */ #define LISTMV_DIGEST_HOUR "Digest Hour" #define LISTMV_DIGEST_HOUR_HELP "The hour to begin digest enumeration through the directory (24 hour format).\r\n" #define LISTMV_SERVER_NAME "List Server Name" #define LISTMV_SERVER_NAME_HELP "The server name used by the list.\r\n" #define LISTMV_BOUNCE_NAME "List Bounce Name" #define LISTMV_BOUNCE_NAME_HELP "The bounce name used by the list.\r\n" #define LISTMV_MODERATOR_NAME "List Moderator Name" #define LISTMV_MODERATOR_NAME_HELP "The moderator name used by the list.\r\n" #define LISTMV_CONTROL_NAME "List Control Name" #define LISTMV_CONTROL_NAME_HELP "The control name used by the list.\r\n" /* NMAP Managed Variables */ #define NMAPMV_QUEUE_SLEEP_INTERVAL "Queue Sleep Interval" #define NMAPMV_QUEUE_SLEEP_INTERVAL_HELP "The maximum number of seconds to sleep before restarting after completing a pass through the queue.\r\n" #define NMAPMV_BYTES_PER_BLOCK "Bytes Per Block" #define NMAPMV_BYTES_PER_BLOCK_HELP "The number of bytes per block for the mail store on this host.\r\n" #define NMAPMV_TRUSTED_HOSTS "Trusted Hosts" #define NMAPMV_TRUSTED_HOSTS_HELP "The list of IP addresses trusted by the agent.\r\n" #define NMAPMV_TRUSTED_HOST_COUNT "Trusted Hosts Count" #define NMAPMV_TRUSTED_HOST_COUNT_HELP "The count of trusted hosts for the agent.\r\n" #define NMAPMV_SCMS_USER_THRESHOLD "SCMS Recipient Threshold" #define NMAPMV_SCMS_USER_THRESHOLD_HELP "The minimum number of recipients required to consider SCMS usage.\r\n" #define NMAPMV_SCMS_SIZE_THRESHOLD "SCMS Size Threshold" #define NMAPMV_SCMS_SIZE_THRESHOLD_HELP "The minimum message size required to consider SCMS usage.\r\n" #define NMAPMV_USE_SYSTEM_QUOTA "Enable System Quota" #define NMAPMV_USE_SYSTEM_QUOTA_HELP "Enforce the configured system quota for users with no quota.\r\n" #define NMAPMV_USE_USER_QUOTA "Enable User Quota" #define NMAPMV_USE_USER_QUOTA_HELP "Set to TRUE to enforce the user's configured quota.\r\n" #define NMAPMV_QUOTA_MESSAGE "Quota Message" #define NMAPMV_QUOTA_MESSAGE_HELP "The message that will be sent when a quota is reached.\r\n" #define NMAPMV_QUOTA_WARNING "Quota Warning" #define NMAPMV_QUOTA_WARNING_HELP "The message sent when a user is within 10 percent of the quota limit.\r\n" #define NMAPMV_MINIMUM_FREE_SPACE "Minimum Free Space" #define NMAPMV_MINIMUM_FREE_SPACE_HELP "The minimum amount of free space in bytes before rejecting incoming messages.\r\n" #define NMAPMV_DISK_SPACE_LOW "Disk Space Low" #define NMAPMV_DISK_SPACE_LOW_HELP "Set to TRUE to indicate that a message queue is low on disk space.\r\n" #define NMAPMV_DO_DEFERRED_DELIVERY "Enable Deferred Delivery" #define NMAPMV_DO_DEFERRED_DELIVERY_HELP "Set to TRUE to enable support for deferred delivery during the configured time of day.\r\n" #define NMAPMV_LOAD_MONITOR_DISABLED "Disable Load Monitor" #define NMAPMV_LOAD_MONITOR_DISABLED_HELP "Set to TRUE to disable the NMAP load monitor.\r\n" #define NMAPMV_LOAD_MONITOR_INTERVAL "Load Monitor Interval" #define NMAPMV_LOAD_MONITOR_INTERVAL_HELP "The number of seconds between checking the host load.\r\n" #define NMAPMV_LOW_UTILIZATION_THRESHOLD "Low Utilization Threshold" #define NMAPMV_LOW_UTILIZATION_THRESHOLD_HELP "The low utilization watermark used by the load monitor.\r\n" #define NMAPMV_HIGH_UTILIZATION_THRESHOLD "High Utilization Threshold" #define NMAPMV_HIGH_UTILIZATION_THRESHOLD_HELP "The high utilization watermark used by the load monitor.\r\n" #define NMAPMV_QUEUE_LOAD_THRESHOLD "Queue Threshold" #define NMAPMV_QUEUE_LOAD_THRESHOLD_HELP "The maximum number of queued messages before entering sequential message processing.\r\n" #define NMAPMV_NEW_SHARE_MESSAGE "Share Message" #define NMAPMV_NEW_SHARE_MESSAGE_HELP "The message that will be sent to a user that is granted a shared resource.\r\n" #define NMAPMV_USER_NAMESPACE_PREFIX "User NameSpace" #define NMAPMV_USER_NAMESPACE_PREFIX_HELP "The IMAP user namespace extension prefix.\r\n" #define NMAPMV_QUEUE_LIMIT_CONCURRENT "Concurrent Limit" #define NMAPMV_QUEUE_LIMIT_CONCURRENT_HELP "The concurrent thread limit for queued message processing.\r\n" #define NMAPMV_QUEUE_LIMIT_SEQUENTIAL "Sequential Limit" #define NMAPMV_QUEUE_LIMIT_SEQUENTIAL_HELP "The sequential thread limit for queued message processing.\r\n" #define NMAPMV_RTS_HANDLING "RTS Handling" #define NMAPMV_RTS_HANDLING_HELP "The current RTS handling flags. Flag value of '1' indicates the message should be returned; flag value '2' indicates the message should be copied to the PostMaster.\r\n" #define NMAPMV_RTS_MAX_BODY_SIZE "RTS Body Size" #define NMAPMV_RTS_MAX_BODY_SIZE_HELP "The maximum number of bytes in the message body to be copied into a message that is returned to the sender.\r\n" #define NMAPMV_FORWARD_UNDELIVERABLE_ADDR "Forward Undeliverable Address" #define NMAPMV_FORWARD_UNDELIVERABLE_ADDR_HELP "The address to which forward undeliverable messages should be sent.\r\n" #define NMAPMV_FORWARD_UNDELIVERABLE "Forward Undeliverable" #define NMAPMV_FORWARD_UNDELIVERABLE_HELP "Set to TRUE to forward undeliverable messages.\r\n" #define NMAPMV_BLOCK_RTS_SPAM "Block RTS SPAM" #define NMAPMV_BLOCK_RTS_SPAM_HELP "Set to TRUE to discard queued return to sender messages.\r\n" #define NMAPMV_BOUNCE_INTERVAL "Bounce Interval" #define NMAPMV_BOUNCE_INTERVAL_HELP "The interval used when determining if an excessive number of bounce messages are being queued.\r\n" #define NMAPMV_MAX_BOUNCE_COUNT "Max Bounce Count" #define NMAPMV_MAX_BOUNCE_COUNT_HELP "The maximum number of bounce messages to queue during the bounce interval.\r\n" #define NMAPMV_NMAP_TO_NMAP_CONNECTIONS "NMAP to NMAP" #define NMAPMV_NMAP_TO_NMAP_CONNECTIONS_HELP "The count of current NMAP to NMAP connections.\r\n" #define NMAPMV_BYTES_STORED_LOCALLY "Bytes Stored Locally" #define NMAPMV_BYTES_STORED_LOCALLY_HELP "Number of kilobytes stored in the local mail store.\r\n" #define NMAPMV_MESSAGES_STORED_LOCALLY "Messages Stored" #define NMAPMV_MESSAGES_STORED_LOCALLY_HELP "The count of messages stored in the local mail store.\r\n" #define NMAPMV_RECIPIENTS_STORED_LOCALLY "Recipients Stored" #define NMAPMV_RECIPIENTS_STORED_LOCALLY_HELP "The count of recipients stored in the local mail store.\r\n" #define NMAPMV_MESSAGES_QUEUED_LOCALLY "Messages Queued" #define NMAPMV_MESSAGES_QUEUED_LOCALLY_HELP "The count of messages queued in the spool directory.\r\n" #define NMAPMV_SPAM_MESSAGES_DISCARDED "SPAM Discarded" #define NMAPMV_SPAM_MESSAGES_DISCARDED_HELP "The count of SPAM messages discarded.\r\n" #define NMAPMV_LOCAL_DELIVERY_FAILURES "Delivery Failures" #define NMAPMV_LOCAL_DELIVERY_FAILURES_HELP "The count of failed local delivery attempts.\r\n" #define NMAPMV_REMOTE_DELIVERY_FAILURES "Remote Delivery Failures" #define NMAPMV_REMOTE_DELIVERY_FAILURES_HELP "The count of failed remote delivery attempts.\r\n" #define NMAPMV_REGISTERED_AGENTS_ARRAY "Registered Agents" #define NMAPMV_REGISTERED_AGENTS_ARRAY_HELP "The currently registered NMAP agents.\r\n" #define NMAPMV_AGENTS_SERVICED "Agents Serviced" #define NMAPMV_AGENTS_SERVICED_HELP "The number of NMAP agents serviced.\r\n" /* PlusPack Managed Variables */ #define PPACKMV_SIGNATURE "Signature" #define PPACKMV_SIGNATURE_HELP "The text signature to be appended to all outbound messages.\r\n" #define PPACKMV_HTML_SIGNATURE "HTML Signature" #define PPACKMV_HTML_SIGNATURE_HELP "The HTML signature to be appended to all outbound messages.\r\n" #define PPACKMV_BIGBROTHER_USER "Global Message Copy User Name" #define PPACKMV_BIGBROTHER_USER_HELP "The name of the messaging user to receive copied messages.\r\n" #define PPACKMV_BIGBROTHER_USE_MAILBOX "Use Global Message Copy" #define PPACKMV_BIGBROTHER_USE_MAILBOX_HELP "Set to TRUE to copy all outbound messages to another mailbox.\r\n" #define PPACKMV_BIGBROTHER_MAILBOX "Global Message Copy Mailbox" #define PPACKMV_BIGBROTHER_MAILBOX_HELP "The mailbox to which all inbound messages will be copied.\r\n" #define PPACKMV_BIGBROTHER_SENTBOX "Global Message Copy Sent Items Mailbox" #define PPACKMV_BIGBROTHER_SENTBOX_HELP "The mailbox to which all outbound messages will be copied.\r\n" #define PPACKMV_ACL_GROUP "Authorized Group" #define PPACKMV_ACL_GROUP_HELP "The eDirectory group containing user membership for external message delivery.\r\n" /* POP3 Managed Variables */ #define POP3MV_MANAGEMENT_URL "Management URL" #define POP3MV_MANAGEMENT_URL_HELP "Account URL listed in the POP3 account administration URL.\r\n" /* Proxy Managed Variables */ #define PROXMV_MAXIMUM_ACCOUNTS "Maximum Accounts" #define PROXMV_MAXIMUM_ACCOUNTS_HELP "The maximum number of accounts a user can configure for mail proxy.\r\n" #define PROXMV_MAXIMUM_PARALLEL_THREADS "Maximum Threads" #define PROXMV_MAXIMUM_PARALLEL_THREADS_HELP "The maximum number of simultaneous mail proxies.\r\n" #define PROXMV_CONNECTION_TIMEOUT "Timeout" #define PROXMV_CONNECTION_TIMEOUT_HELP "The maximum number of seconds to wait for a reply from a remote server while attempting to proxy messages.\r\n" #define PROXMV_RUN_INTERVAL "Interval" #define PROXMV_RUN_INTERVAL_HELP "The number of seconds between proxy enumerations. If the current enumeration exceeds the interval length, the next enumeration begins upon the conclusion of the current enumeration.\r\n" #define PROXYMV_REMOTE_MESSAGES_PULLED "Remote Messages Retrieved" #define PROXYMV_REMOTE_MESSAGES_PULLED_HELP "The number of remote messages retrieved.\r\n" #define PROXYMV_REMOTE_BYTES_PULLED "Remote Kilo-Bytes Stored" #define PROXYMV_REMOTE_BYTES_PULLED_HELP "The number of kilo-bytes of remote messages delivered.\r\n" /* Rule Server Managed Variables */ #define RULEMV_USE_USER_RULES "User Rules" #define RULEMV_USE_USER_RULES_HELP "Set to TRUE to process user configured rules.\r\n" #define RULEMV_USE_SYSTEM_RULES "System Rules" #define RULEMV_USE_SYSTEM_RULES_HELP "Set to TRUE to process system configured rules.\r\n" /* SMTP Managed Variables */ #define SMTPMV_INCOMING_QUEUE_AGENT "Incoming Queue Agent" #define SMTPMV_INCOMING_QUEUE_AGENT_HELP "The number of incoming NMAP connections being serviced.\r\n" #define SMTPMV_SERVICED_SERVERS "SMTP Servers" #define SMTPMV_SERVICED_SERVERS_HELP "The total number of SMTP server connections that have been serviced.\r\n" #define SMTPMV_INCOMING_SERVERS "Incoming Server" #define SMTPMV_INCOMING_SERVERS_HELP "The number of cumulative SMTP connections.\r\n" #define SMTPMV_CLOSED_OUT_SERVERS "NMAP Servers" #define SMTPMV_CLOSED_OUT_SERVERS_HELP "The total number of NMAP server connections that have been serviced.\r\n" #define SMTPMV_OUTGOING_SERVERS "Outgoing Servers" #define SMTPMV_OUTGOING_SERVERS_HELP "The number of remote SMTP connections being used.\r\n" #define SMTPMV_SPAM_ADDRS_BLOCKED "SPAM Addresses Blocked" #define SMTPMV_SPAM_ADDRS_BLOCKED_HELP "The number of SMTP connections blocked using the Blocked Addresses list.\r\n" #define SMTPMV_SPAM_MAPS_BLOCKED "SPAM MAPS Blocked" #define SMTPMV_SPAM_MAPS_BLOCKED_HELP "The number of SMTP connections blocked using the RBL List.\r\n" #define SMTPMV_SPAM_NO_DNS_ENTRY "SPAM No DNS Entry" #define SMTPMV_SPAM_NO_DNS_ENTRY_HELP "The number of SMTP connection blocked due to missing reverse DNS entries.\r\n" #define SMTPMV_SPAM_DENIED_ROUTING "SPAM Denied Routing" #define SMTPMV_SPAM_DENIED_ROUTING_HELP "The number of SMTP relay attempts blocked.\r\n" #define SMTPMV_SPAM_QUEUE "SPAM Queue" #define SMTPMV_SPAM_QUEUE_HELP "The number of discarded RTS messages.\r\n" #define SMTPMV_REMOTE_RECIP_RECEIVED "Remote Recipient Received" #define SMTPMV_REMOTE_RECIP_RECEIVED_HELP "The number of remote recipients received for delivery.\r\n" #define SMTPMV_LOCAL_RECIP_RECEIVED "Local Recipient Received" #define SMTPMV_LOCAL_RECIP_RECEIVED_HELP "The number of local recipients received for delivery.\r\n" #define SMTPMV_REMOTE_RECIP_STORED "Remote Recipient Stored" #define SMTPMV_REMOTE_RECIP_STORED_HELP "The number of remote recipients delivered.\r\n" #define SMTPMV_REMOTE_BYTES_RECEIVED "Remote Kilo-Bytes Received" #define SMTPMV_REMOTE_BYTES_RECEIVED_HELP "The number of kilobytes of messages received for remote delivery.\r\n" #define SMTPMV_LOCAL_BYTES_RECEIVED "Local Kilo-Bytes Received" #define SMTPMV_LOCAL_BYTES_RECEIVED_HELP "The number of kilobytes of messages received for local delivery.\r\n" #define SMTPMV_REMOTE_BYTES_STORED "Remote Kilo-Bytes Stored" #define SMTPMV_REMOTE_BYTES_STORED_HELP "The number of kilobytes of remote messages delivered.\r\n" #define SMTPMV_REMOTE_MSGS_RECEIVED "Remote Messages Received" #define SMTPMV_REMOTE_MSGS_RECEIVED_HELP "The number of messages received for remote delivery.\r\n" #define SMTPMV_LOCAL_MSGS_RECEIVED "Local Messages Received" #define SMTPMV_LOCAL_MSGS_RECEIVED_HELP "The number of messages received for local delivery.\r\n" #define SMTPMV_REMOTE_MSGS_STORED "Remote Messages Stored" #define SMTPMV_REMOTE_MSGS_STORED_HELP "The number of remote messages delivered.\r\n" #define SMTPMV_MAX_MX_SERVERS "Maximum MX Servers" #define SMTPMV_MAX_MX_SERVERS_HELP "The maximum number of MX servers to process before aborting delivery.\r\n" #define SMTPMV_MAX_BOUNCE_COUNT "Maximum Bounce Count" #define SMTPMV_MAX_BOUNCE_COUNT_HELP "The maximum number of RTS messages permitted per bounce interval.\r\n" #define SMTPMV_BOUNCE_COUNT "Bounce Count" #define SMTPMV_BOUNCE_COUNT_HELP "The current number of RTS messages received for this bounce interval.\r\n" #define SMTPMV_MESSAGE_LIMIT "Message Limit" #define SMTPMV_MESSAGE_LIMIT_HELP "The maximum allowed message size.\r\n" #define SMTPMV_MAX_RECIPS "Maximum Recipients" #define SMTPMV_MAX_RECIPS_HELP "The maximum allowed recipients per message.\r\n" #define SMTPMV_MAX_NULL_SENDER_RECIPS "Maximum NULL Sender Recipients" #define SMTPMV_MAX_NULL_SENDER_RECIPS_HELP "The maximum number of recipients per RTS message.\r\n" #define SMTPMV_LOCAL_IP_ADDRESS "Local IP Address" #define SMTPMV_LOCAL_IP_ADDRESS_HELP "The host TCP/IP address; for example 127.0.0.1.\r\n" #define SMTPMV_BLOCKED_ADDRESSES "Blocked Addresses" #define SMTPMV_BLOCKED_ADDRESSES_HELP "The blocked addresses list.\r\n" #define SMTPMV_ALLOWED_ADDRESSES "Allowed Addresses" #define SMTPMV_ALLOWED_ADDRESSES_HELP "The allowed addresses list.\r\n" #define SMTPMV_HOST_ADDRESS "Host Address" #define SMTPMV_HOST_ADDRESS_HELP "The bracketed host TCP/IP address; for example [127.0.0.1].\r\n" #define SMTPMV_RELAY_HOST "Relay Host" #define SMTPMV_RELAY_HOST_HELP "The SMTP server to be used for relaying when delivering messages.\r\n" #define SMTPMV_DOMAINS_ARRAY "Domains" #define SMTPMV_DOMAINS_ARRAY_HELP "The agent's configured domain list.\r\n" #define SMTPMV_USER_DOMAINS_ARRAY "User Domains" #define SMTPMV_USER_DOMAINS_ARRAY_HELP "The agent's configured user domain list.\r\n" #define SMTPMV_RELAY_DOMAINS_ARRAY "Relay Domains" #define SMTPMV_RELAY_DOMAINS_ARRAY_HELP "The agent's configured relay domain list.\r\n" #define SMTPMV_RBL_HOSTS_ARRAY "RBL Hosts" #define SMTPMV_RBL_HOSTS_ARRAY_HELP "The agent's configured RBL list.\r\n" #define SMTPMV_RBL_COMMENTS_ARRAY "RBL Comments" #define SMTPMV_RBL_COMMENTS_ARRAY_HELP "The agent's configured comments per RBL list entry.\r\n" #define SMTPMV_USE_RELAY_HOST "Use Relay Host" #define SMTPMV_USE_RELAY_HOST_HELP "Set to TRUE if the SMTP Relay Host is to be used for remote delivery.\r\n" #define SMTPMV_ALLOW_EXPN "Allow EXPN" #define SMTPMV_ALLOW_EXPN_HELP "Set to TRUE to activate support for the SMTP EXPN command; not recommended.\r\n" #define SMTPMV_ALLOW_VRFY "Allow Verify" #define SMTPMV_ALLOW_VRFY_HELP "Set to TRUE to activate support for the SMTP VRFY command; not recommended.\r\n" #define SMTPMV_CHECK_RCPT "Validate Recipient" #define SMTPMV_CHECK_RCPT_HELP "Set to TRUE to validate recipients addresses during message delivery.\r\n" #define SMTPMV_SEND_ETRN "Send ETRN" #define SMTPMV_SEND_ETRN_HELP "Set to TRUE to deliver ETRN messages.\r\n" #define SMTPMV_ACCEPT_ETRN "Accept ETRN" #define SMTPMV_ACCEPT_ETRN_HELP "Set to TRUE to accept ETRN messages.\r\n" #define SMTPMV_BLOCK_RTS_SPAM "Block RTS SPAM" #define SMTPMV_BLOCK_RTS_SPAM_HELP "Set to TRUE to block recipients in RTS messages if the count exceeds the \"Maximum NULL Send Recipients\" value.\r\n" #define SMTPMV_BYTE_STORED_COUNT "Remote Messages Delivered" #define SMTPMV_BYTE_STORED_COUNT_HELP "The number of remote messages delivered.\r\n" BOOL ManagementInit(const unsigned char *Identity, MDBHandle DirectoryHandle); void ManagementShutdown(void); enum ManagementStates ManagementState(void); BOOL ManagementSetVariables(ManagementVariables *Variables, unsigned long Count); BOOL ManagementSetCommands(ManagementCommands *Commands, unsigned long Count); void ManagementServer(void *param); EXPORT void MsgSendTrap(int type, unsigned char *message); BOOL ManagementMemoryStats(unsigned char *Arguments, unsigned char **Response, BOOL *CloseConnection); BOOL ManagementConnTrace(unsigned char *Arguments, unsigned char **Response, BOOL *CloseConnection); #endif /* BONGO_MANAGEMENT_H */