Feed aggregator

Re: External authentication crashed with reason: bad argument in extauth:call_port/2

Mailing list - Thu, 2016-07-21 10:07
* David Cunningham <dcunningham< at >voisonics.com> [2016-07-21 11:24]: You should have a full trace in your crash.log file, could you show that? What ejabberd version are you using? Holger
Categories: ejabberd

acl database problems in 16.01

Mailing list - Thu, 2016-07-21 07:05
Hello! Just installed fresh ubuntu 16.04 and ejabberd 16.01 from it. I configured (yml) ldap authentication and declared myself as admin: acl: ## ## The 'admin' ACL grants administrative privileges to XMPP accounts. ## You can put here as many accounts as you want. ## admin: user: - "dm": "jabber.mydomain" Then started ejabberd and login through web interface. I see that in host config acl database is in RAM (I'm back translating from russian). If I set it to RAM & disk then acl database file appears, but if I restart ejabberd it removes file and I see RAM in database config via web interface. If I set only disk, then ejabberd dies with errors: 2016-07-21 13:02:43 =CRASH REPORT==== crasher: initial call: ejabberd_http:init/2 pid: <0.920.0> registered_name: [] exception error: bad argument: [{ets,lookup,[acl,{admin,global}],[]},{acl,get_aclspecs,2,[{file,"src/acl.erl"},{line,349}]},{acl,match_acl,3,[{file,"src/acl.erl"},{line,346}]},{acl,match_acls,3,[{file,"src/ac l.erl"},{line,276}]},{ejabberd_web_admin,'-is_acl_match/3-fun-0-',3,[{file,"src/ejabberd_web_admin.erl"},{line,88}]},{lists,any,2,[{file,"lists.erl"},{line,1224}]},{ejabberd_web_admin,'-make_server_menu/4-lc$^0/1 -0-',3,[{file,"src/ejabberd_web_admin.erl"},{line,2890}]},{ejabberd_web_admin,make_server_menu,4,[{file,"src/ejabberd_web_admin.erl"},{line,2888}]}] ancestors: [<0.472.0>,ejabberd_listeners,ejabberd_sup,<0.38.0>] messages: [] links: [#Port<0.8866>,#Port<0.8865>] dictionary: [] trap_exit: false status: running heap_size: 28690 stack_size: 27 reductions: 53249 neighbours: 2016-07-21 13:02:43 =CRASH REPORT==== crasher: initial call: ejabberd_http:init/2 pid: <0.1344.0> registered_name: [] exception error: bad argument: [{ets,lookup,[acl,{admin,global}],[]},{acl,get_aclspecs,2,[{file,"src/acl.erl"},{line,349}]},{acl,match_acl,3,[{file,"src/acl.erl"},{line,346}]},{acl,match_acls,3,[{file,"src/ac l.erl"},{line,276}]},{ejabberd_web_admin,'-is_acl_match/3-fun-0-',3,[{file,"src/ejabberd_web_admin.erl"},{line,88}]},{lists,any,2,[{file,"lists.erl"},{line,1224}]},{ejabberd_web_admin,get_auth_account,5,[{file,"s rc/ejabberd_web_admin.erl"},{line,269}]},{ejabberd_web_admin,process,2,[{file,"src/ejabberd_web_admin.erl"},{line,222}]}] ancestors: [<0.472.0>,ejabberd_listeners,ejabberd_sup,<0.38.0>] messages: [] links: [#Port<0.8879>,#Port<0.8880>] dictionary: [] trap_exit: false status: running heap_size: 2586 stack_size: 27 reductions: 3836 neighbours: And 2016-07-21 13:02:43.963 [error] <0.1344.0> CRASH REPORT Process <0.1344.0> with 0 neighbours crashed with reason: bad argument in call to ets:lookup(acl, {admin,global}) in acl:get_aclspecs/2 line 349 Cold you tell me what I'm doing wrong here? btw, I have ejabberd 2 on ubuntu 12.04 and it runs just fine with almost the same config. Thank you!
Categories: ejabberd

External authentication crashed with reason: badargument in extauth:call_port/2

