diff --git a/ChangeLog b/ChangeLog index abf7f439c..7b1cec7ea 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2008-05-17 Badlop + + * src/extauth.erl: Log strange responses from extauth script. Use + timeout (EJAB-627) + +2008-05-16 Badlop + + * src/mod_muc/mod_muc_room.erl: Allow change_state of a room + 2008-05-16 Christophe Romain * src/ejabberd_s2s_out.erl: Change FSMTIMEOUT to 30s diff --git a/src/extauth.erl b/src/extauth.erl index 052e95d7a..3819fcddf 100644 --- a/src/extauth.erl +++ b/src/extauth.erl @@ -32,6 +32,8 @@ -include("ejabberd.hrl"). +-define(CALL_TIMEOUT, 30000). % Timeout is in milliseconds: 30 seconds == 30000 + start(Host, ExtPrg) -> spawn(?MODULE, init, [Host, ExtPrg]). @@ -67,7 +69,13 @@ loop(Port) -> Port ! {self(), {command, encode(Msg)}}, receive {Port, {data, Data}} -> - Caller ! {eauth, decode(Data)} + ?DEBUG("extauth call '~p' received data response:~n~p", [Msg, Data]), + Caller ! {eauth, decode(Data)}; + {Port, Other} -> + ?ERROR_MSG("extauth call '~p' received strange response:~n~p", [Msg, Other]) + after + ?CALL_TIMEOUT -> + ?ERROR_MSG("extauth call '~p' didn't receive response~n", [Msg]) end, loop(Port); stop ->