Browse Source

Allow empty passwords when parsing Basic authorization header

Ali Sabil 11 years ago
parent
commit
d145cbb745
1 changed files with 2 additions and 2 deletions
  1. 2 2
      src/cowboy_http.erl

+ 2 - 2
src/cowboy_http.erl

@@ -765,8 +765,6 @@ authorization_basic_userid(<<C, Rest/binary>>, Fun, Acc) ->
 authorization_basic_password(Data, Fun) ->
 authorization_basic_password(Data, Fun) ->
 	authorization_basic_password(Data, Fun, <<>>).
 	authorization_basic_password(Data, Fun, <<>>).
 
 
-authorization_basic_password(<<>>, _Fun, <<>>) ->
-	{error, badarg};
 authorization_basic_password(<<C, _Rest/binary>>, _Fun, _Acc)
 authorization_basic_password(<<C, _Rest/binary>>, _Fun, _Acc)
 		when C < 32; C=:= 127 ->
 		when C < 32; C=:= 127 ->
 	{error, badarg};
 	{error, badarg};
@@ -1255,6 +1253,8 @@ http_authorization_test_() ->
 	Tests = [
 	Tests = [
 		{<<"basic">>, <<"QWxsYWRpbjpvcGVuIHNlc2FtZQ==">>,
 		{<<"basic">>, <<"QWxsYWRpbjpvcGVuIHNlc2FtZQ==">>,
 			{<<"basic">>, {<<"Alladin">>, <<"open sesame">>}}},
 			{<<"basic">>, {<<"Alladin">>, <<"open sesame">>}}},
+		{<<"basic">>, <<"dXNlcm5hbWU6">>,
+			{<<"basic">>, {<<"username">>, <<>>}}},
 		{<<"basic">>, <<"dXNlcm5hbWUK">>,
 		{<<"basic">>, <<"dXNlcm5hbWUK">>,
 			{error, badarg}},
 			{error, badarg}},
 		{<<"basic">>, <<"_[]@#$%^&*()-AA==">>,
 		{<<"basic">>, <<"_[]@#$%^&*()-AA==">>,