Branch: Tag:

2016-06-29

2016-06-29 10:49:15 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Roxen: Improved argument checking in make_http_headers().

Ensure that the formatted headers are valid.

Fixes the entire class of bugs that [bug 7737 (#7737)] represents.

52:   test_mkhttp( (["a":"1","b":({"2","3"})]), ({"a: 1","b: 2","b: 3"}) )   test_mkhttp( (["a":"1","b":({"2","2"})]), ({"a: 1","b: 2","b: 2"}) )    + test_eval_error(_Roxen.make_http_headers((["a:1": "1"]))) + test_eval_error(_Roxen.make_http_headers((["a\rb": "1"]))) + test_eval_error(_Roxen.make_http_headers((["a\nb": "1"]))) + test_eval_error(_Roxen.make_http_headers(([" a:1": "1"]))) + test_eval_error(_Roxen.make_http_headers((["a": "1\r"]))) + test_eval_error(_Roxen.make_http_headers((["a": "1\n"]))) + test_eval_error(_Roxen.make_http_headers((["a": ({ "1\r\nb:2", "2\r\nc:2" }))))) +    define(test_hp,[[    test_do( add_constant("hp", _Roxen.HeaderParser()) )    test_equal( hp->feed( $1 ), $2)