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