Hi David,

The debian example configuration [1] shows the proper syntax:
  path: "/var/log/ejabberd/chat"
I tried that syntax and it allows ejabberd to start and logs correctly.

Then I removed the " as in your configuration, and I get your error message:
  path: /tmp/chat

I guess you got the idea of not using " from other ejabberd configurations,
but mod_log_chat's path option requires to provide the path with ".

I've improved right now the path validator to support values with or
without " [2]

Conclusion: use " as shown in the debian example configuration.
In the future, when you get a version with that improvement,
you will decide if keeping old syntax or updating to new syntax.

[1] 
https://salsa.debian.org/ejabberd-packaging-team/ejabberd-contrib/-/blob/master/mod_log_chat/conf/mod_log_chat.yml
[2] 
https://github.com/processone/ejabberd-contrib/commit/a41df9c914adec4da741bfa2f4e36046d1d536ca


On Fri, 10 Sept 2021 at 04:33, David Mandelberg <da...@mandelberg.org> wrote:
>
> Package: ejabberd-mod-log-chat
> Version: 0.2020.10.21~dfsg0-5
>
> With this in the modules section of /etc/ejabberd/ejabberd.yml:
>
>    mod_log_chat:
>      path: /srv/ejabberd/mod_log_chat
>      format: html
>
> I get this error:
>
> $ sudo ejabberdctl foreground
> 2021-09-10 02:10:59.368040+00:00 [info] Loading configuration from
> /etc/ejabberd/ejabberd.yml
> 2021-09-10 02:10:59.468031+00:00 [critical] Failed to start ejabberd
> application: Exception occurred during configuration processing. This is
> most likely due to faulty/incompatible validator in third-party code. If
> you are not running any third-party code, please report the bug with
> ejabberd configuration file attached and the following stacktrace included:
> ** exception error: bad argument
>     in function  iolist_to_binary/1
>        called as iolist_to_binary('/srv/ejabberd/mod_log_chat')
>     in call from mod_log_chat:'-mod_opt_type/1-fun-0-'/1
> (mod_log_chat.erl, line 283)
>     in call from yconf:validate_option/3 (yconf.erl, line 1244)
>     in call from yconf:validate_options/8 (yconf.erl, line 1221)
>     in call from yconf:'-and_then/2-fun-0-'/3 (yconf.erl, line 617)
>     in call from yconf:validate_option/3 (yconf.erl, line 1244)
>     in call from yconf:validate_options/8 (yconf.erl, line 1221)
>     in call from yconf:validate_option/3 (yconf.erl, line 1244)

Reply via email to