Mailing list - Wed, 2016-07-20 23:24
Hello, I'm using external authentication and have a perl program which is started by ejabberd correctly. I can see the process running, ejabberd is it's parent process, and the perl program writes to a log to say it's running. But when I try to access the /admin/ web page ejabberd logs: 2016-07-20 18:23:00.870 [info] <0.471.0>< at >ejabberd_listener:accept:333 (#Port<0.18688>) Accepted connection 203.217.21.197:45227 -> 70.42.246.78:5280 2016-07-20 18:23:00.871 [debug] <0.500.0>< at >ejabberd_http:init:154 S: [{[<<"websocket">>],ejabberd_http_ws},{[<<"admin">>],ejabberd_web_admin},{[<<"http-bind">>],mod_http_bind}] 2016-07-20 18:23:00.871 [info] <0.500.0>< at >ejabberd_http:init:158 started: {gen_tcp,#Port<0.18688>} 2016-07-20 18:23:00.875 [debug] <0.500.0>< at >ejabberd_http:process_header:281 (#Port<0.18688>) http query: 'GET' <<"/admin/">> 2016-07-20 18:23:00.875 [debug] <0.500.0>< at >ejabberd_http:process:353 [<<"admin">>] matches [<<"admin">>] 2016-07-20 18:23:00.875 [error] <0.500.0> CRASH REPORT Process <0.500.0> with 0 neighbours crashed with reason: bad argument in extauth:call_port/2 line 101 Given the external authentication program is running okay, can anyone suggest how to debug the issue? Thanks in advance,
Categories: ejabberd

Re: Crash on Ubuntu 14.04

Mailing list - Wed, 2016-07-20 23:20
Just to update, I reinstalled using the repository from https://jabber.at but it had the same issue. Then I installed using the .deb from ejabberd.im and that worked fine. On 20 July 2016 at 07:16, David Cunningham <dcunningham< at >voisonics.com> wrote:
Categories: ejabberd

manage

Mailing list - Wed, 2016-07-20 10:13
Hi, How to manage ejabberd cluster? how to change ejabberd configure without restart ejabberd? max ejabberd nodes in cluster? thanks in advance _______________________________________________ ejabberd mailing list ejabberd< at >jabber.ru http://lists.jabber.ru/mailman/listinfo/ejabberd
Categories: ejabberd

Re: Crash on Ubuntu 14.04

Mailing list - Tue, 2016-07-19 19:16
Hi Philipp, Thanks for the ideas. The process isn't running. I'll try upgrading to a newer version. On 19 July 2016 at 22:41, Philipp Huebner <debalance< at >debian.org> wrote:
Categories: ejabberd

Re: Crash on Ubuntu 14.04

Mailing list - Tue, 2016-07-19 10:41
Hi, Am 19.07.2016 um 14:09 schrieb David Cunningham: on Debian/Ubuntu, ejabberd is automatically started upon installation, I guess your ejabberd is already running, when I call "ejabberdctl live" in that situation I get a crash as well. Use "/etc/init.d/ejabberd start|stop|restart" or call "service ejabberd start|stop|restart" on your system. As for that version - that is indeed quite old. I'd suggest to use Debian Jessie with Backports, or a newer Ubuntu Release, or use the repository from https://jabber.at/en/apt-repository (preferrably in that order ;) ) Regards,
Categories: ejabberd

Crash on Ubuntu 14.04

Mailing list - Tue, 2016-07-19 10:09
Hello, I've installed ejabberd on Ubuntu 14.04 (using the distro package) but from time of installation it has always immediately crashed. It seems the error is: # ejabberdctl live {error_logger,{{2016,7,19},{4,56,59}},"Protocol: ~tp: register/listen error: ~tp~n",["inet_tcp",econnrefused]} I've googled and found suggestions like: - Check the hostname is resolvable (it is, in /etc/hosts and DNS) - Check /var/lib/ejabberd/.erlang.cookie is owned by the ejabberd user (it is) - Check nothing else is listening on port 4369 (nothing is) What else could I check? The Ubuntu version is 2.1.11-1ubuntu2.1 which seems very out of date. Is a newer version likely to avoid the problem? Thank you in advance.
Categories: ejabberd

PubSub Multi-Subscribe

Mailing list - Mon, 2016-07-18 13:53
Hi, is it possible to disable "multi-subscribe" in the ejabberd PubSub module? I found a post mentioning that this should be possible starting with 16.01 http://stackoverflow.com/questions/34618854/how-can-i-disable-multi-subscription-on-pubsub-node-in-ejabberd Im using 16.06 and multi-subscribe still seems to be the default behaviour. Is there any config option to disable this? Best, Florian
Categories: ejabberd

Re: check_password and ejabberd_auth_http

Mailing list - Fri, 2016-07-15 06:28
Yes, this as well - sorry for not mentioning right away -, you must make sure to use plaintext authentication. No Digest possible in your case. If using plaintext make sure your connections are being encrypted. //Stefan On Thu, Jul 14, 2016 at 6:10 PM Florian Sailer <fs< at >sailer-interactive.com> wrote: _______________________________________________ ejabberd mailing list ejabberd< at >jabber.ru http://lists.jabber.ru/mailman/listinfo/ejabberd
Categories: ejabberd

