From 8611a967a211bb396279fe70325d3ee33db298cd Mon Sep 17 00:00:00 2001 From: Simon MacMullen Date: Mon, 6 Dec 2010 14:59:55 +0000 Subject: Demonstrate protocol_error. --- src/rabbit_auth_mechanism_cr_demo.erl | 9 +++++++-- 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), -- cgit v1.2.1