You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
suricata/src/util-error.h

297 lines
8.8 KiB
C

/* Copyright (C) 2007-2014 Open Information Security Foundation
*
* You can copy, redistribute or modify this Program under the terms of
* the GNU General Public License version 2 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
* version 2 along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
/**
* \file
*
* \author Anoop Saldanha <anoopsaldanha@gmail.com>
*/
#ifndef __ERROR_H__
#define __ERROR_H__
/* different error types */
typedef enum {
SC_OK,
SC_ERR_MEM_ALLOC,
SC_ERR_PCRE_MATCH,
SC_ERR_ACTION_ORDER,
SC_ERR_PCRE_GET_SUBSTRING,
SC_ERR_PCRE_COMPILE,
SC_ERR_PCRE_STUDY,
SC_ERR_PCRE_PARSE,
SC_ERR_LOG_MODULE_NOT_INIT,
SC_ERR_LOG_FG_FILTER_MATCH,
SC_ERR_COUNTER_EXCEEDED,
SC_ERR_INVALID_CHECKSUM,
SC_ERR_SPRINTF,
SC_ERR_INVALID_ARGUMENT,
SC_ERR_SPINLOCK,
SC_ERR_INVALID_ENUM_MAP,
SC_ERR_INVALID_IP_NETBLOCK,
SC_ERR_INVALID_IPV4_ADDR,
SC_ERR_INVALID_IPV6_ADDR,
SC_ERR_INVALID_RUNMODE,
SC_ERR_PCAP_DISPATCH,
SC_ERR_PCAP_CREATE,
SC_ERR_PCAP_SET_SNAPLEN,
SC_ERR_PCAP_SET_PROMISC,
SC_ERR_PCAP_SET_TIMEOUT,
SC_ERR_PCAP_OPEN_LIVE,
SC_ERR_PCAP_OPEN_OFFLINE,
SC_ERR_PCAP_ACTIVATE_HANDLE,
SC_ERR_PCAP_SET_BUFF_SIZE,
SC_ERR_NO_PCAP_SET_BUFFER_SIZE,
SC_ERR_NO_PF_RING,
SC_ERR_PF_RING_RECV,
SC_ERR_PF_RING_GET_CLUSTERID_FAILED,
SC_ERR_PF_RING_GET_INTERFACE_FAILED,
SC_ERR_PF_RING_OPEN,
SC_ERR_GET_CLUSTER_TYPE_FAILED,
SC_ERR_INVALID_CLUSTER_TYPE,
SC_ERR_PF_RING_SET_CLUSTER_FAILED,
SC_ERR_DATALINK_UNIMPLEMENTED,
SC_ERR_INVALID_SIGNATURE,
SC_ERR_OPENING_FILE,
SC_ERR_OPENING_RULE_FILE,
SC_ERR_NO_RULES,
SC_ERR_NO_RULES_LOADED,
SC_ERR_FOPEN,
SC_ERR_INITIALIZATION,
SC_ERR_THREAD_SPAWN,
SC_ERR_THREAD_NICE_PRIO,
SC_ERR_THREAD_CREATE,
SC_ERR_THREAD_INIT, /**< thread's initialization function failed */
SC_ERR_SYSCALL,
SC_ERR_SYSCONF,
SC_ERR_INVALID_ARGUMENTS,
SC_ERR_PERF_STATS_NOT_INIT,
SC_ERR_COMPLETE_PORT_SPACE_NEGATED,
SC_ERR_NO_PORTS_LEFT_AFTER_MERGE,
SC_ERR_NEGATED_VALUE_IN_PORT_RANGE,
SC_ERR_PORT_PARSE_INSERT_STRING,
SC_ERR_UNREACHABLE_CODE_REACHED,
SC_ERR_ALPARSER,
SC_ERR_INVALID_NUMERIC_VALUE,
SC_ERR_NUMERIC_VALUE_ERANGE,
SC_ERR_INVALID_NUM_BYTES,
SC_ERR_ARG_LEN_LONG,
SC_ERR_POOL_EMPTY,
SC_ERR_REASSEMBLY,
SC_ERR_POOL_INIT,
SC_ERR_NFQ_NOSUPPORT,
SC_ERR_NFQ_OPEN,
SC_ERR_NFQ_BIND,
SC_ERR_NFQ_UNBIND,
SC_ERR_NFQ_MAXLEN,
SC_ERR_NFQ_CREATE_QUEUE,
SC_ERR_NFQ_SET_MODE,
SC_ERR_NFQ_SETSOCKOPT,
SC_ERR_NFQ_RECV,
SC_ERR_NFQ_HANDLE_PKT,
SC_ERR_NFQ_SET_VERDICT,
SC_ERR_NFQ_THREAD_INIT,
SC_ERR_IPFW_NOSUPPORT,
SC_ERR_IPFW_BIND,
SC_ERR_IPFW_SOCK,
SC_ERR_IPFW_NOPORT,
SC_WARN_IPFW_RECV,
SC_WARN_IPFW_XMIT,
SC_WARN_IPFW_SETSOCKOPT,
SC_WARN_IPFW_UNBIND,
SC_ERR_DAEMON,
SC_ERR_UNIMPLEMENTED,
SC_ERR_ADDRESS_ENGINE_GENERIC,
SC_ERR_PORT_ENGINE_GENERIC,
SC_ERR_IPONLY_RADIX,
SC_ERR_FAST_LOG_GENERIC,
SC_ERR_DEBUG_LOG_GENERIC,
SC_ERR_UNIFIED_LOG_GENERIC,
SC_ERR_HTTP_LOG_GENERIC,
SC_ERR_TLS_LOG_GENERIC,
SC_ERR_UNIFIED_ALERT_GENERIC,
SC_ERR_UNIFIED2_ALERT_GENERIC,
SC_ERR_FWRITE,
SC_ERR_THRESHOLD_HASH_ADD,
SC_ERR_UNDEFINED_VAR,
SC_ERR_RULE_KEYWORD_UNKNOWN,
SC_ERR_FLAGS_MODIFIER,
SC_ERR_DISTANCE_MISSING_CONTENT,
SC_ERR_WITHIN_MISSING_CONTENT,
SC_ERR_WITHIN_INVALID,
SC_ERR_OFFSET_MISSING_CONTENT,
SC_ERR_DEPTH_MISSING_CONTENT,
SC_ERR_BYTETEST_MISSING_CONTENT,
SC_ERR_BYTEJUMP_MISSING_CONTENT,
SC_ERR_NOCASE_MISSING_PATTERN,
SC_ERR_RAWBYTES_MISSING_CONTENT,
SC_ERR_NO_URICONTENT_NEGATION,
SC_ERR_HASH_TABLE_INIT,
SC_ERR_STAT,
SC_ERR_LOGDIR_CONFIG,
SC_ERR_LOGDIR_CMDLINE,
SC_ERR_MISSING_CONFIG_PARAM,
SC_ERR_RADIX_TREE_GENERIC,
SC_ERR_MISSING_QUOTE,
SC_ERR_MUTEX,
SC_ERR_REPUTATION_INVALID_OPERATION,
SC_ERR_REPUTATION_INVALID_TYPE,
SC_ERR_UNKNOWN_PROTOCOL, /**< signature contains invalid protocol */
SC_ERR_UNKNOWN_RUN_MODE,
SC_ERR_MULTIPLE_RUN_MODE,
SC_ERR_BPF,
SC_ERR_BYTE_EXTRACT_FAILED,
SC_ERR_UNKNOWN_VALUE,
SC_ERR_INVALID_VALUE,
SC_ERR_UNKNOWN_REGEX_MOD,
SC_ERR_INVALID_OPERATOR,
SC_ERR_PCAP_RECV_INIT,
SC_ERR_CUDA_ERROR,
SC_ERR_CUDA_HANDLER_ERROR,
SC_ERR_TM_THREADS_ERROR,
SC_ERR_TM_MODULES_ERROR,
SC_ERR_AC_CUDA_ERROR,
SC_ERR_INVALID_YAML_CONF_ENTRY,
SC_ERR_TMQ_ALREADY_REGISTERED,
SC_ERR_CONFLICTING_RULE_KEYWORDS,
SC_ERR_INVALID_ACTION,
SC_ERR_LIBNET_REQUIRED_FOR_ACTION,
SC_ERR_LIBNET_INIT,
SC_ERR_LIBNET_INVALID_DIR,
SC_ERR_LIBNET_BUILD_FAILED,
SC_ERR_LIBNET_WRITE_FAILED,
SC_ERR_LIBNET_NOT_ENABLED,
SC_ERR_UNIFIED_LOG_FILE_HEADER, /**< Error to indicate the unified file
header writing function has been
failed */
SC_ERR_REFERENCE_UNKNOWN, /**< unknown reference key (cve, url, etc) */
SC_ERR_PIDFILE_SNPRINTF,
SC_ERR_PIDFILE_OPEN,
SC_ERR_PIDFILE_WRITE,
SC_ERR_PIDFILE_DAEMON,
SC_ERR_UID_FAILED,
SC_ERR_GID_FAILED,
SC_ERR_CHANGING_CAPS_FAILED,
SC_ERR_LIBCAP_NG_REQUIRED,
SC_ERR_LIBNET11_INCOMPATIBLE_WITH_LIBCAP_NG,
SC_WARN_FLOW_EMERGENCY,
SC_WARN_COMPATIBILITY,
SC_ERR_SVC,
SC_ERR_ERF_DAG_OPEN_FAILED,
SC_ERR_ERF_DAG_STREAM_OPEN_FAILED,
SC_ERR_ERF_DAG_STREAM_START_FAILED,
SC_ERR_ERF_DAG_STREAM_SET_FAILED,
SC_ERR_ERF_DAG_STREAM_READ_FAILED,
SC_WARN_ERF_DAG_REC_LEN_CHANGED,
SC_ERR_DAG_REQUIRED,
SC_ERR_DAG_NOSUPPORT, /**< no ERF/DAG support compiled in */
SC_ERR_FATAL,
SC_ERR_DCERPC,
SC_ERR_DETECT_PREPARE, /**< preparing the detection engine failed */
SC_ERR_AHO_CORASICK,
SC_ERR_REFERENCE_CONFIG,
SC_ERR_DUPLICATE_SIG, /**< Error to indicate that signature is duplicate */
SC_WARN_PCAP_MULTI_DEV_EXPERIMENTAL,
SC_ERR_PCAP_MULTI_DEV_NO_SUPPORT,
SC_ERR_HTTP_METHOD_NEEDS_PRECEEDING_CONTENT,
SC_ERR_HTTP_METHOD_INCOMPATIBLE_WITH_RAWBYTES,
SC_ERR_HTTP_METHOD_RELATIVE_MISSING,
SC_ERR_HTTP_COOKIE_NEEDS_PRECEEDING_CONTENT,
SC_ERR_HTTP_COOKIE_INCOMPATIBLE_WITH_RAWBYTES,
SC_ERR_HTTP_COOKIE_RELATIVE_MISSING,
SC_ERR_LOGPCAP_SGUIL_BASE_DIR_MISSING,
SC_ERR_UNKNOWN_DECODE_EVENT,
SC_ERR_RUNMODE,
SC_ERR_SHUTDOWN,
SC_ERR_INVALID_DIRECTION,
SC_ERR_AFP_CREATE,
SC_ERR_AFP_READ,
SC_ERR_AFP_DISPATCH,
SC_ERR_NO_AF_PACKET,
SC_ERR_PCAP_FILE_DELETE_FAILED,
SC_ERR_CMD_LINE,
SC_ERR_MAGIC_OPEN,
SC_ERR_MAGIC_LOAD,
SC_ERR_SIZE_PARSE,
SC_ERR_RAWBYTES_FILE_DATA,
SC_ERR_SOCKET,
SC_ERR_PCAP_TRANSLATE, /* failed to translate ip to dev */
SC_WARN_OUTDATED_LIBHTP,
SC_WARN_DEPRECATED,
SC_WARN_PROFILE,
SC_ERR_FLOW_INIT,
SC_ERR_HOST_INIT,
SC_ERR_MEM_BUFFER_API,
SC_ERR_INVALID_MD5,
SC_ERR_NO_MD5_SUPPORT,
SC_ERR_EVENT_ENGINE,
SC_ERR_NO_LUA_SUPPORT,
SC_ERR_LUA_ERROR,
SC_ERR_DEFRAG_INIT,
SC_ERR_NAPATECH_OPEN_FAILED,
SC_ERR_NAPATECH_STREAM_NEXT_FAILED,
SC_ERR_NAPATECH_NOSUPPORT,
SC_ERR_NAPATECH_REQUIRED,
SC_ERR_NAPATECH_TIMESTAMP_TYPE_NOT_SUPPORTED,
SC_ERR_NAPATECH_INIT_FAILED,
SC_ERR_NAPATECH_CONFIG_STREAM,
SC_ERR_NAPATECH_STREAMS_REGISTER_FAILED,
SC_ERR_NAPATECH_STAT_DROPS_FAILED,
SC_ERR_NAPATECH_PARSE_CONFIG,
SC_ERR_NO_REPUTATION,
SC_ERR_NOT_SUPPORTED,
SC_ERR_IPFW_SETSOCKOPT,
SC_ERR_NO_GEOIP_SUPPORT,
SC_ERR_GEOIP_ERROR,
SC_ERR_LIVE_RULE_SWAP,
SC_WARN_UNCOMMON,
SC_ERR_CUDA_BUFFER_ERROR,
SC_ERR_DNS_LOG_GENERIC,
SC_WARN_OPTION_OBSOLETE,
SC_WARN_NO_UNITTESTS,
SC_ERR_THREAD_QUEUE,
SC_WARN_XFF_INVALID_MODE,
SC_WARN_XFF_INVALID_HEADER,
SC_ERR_THRESHOLD_SETUP,
SC_ERR_DNS_CONFIG,
SC_ERR_CONF_YAML_ERROR,
SC_ERR_CONF_NAME_TOO_LONG,
SC_ERR_APP_LAYER_PROTOCOL_DETECTION,
SC_ERR_PCIE_INIT_FAILED,
SC_ERR_NFLOG_NOSUPPORT,
SC_ERR_NFLOG_OPEN,
SC_ERR_NFLOG_BIND,
SC_ERR_NFLOG_UNBIND,
SC_ERR_NFLOG_MAX_BUFSIZ,
SC_ERR_NFLOG_SET_MODE,
SC_ERR_NFLOG_HANDLE_PKT,
SC_ERR_NFLOG_GROUP,
SC_ERR_NFLOG_FD,
SC_WARN_NFLOG_RECV,
SC_WARN_NFLOG_LOSING_EVENTS,
SC_WARN_NFLOG_MAXBUFSIZ_REACHED,
SC_WARN_NFLOG_SETSOCKOPT,
SC_WARN_LUA_SCRIPT,
SC_ERR_LUA_SCRIPT,
} SCError;
const char *SCErrorToString(SCError);
#endif /* __ERROR_H__ */