26
1
mirror of https://github.com/processone/ejabberd.git synced 2024-12-28 17:38:54 +01:00
Commit Graph

3559 Commits

Author SHA1 Message Date
Mickaël Rémond
7c2998a55d Merge pull request #1044 from processone/http-api
Add ability to call open ejabberd commands through ReST API
2016-03-31 11:37:14 +02:00
Evgeniy Khramtsov
fced8dc3d9 Replace some ?ERR_* macros with ?ERRT_* 2016-03-31 11:00:29 +03:00
Mickael Remond
3c480a5b0b Fix Dialyzer inconsistency 2016-03-30 16:47:40 +02:00
Paweł Chmielowski
b160bd7ac1 Provide authzid in scream response 2016-03-30 16:08:04 +02:00
Mickael Remond
809057678b Better error report when command is not exposed through API 2016-03-30 15:59:29 +02:00
Mickael Remond
36ac1cd6c7 Returns unauthorized error when we do not have correct credentials 2016-03-30 14:49:19 +02:00
Mickael Remond
ead83b008c HTTP ReST API now supports 'open' ejabberd commands 2016-03-30 14:23:09 +02:00
Mickael Remond
82cf7f7ca8 Adds support for option admin_ip_access on mod_http_api
This allows granting access to admin commands to backend, by using IP address restrictions.
(Pawel Chmielowski)
2016-03-29 19:40:20 +02:00
Badlop
78a44d8099 Move start and stop_modules/0 from ejabberd_app to gen_mod (#1039) 2016-03-29 15:26:34 +02:00
Mickael Remond
b49a615e21 Fix commands api option 2016-03-29 13:19:16 +02:00
Mickael Remond
3b2d0fd24a Fix commands access check.
Fixes ECS-20
2016-03-29 13:06:13 +02:00
Mickael Remond
aa15148898 Fix commands access check. 2016-03-29 13:05:12 +02:00
Badlop
3809b898aa Pass noauth when auth isn't provided, reverts a1129dc (processone/ejabberd-contrib#159) 2016-03-29 12:51:26 +02:00
Mickael Remond
221d8e0e5d Merge branch 'master' of github.com:processone/ejabberd 2016-03-29 11:21:58 +02:00
Mickael Remond
53d12caa56 Fix log printout
Log is not only called for admin commands. It is call for all commands call.
2016-03-29 11:21:53 +02:00
Evgeniy Khramtsov
7a9e93839a Fix some LIMIT related problems with MSSQL 2016-03-29 11:34:00 +03:00
Mickaël Rémond
4afe0b195c Merge pull request #1036 from processone/shared-roster-ldap
Fix issue getting shared roster
2016-03-25 19:36:10 +01:00
Evgeny Khramtsov
915ccbbdfb Merge pull request #684 from wcy123/master
bug fix: ejabberd:start_app need to pass Type to application:start
2016-03-25 21:00:35 +04:00
Mickael Remond
381065397f Fix issue getting shared roster
I rollbacked to correct version and slightly refactored the code
2016-03-25 17:44:12 +01:00
Evgeniy Khramtsov
46568fb959 Merge commit 'refs/pull/524/head' of github.com:processone/ejabberd into sasl-api-change 2016-03-25 18:16:50 +03:00
Mickael Remond
a3a33bd5fc Allow running test groups independently
We need to be able to run only a few test groups, even if we do not have all
database backends installed and configured locally.

ejabberd test suite configures a specific host per backend. I changed ejabberd
to allow ignoring some hosts from config file on start, by providing the exact
list of hosts we want to start.

This is done by setting an ejabberd app Erlang environment variable 'hosts' and
passing the list of hosts we want to actually define.

When doing so, the backend specific hosts defined in ejabberd test configuration file
are simply ignored. As a result, we do not try to connect to unavailable backends.

I linked that part to CT run test by defining the hosts list based on environment variable
CT_BACKENDS. This variable is expected to be a comma separated list of available backends.

When Erlang Common Tests are run with that environment variable set, only the host matching
the name of the backend will be set, plus the default "localhost", common to many tests.

This can be combined with rebar ct groups list.

Example commands to run tests:
CT_BACKENDS=riak,mnesia rebar ct suites=ejabberd
CT_BACKENDS=mnesia rebar ct suites=ejabberd groups=mnesia
2016-03-24 10:02:13 +01:00
Evgeniy Khramtsov
cb27a3540e Fix is_connected/0 function 2016-03-22 20:01:23 +03:00
Evgeniy Khramtsov
61e914a83f Keep alive Riak connections by default 2016-03-22 19:32:30 +03:00
Evgeniy Khramtsov
57f7b34b90 Do not auto append IP suffix to usernames (#1008) 2016-03-22 13:25:34 +03:00
Badlop
e7ef65a22d Improve ban_account command to work with other DBs than Mnesia (#977) 2016-03-21 18:30:05 +01:00
Badlop
107569a17d New command delete_mnesia deletes all tables that can be exported 2016-03-21 16:19:06 +01:00
Mickael Remond
31c194a682 Add simple Elixir unit test on jid:from_string 2016-03-21 09:44:23 +01:00
HAMANO Tsukasa
2d103b4ae1 support riak authentication 2016-03-19 01:41:14 +09:00
Paweł Chmielowski
ef02053a9d Fix issue #1015 2016-03-17 18:41:39 +01:00
Paweł Chmielowski
7b72247b2c Don't use jlib:jid_remove_resource 2016-03-16 13:32:19 +01:00
Paweł Chmielowski
34bc698526 Merge pull request #1011 from oxoWrk/master
Bare JID in 'from' of Roster Push (RFC 6121 section 2.1.6) in mod_adm…
2016-03-16 11:37:25 +01:00
Paweł Chmielowski
efbaba5d04 Make auto generated resources shorter 2016-03-16 11:30:45 +01:00
Badlop
c985a2bd3d Start ezlib only if required, as it's optional (#1006) 2016-03-16 11:11:43 +01:00
root
058b3d96bf Bare JID in 'from' of Roster Push (RFC 6121 section 2.1.6) in mod_admin_extra 2016-03-15 10:57:56 +05:00
Evgeny Khramtsov
dcefb6bbe3 Merge pull request #980 from sharewax/EJAB-1480
EJAB-1480: fix issue with retreiving user roster
2016-03-14 17:49:01 +03:00
Badlop
5351e8236d Fix Addresses element which lacked others local destinations
When sending single packet, in addresses include all other group
destinations, not only oneself
2016-03-14 12:53:14 +01:00
Holger Weiss
b871fbba1b Fix result type of "connected_users_info" command
Closes #1002.
2016-03-14 00:51:12 +01:00
Holger Weiss
91573a8e82 Don't store watchdog notifications in MAM archives 2016-03-14 00:05:50 +01:00
Evgeniy Khramtsov
55c567ff00 Unregister route at the very end 2016-03-13 17:37:39 +03:00
Evgeniy Khramtsov
5a4b7817df Add ODBC backend for MIX 2016-03-13 15:38:50 +03:00
Evgeniy Khramtsov
5045fb584d Define pubsub node configuration per route/host explicitly 2016-03-13 13:16:43 +03:00
Evgeniy Khramtsov
357e48fb6b Make it possible to get virtual host of a registered route 2016-03-13 11:38:40 +03:00
Christophe Romain
9297782868 Fix config fetch after host/serverhost cleanup 2016-03-11 17:25:46 +01:00
Elias Rohrer
8b03c0a385 Minimal auth_method ordering fix 2016-03-10 17:52:55 +01:00
Mickael Remond
92a0181932 Lager to Elixir Logger bridge is now compliant with ejabberd loglevel set / get
This should fix #966
2016-03-09 22:30:46 +01:00
Mickael Remond
035c63fd2a Fix call to lager_util:is_loggable/3 2016-03-09 21:03:06 +01:00
Mickael Remond
9e6efaf9bc Use p1_time_compat util for generating timestamp 2016-03-09 20:57:01 +01:00
Mickael Remond
f4ee8a2505 Add Elixir Logger Backend to bridge logs from lager
We will need to support loglevel bridging.
It should help with #966
2016-03-09 19:12:56 +01:00
Evgeniy Khramtsov
e31799a3b1 Define mod_opt_type/1 callback 2016-03-09 11:19:15 +03:00
Evgeniy Khramtsov
1860801e36 Unregister hooks and iq handlers on terminate 2016-03-09 11:14:45 +03:00
Holger Weiss
ae4fa22180 mod_http_upload: Add XEP-0363 v0.2 support
Include the maximum file size in the service discovery information, as
specified by XEP-0363, version 0.2.
2016-03-09 00:27:06 +01:00
Evgeniy Khramtsov
b5121a346d Experimental MIX (XEP-0369) support 2016-03-08 20:04:29 +03:00
badlop
6e40573c13 Merge pull request #989 from galambalazs/patch-1
fix syntax highlighting by keeping "~s" together
2016-03-07 19:06:59 +01:00
badlop
eb0890284a Merge pull request #988 from tnull/edoc_fix
Fixed type specifications for 'rebar doc'
2016-03-07 18:44:05 +01:00
Badlop
16c1b9a5c2 Fix format_result also in xmlrpc, after aa5caa3 (#982) 2016-03-07 17:34:08 +01:00
Balázs Galambosi
83accedded fix syntax highlighting by keeping "~s" together 2016-03-07 16:06:18 +01:00
Elias Rohrer
8e6a301026 Fixed type specifications for 'rebar doc'
- Fixed type @specs and -specs to remove 'rebar doc' errors
- Removed a lot of wrong and deprecated documentation in ejabberd_piefxis.erl
2016-03-07 15:06:19 +01:00
Anton Samets
4013629e5d EJAB-1480: fix issue with retreiving user roster 2016-03-04 15:52:38 +03:00
Paweł Chmielowski
6e14a47316 Define opt_type required be ejabberd_config behaviour. 2016-03-04 11:45:18 +01:00
Badlop
9c3d57e63e Mark get_queue_length obsolete, and use count_offline_messages (#970) 2016-03-04 11:09:14 +01:00
Christophe Romain
44978ce978 ext_mod: switch to fast_xml and remove old p1_logger reference 2016-03-03 15:46:15 +01:00
Christophe Romain
10d6c330a5 Fix pubsub disco after host/serverhost cleanup 2016-03-03 14:52:03 +01:00
Evgeniy Khramtsov
e95cf420a2 Enable flexible offline on disco#info as well 2016-03-03 14:10:40 +03:00
Alexey Shchepin
79853ad44f Missed a few calls in previous commits 2016-03-02 02:00:02 +03:00
Alexey Shchepin
9a049442ff Raise an error when there are no fields to set in ?SQL_UPSERT 2016-03-02 00:12:49 +03:00
Alexey Shchepin
e21f25f5b9 Update more SQL queries 2016-03-02 00:12:49 +03:00
Alexey Shchepin
1f9fd25ff8 Update more SQL queries 2016-03-02 00:12:49 +03:00
Alexey Shchepin
d8fbe8a289 Update more SQL queries 2016-03-02 00:12:49 +03:00
Alexey Shchepin
6d7ce0237a Update mod_last SQL queries to the new API 2016-03-02 00:12:49 +03:00
Alexey Shchepin
2d042f078e New parse transform for ?SQL_UPSERT and ?SQL_UPSERT_T 2016-03-02 00:12:49 +03:00
Alexey Shchepin
3d8219d8f9 Update mod_roster and ejabberd_auth_odbc SQL queries to the new API 2016-03-02 00:12:49 +03:00
Alexey Shchepin
7f3bffe821 Allow balanced expressions inside @(...) in ejabberd_sql_pt 2016-03-02 00:12:49 +03:00
Alexey Shchepin
99255631dd Updated some mod_offline SQL queries to the new API 2016-03-02 00:12:11 +03:00
Alexey Shchepin
ba35c1ed9d Use 'any' to match any DBMS in sql_query 2016-03-01 22:50:20 +03:00
Alexey Shchepin
437e768e4a Better error handling in ejabberd_sql_pt 2016-03-01 22:50:07 +03:00
Alexey Shchepin
c58a4be6ee Support for run-time SQL queries selection depending on DBMS version 2016-03-01 22:49:56 +03:00
Alexey Shchepin
6374ef4866 New parse transform for SQL queries, use prepare/execute calls with Postgres 2016-03-01 22:48:30 +03:00
Evgeniy Khramtsov
382c7c21ad Do not call to deprected/undefined functions from mod_shared_roster_ldap 2016-02-29 16:35:45 +03:00
Holger Weiss
6d8c7232d8 mod_register_web: Choose the right error messages 2016-02-29 00:39:57 +01:00
Evgeniy Khramtsov
6b126171da Improve LDAP shared roster support (EJAB-1480) 2016-02-26 17:27:12 +03:00
Christophe Romain
56523784e1 Implementation of pubsub#itemreply (EJAB-1347)(#928) 2016-02-26 10:32:03 +01:00
Christophe Romain
1c6d20924b Fix host/serverhost usage (#902) 2016-02-26 09:33:07 +01:00
Marek Foss
ebaf750a9b Fix for #935 2016-02-25 18:56:43 +01:00
Paweł Chmielowski
a9de13c5d9 Don't include empty line after java example 2016-02-25 12:14:17 +01:00
Christophe Romain
576c10ee3a Make caps warning less confusing (#955) 2016-02-23 14:14:24 +01:00
Holger Weiss
44f581c3b5 mod_http_upload: Also expand @HOST@ in 'docroot'
In some environments, it might be desirable to use separate document
roots for each virtual host.
2016-02-20 20:13:30 +01:00
Holger Weiss
b971449f12 mod_http_upload: Expand 'docroot' before using it
Expand the @HOME@ keyword within the 'docroot' value before setting the
permissions of the document root directory.
2016-02-20 18:21:38 +01:00
Holger Weiss
5b4aefbacd Accept stream compression request after SASL
This is an updated version of the patch submitted to EJAB-1382 by
Alexey (thanks!).
2016-02-19 18:53:28 +01:00
Evgeniy Khramtsov
4b0860e7de Make it possible to define 'sm_db_type' per virtual host 2016-02-19 16:38:43 +03:00
Badlop
eece6e69cb Fix format_result so get_room_options command works again after aa5caa3 2016-02-17 20:43:35 +01:00
badlop
c9c59f00ad Merge pull request #953 from cdroege/fix_css
Fix the color of links in tables in web admin
2016-02-15 12:52:54 +01:00
Paweł Chmielowski
47a67c7320 Allow to pass \n in argument to ejabberdctl 2016-02-12 23:38:39 +01:00
Christian Dröge
c579313821 Fix the color of links in tables in web admin 2016-02-12 18:45:45 +01:00
Holger Weiss
eaaab45c14 mod_muc_room: Let members see admin/owner JIDs
Let members retrieve all affiliation lists in non-anonymous rooms, not
just the list of members.
2016-02-11 22:52:27 +01:00
Holger Weiss
041e886b87 mod_muc_room: Don't expose JIDs in anonymous rooms
Don't let room members retrieve the member list unless the room is
non-anonymous.
2016-02-11 22:24:14 +01:00
Holger Weiss
17be70339c mod_mam: Send new preferences when they are set
If a client updates the archiving preferences, include the new
preferences with the IQ result (as mandated by XEP-0313).
2016-02-10 23:06:31 +01:00
Badlop
02a519a11e Mention new XEP support 2016-02-08 21:35:46 +01:00
Badlop
1de085ec23 Prepare room JID in create_room command 2016-02-08 21:35:26 +01:00
Paweł Chmielowski
217b6da5fd Fix example value for rescode return type 2016-02-09 16:44:57 +01:00
Paweł Chmielowski
d5b3e6af00 More documentation of arguments in mod_admin_extra 2016-02-09 16:33:32 +01:00
Evgeniy Khramtsov
4839ba5ae4 XEP-0013: Flexible Offline Message Retrieval support 2016-02-09 17:59:54 +03:00
Paweł Chmielowski
2bca8d5121 Remove remanants of pre-binary strings 2016-02-09 15:50:35 +01:00
Christophe Romain
583476380a Use muc_online_room record for pattern matching 2016-02-09 15:33:00 +01:00
Paweł Chmielowski
c0da9b43ce Better presentation of result description in docs 2016-02-09 13:18:01 +01:00
Paweł Chmielowski
30d171e79e Start documenting arguments in mod_admin_extra commands 2016-02-09 13:03:40 +01:00
Paweł Chmielowski
d36c351fc7 Typo in markdown generator 2016-02-09 13:03:40 +01:00
Holger Weiss
10ed4a1c85 Add most status codes only to initial MUC presence 2016-02-08 20:10:20 +01:00
Badlop
04a315eb52 Fix section links to the Guide in the WebAdmin 2016-02-08 16:16:53 +01:00
badlop
cf2f80bd09 Merge pull request #944 from cdroege/configureable_host-mod_register_web
Allow to modify host when deleting account or changing password over web
2016-02-08 13:48:11 +01:00
Evgeny Khramtsov
2bfb619d19 Merge pull request #914 from weiss/mam-expose-jid
Expose occupant JID in MUC MAM messages whenever possible
2016-02-08 14:23:19 +03:00
Mickael Remond
0b1620a45c Remove compile warnings 2016-02-08 10:50:28 +01:00
Holger Weiss
bf49c292f8 Omit redundant check for overcrowded MUC room
The send_update_presence/4 function already checked whether the room is
overcrowded before calling send_update_presence1/4, so there's no need
to have send_new_presence/4 perform the same check.
2016-02-08 00:46:33 +01:00
Holger Weiss
8098f7d9a8 mod_mam: Don't let outcasts access MUC archive
XEP-0313 says: "A MUC archive MUST check that the user requesting the
archive has the right to enter it at the time of the query [...].  In
the case of open MUC rooms, the MUC archives can generally be accessed
by any users [...] who do not have an affiliation of 'outcast'".
2016-02-08 00:16:02 +01:00
Holger Weiss
a31f59ea31 XEP-0198: Fix session timeout corner case
If the "resend_on_timeout" option is set to 'if_offline' and a pending
stream management session is terminated because a new session is opened
by the same resource (while no other resource is online), resend
unacknowledged messages rather than bouncing error messages.
2016-02-06 22:28:55 +01:00
Badlop
7435ee464f Rename option to regexp_room_id for consistency with other options (#905) 2016-02-05 12:09:27 +01:00
HAMANO Tsukasa
268f0b30ec add room_id_regexp option 2016-02-05 12:09:18 +01:00
Christian Dröge
30388fa2bf Allow to modify host when deleting account or changing password over web 2016-02-04 21:31:16 +01:00
Pablo Polvorin
942072cf9d Make hibernate timeouts configurable
Two *global* options added:
c2s_hibernate and receiver_hibernate.

Default if not specified is 90000, the previous hardcoded value.
2016-02-04 15:45:29 -03:00
Mickael Remond
dfc29ea03c Switch to Fast XML module 2016-02-03 19:03:17 +01:00
Mickael Remond
71ee0d56fa Switch to fast_tls and update app names 2016-02-03 16:13:16 +01:00
Mickael Remond
9ae1371c6e Convert more dependencies to new repository / packages 2016-02-03 12:30:12 +01:00
Mickael Remond
0de222d998 Convert code to use Fast YAML 2016-02-03 11:30:48 +01:00
Mickael Remond
b137ee3beb Move to new dependencies for SIP and STUN 2016-02-03 11:26:14 +01:00
Mickael Remond
99b5c5712c Move to new iconv package 2016-02-03 11:17:24 +01:00
Mickael Remond
e8ba7bce24 Use stringprep app name 2016-02-03 10:12:25 +01:00
Nathan Bruning
80fc34fb0c Fix presence-based delivery 2016-02-02 14:06:07 +01:00
Paweł Chmielowski
fa55ac5c8f More strict checking for MUC initial presence 2016-02-01 12:09:58 +01:00
Paweł Chmielowski
dc52ec904c Send presence with code 170 only in initial presence from MUC 2016-02-01 11:30:49 +01:00
Evgeniy Khramtsov
d3ee2a9c18 Add 'import_prosody' command 2016-01-29 14:30:50 +03:00
Evgeniy Khramtsov
54dc2f56c6 Import privacy lists from Prosody 2016-01-29 14:14:08 +03:00
Richard
ae77b1300a change mod_ping Timers using maps instead of dict 2016-01-29 00:07:38 +08:00
Evgeniy Khramtsov
b20db3b736 Initial version of migration script from Prosody to ejabberd 2016-01-28 14:23:51 +03:00
Paweł Chmielowski
aaa84dc118 Need extra line before ## in markdown 2016-01-27 11:42:13 +01:00
Paweł Chmielowski
239b1c6f74 Always use lagger 2016-01-26 14:34:58 +01:00
Christophe Romain
b2c6e397fc Set set utf8mb4 charset on mysql connection 2016-01-26 13:47:24 +01:00
Paweł Chmielowski
621dff7307 Add header to generated markdown file 2016-01-26 10:46:38 +01:00
Paweł Chmielowski
bdeb4a7e32 Add a way to get all ejabberd_commands, not only those that was registered
This is part of (TECH-1828).
2016-01-26 10:00:28 +01:00
Paweł Chmielowski
22696e8388 Geenarte markdown that is acceptable by docs.ejabberd.org processor 2016-01-25 16:51:54 +01:00
Paweł Chmielowski
a2a692d081 Merge pull request #919 from hamano/rename_timestamp_function
rename timestamp function #917
2016-01-24 07:51:25 +01:00
Mickael Remond
a3931e6b73 lager is the default logger, we need to reverse the define flag 2016-01-23 18:43:06 +01:00
HAMANO Tsukasa
5a85b0fb52 rename timestamp function #917 2016-01-23 17:58:10 +09:00
Holger Weiss
b62607037a mod_mam: Expose MUC occupant JID in more cases
Include the occupant JID with MUC MAM messages if the room is not
anonymous, and also when the MAM user sent the MUC message himself (not
just in the case where he is a room moderator).
2016-01-20 00:02:40 +01:00
Christophe Romain
2ddbd032ee Add error handling to send_stanza 2016-01-19 16:16:04 +01:00
Holger Weiss
5e4ed4266d mod_mam: Strip existing JID tags from MUC messages
Strip any pre-existing <x/> tags which have an <item/> child with a
'jid' attribute from MUC MAM messages.  This way, if such a tag exists,
clients can be sure it was added by mod_mam.
2016-01-19 00:39:10 +01:00
Alexey Shchepin
a150bf8fdc Make C2S session establishment optional (ECS-11) 2016-01-18 16:33:57 +03:00
Holger Weiss
bd383fb8c1 mod_mam: Remove unused code
This mod_mam version doesn't store groupchat messages in user archives,
and it also doesn't support the "store_body_only" option.
2016-01-18 13:27:29 +01:00
Holger Weiss
63777f830d Use maps instead of dicts in HTTP upload modules
ejabberd currently depends on Erlang/OTP 17.1 or higher, so we can now
use maps.
2016-01-16 01:30:22 +01:00
badlop
6ac839dd76 Merge pull request #906 from hamano/stats_processes
add stats processes command
2016-01-15 19:26:23 +01:00
Evgeniy Khramtsov
a83c5a8f3a Do not redefine records 2016-01-15 15:44:50 +03:00
Evgeniy Khramtsov
1d452c98c1 Describe option type of 'domain_balancing' 2016-01-15 14:32:10 +03:00