mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-14 13:56:01 +03:00
Detect and use new API calls to get the server version/banner when available.
This commit is contained in:
parent
8549546b5e
commit
1e603d8a3e
2
CHANGES
2
CHANGES
@ -1,6 +1,8 @@
|
|||||||
?? ??? 2007 - 2.5.0-trunk
|
?? ??? 2007 - 2.5.0-trunk
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
|
* Used new API calls to get the server version/banner when available.
|
||||||
|
|
||||||
* Allow mod_rpaf and mod_extract_forwarded2 to work before ModSecurity.
|
* Allow mod_rpaf and mod_extract_forwarded2 to work before ModSecurity.
|
||||||
|
|
||||||
* Quiet some compiler warnings.
|
* Quiet some compiler warnings.
|
||||||
|
@ -13,6 +13,8 @@
|
|||||||
|
|
||||||
#include "http_core.h"
|
#include "http_core.h"
|
||||||
#include "http_request.h"
|
#include "http_request.h"
|
||||||
|
#include "httpd.h"
|
||||||
|
#include "ap_release.h"
|
||||||
|
|
||||||
#include <apr_general.h>
|
#include <apr_general.h>
|
||||||
#include <apr_optional.h>
|
#include <apr_optional.h>
|
||||||
@ -30,6 +32,19 @@ APR_DECLARE_OPTIONAL_FN(void, modsec_register_variable,
|
|||||||
unsigned int is_cacheable, unsigned int availability));
|
unsigned int is_cacheable, unsigned int availability));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* ap_get_server_version() is gone in 2.3.0.
|
||||||
|
* It was replaced by two calls in 2.2.4 and higher:
|
||||||
|
* ap_get_server_banner()
|
||||||
|
* ap_get_server_description()
|
||||||
|
*/
|
||||||
|
#if (AP_SERVER_MAJORVERSION_NUMBER > 2) \
|
||||||
|
|| ((AP_SERVER_MAJORVERSION_NUMBER == 2)&& (AP_SERVER_MINORVERSION_NUMBER > 2)) \
|
||||||
|
|| ((AP_SERVER_MAJORVERSION_NUMBER == 2) && (AP_SERVER_MINORVERSION_NUMBER == 2) && (AP_SERVER_PATCHLEVEL_NUMBER >= 4))
|
||||||
|
#define apache_get_server_version() ap_get_server_banner()
|
||||||
|
#else
|
||||||
|
#define apache_get_server_version() ap_get_server_version()
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Configuration functions. */
|
/* Configuration functions. */
|
||||||
|
|
||||||
|
@ -379,7 +379,8 @@ static apr_status_t change_server_signature(server_rec *s) {
|
|||||||
|
|
||||||
if (new_server_signature == NULL) return 0;
|
if (new_server_signature == NULL) return 0;
|
||||||
|
|
||||||
server_version = (char *)ap_get_server_version();
|
server_version = (char *)apache_get_server_version();
|
||||||
|
|
||||||
if (server_version == NULL) {
|
if (server_version == NULL) {
|
||||||
ap_log_error(APLOG_MARK, APLOG_ERR | APLOG_NOERRNO, 0, s,
|
ap_log_error(APLOG_MARK, APLOG_ERR | APLOG_NOERRNO, 0, s,
|
||||||
"SecServerSignature: Apache returned null as signature.");
|
"SecServerSignature: Apache returned null as signature.");
|
||||||
@ -442,7 +443,7 @@ static int hook_post_config(apr_pool_t *mp, apr_pool_t *mp_log, apr_pool_t *mp_t
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Store the original server signature */
|
/* Store the original server signature */
|
||||||
real_server_signature = apr_pstrdup(mp, ap_get_server_version());
|
real_server_signature = apr_pstrdup(mp, apache_get_server_version());
|
||||||
|
|
||||||
/* Make some space in the server signature for later */
|
/* Make some space in the server signature for later */
|
||||||
if (new_server_signature != NULL) {
|
if (new_server_signature != NULL) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user