Error
I want to use an external authentication script in ejabberd, instead of the internal auth method. I already configured ejabberd, pointing to the full path of the extauth script. Unfortunately, I get this error message every time a user tries to login:
=ERROR REPORT==== 2007-10-02 01:09:21 === ** State machine <0.2341.0> terminating ** Last event in was {xmlstreamelement, ... ** Reason for termination = ** {badarg,[{extauth,call_port,2}, {lists,any,2}, {cyrsasl_plain,mech_step,2}, {cyrsasl,server_step,2}, {ejabberd_c2s,wait_for_feature_request,2}, {gen_fsm,handle_msg,7}, {proc_lib,init_p,5}]}
Explanation
This error message does not indicate what is exactly the problem. Usually, the problem is that the extauth script has some bug that prevents it from working correctly, or that it doesn't have proper execution flags.
Solution
You must first check if the problem is in your custom extauth script, or with ejabberd itself. To do this, you can try to use the example script included in ejabberd source package. Also ensure that ejabberd has sufficient permission to execute the script (chmod 500 should be enought).
Actually chmod 500 is
Actually chmod 500 is enough.