diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2010-12-06 14:59:55 +0000 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2010-12-06 14:59:55 +0000 |
commit | 8611a967a211bb396279fe70325d3ee33db298cd (patch) | |
tree | 2592ae939a3cf4fb257d0530fea87495c18b31a0 /src | |
parent | eb5ffe643bc6c0e3201340849bdce84bff9f7ca3 (diff) | |
download | rabbitmq-server-8611a967a211bb396279fe70325d3ee33db298cd.tar.gz |
Demonstrate protocol_error.
Diffstat (limited to 'src')
-rw-r--r-- | src/rabbit_auth_mechanism_cr_demo.erl | 9 | ||||
-rw-r--r-- | src/rabbit_reader.erl | 2 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/rabbit_auth_mechanism_cr_demo.erl b/src/rabbit_auth_mechanism_cr_demo.erl index 0e4b7a85..67665928 100644 --- a/src/rabbit_auth_mechanism_cr_demo.erl +++ b/src/rabbit_auth_mechanism_cr_demo.erl @@ -51,7 +51,7 @@ %% Provides equivalent security to PLAIN but demos use of Connection.Secure(Ok) %% START-OK: Username %% SECURE: "Please tell me your password" -%% SECURE-OK: Password +%% SECURE-OK: "My password is ~s", [Password] description() -> [{name, <<"RABBIT-CR-DEMO">>}, @@ -66,4 +66,9 @@ handle_response(Response, State = #state{username = undefined}) -> State#state{username = Response}}; handle_response(Response, #state{username = Username}) -> - rabbit_access_control:check_user_pass_login(Username, Response). + case Response of + <<"My password is ", Password/binary>> -> + rabbit_access_control:check_user_pass_login(Username, Password); + _ -> + {protocol_error, "Invalid response '~s'", [Response]} + end. diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl index bbecdbaa..6b3276be 100644 --- a/src/rabbit_reader.erl +++ b/src/rabbit_reader.erl @@ -873,7 +873,7 @@ auth_phase(Response, access_refused, "~s login refused: ~s", [proplists:get_value(name, AuthMechanism:description()), Reason]); {protocol_error, Msg, Args} -> - rabbit_misc:protocol_error(access_refused, Msg, Args); + rabbit_misc:protocol_error(syntax_error, Msg, Args); {challenge, Challenge, AuthState1} -> Secure = #'connection.secure'{challenge = Challenge}, ok = send_on_channel0(Sock, Secure, Protocol), |