aboutsummaryrefslogtreecommitdiffstats
path: root/src/mds-server
diff options
context:
space:
mode:
authorMattias Andrée <maandree@operamail.com>2014-06-08 12:52:39 +0200
committerMattias Andrée <maandree@operamail.com>2014-06-08 12:52:45 +0200
commit195eb255e53c8327a743ef89c616c6532d364de2 (patch)
treecf23930ac84b900ce540436a8d67f9679f08a19a /src/mds-server
parentmds-echo: include message id + do not require respawn status (diff)
downloadmds-195eb255e53c8327a743ef89c616c6532d364de2.tar.gz
mds-195eb255e53c8327a743ef89c616c6532d364de2.tar.bz2
mds-195eb255e53c8327a743ef89c616c6532d364de2.tar.xz
m + fix: include header value in interception conditions
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to 'src/mds-server')
-rw-r--r--src/mds-server/interceptors.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mds-server/interceptors.c b/src/mds-server/interceptors.c
index 38442bd..552d7a1 100644
--- a/src/mds-server/interceptors.c
+++ b/src/mds-server/interceptors.c
@@ -77,6 +77,7 @@ void add_intercept_condition(client_t* client, char* condition, int64_t priority
interception_condition_t* conds = client->interception_conditions;
ssize_t nonmodifying = -1;
char* header = condition;
+ char* colon = NULL;
char* value;
size_t hash;
size_t i;
@@ -85,11 +86,15 @@ void add_intercept_condition(client_t* client, char* condition, int64_t priority
if ((value = strchr(header, ':')) != NULL)
{
*value = '\0'; /* NUL-terminate header. */
+ colon = value; /* End of header. */
value += 2; /* Skip over delimiter. */
}
/* Calcuate header hash (comparison optimisation) */
hash = string_hash(header);
+ /* Undo header–value splitting. */
+ if (colon != NULL)
+ *colon = ':';
/* Remove of update condition of already registered,
also look for non-modifying condition to swap position