1 /* 2 * ModSecurity for Apache 2.x, http://www.modsecurity.org/ 3 * Copyright (c) 2004-2013 Trustwave Holdings, Inc. (http://www.trustwave.com/) 4 * 5 * You may not use this file except in compliance with 6 * the License. You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * If any of the files related to licensing are missing or if you have any 11 * other questions related to licensing please contact Trustwave Holdings, Inc. 12 * directly using the email address security@modsecurity.org. 13 */ 14 15 #ifndef _MSC_RELEASE_H_ 16 #define _MSC_RELEASE_H_ 17 18 #include <stdlib.h> 19 #include <string.h> 20 21 /* ENH: Clean this mess up by detecting this is possible */ 22 #if !(defined(_AIX) || defined(WIN32) || defined(CYGWIN) || defined(NETWARE) || defined(SOLARIS2) || defined(OSF1)) 23 #define DSOLOCAL __attribute__((visibility("hidden"))) 24 #else 25 #define DSOLOCAL 26 #endif 27 28 #if defined(DEBUG_MEM) 29 /* Nothing Yet */ 30 #endif 31 32 /* For GNU C, tell the compiler to check printf like formatters */ 33 #if (defined(__GNUC__) && !defined(SOLARIS2)) 34 #define PRINTF_ATTRIBUTE(a,b) __attribute__((format (printf, a, b))) 35 #else 36 #define PRINTF_ATTRIBUTE(a,b) 37 #endif 38 39 #define MODSEC_VERSION_MAJOR "2" 40 #define MODSEC_VERSION_MINOR "9" 41 #define MODSEC_VERSION_MAINT "3" 42 #define MODSEC_VERSION_TYPE "" 43 #define MODSEC_VERSION_RELEASE "" 44 45 #define MODSEC_VERSION_SUFFIX MODSEC_VERSION_TYPE MODSEC_VERSION_RELEASE 46 47 #define MODSEC_VERSION \ 48 MODSEC_VERSION_MAJOR "." MODSEC_VERSION_MINOR "." MODSEC_VERSION_MAINT \ 49 MODSEC_VERSION_SUFFIX 50 51 /* Apache Module Defines */ 52 #ifdef VERSION_IIS 53 #define MODSEC_MODULE_NAME "ModSecurity for IIS (STABLE)" 54 #else 55 #ifdef VERSION_NGINX 56 #define MODSEC_MODULE_NAME "ModSecurity for nginx (STABLE)" 57 #else 58 #ifdef VERSION_STANDALONE 59 #define MODSEC_MODULE_NAME "ModSecurity Standalone (STABLE)" 60 #else 61 #define MODSEC_MODULE_NAME "ModSecurity for Apache" 62 #endif 63 #endif 64 #endif 65 #define MODSEC_MODULE_VERSION MODSEC_VERSION 66 #define MODSEC_MODULE_NAME_FULL MODSEC_MODULE_NAME "/" MODSEC_MODULE_VERSION " (http://www.modsecurity.org/)" 67 68 int DSOLOCAL get_modsec_build_type(const char *name); 69 70 #endif /* _MSC_RELEASE_H_ */ 71