On Tue, Sep 8, 2009 at 10:59 PM, Gabriel Ki <gabeki@gmail.com> wrote:
Yaws process died if the value of Authorization header is not base64
decode-able string.

For example:

Authorization: Basic AAAGQWxhZGRpbjpvcGVuIHNlc2FtZQ==

Yaws process died:
{function_clause,[{string,tokens2,[{error,bad_base64},":",[],
[148,181,133,205,149,205,129,184,149,193,189,233,184,165,145,145,133,177,5,25]]},{yaws,parse_auth,1},{yaws,http_collect_headers,5},{yaws,do_http_get_headers,2},{yaws,http_get_headers,2},{yaws_server,aloop,3},{yaws_server,acceptor0,2},{proc_lib,init_p_do_apply,3}]}


due to yaws:decode_base64() append a tuple to the end of a string list.


Please consider to include the patch below for the next release.

Thanks for the patch, but I think a better fix is to make decode_base64 properly tail recursive so the original call site handles it correctly. I'll push a fix later tonight.

--steve