Re: check_password and ejabberd_auth_http

Mailing list - Thu, 2016-07-14 14:10
Thank for you answer... i did some further tests and it seems that the rest method being called depends on the sasl mechanism selected by the client. That makes sense in my eyes... Florian On 13.07.2016 15:17, Stefan Strigler wrote:
Categories: ejabberd

Re: check_password and ejabberd_auth_http

Mailing list - Wed, 2016-07-13 11:17
Hey, I think all you have to do is not enabled SCRAM for passwords. Then check_password with the password will be called. See here: https://github.com/processone/ejabberd-contrib/blob/master/ejabberd_auth_http/src/ejabberd_auth_http.erl#L76 Greets, Stefan On Wed, Jul 13, 2016 at 2:21 PM Florian Sailer <fs< at >sailer-interactive.com> wrote: _______________________________________________ ejabberd mailing list ejabberd< at >jabber.ru http://lists.jabber.ru/mailman/listinfo/ejabberd
Categories: ejabberd

check_password and ejabberd_auth_http

Mailing list - Wed, 2016-07-13 10:21
Hi, i'm currently evaluating ejabberd and try to setup auth with the module ejabberd_auth_http. I got the module working and whenever a user authenticates ejabberd is making the following get request to my http API: /xmppauth/get_password?user=test&server=myserver.com&pass= This works fine when i return the clear text password through the API. However, instead of "get_password" i would rather like ejabberd to call "check_password", so that i can validate the password the user has entered within the API service. There are a lot of references to "check_password" in the docs and the code of ejabberd_auth_http but i can't figure out how to influence whether get_password or check_password are being used. Im using ejabberd 16.06 on Ubuntu 14.04. This is my auth setup: auth_method: http auth_opts: host: "https://www.myserver.com" path_prefix: "/xmppauth/" Any help would be very much appreciated.
Categories: ejabberd

XMPP-Meetup in Berlin

Mailing list - Sun, 2016-07-03 12:19
Just in case someone on this list is from Berlin and bored tomorrow evening: http://www.meetup.com/de-DE/Berlin-XMPP-Meetup/events/231792450/ Holger
Categories: ejabberd

can't cluster ejabberd 16.06

Mailing list - Thu, 2016-06-30 08:00
Hi. I can't cluster ejabberd 16.06. when uncomment ERLANG_NODE=ejabberd< at >host1 and start ejabberd, is not run ejabberd. clustering in ejabberd 16.06 is different?
Categories: ejabberd

Re: Stream management issues (was: Replaced by new connection)

