You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2013/09/10 17:10:03 UTC
[37/48] git commit: TS-2188 Never consider a simple / path as a
healthcheck
TS-2188 Never consider a simple / path as a healthcheck
This is an optimization, and a safety net, such that a simple
/ path can never be considered for a healthcheck.
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/9e82415f
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/9e82415f
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/9e82415f
Branch: refs/heads/5.0.x
Commit: 9e82415fc2c40a628589f4053ad1103c5730bdb8
Parents: 49d00ff
Author: Scott Harris <sc...@harrisnet.id.au>
Authored: Mon Sep 9 13:36:22 2013 -0600
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Mon Sep 9 13:37:28 2013 -0600
----------------------------------------------------------------------
CHANGES | 3 +++
plugins/experimental/healthchecks/README | 4 +++-
plugins/experimental/healthchecks/healthchecks.c | 4 ++++
3 files changed, 10 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/9e82415f/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 878b55b..6734ed8 100644
--- a/CHANGES
+++ b/CHANGES
@@ -3,6 +3,9 @@ Changes with Apache Traffic Server 4.1.0
*) [TS-2191] not reschedule http_sm when the sm_list`s lock is not acquired.
+ *) [TS-2188] Fixes to make healthcheck plugin not segfault, and parse
+ the log files properly. Author: Scott Harris <sc...@harrisnet.id.au>.
+
*) [TS-1086] Avoid edge case returning 304 to an unconditional request.
Diagnosis and patch by Mohamad Khateeb.
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/9e82415f/plugins/experimental/healthchecks/README
----------------------------------------------------------------------
diff --git a/plugins/experimental/healthchecks/README b/plugins/experimental/healthchecks/README
index 920dbe7..ab156ac 100644
--- a/plugins/experimental/healthchecks/README
+++ b/plugins/experimental/healthchecks/README
@@ -6,8 +6,10 @@ This configuration contains one, or several, lines of the format
<URI-path> <file-path> <mime> <file-exists-code> <file-missing-code>
+The URI-path can *not* be "/" only.
-For example,
+
+Examples:
/__hc /var/run/ts-alive text/plain 200 403
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/9e82415f/plugins/experimental/healthchecks/healthchecks.c
----------------------------------------------------------------------
diff --git a/plugins/experimental/healthchecks/healthchecks.c b/plugins/experimental/healthchecks/healthchecks.c
index 47b4f7b..c7ae166 100644
--- a/plugins/experimental/healthchecks/healthchecks.c
+++ b/plugins/experimental/healthchecks/healthchecks.c
@@ -500,6 +500,10 @@ health_check_origin(TSCont contp ATS_UNUSED, TSEvent event ATS_UNUSED, void *eda
int path_len = 0;
const char* path = TSUrlPathGet(reqp, url_loc, &path_len);
+ /* Short circuit the / path, common case, and we won't allow healthecks on / */
+ if (!path || !path_len)
+ goto cleanup;
+
while (info) {
if (info->p_len == path_len && !memcmp(info->path, path, path_len)) {
TSDebug(PLUGIN_NAME, "Found match for /%.*s", path_len, path);