From 0f64ca78c8ec9ee9be2ffa8ec203e138f7a00804 Mon Sep 17 00:00:00 2001 From: Wilmer van der Gaast Date: Sun, 25 Apr 2010 13:56:20 +0100 Subject: Make http_encode() RFC3986-compliant. (Escape everything except alphanumeric characters plus [-_~.].) --- lib/misc.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'lib/misc.c') diff --git a/lib/misc.c b/lib/misc.c index 1d36d639..c56b31f3 100644 --- a/lib/misc.c +++ b/lib/misc.c @@ -305,8 +305,7 @@ void http_encode( char *s ) for( i = j = 0; t[i]; i ++, j ++ ) { - /* if( t[i] <= ' ' || ((unsigned char *)t)[i] >= 128 || t[i] == '%' ) */ - if( !isalnum( t[i] ) ) + if( !isalnum( t[i] ) && !strchr( "._-~", t[i] ) ) { sprintf( s + j, "%%%02X", ((unsigned char*)t)[i] ); j += 2; -- cgit v1.2.3