summaryrefslogtreecommitdiff
path: root/modules/session
diff options
context:
space:
mode:
authorGraham Leggett <minfrin@apache.org>2012-02-25 18:10:56 +0000
committerGraham Leggett <minfrin@apache.org>2012-02-25 18:10:56 +0000
commit720f5f4e43772849412c5a368f8bfc1a8c2d5e45 (patch)
tree96871ae9457be355389aded51b4dcc9b71eb14ab /modules/session
parent710038a3c55b91d6cc7db11503ea34f47a932127 (diff)
downloadhttpd-720f5f4e43772849412c5a368f8bfc1a8c2d5e45.tar.gz
mod_session: Sessions are encoded as application/x-www-form-urlencoded strings, however we
do not handle the encoding of spaces properly. Fixed. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1293658 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/session')
-rw-r--r--modules/session/mod_session.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/modules/session/mod_session.c b/modules/session/mod_session.c
index 3e1275be17..e053619a3c 100644
--- a/modules/session/mod_session.c
+++ b/modules/session/mod_session.c
@@ -303,11 +303,11 @@ static int identity_concat(char *buffer, const char *key, const char *val)
*slider = '&';
slider++;
}
- ap_escape_path_segment_buffer(slider, key);
+ ap_escape_urlencoded_buffer(slider, key);
slider += strlen(slider);
*slider = '=';
slider++;
- ap_escape_path_segment_buffer(slider, val);
+ ap_escape_urlencoded_buffer(slider, val);
return 1;
}
@@ -384,7 +384,7 @@ static apr_status_t session_identity_decode(request_rec * r, session_rec * z)
if (!val || !*val) {
apr_table_unset(z->entries, key);
}
- else if (!ap_unescape_all(key) && !ap_unescape_all(val)) {
+ else if (!ap_unescape_urlencoded(key) && !ap_unescape_urlencoded(val)) {
if (!strcmp(SESSION_EXPIRY, key)) {
z->expiry = (apr_time_t) apr_atoi64(val);
}