[ejabberd] ejabberd 17.04 external authentication: badarg

Marvin Gülker m-guelker at phoenixmail.de
Tue May 23 11:46:49 MSK 2017


On Mon, May 22, 2017 at 10:46:26AM +0200, Badlop wrote:
> Start ejabberd in live mode (or attach a shell with ejabberdctl
> debug). There, does this work or complains too?
> extauth:is_user_exists(<<"foo">>,<<"localhost">>).

It complains as well. This is what it gives in live mode:

    16:46:19.023 [info] Application ejabberd started on node ejabberd at localhost
    16:46:19.023 [debug] Supervisor ejabberd_sup started ejabberd_tmp_sup:start_link(ejabberd_c2s_sup, ejabberd_c2s) at pid <0.533.0>
    16:46:19.023 [debug] Supervisor ejabberd_sup started ejabberd_tmp_sup:start_link(ejabberd_http_sup, ejabberd_http) at pid <0.534.0>

    (ejabberd at localhost)1> extauth:is_user_exists(<<"foo">>, <<"localhost">>).
    ** exception error: bad argument
         in function  extauth:call_port/2 (src/extauth.erl, line 101)

> If you use the example extauth perl script, does it work correctly or
> also complains?

The check_pass_null.pl script from the source tarball shows the exact
same problem. The script runs and logs its startup to the syslog
("waiting for packet"), but that's it. It continues to run until I shut
ejabberd down.

This is the ./configure line I used when compiling ejabberd:

    ./configure --prefix=/usr/local/ejabberd --enable-pam --enable-pgsql \
    --enable-zlib --enable-elixir --sysconfdir=/etc --localstatedir=/var \

> If that returns badarg, it probably means the erlang machine couldn't
> contact the process that handles your script.

That's interesting, because ejabberd starts the process itself. If it
can start it, how is it possible that it can't contact it?

Thanks so far!


Blog: https://www.guelkerdev.de

More information about the ejabberd mailing list