one domain cannot login, but others can do. what's wrong with it?

one domain cannot login, but others can do. what's wrong with it?
config ejabberd with external authentication.

ejabberd.cfg:

{hosts, ["ubtejabber","localhost","192.168.0.233","192.168.1.233"]}.

{auth_method, external}.
{extauth_program, "/home/ubtjabber/ejabberd-2.0.0/pe_login.py"}.

ejabberd.log:

=INFO REPORT==== 2009-01-01 09:45:11 ===
I(<0.1947.0>:ejabberd_listener:112) : (#Port<0.14967>) Accepted connection {{192,168,0,107},10190} -> {{192,168,0,233},5222}

=INFO REPORT==== 2009-01-01 09:48:29 ===
I(<0.1947.0>:ejabberd_listener:112) : (#Port<0.14969>) Accepted connection {{192,168,0,107},10200} -> {{192,168,0,233},5222}

=INFO REPORT==== 2009-01-01 09:51:05 ===
I(<0.1947.0>:ejabberd_listener:112) : (#Port<0.14971>) Accepted connection {{192,168,0,107},10209} -> {{192,168,0,233},5222}

=INFO REPORT==== 2009-01-01 09:57:28 ===
I(<0.1947.0>:ejabberd_listener:112) : (#Port<0.14973>) Accepted connection {{192,168,0,107},10232} -> {{192,168,0,233},5222}

... ...

The scenario is:
At first, both the domain 192.168.0.233 and domain 192.168.1.233 work well.
After some time, the domain 192.168.0.233 cannot be logined, but 192.168.1.233 can be done.

when the problem happened, the log file recorded ejabberd only accepted connection, no Accepted authentication record.
and at that time, i checked users-connected by ejabberdctl tool, there is no user connected, and ejabberd is running.

so please help me to find which one caused problem?

The problem is probably

The problem is probably related to the external authentication: maybe the script crashes, and ejabberd doesn't restart it, so user logins will fail.

If that's the case, I don't know how exactly to solve.

and how to check the script

and how to check the script crash or not?
and it seems the script doesnot crash, because the other domains use the same external authentication script PE_login.py, and they work well when the domain 192.168.0.233 cannot be logined.

How to check the running status of a domain?

One script instance per vhost

If you have several vhosts with external authentication, ejabberd starts one instance of the script for each vhost. You will see that the scripts are started by a system process called 'beam' or 'beam.smp'. Initially you should have a script instance for each vhost.

You can also check ejabberd log files: ejabberd.log and sasl.log, maybe there is some error message.

Syndicate content