[rabbitmq-discuss] Creating an auth plugin (Kerberos)

Simon Lundström simlu at su.se
Thu Nov 29 16:46:00 GMT 2012


Sorry to revisit an old message, but it's kind of related...

On Tue, 2012-11-13 at 17:21:19 +0000, Simon MacMullen wrote:
> On 13/11/12 14:35, Simon Lundström wrote:
> >>So make sure to receive that message in your plugin...
> >
> >In my receive, here
> ><https://github.com/simmel/rabbitmq-auth-backend-kerberos/blob/213a831a61e1524cb187273b7d78ff5bc415a678/src/rabbit_auth_backend_kerberos.erl#L42-55>,
> >I tried to add:
> >
> >     {'EXIT', Port, PosixCode} ->
> >       rabbit_log:error("EXIT: ~p~n", [PosixCode]),
> >       false;
> >
> >however I still get the same error.
> >I even tried to add:
> >     {A, B, C} ->
> >       rabbit_log:error("EXIT: ~p : ~p : ~p~n", [A,B,C]),
> >       false;
> >
> >just to see so I could "catch" every case but I still got the same error.
> 
> You don't want to add that message to the existing receive block -
> since you will receive the {Port, {exit_status, A}} message as well,
> and you'll only receive one message per receive block. So you need a
> second block after the first to receive the 'EXIT' message.

When trying to handle when password is undefined I have found that the
{'EXIT', Port, normal} message is only sent when a user logs in via AMQP
(and probably STOMP).

I never receive an EXIT-message when a user logs in via the API/mgmt.

Why is that? How can I handle the EXIT-message "sometimes"?

The way it "works" now is that my timeout is hit by using "after 1000"
in
<https://github.com/simmel/rabbitmq-auth-backend-kerberos/blob/8911bd68d7/src/rabbit_auth_backend_kerberos.erl#L85-L93>
but it's not nice to the API/mgmt users to have them wait 1000 ms for
every auth request = )

Thanks,
- Simon


More information about the rabbitmq-discuss mailing list