Mercurial > dovecot > original-hg > dovecot-2.2
changeset 16746:bbe4a469e276
lib-http: Improved display of invalid characters in parse error messages.
author | Stephan Bosch <stephan@rename-it.nl> |
---|---|
date | Sun, 15 Sep 2013 03:46:25 +0300 |
parents | 572b9a9031e7 |
children | 29ceb7126b91 |
files | src/lib-http/http-request-parser.c src/lib-http/http-response-parser.c |
diffstat | 2 files changed, 12 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-http/http-request-parser.c Sun Sep 15 03:46:12 2013 +0300 +++ b/src/lib-http/http-request-parser.c Sun Sep 15 03:46:25 2013 +0300 @@ -96,8 +96,12 @@ static inline const char *_chr_sanitize(unsigned char c) { if (c >= 0x20 && c < 0x7F) - return t_strdup_printf("'%c'", c); - return t_strdup_printf("0x%02x", c); + return t_strdup_printf("`%c'", c); + if (c == 0x0a) + return "<LF>"; + if (c == 0x0d) + return "<CR>"; + return t_strdup_printf("<0x%02x>", c); } static int http_request_parse(struct http_request_parser *parser,
--- a/src/lib-http/http-response-parser.c Sun Sep 15 03:46:12 2013 +0300 +++ b/src/lib-http/http-response-parser.c Sun Sep 15 03:46:25 2013 +0300 @@ -94,8 +94,12 @@ static inline const char *_chr_sanitize(unsigned char c) { if (c >= 0x20 && c < 0x7F) - return t_strdup_printf("'%c'", c); - return t_strdup_printf("0x%02x", c); + return t_strdup_printf("`%c'", c); + if (c == 0x0a) + return "<LF>"; + if (c == 0x0d) + return "<CR>"; + return t_strdup_printf("<0x%02x>", c); } static int http_response_parse(struct http_response_parser *parser,