Cannot register to our server

I don't know for how long time registration to our server is not working.
Gajim and PSI clients are reporting "conflict" and PSI client write message "access cannot be granted because an existing resource or session exists with the same name or address" too.
Some days before I did some changes in config and now it looks like this (and I'm not sure if this configuration is supported):

{access, register, [{deny, all}]}.
%%... some other configuration options...
{modules,
[
  {mod_adhoc,    []},
  {mod_announce, [{access, announce}]}, % requires mod_adhoc
  {mod_caps,     []},
  {mod_configure,[]}, % requires mod_adhoc
  {mod_ctlextra, []},
  {mod_stats,    []},
  {mod_time,     []},
  {mod_version,  []}
]}.

{host_config, "jabber.sk",      [{auth_method,   internal},
                                {access, register, [{allow, all}]},
                                {{add, modules}, [
                                        {mod_last, []},
                                        {mod_roster, []},
                                        {mod_register, [{welcome_message, {"BLA", "blabla"}},
                                                        {registration_watchers, ["xxx@jabber.sk", "xxx@jabber.sk", "xxx@jabber.sk"]},
                                                        {access, register}
                                                ]},
{mod_disco, []},
                                        {mod_muc, [
                                                {host, "conference.jabber.sk"},
                                                {access, muc},
                                                {access_create, muc},
                                                {access_persistent, muc},
                                                {access_admin, muc_admin},
                                                {max_users, 100}
                                        ]},
                                        {mod_offline, [{user_max_messages, 200}]},
                                        {mod_privacy, []},
                                        {mod_private, [{host, "private.jabber.sk"}]},
                                        {mod_pubsub,   [ % requires mod_caps
                                                {host, "pubsub.jabber.sk"},
                                                {access_createnode, pubsub_createnode},
                                                {plugins, ["default", "pep"]}
                                        ]},
                                        {mod_irc, [{access, all}, {host, "irc.jabber.sk"}]},
                                        {mod_vcard, [
                                                {host, "vjud.jabber.sk"},
                                                {search, true},
                                                {matches, 20}
                                        ]},
                                        {mod_http_bind, []}
                                ]}                                       
]}.

Registration via ejabberdctl from command-line is working fine:

jabber:~# ejabberdctl stats registeredusers
16729
jabber:~# ejabberdctl register 000000 jabber.sk xxxxxx
jabber:~# ejabberdctl stats registeredusers
16730
jabber:~# ejabberdctl unregister 000000 jabber.sk
jabber:~# ejabberdctl stats registeredusers
16729

Here are my questions:
1) could be the problem, that in general configuration we have register denied - could solve the problem to comment this line in config?
2) could be the problem, that in vhost configuration we have access rights with the same name "register" as it is in general configuration - could solve the problem to rename one of access rights or ad1?
3) it is supported to have mod_register configured in vhost configuration in general?

PS: I'm sorry if my english is not very good.

Problem solved

Just to inform everybody:
I was correct in my opinion - there was conflict in names of access rights - 'register' - in config. Maybe this could be bug in parsing of configuration - these access rule 'register' configured in general section would be 'overwritten' by the value of vhost config option. Or there is other option how to solve this 'issue' - these overwrites would be detected as misconfiguration by the start of ejabberd...(I hope you understand what I supposed) :-)
I was able test this on our public server because ejabberd supports dynamically unload modules, change most of configuration options without need to restart service or to interrupt service in other way. Thank you guys from ProcessOne for this great server - it's amazing - I don't have another words!

There are two possible solutions to enable registration of new accounts on our server:
1) when I removed access rule {register [{deny,all}]}. from general configuration and leave other configuration as it is - done via web interface dynamically!
2) when I renamed access rule in vhost configuration (for example: register_jabber_sk) and appropriately change access rule definition for register module configured in vhost configuration - this could by done via web interface and without restart of the service too!

Our server is runing well with my second 'solution'. So our config looks like this:

{access, register, [{deny, all}]}.
%%... some other configuration options...
{modules,
%%... some modules here...
]}.

{host_config, "jabber.sk",      [{auth_method,   internal},
                                {access, register_jabber_sk, [{allow, all}]},
%%... some other configuration here...
                                        {mod_register, [{welcome_message, {"BLA", "blabla"}},
                                                        {registration_watchers, ["xxx@jabber.sk", "xxx@jabber.sk", "xxx@jabber.sk"]},
                                                        {access, register_jabber_sk}
                                                ]},
%%... some other configuration here...
]}.

EJAB-803

Syndicate content