mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-13 21:36:00 +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
|
||||
-------------------------
|
||||
|
||||
* Used new API calls to get the server version/banner when available.
|
||||
|
||||
* Allow mod_rpaf and mod_extract_forwarded2 to work before ModSecurity.
|
||||
|
||||
* Quiet some compiler warnings.
|
||||
|
@ -13,6 +13,8 @@
|
||||
|
||||
#include "http_core.h"
|
||||
#include "http_request.h"
|
||||
#include "httpd.h"
|
||||
#include "ap_release.h"
|
||||
|
||||
#include <apr_general.h>
|
||||
#include <apr_optional.h>
|
||||
@ -30,6 +32,19 @@ APR_DECLARE_OPTIONAL_FN(void, modsec_register_variable,
|
||||
unsigned int is_cacheable, unsigned int availability));
|
||||
#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. */
|
||||
|
||||
|
@ -379,7 +379,8 @@ static apr_status_t change_server_signature(server_rec *s) {
|
||||
|
||||
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) {
|
||||
ap_log_error(APLOG_MARK, APLOG_ERR | APLOG_NOERRNO, 0, s,
|
||||
"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 */
|
||||
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 */
|
||||
if (new_server_signature != NULL) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user