]> granicus.if.org Git - libevent/commitdiff
ignore LWS after field-content in headers
authorArtem Germanov <root@cent56.(none)>
Mon, 21 May 2012 04:08:52 +0000 (21:08 -0700)
committerNick Mathewson <nickm@torproject.org>
Fri, 16 Nov 2012 15:59:43 +0000 (10:59 -0500)
http.c

diff --git a/http.c b/http.c
index 34d1dc96aa58a417c53f095ebedfbf81da63c83f..a6d9ab3aac4d43dac71c54fc1e03d54c9515f18e 100644 (file)
--- a/http.c
+++ b/http.c
@@ -219,6 +219,20 @@ strsep(char **s, const char *del)
 }
 #endif
 
+static void 
+rtrim(char *str)
+{
+       char *cp;
+
+       if( str == NULL )
+               return;
+
+       cp = strchr(str, '\0') - 1;
+
+       while (cp >= str && *cp == ' ')
+               *cp-- = '\0';
+}
+
 static size_t
 html_replace(const char ch, const char **escaped)
 {
@@ -1913,6 +1927,7 @@ evhttp_parse_headers_(struct evhttp_request *req, struct evbuffer* buffer)
                        goto error;
 
                svalue += strspn(svalue, " ");
+               rtrim(svalue);
 
                if (evhttp_add_header(headers, skey, svalue) == -1)
                        goto error;