197 lines
8.6 KiB
C
197 lines
8.6 KiB
C
/****************************************************************************
|
|
* <Novell-copyright>
|
|
* 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.
|
|
* </Novell-copyright>
|
|
****************************************************************************/
|
|
|
|
#ifndef LOGGER_H
|
|
#define LOGGER_H
|
|
|
|
#include <xpl.h>
|
|
|
|
#include <log4c.h>
|
|
|
|
/* Subsystem constants */
|
|
#define LOGGER_SUBSYSTEM_AUTH "\\Authentication"
|
|
#define LOGGER_SUBSYSTEM_GENERAL "\\General"
|
|
#define LOGGER_SUBSYSTEM_QUEUE "\\Queue"
|
|
#define LOGGER_SUBSYSTEM_UNHANDLED "\\Unhandled Request"
|
|
#define LOGGER_SUBSYSTEM_NOTIFY "\\Notification"
|
|
#define LOGGER_SUBSYSTEM_STANDARDS "\\Standards Violation"
|
|
#define LOGGER_SUBSYSTEM_MEMMON "\\Memory Monitor"
|
|
#define LOGGER_SUBSYSTEM_DATABASE "\\Database"
|
|
#define LOGGER_SUBSYSTEM_CONFIGURATION "\\Configuration"
|
|
#define LOGGER_SUBSYSTEM_CALENDAR "\\Calendar"
|
|
#define LOGGER_SUBSYSTEM_MAIL "\\Mail"
|
|
|
|
/* Event IDs */
|
|
typedef enum {
|
|
LOGGER_EVENT_WRONG_PASSWORD = 0x00020001,
|
|
LOGGER_EVENT_UNHANDLED_REQUEST, /* 0x00020002 */
|
|
LOGGER_EVENT_LOGIN, /* 0x00020003 */
|
|
LOGGER_EVENT_MAX_FAILED_LOGINS, /* 0x00020004 */
|
|
LOGGER_EVENT_DISABLED_FEATURE, /* 0x00020005 */
|
|
LOGGER_EVENT_UNKNOWN_USER, /* 0x00020006 */
|
|
LOGGER_EVENT_NMAP_UNAVAILABLE, /* 0x00020007 */
|
|
LOGGER_EVENT_OUT_OF_MEMORY, /* 0x00020008 */
|
|
LOGGER_EVENT_NOT_CONFIGURED, /* 0x00020009 */
|
|
LOGGER_EVENT_SESSION_LIMIT_REACHED, /* 0x0002000A */
|
|
LOGGER_EVENT_PASSWORD_CHANGE, /* 0x0002000B */
|
|
LOGGER_EVENT_SECRET_CHANGE, /* 0x0002000C */
|
|
LOGGER_EVENT_ACCOUNT_CREATED, /* 0x0002000D */
|
|
LOGGER_EVENT_ACCOUNT_DISABLED, /* 0x0002000E */
|
|
LOGGER_EVENT_MEMORY_LEAKED, /* 0x0002000F */
|
|
LOGGER_EVENT_NULL_DESTINATION, /* 0x00020010 */
|
|
LOGGER_EVENT_MEMORY_BOUNDARY_OVERRUN, /* 0x00020011 */
|
|
LOGGER_EVENT_MEMORY_NON_OWNER_FREE, /* 0x00020012 */
|
|
LOGGER_EVENT_QUESTIONABLE_FREE, /* 0x00020013 */
|
|
LOGGER_EVENT_QUESTIONABLE_ALLOC, /* 0x00020014 */
|
|
LOGGER_EVENT_MESSAGE_RECEIVED, /* 0x00020015 */
|
|
LOGGER_EVENT_MESSAGE_SENT, /* 0x00020016 */
|
|
LOGGER_EVENT_CONNECTION_BLOCKED, /* 0x00020017 */
|
|
LOGGER_EVENT_RECIPIENT_BLOCKED, /* 0x00020018 */
|
|
LOGGER_EVENT_MESSAGE_RELAYED, /* 0x00020019 */
|
|
LOGGER_EVENT_RECIPIENT_LIMIT_REACHED, /* 0x0002001A */
|
|
LOGGER_EVENT_CONNECTION, /* 0x0002001B */
|
|
LOGGER_EVENT_REGISTER_NMAP_SERVER, /* 0x0002001C */
|
|
LOGGER_EVENT_AVIRUS_RESTART_FAILED, /* 0x0002001D */
|
|
LOGGER_EVENT_DUPLICATE_ALIAS, /* 0x0002001E */
|
|
LOGGER_EVENT_DATABASE_OPEN_ERROR, /* 0x0002001F */
|
|
LOGGER_EVENT_ALIAS_CONTEXTS, /* 0x00020020 */
|
|
LOGGER_EVENT_RECEIVED_BOUNCE, /* 0x00020021 */
|
|
LOGGER_EVENT_SPAM_BLOCKED, /* 0x00020022 */
|
|
LOGGER_EVENT_VIRUS_BLOCKED, /* 0x00020023 */
|
|
LOGGER_EVENT_FORWARD, /* 0x00020024 */
|
|
LOGGER_EVENT_AUTO_REPLY, /* 0x00020025 */
|
|
LOGGER_EVENT_RECEIVED_CONTROL, /* 0x00020026 */
|
|
LOGGER_EVENT_PROCESSING_ERROR, /* 0x00020027 */
|
|
LOGGER_EVENT_LIST_SEND_BLOCKED, /* 0x00020028 First numeric value is one of ListBlockCodes */
|
|
LOGGER_EVENT_CONFIGURATION_STRING, /* 0x00020029 */
|
|
LOGGER_EVENT_CONFIGURATION_NUMERIC, /* 0X0002002A */
|
|
LOGGER_EVENT_QLIMITS_ADJUSTED, /* 0x0002002B */
|
|
LOGGER_EVENT_SSL_CONNECTION, /* 0x0002002C */
|
|
LOGGER_EVENT_LIST_MESSAGE_RECEIVED, /* 0x0002002D */
|
|
LOGGER_EVENT_LIST_MESSAGE_DELIVERED, /* 0x0002002E */
|
|
LOGGER_EVENT_RELOADED_QUEUE_AGENT, /* 0x0002002F */
|
|
LOGGER_EVENT_PQE_FROM, /* 0x00020030 */
|
|
LOGGER_EVENT_OVER_QUOTA, /* 0x00020031 */
|
|
LOGGER_EVENT_BONGO_DEBUG, /* 0x00020032 */
|
|
LOGGER_EVENT_WRONG_SYSTEM_AUTH, /* 0x00020033 */
|
|
LOGGER_EVENT_SWITCH_USER_DENIED, /* 0x00020034 */
|
|
LOGGER_EVENT_WRONG_USER_AUTH, /* 0x00020035 */
|
|
LOGGER_EVENT_DISKSPACE_LOW, /* 0x00020036 */
|
|
LOGGER_EVENT_WRITE_ERROR, /* 0x00020037 */
|
|
LOGGER_EVENT_ADD_QUEUE_AGENT, /* 0x00020038 */
|
|
LOGGER_EVENT_BAD_HOSTNAME, /* 0x00020039 */
|
|
LOGGER_EVENT_PROXY_LOCALHOST, /* 0x0002003A */
|
|
LOGGER_EVENT_NMAP_ERROR, /* 0x0002003B */
|
|
LOGGER_EVENT_DDB_INIT_FAILED, /* 0x0002003C */
|
|
LOGGER_EVENT_DISALLOWED_HOSTNAME, /* 0x0002003D */
|
|
LOGGER_EVENT_EXECUTING_RULE, /* 0x0002003E */
|
|
LOGGER_EVENT_RULE_DELETE, /* 0x0002003F */
|
|
LOGGER_EVENT_RULE_FORWARD, /* 0x00020040 */
|
|
LOGGER_EVENT_RULE_COPY, /* 0x00020041 */
|
|
LOGGER_EVENT_RULE_MOVE, /* 0x00020042 */
|
|
LOGGER_EVENT_REREGISTER_QUEUE_AGENT, /* 0x00020043 */
|
|
LOGGER_EVENT_REMOVED_QUEUE_AGENT, /* 0x00020044 */
|
|
LOGGER_EVENT_DATABASE_FIND_ERROR, /* 0x00020045 */
|
|
LOGGER_EVENT_DATABASE_ALIAS_ERROR, /* 0x00020046 */
|
|
LOGGER_EVENT_DATABASE_CLOSE_ERROR, /* 0x00020047 */
|
|
LOGGER_EVENT_ITEM_STORED, /* 0x00020048 */
|
|
LOGGER_EVENT_DATABASE_INSERT_ERROR, /* 0x00020049 */
|
|
LOGGER_EVENT_DATABASE_CREATE_ERROR, /* 0x0002004A */
|
|
LOGGER_EVENT_PQE_START, /* 0x0002004B */
|
|
LOGGER_EVENT_PQE_FIND_OBJECT_FAILED, /* 0x0002004C */
|
|
LOGGER_EVENT_PQE_REMOTE_NMAP, /* 0x0002004D */
|
|
LOGGER_EVENT_PQE_DELIVERY_FAILED, /* 0x0002004E */
|
|
LOGGER_EVENT_PQE_FAILED_CONNECT, /* 0x0002004F */
|
|
LOGGER_EVENT_PQE_FAILED, /* 0x00020050 */
|
|
LOGGER_EVENT_MISSING_STRINGS_FILE, /* 0x00020051 */
|
|
LOGGER_EVENT_WRONG_STRING_COUNT, /* 0x00020052 */
|
|
LOGGER_EVENT_DIGEST_SENT, /* 0x00020053 */
|
|
LOGGER_EVENT_CREATE_SOCKET_FAILED, /* 0x00020054 */
|
|
LOGGER_EVENT_CARRIERSCAN_CONNECT_FAILED, /* 0x00020055 */
|
|
LOGGER_EVENT_ILLEGAL_EMAIL_ADDRESS, /* 0x00020056 */
|
|
LOGGER_EVENT_OPEN_STRINGS_FILE, /* 0x00020057 */
|
|
LOGGER_EVENT_MESSAGE_TRY_LATER, /* 0x00020058 */
|
|
LOGGER_EVENT_MESSAGE_FAILED_DELIVERY, /* 0x00020059 */
|
|
LOGGER_EVENT_MEMORY_WILL_OVERRUN, /* 0x0002005A */
|
|
LOGGER_EVENT_NULL_SOURCE, /* 0x0002005B */
|
|
LOGGER_EVENT_ADD_TO_BLOCK_LIST, /* 0x0002005C */
|
|
LOGGER_EVENT_ACCEPT_FAILURE, /* 0x0002005D */
|
|
LOGGER_EVENT_INDEX_CORRUPTION, /* 0x0002005E */
|
|
LOGGER_EVENT_NMAP_OUT_OF_MEMORY, /* 0x0002005F */
|
|
LOGGER_EVENT_FILE_OPEN_FAILURE, /* 0x00020060 */
|
|
LOGGER_EVENT_FILE_IO_FAILURE, /* 0x00020061 */
|
|
LOGGER_EVENT_CONNECTION_TIMEOUT, /* 0x00020062 */
|
|
LOGGER_EVENT_CONNECTION_ERROR, /* 0x00020063 */
|
|
LOGGER_EVENT_PQE_LOCK_FULL, /* 0x00020064 */
|
|
LOGGER_EVENT_AGENT_HEARTBEAT, /* 0x00020065 */
|
|
LOGGER_EVENT_MBOX_CORRUPTION, /* 0x00020066 */
|
|
LOGGER_EVENT_PROXY_HEARTBEAT, /* 0x00020067 */
|
|
LOGGER_EVENT_CONNECTION_LOCAL, /* 0x00020068 */
|
|
LOGGER_EVENT_DNS_CONFIGURATION_ERROR, /* 0x00020069 */
|
|
LOGGER_EVENT_MESSAGE_WITH_UNKNOWN_RECIPS, /* 0x0002006A */
|
|
LOGGER_EVENT_IP_CONNECT_FAILURE, /* 0x0002006B */
|
|
LOGGER_EVENT_SMTP_CONNECT_ERROR, /* 0x0002006C */
|
|
LOGGER_EVENT_NEGOTIATION_FAILED, /* 0x0002006D */
|
|
LOGGER_EVENT_NETWORK_IO_FAILURE, /* 0x0002006E */
|
|
LOGGER_EVENT_PROXY_USER, /* 0x0002006F */
|
|
LOGGER_EVENT_SERVER_SHUTDOWN, /* 0x00020070 */
|
|
LOGGER_EVENT_PRIV_FAILURE, /* 0x00020071 */
|
|
LOGGER_EVENT_BIND_FAILURE, /* 0x00020072 */
|
|
|
|
/*
|
|
Third-party Bongo Queue Agent event ID's.
|
|
|
|
0x00028000
|
|
*/
|
|
|
|
LOGGER_EVENT_LAST_EVENT_ID
|
|
} LoggerEventIDs;
|
|
|
|
/* List Codes */
|
|
typedef enum {
|
|
LOGGER_LIST_NO_AUTH = 1,
|
|
LOGGER_LIST_NOT_MODERATOR,
|
|
LOGGER_LIST_NO_ATTACHMENTS,
|
|
LOGGER_LIST_USER_BANNED,
|
|
|
|
LOGGER_LIST_LAST_CODE
|
|
} LoggerListCodes;
|
|
|
|
/* Blocking Codes */
|
|
typedef enum {
|
|
LOGGING_BLOCK_REVERSE_FAILED = 1,
|
|
LOGGING_BLOCK_BLOCKLIST,
|
|
LOGGING_BLOCK_RBL,
|
|
|
|
LOGGER_LAST_BLOCK_CODE
|
|
} LoggerBlockCodes;
|
|
|
|
/* Variables */
|
|
|
|
typedef struct _LoggingHandle LoggingHandle;
|
|
|
|
/* Prototypes */
|
|
EXPORT LoggingHandle *LoggerOpen(const char *name);
|
|
EXPORT void LoggerClose(LoggingHandle *handle);
|
|
EXPORT void LoggerEvent(LoggingHandle *handle, const char *subsystem, unsigned long eventId, int level, int unknown /*fixme*/, const char *str1, const char *str2, int i1, int i2, void *p, int size);
|
|
|
|
#endif /* LOGGER_H */
|