summaryrefslogtreecommitdiff
path: root/modules/metadata
diff options
context:
space:
mode:
authorArno Töll <arno@debian.org>2013-02-28 21:57:03 +0100
committerArno Töll <arno@debian.org>2013-02-28 21:57:03 +0100
commit1697a801fb875664f7b269260511f5f4126a5e83 (patch)
tree89da4a9495e2ba6d6cb4e4dbae4184c7238a985a /modules/metadata
parent5c4fba3ffbe778bdffe10a93d04821579601a020 (diff)
downloadapache2-1697a801fb875664f7b269260511f5f4126a5e83.tar.gz
Imported Upstream version 2.4.4upstream/2.4.4
Diffstat (limited to 'modules/metadata')
-rw-r--r--modules/metadata/mod_env.c2
-rw-r--r--modules/metadata/mod_headers.c25
-rw-r--r--modules/metadata/mod_remoteip.c5
3 files changed, 29 insertions, 3 deletions
diff --git a/modules/metadata/mod_env.c b/modules/metadata/mod_env.c
index ab8889af..5a98c801 100644
--- a/modules/metadata/mod_env.c
+++ b/modules/metadata/mod_env.c
@@ -152,7 +152,7 @@ static int fixup_env_module(request_rec *r)
env_dir_config_rec *sconf = ap_get_module_config(r->per_dir_config,
&env_module);
- if (!apr_table_elts(sconf->vars)->nelts) {
+ if (apr_is_empty_table(sconf->vars)) {
return DECLINED;
}
diff --git a/modules/metadata/mod_headers.c b/modules/metadata/mod_headers.c
index d3a15556..93977390 100644
--- a/modules/metadata/mod_headers.c
+++ b/modules/metadata/mod_headers.c
@@ -220,6 +220,28 @@ static const char *header_request_ssl_var(request_rec *r, char *name)
}
}
+static const char *header_request_loadavg(request_rec *r, char *a)
+{
+ ap_loadavg_t t;
+ ap_get_loadavg(&t);
+ return apr_psprintf(r->pool, "l=%.2f/%.2f/%.2f", t.loadavg,
+ t.loadavg5, t.loadavg15);
+}
+
+static const char *header_request_idle(request_rec *r, char *a)
+{
+ ap_sload_t t;
+ ap_get_sload(&t);
+ return apr_psprintf(r->pool, "i=%d", t.idle);
+}
+
+static const char *header_request_busy(request_rec *r, char *a)
+{
+ ap_sload_t t;
+ ap_get_sload(&t);
+ return apr_psprintf(r->pool, "b=%d", t.busy);
+}
+
/*
* Config routines
*/
@@ -905,6 +927,9 @@ static int header_pre_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp)
register_format_tag_handler("t", header_request_time);
register_format_tag_handler("e", header_request_env_var);
register_format_tag_handler("s", header_request_ssl_var);
+ register_format_tag_handler("l", header_request_loadavg);
+ register_format_tag_handler("i", header_request_idle);
+ register_format_tag_handler("b", header_request_busy);
return OK;
}
diff --git a/modules/metadata/mod_remoteip.c b/modules/metadata/mod_remoteip.c
index 60d7a1f5..a0bfd864 100644
--- a/modules/metadata/mod_remoteip.c
+++ b/modules/metadata/mod_remoteip.c
@@ -400,8 +400,9 @@ static int remoteip_modify_request(request_rec *r)
ap_log_rerror(APLOG_MARK, APLOG_TRACE1, 0, r,
req->proxy_ips
? "Using %s as client's IP by proxies %s"
- : "Using %s as client's IP by internal proxies",
- req->useragent_ip, req->proxy_ips);
+ : "Using %s as client's IP by internal proxies%s",
+ req->useragent_ip,
+ (req->proxy_ips ? req->proxy_ips : ""));
return OK;
}