Mailing list - Thu, 2016-06-30 04:59
* Gaurav Jain <monkeyfdude< at >gmail.com> [2016-06-29 18:08]: Stream management is hard to get right due to the protocol design. Just recently, I stumbled over one more corner case that you might run into on a busy server (that's fixed in 16.06¹). But apart from that, the code works as designed for me, and I've seen it being tested quite a lot, also under (very) bad network conditions. So if you still run into issues, I'd be highly interested in the details, especially if you still see them after updating to ejabberd 16.06. Holger ¹ https://github.com/processone/ejabberd/commit/7ddeac38b6bd0a16f46331cc
Categories: ejabberd

Replaced by new connection

Mailing list - Wed, 2016-06-29 23:08
Hi, We can get "Replaced by new connection" errors/status from server in two ways. * As a stream error * As a status in presence stanza for a MUC room My question is: Will stream error will have to occur for MUC presence status be "Replaced ..."? In other words, MUC status can be "Replaced by new connection" only if there was a stream:conflict:error "Replaced by new connection"? So, if I handle stream:conflict:error on client correctly, then I will always be in clean state. Please clarify. Best Regards, PS: I have observed, with stream management, there are many issues when network gets into weird state. The stanza acknowledgement stops working. So, I was thinking of cleaning bad connections and start from scratch. _______________________________________________ ejabberd mailing list ejabberd< at >jabber.ru http://lists.jabber.ru/mailman/listinfo/ejabberd
Categories: ejabberd

[ANN] ejabberd 16.06

Mailing list - Wed, 2016-06-29 12:59
We are proud to introduce our new ejabberd release, ejabberd 16.06. As usual it includes many bug fixes, but also several improvements. The big improvement in this release is a new Access Control List (ACL) infrastructure. ACL rules are used in ejabberd config file to define fine-grained access to ejabberd features. In ejabberd 16.06, the ACL configuration has been much improved to make it both simpler to use and easier to read. Moreover, ACL and access rules are not mandatory anymore when configuring access restrictions for a feature or a module: You can just inline the user, for example, making small configuration much easier to setup properly. To make you even more comfortable, our new code is still supporting the old syntax and you can mix old and new syntax. It means that you can still use your existing configuration file and that you can migrate incrementally, as needed. ## The new ACL syntax New access rule will look like this: access_rules: my_access: - allow: admins - deny: blocked - allow: - user: "peter< at >server.com" - ip: "222.111.222.111/32" - allow: moderators This is an example definition for `my_access` rule. It is composed of four groups. They are evaluated from top to bottom order. the first with all listed acl rules evaluated as true is used as result. If none of them matches, evaluation fallback to default value `deny`. Above definition can be parsed as: if user belongs to ACL definition `admins`, return `allow`, if not, and user belongs to ACL definition `blocked`, return `deny`. otherwise for user "peter< at >server.com" when connected from ip: "222.111.222.111" return `allow`, and for users in ACL definition `moderators` return `allow` as well, in all other cases return `deny`. We can see in this example two new additions that were introduced in this rewrite: - you can now directly specify ACL definitions inside access rules (you no longer will be required to define ACL rules for each case) - you now have the ability to require a match on several ACL rules types at this same time (in the example: ip and user). You can use any rule that is allowed inside acl: sections (like user, server, resource, user_glob, etc.) and one additional rule that is allowed only inside access_rules: section, `acl: NameOfACL` that will look for definition of NameOfAcl inside `acl:` section and use it for matching. If you have only one ACL rule name to use you can use short form `- allow: acl_rule`, additionally `- allow: all` or `- deny: all` can be shorted still to `- allow` and '- deny`. Shapers can also be specified using new syntax, but they now go into `shaper_rules:` section and they look like that: shaper_rules: my_shaper: - 100: admin - 10: all Rules defined in `access:` section will use old syntax, and work as before, so you don't need to update your old config, to adapt it to that change. At last, one can define module specific access rules directly in modules configuration section, this is simpler to understand when reading configuration. Let's get a simple example of the changes. With previous ACL implementation, one could have this: acl: bad_servers: ip: - "XXX.XXX.XXX.XXX/32" admin: user: - "aleksey": "localhost" access: muc_admin: admin: allow muc_create: local: allow muc: all: allow s2s: bad_servers: deny all: allow c2s_shaper: admin: none all: normal modules: mod_muc: access: muc access_create: muc_create access_persistent: muc_create access_admin: muc_admin Which can be translated to this since ejabberd 16.06 with new ACL implementation: acl: admin: user: "aleksey< at >localhost" access_rules: s2s: - deny: - ip: "XXX.XXX.XXX.XXX/32" - allow c2s_shaper: - none: admin - normal modules: mod_muc: access: - allow access_create: - allow: local access_persistent: - allow: local access_admin: - allow: admin Shorter and clearer. Please also note that you can use the JID literally as a string. The previous awkward `username: domain` syntax can go away. ## Changes This is a selection of the most relevant changes: ### Config - New ACL infrastructure - Add shorter version of some common access rules definitions - Allow `< at >` inside acl rules `user`, `user_glob` or `user_regexp` to pass both user and server in single string - Add acl rule `access_rules_validator` and `shaper_rules_validator` for use in `mod_opt_type` and `opt_type` callback functions. - Allow using shapers defined by name like in s2s_shaper: fast - Allow mod_opt_type and opt_type to transform values passed to it, and support better error reporting - Do not call `transform_terms` multiple times in configuration processing when merging them - Don't halt program when `include_config_file` is missing/can't be read - Allow again multiple fqdn values in configuration ### Commands - Allow passing username and ip to `ejabberd_commands`, and use it in `mod_http_api` - Fix path to epmd in ejabberdctl - push_roster: must convert read strings to binaries - `set_presence`: Fix command API - Fix for `modules_update_specs` command - Add ejabberdctl commands to manage oauth tokens. ### Core - Bounce messages sent to server JID - Fix C2S session leak in rare cases - Fix handling of queued stanzas on session timeout - Give more time to stop and kill epmd - When stopping ejabberd, stop modules after broadcasting c2s shutdown - XEP-0198: Use different error message for bounces - XEP-0198: Add 'h' attribute to element - XEP-0198: Also count stanzas when socket is closed ### Databases - Fix pgsql compatibility on `delete_old_messages` command - Handle Redis connection in a separate module - Report in SQL when scram is enabled but the stored password isn't - Update SQL escaping - Use MEDIUMTEXT type for muc_room.opts in MySQL schema ### MAM - Send unique stanza id and archived tag also in the message carbons - Fix "assume_mam_usage: if_enabled" - Fix typo in `mod_mam:select()` - Updated support of XEP-0313 from version 0.4 to 0.5.1 - Mnesia: Avoid cleanup on bag when disc_only, switch in memory - Mnesia: Don't exceed table size limit - Mnesia: Use transactions when writing ### Client State Indication - Fix handling of chat states - Simplify check for carbon-copied chat states - Simplify handling of PEP stanzas - Pass chat states of other resources - Unwrap carbon copies when checking for chat states - Add `queue_pep` option - Queue chat state notifications - Move CSI queue handling code from `ejabberd_c2s` - When stopping, delete only the configured hooks ### Other modules - ext_mod: Set HTTP/1.0 so Github accepts the request - gen_mod: Compile early to remove undefined behaviour warning - mod_http_upload: Let client retry HTTP upload on file size mismatch - mod_last: Produce mod_last entry on account creation - mod_muc_room: Notify on affiliation changes - mod_register: Check password with jid:resourceprep when registering account - mod_roster: respect roster item changes introduced with `roster_process_item` hooks upon pushing - PubSub: Fix PubSub RSM on `get_items` - PubSub: Add support for PubSub publishing options - PEP: Fix sender in case of explicit pep subscriptions - ejabberd_xmlrpc: Report error when conversion of argument type fails ## Feedback As usual, the release is tagged in the Git source code repository on Github: https://github.com/processone/ejabberd.git The source package and binary installers are available at ProcessOne: https://www.process-one.net/ejabberd/downloads/ If you suspect that you've found a bug, please search or fill a bug report on Github: https://github.com/processone/ejabberd/issues
Categories: ejabberd

Ejabber crashes trying to access web admin

Mailing list - Sat, 2016-06-25 07:34
Hi List experts I am trying to access ejabberd web admin by visiting http://mydomain:5280/admin and i get a blank page. After checking the log file, i found that ejabberd crashes. The crash is immediate after visiting the web admin URL. This happens when i commented ## access: register in mod_register: block. The crash report ******************** 2016-06-25 08:35:24 =CRASH REPORT==== crasher: initial call: application_master:init/4 pid: <0.37.0> registered_name: [] exception exit: {{bad_return,{{ejabberd_app,start,[normal,[]]},{'EXIT',{function_clause,[{lists,map,[#Fun<gen_iq_handler.4.19837317>,register],[{file,"lists.erl"},{line,1237}]},{ejabberd_config,transform_module_options,2,[{file,"src/ejabberd_config.erl"},{line,1095}]},{ejabberd_config,'-replace_modules/1-fun-0-',1,[{file,"src/ejabberd_config.erl"},{line,993}]},{lists,map,2,[{file,"lists.erl"},{line,1238}]},{ejabberd_config,process_host_term,4,[{file,"src/ejabberd_config.erl"},{line,646}]},{lists,foldl,3,[{file,"lists.erl"},{line,1262}]},{ejabberd_config,read_file,2,[{file,"src/ejabberd_config.erl"},{line,162}]},{ejabberd_config,start,0,[{file,"src/ejabberd_config.erl"},{line,60}]}]}}}},[{application_master,init,4,[{file,"application_master.erl"},{line,134}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]} ancestors: [<0.36.0>] messages: [] links: [<0.36.0>,<0.38.0>,<0.7.0>] dictionary: [] trap_exit: true status: running heap_size: 1598 stack_size: 27 reductions: 189 neighbours: *********************************************************** But when i enable the access: register in mod_register: block , i get the following error and ejabberd does not start at all. 2016-06-25 08:35:24.452 [error] <0.37.0> CRASH REPORT Process <0.37.0> with 0 neighbours exited with reason: no function clause matching lists:map(#Fun<gen_iq_handler.4.19837317>, register) line 1237 in application_master:init/4 line 134 I have installed latest ejabberd(ejabberd-16.04) through installer in Ubuntu 14 and using mysql as database. I am also attaching the ejabberd config file ejabberd.yml as an attachment. Thanks Sagnaic _______________________________________________ ejabberd mailing list ejabberd< at >jabber.ru http://lists.jabber.ru/mailman/listinfo/ejabberd
Categories: ejabberd

Re: ejabberd Digest, Vol 155, Issue 9

Mailing list - Sat, 2016-06-18 09:34
I using tcp loadbalancer between clients and chat servers and chat server detect loadbalancer IPs as attacker. client IPs are not sent to chat servers. On Sat, Jun 18, 2016 at 1:30 PM, <ejabberd-request< at >jabber.ru> wrote:
Categories: ejabberd
Syndicate content