25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-12-24 17:29:28 +01:00
Commit Graph

3656 Commits

Author SHA1 Message Date
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
Holger Weiss
ddaa409ee2 XEP-0198: Let MAM take care of pending messages
If a stream management session times out for a user who appears to be
using MAM, drop any unacknowledged messages rather than resending or
bouncing them.  This avoids duplicates or bogus error messages.

However, this is only done if the new mod_mam option "assume_mam_usage"
is set to 'if_enabled' or 'on_request'.  In the former case, a user is
assumed to be using MAM if archiving is enabled for his account.  In the
latter case, MAM usage is assumed only if archiving was explicitly
requested by the client, or if archiving was enabled by means of
mod_mam's "request_activates_archiving" option.
2016-01-15 01:08:22 +01:00
HAMANO Tsukasa
6cb1905f7c add stats processes command 2016-01-15 00:27:15 +09:00
Holger Weiss
db04cdf2ca mod_mam: Sort messages returned by Mnesia
Sort the messages retrieved from an Mnesia archive before selecting the
subset limited by the <max/> value.  This makes sure the desired subset
of messages is sent to the client.
2016-01-14 02:27:02 +01:00
Holger Weiss
58c8fc5770 mod_mam: Limit result set page size
If the client doesn't specify a maximum number of messages to retrieve
per page, set a limit of 50 messages.  If the client specifies a limit
larger than 250, cap the number to 250 messages.

These limits aren't enforced for MAM v0.2 requests though, as that
version of the XEP doesn't require clients to support RSM.  The newer
revisions say that "a server MAY place a reasonable limit on how many
stanzas may be pushed to a client in one request.  Whether or not the
client query included a <set/> element, the server MAY simply return its
limited results, modifying the <set/> element it returns appropriately."
2016-01-14 02:12:28 +01:00
Holger Weiss
35ec0d58a4 mod_mam: Reject <index/>-based paging
If an <index/> is specified in the MAM request, reject the request
rather than ignoring the desired index and returning wrong results.
XEP-0059 says that the server "MAY return a <feature-not-implemented/>
error."
2016-01-14 01:39:19 +01:00
Holger Weiss
11afa45646 mod_mam: Remove unused variable 2016-01-14 01:15:11 +01:00
Holger Weiss
89f63a4fdf mod_mam: Check whether MUC message is desired 2016-01-14 01:13:16 +01:00
Holger Weiss
85f4f90b45 mod_mam: Support XEP-0313 v0.2 MUC archive queries 2016-01-14 00:58:48 +01:00
Holger Weiss
8117092e6a mod_mam: Respond to form requests
If the client requests a data form with the supported filters, return it
as per XEP-0313 v0.3 and newer.
2016-01-13 23:56:05 +01:00
Holger Weiss
89b1700279 mod_mam: Add 'from' attribute to <delay/> tag 2016-01-13 23:17:23 +01:00
Holger Weiss
9cd048c442 mod_mam: Improve binary comparison of message UIDs
Make sure the binary comparison performed when clients use message UIDs
to page through Mnesia archives yields correct results even if the
specified UIDs don't have the same number of digits as the UIDs of the
stored messages.  This way, MAM will continue to work as expected after
migrating from mod_mam_mnesia to mod_mam.
2016-01-13 23:01:51 +01:00
Holger Weiss
3dccc20d8b mod_mam: Add "delete_old_mam_messages" command
The new "delete_old_mam_messages" command allows for purging all MAM
messages of the specified type older than the specified number of days.
(Currently only implemented for Mnesia archives.)
2016-01-13 22:46:30 +01:00
Holger Weiss
a61b0c303d mod_mam: Add "request_activates_archiving" option
Enabling "request_activates_archiving" tells mod_mam not to store any
messages for a user until his client issued a MAM request, regardless of
mod_mam's "default" option.  Once a MAM request is issued, messages are
archived as usual.
2016-01-13 21:38:08 +01:00
Holger Weiss
0183b2487e Advertise MUC MAM v0.4.1 in room JID's disco#info 2016-01-13 20:30:44 +01:00
Badlop
f448ff608a Update copyright to 2016 (#901) 2016-01-13 12:29:14 +01:00
Evgeniy Khramtsov
fd3e3a99c5 Log failed SQL requests 2016-01-13 14:13:32 +03:00
Evgeniy Khramtsov
776fe8b32a Fix MAM MUC for v0.4.1 2016-01-13 11:45:08 +03:00
Holger Wei
64d96778b4 Don't return error for blocked MUC messages
If a message stanza is blocked as per XEP-0016 or XEP-0191, return an
error only if the type of the blocked message is "normal" or "chat".
This makes sure users won't be kicked from MUC rooms when blocking other
participants.

Closes #897.
2016-01-12 10:20:35 +01:00
Holger Weiss
3e1425b905 Merge remote-tracking branch 'processone/pr/899'
* processone/pr/899:
  mod_http_upload: Use application/octet-stream instead of text/html for security reasons
2016-01-11 12:38:51 +01:00
Evgeniy Khramtsov
65e6dfb9dd Do not fail on incorrect data coming from SQL (898) 2016-01-11 14:35:11 +03:00
Evgeniy Khramtsov
c7931b4a4f CVE-2016-1232: Add Dialback Key Generation and Validation support (XEP-0185) 2016-01-11 14:22:17 +03:00
Matthias Rieber
0ad0fd2187 mod_http_upload: Use application/octet-stream instead of text/html for security reasons 2016-01-11 12:13:19 +01:00
Badlop
c7b67ff00b Clarify a little more room error string (thanks to Genghis Khan) 2016-01-08 13:14:40 +01:00
Holger Weiss
e1539a11be mod_http_upload: Use full PUT URL for process name
Don't just use the "put_url" domain name, but also any path components
of the specified URL, to generate a mod_http_upload process name.  This
way, a single domain name can be used for multiple virtual hosts by
specifying a "put_url" such as "https://example.com/@HOST@/".
2016-01-06 00:12:36 +01:00
Holger Weiss
3f5a20c90a mod_http_upload: Rename variable for clarity 2016-01-05 22:06:34 +01:00
Badlop
c01e3f24a5 Error converting times in mod_fail2ban (#889) 2016-01-05 12:29:21 +01:00
Paweł Chmielowski
da45a064a8 Fix handling of some options in old style configs
This fixes issue #893.
2016-01-04 22:06:19 +01:00
Alexey Shchepin
fb8a511365 Use crypto:rand_uniform instead of random:uniform 2016-01-04 13:59:37 +03:00
Holger Weiss
94c620cc27 mod_http_upload: Fix logging of file size mismatch 2016-01-04 01:01:14 +01:00
Holger Weiss
5deb6a91f7 mod_admin_extra: Replace deprecated function calls 2016-01-02 21:27:48 +01:00
Holger Weiss
b73678992b mod_muc_admin: Allow for setting MAM option
Fixes #890.
2016-01-02 20:57:01 +01:00
Badlop
91d205715e New send_stanza command (ejabberd_contrib#142) 2015-12-30 12:53:40 +01:00
Holger Weiss
1d2dc6cdc1 mod_muc_room: Replace deprecated function call 2015-12-29 11:11:50 +01:00
Holger Weiss
4cdb30d59e mod_mam: Use <stanza-id/> tags for deduplication
Use <stanza-id/> elements instead of <delay/> tags to check for messages
resent by the stream management code.  The <stanza-id/> element is
preferable, as it is added by mod_mam itself.
2015-12-29 09:54:48 +01:00
Badlop
0df6d7ae39 Improve explanation in registration page (#876) 2015-12-28 15:08:59 +01:00
Paweł Chmielowski
a18a3dfbb1 Add commands for generating html or markdown documentation for commands 2015-12-28 12:20:06 +01:00
Evgeniy Khramtsov
babb484cfc Restrict access to MAM archives for members-only rooms 2015-12-24 15:04:06 +03:00
Badlop
c42e026f9c Degenderise room error message (#747) 2015-12-23 19:34:23 +01:00
Holger Weiss
8cf0d31ee9 Revert "mod_mam: Keep 'to' attribute for MUC MAM messages"
This reverts commit 0e330da2a6.  XEP-0313
says: "When sending out the archives to a requesting client, the 'to' of
the forwarded stanza MUST be empty".
2015-12-22 13:20:23 +01:00
Paweł Chmielowski
cfe0aea219 Use built-in nif for integer_to_binary/binary_to_integer 2015-12-22 11:49:12 +01:00
Badlop
88c9991f90 Adding WEBIRC, custom realname & ident, ISO-8859-15 (thanks to iwalkalone69)(#877) 2015-12-21 16:20:20 +01:00
Alexey Shchepin
d88d5d6807 Support presence_broadcast in default_room_options mod_muc option 2015-12-21 02:25:31 +03:00
Holger Weiss
2d22507636 ejabberd_http: Cope with large POST/PUT requests
gen_tcp returns 'enomem' if we try to receive more than 64 MiB.
2015-12-20 23:30:11 +01:00
Holger Weiss
d039b9b72b ejabberd_http: Log debug message on receive errors 2015-12-20 23:26:57 +01:00
Christophe Romain
bb5a8a42c3 Fix pubsub virtual nodetree plugin 2015-12-17 10:16:17 +01:00
Christophe Romain
6957e892dd Fix last item message type as message attribute 2015-12-16 17:04:45 +01:00
Christophe Romain
c8986ffa5e Use correct notification_type for last items (#827) 2015-12-16 16:19:35 +01:00
Alexey Shchepin
c6798fc515 Add accept_interval option in ejabberd_listener 2015-12-16 17:26:44 +03:00
Christophe Romain
08b0530164 Don't read pubsub options when plugin does not use them
This also revert commit 6052f7b
2015-12-16 12:56:06 +01:00
Holger Weiss
5fd1aa0d04 Advertise MAM in disco info for account/room JID
As per XEP-0313 version 0.2 and newer, advertise the MAM feature in the
service discovery information for the bare account (or MUC room) JID.

Some clients check the server's discovery information instead, so we'll
continue to advertise the feature there as well.
2015-12-16 00:08:23 +01:00
Holger Weiss
11ad96fced Use MUC domain for 'by' attribute of <stanza-id/>
Let mod_mam specify only the domain part of the room JID in the 'by'
attribute of <stanza-id/> tags.
2015-12-15 21:37:41 +01:00
Holger Weiss
0e330da2a6 mod_mam: Keep 'to' attribute for MUC MAM messages 2015-12-15 21:05:04 +01:00
Christophe Romain
6efdf78ce3 PubSub plugin for online users only 2015-12-15 16:23:04 +01:00
Christophe Romain
3b69d26368 Fix pubsub headers 2015-12-15 16:12:20 +01:00
Paweł Chmielowski
6052f7bfa8 Fix pubsub test error 2015-12-14 10:21:23 +01:00
Christophe Romain
e3005f68e7 Remove undefined macro injected in 3bdd5d0d 2015-12-11 15:33:22 +01:00
Christophe Romain
8ee5f9fb6f Remove http supervisors 2015-12-11 14:13:24 +01:00
Christophe Romain
3bdd5d0d25 Remove receiver's supervisor 2015-12-11 14:11:44 +01:00
Christophe Romain
1a32f20c07 Disable use of multi-subscribe and subscription-option on standard plugins 2015-12-11 12:46:49 +01:00
Christophe Romain
6357ea1d5d Limit number of subscriptions per node and allow custom default node configuration 2015-12-11 12:46:44 +01:00
Christophe Romain
86a8606fd1 Virtual nodetree is not attached to any backend 2015-12-11 12:46:40 +01:00
Christophe Romain
c4943cffe8 Follow pubsub configuration when using virtual nodetree 2015-12-11 12:46:35 +01:00
Christophe Romain
10c920ef13 Don't force max_items_node to MAXITEMS if not defined 2015-12-11 12:30:16 +01:00
Holger Weiss
469e93f37b mod_mam: Don't store resent messages
Make sure messages that were resent by the stream management code aren't
stored in MAM.
2015-12-09 22:44:45 +01:00
Holger Weiss
e09afe367f Document XEP-0334 support 2015-12-09 22:28:44 +01:00
Evgeniy Khramtsov
4c47ee63f2 Do not forget to include xmlns in mam prefs response (#859) 2015-12-09 12:53:02 +03:00
Paweł Chmielowski
be4d687a86 Fix problem with handling of old db entries in mod_mam 2015-12-09 09:47:03 +01:00
Holger Weiss
07baf2d973 Don't let "reopen_log" rotate files (EJAB-1243)
Make sure the "reopen_log" command really just reopens log files without
also rotating them.  For rotating log files, the new "rotate_log"
command can be used.
2015-12-08 22:48:04 +01:00
Holger Weiss
325c17f277 mod_mam: Update record field type 2015-12-08 22:21:39 +01:00
Holger Weiss
14609dbfa2 mod_mam: Remove unused code 2015-12-08 22:15:55 +01:00
Holger Weiss
59ba09826b mod_offline: Fix outdated comments 2015-12-08 21:58:54 +01:00
Holger Weiss
90fd7f3780 mod_offline: Honor <store/> hint
Ignore the "store_empty_body" option for messages that have a <store/>
hint as described in XEP-0334, version 0.2.
2015-12-08 21:46:36 +01:00
Alexey Shchepin
c2f6bf0343 Improve muc#roomconfig_presencebroadcast support 2015-12-08 21:53:42 +03:00
Paweł Chmielowski
67f93b0d60 Don't keep 10 sec timeout that i used for testing... 2015-12-08 11:28:03 +01:00
Paweł Chmielowski
7a69dab596 Add ability to disable timeout for ejabberdctl command 2015-12-08 11:25:26 +01:00
Holger Weiss
5ce0b062ff mod_mam: Honor Message Processing Hints (XEP-0334) 2015-12-08 00:10:00 +01:00
Badlop
3e57850da7 If mod_register access_from is 'none', then don't advertise IBR (#857) 2015-12-07 18:30:52 +01:00
Paweł Chmielowski
95a9100623 Fix more places where random:seed is used 2015-12-07 16:48:29 +01:00
Paweł Chmielowski
d0df7be722 Fix randoms.erl on R17 that don't have random:seed(integer()) 2015-12-07 16:37:40 +01:00
Paweł Chmielowski
5ac10d6555 Remove now() in pubsub code 2015-12-07 16:16:11 +01:00
Paweł Chmielowski
29db302808 More now() replacements 2015-12-07 16:09:48 +01:00
Paweł Chmielowski
b9f751e099 Fix bug in last commit 2015-12-07 10:26:51 +01:00
Paweł Chmielowski
0a846d03bf More now() removal 2015-12-06 15:58:46 +01:00
Paweł Chmielowski
5c329a7699 Remove now() - part 1 2015-12-04 15:08:43 +01:00
Badlop
daad71bc7e trusted_proxies option not parsed correctly (#860) 2015-12-04 13:14:39 +01:00
Holger Weiss
ba916c3162 XEP-0198: Fix stanza counting corner case issue
Don't forget to count outgoing stanzas that are processed while the
ejabberd_c2s process is already waiting for stream resumption.
2015-12-02 19:25:10 +01:00
Badlop
f9e12d900c No need for a top menu link as there's a top page link 2015-12-02 17:10:23 +01:00
Badlop
e412438aba When user joins logged room, he must be warned (EJAB-726) 2015-12-02 12:07:29 +01:00
Badlop
086fbc6a50 Only filter rooms in Service Disco when more than 100 (EJAB-343) 2015-12-02 02:32:25 +01:00
Badlop
ff22782752 List in Service Disco non-empty rooms and provide Node for empty (EJAB-343) 2015-12-02 01:51:39 +01:00
Mickael Remond
e5ae35c66b Update cache_tab app name 2015-12-01 19:17:51 +01:00
Evgeny Khramtsov
3397a9be5e Merge pull request #849 from weiss/discard-chat-states
mod_offline: Support discarding chat state notifications
2015-12-01 14:57:49 +03:00
Evgeniy Khramtsov
f1ecbf80fb Fix archive preference retreiving (#848) 2015-12-01 14:06:23 +03:00
Christophe Romain
9eeee67da7 Webadmin console visual refresh (thanks to Marek Foss) (EJAB-1142) 2015-11-30 11:35:53 +01:00
Evgeniy Khramtsov
9cc5a5d467 Simplify external components configuration 2015-11-28 17:38:34 +03:00
Holger Weiss
44f5e411c5 mod_offline: Support discarding chat states
XEP-0160 says that standalone chat state notifications should not be
stored offline.  By default, mod_offline discards them now.

Closes #842.
2015-11-26 08:35:49 +01:00
Holger Weiss
fee2530b1c Always use occupant JID as 'from' for room subject
When sending the room subject to a new participant, always use the
occupant JID that corresponds to the subject author as the 'from'
address.  It was already done this way when the subject was sent as part
of the room history.
2015-11-25 00:05:24 +01:00
Evgeniy Khramtsov
87fb5132be Make JID related functions from jlib.erl deprecated 2015-11-24 20:31:26 +03:00
Evgeniy Khramtsov
95265dd3ad Move JID related functions to jid.erl (#847) 2015-11-24 18:44:13 +03:00
Christophe Romain
16881597c9 Remove useless export_all flag 2015-11-23 12:03:08 +01:00
Christophe Romain
f3ff660eae Export content_type/3 needed by mod_http_upload 2015-11-23 11:53:36 +01:00
Christophe Romain
4480749a52 Merge branch 'cluster_fix' 2015-11-20 14:52:36 +01:00
Christophe Romain
b4ae1b63bc Allow longer command execution time 2015-11-20 10:39:32 +01:00
Christophe Romain
67a70b9107 Integrate join/leave cluster as ejabberd command 2015-11-20 10:39:27 +01:00
Evgeny Khramtsov
0e29307ad5 Merge pull request #840 from cenobites/mod_ping
Adding ping_ack_timeout in mod_opt_type configuration
2015-11-18 16:35:49 +03:00
Badlop
2659e2c4a0 Explain that reload_config only affects to ACL and Access 2015-11-18 13:25:19 +01:00
Nycholas de Oliveira e Oliveira
49a8de7c56 Adding ping_ack_timeout in mod_opt_type configuration
Avoid the error output

```
2015-11-18 12:02:40.297 [error] <0.37.0>@gen_mod:validate_opts:250 unknown option 'ping_ack_timeout' for module 'mod_ping' will be likely ignored, available options are: 'iqdisc', 'ping_interval', 'send_pings', 'timeout_action'
2015-11-18 12:02:40.334 [error] <0.37.0>@gen_mod:validate_opts:250 unknown option 'ping_ack_timeout' for module 'mod_ping' will be likely ignored, available options are: 'iqdisc', 'ping_interval', 'send_pings', 'timeout_action'
```

In setting mod_opt_type default, ping_ack_timeout parameter was added.
2015-11-18 10:25:01 -02:00
Holger Weiss
43626f5c97 mod_http_upload: Return error atoms, not strings
Don't convert error atoms to strings before actually logging them.  This
avoids a bogus error message when a user who has no uploaded files is
removed.
2015-11-17 00:12:20 +01:00
Badlop
53d72bd85a Disable vJUD by default also in mod_vcard_ldap source code 2015-11-13 19:33:23 +01:00
Badlop
f6d8f47451 Disable vJUD search in the default config and when not specified 2015-11-13 19:30:11 +01:00
Alexey Shchepin
aa5caa30e2 Support for muc#roomconfig_presencebroadcast option 2015-11-12 19:53:10 +03:00
Paweł Chmielowski
3ee5195b7a Fix problem with pipelined http requests arriving in single packet
This fixes github issue ejabberd#835
2015-11-12 17:23:59 +01:00
Holger Weiss
55a92c2983 mod_http_upload: Log message if URL looks wrong
Log an [info] message if a PUT request looks like the specified
"put_url" contains a path component that doesn't match the
"request_handlers" path, as in the following configuration:

  listen:
    -
      module: ejabberd_http
      port: 5444
      request_handlers:
        "/": mod_http_upload

  modules:
    mod_http_upload:
      put_url: "http://example.com/path/"
2015-11-11 22:51:40 +01:00
Holger Weiss
415a75c25a mod_http_upload_quota: Don't track all users
Don't track the disk usage of accounts that have an unlimited quota.
2015-11-10 22:08:16 +01:00
Holger Weiss
20709f9880 mod_http_upload: Make case indentation consistent
Use four spaces (or the corresponding amount of tab characters) for case
indentation everywhere in mod_http_upload and mod_http_upload_quota.
2015-11-09 19:23:52 +01:00
Holger Weiss
113c315857 mod_http_upload: Apply cosmetic changes 2015-11-09 19:12:08 +01:00
Holger Weiss
842db2ca15 mod_http_upload: Don't flatten command strings 2015-11-09 18:50:45 +01:00
Holger Weiss
9c80cb2b26 mod_http_upload: Don't let identify/1 return error
Let identify/1 return 'pass' when it failed to identify the file type,
as this doesn't (necessarily) indicate an error condition.  This also
makes it consistent with the return value of convert/2.
2015-11-09 18:41:31 +01:00
Paweł Chmielowski
58c1bc4276 Use xml_stream:reset() when possible 2015-11-09 16:05:09 +01:00
Christophe Romain
341be9b682 Remove supervisor option, disable it for c2s and muc 2015-11-04 16:24:35 +01:00
Holger Weiss
fec7e47169 Add copyright and license to HTTP upload modules 2015-11-04 01:22:39 +01:00
Holger Weiss
46bf190fd0 mod_client_state: Add my email address to header 2015-11-04 01:19:19 +01:00
Paweł Chmielowski
e54e543a66 Faster string_to_jid/1 implementation
This version is about 10-15% faster than old one
2015-11-03 14:41:01 +01:00
Holger Weiss
ff46738218 mod_http_upload_quota: Omit info message
The mod_http_upload_quota module attempts to delete a directory whenever
it removes a file from that directory.  However, if thumbnail creation
is enabled, directories will often contain two files.  Therefore, don't
log an info (but only a debug) message if directory removal fails.
2015-11-03 00:00:44 +01:00
Holger Weiss
4566325241 mod_http_upload: Don't complain during shutdown
Ignore the case where, for some reason, no process is found to be
stopped.

Closes #810.
2015-11-02 23:46:58 +01:00
Holger Weiss
1b368a86b7 mod_http_upload: Use binary strings in most places
Switch to binary strings to fix a type issue, and for consistency.

Closes #808.
2015-11-02 23:46:31 +01:00
Holger Weiss
9d2f1d5f0d mod_http_upload: Check availability of ImageMagick
Log an error message during startup if the thumbnail option is enabled
but ImageMagick is not installed.
2015-11-02 01:12:10 +01:00
Holger Weiss
eeb705fc2f mod_http_upload: Suppress error on non-image files
Don't log an error (but only a debug) message if ImageMagick fails to
indentify the file type for thumbnail creation.  The image might be
encrypted, or it could be a non-image file.

Closes #809.
2015-11-01 23:29:22 +01:00
Evgeniy Khramtsov
8bff06bea9 Merge branch 'master' of github.com:processone/ejabberd 2015-10-30 17:20:50 +03:00
Evgeniy Khramtsov
99f506135b Fix ipv6 configuration processing (#803) 2015-10-30 17:20:32 +03:00
Holger Weiss
915383e150 mod_http_upload: Add missing trailing dot
(Thanks to Matthias Rieber.)
2015-10-29 10:09:55 +01:00
Holger Weiss
43e7814714 mod_mam: Update supported XEP version 2015-10-28 23:53:53 +01:00
Holger Weiss
32fe74c923 mod_http_upload: Document protocol support 2015-10-28 23:52:33 +01:00
Holger Weiss
62ea763089 mod_http_upload: Fix string()/binary() type issue 2015-10-26 22:32:12 +01:00
Holger Weiss
3e7ee6af6d mod_http_upload: Add/fix function specifications 2015-10-26 22:30:58 +01:00
Holger Weiss
b5a09f8b15 mod_http_upload: Strip newline from command output
The list_to_integer/1 function doesn't cope with trailing newline
characters.
2015-10-26 22:10:32 +01:00
Holger Weiss
5dfd95e5a7 Support user quotas for HTTP File Upload
mod_http_upload_quota implements two features:

- When a "hard quota" is exceeded during a file upload, old files are
  removed until the disk usage equals or falls below the "soft quota".

- Once a day, all uploaded files (and directories) older than a
  configurable number of days are deleted.
2015-10-26 13:10:10 +01:00
Evgeniy Khramtsov
6f2e178de1 Rename badly entitled record field 2015-10-26 15:05:28 +03:00
Evgeniy Khramtsov
137a4ee087 Add HTTP File Upload support (XEP-0363) 2015-10-26 14:10:55 +03:00
Evgeniy Khramtsov
b2eb9f197a Don't crash on certificates without extensions (EJAB-1724) 2015-10-23 18:41:35 +03:00
Christophe Romain
2a115a83d2 Let modules_update_specs report failures (#756) 2015-10-23 17:21:19 +02:00
colm
d048d1e619 mod_ping: allowed the ping ack timeout (the length of time taken to deem that a ping has not being responded to) configurable. it still defaults to 32 seconds as per the constant IQ_TIMEOUT (in ejabberd_local.erl) this just makes it optionally configurable (in my case I needed to be more trigger happy than 32 seconds) 2015-10-22 13:48:40 +01:00
Christophe Romain
efdf5636be Add simple metrics module for use with grapherl 2015-10-22 14:02:26 +02:00
colm
92b9fb30e0 Don't send full JID in 'from' of Roster Push (RFC 6121 section 2.1.6). This is a patch by @badlop in the comments of github issue #367 2015-10-21 23:22:53 +01:00
Badlop
c62bd0c911 Use homogeneous s2s connections stats (#761) 2015-10-21 12:51:22 +02:00
Alexey Shchepin
8a2fa62cac Remove access_commands 'unrestricted' option, use [] instead. Fix unauthenticated calls to commands with policy=user. 2015-10-20 17:20:13 +03:00
Alexey Shchepin
7c1e7e5b5f Improve access_commands option backward compatibility 2015-10-19 20:16:04 +03:00
Alexey Shchepin
1f2b7e8f20 Fix access_commands option handling 2015-10-19 18:50:44 +03:00
Holger Weiss
28e28e926a ejabberd_listener: Fix ETS update on port reuse 2015-10-18 01:14:48 +02:00
Holger Weiss
5e467b96a1 ejabberd_c2s: Let stop/1 close XEP-0198 sessions
The stop/1 function now terminates stream management sessions
immediately, just as it does for other sessions.  The new
ejabberd_c2s:close/1 function can be used to close the socket without
terminating the stream management session, like stop/1 did before.
2015-10-17 23:15:31 +02:00
Holger Weiss
53bd0ee818 ejabberd_c2s: Close socket when waiting for resume
Make sure the socket is closed when mod_ping calls ejabberd_c2s:stop/1
for an XEP-0198 session.
2015-10-17 22:07:29 +02:00
Paweł Chmielowski
7d99484859 Make KEEPALIVE_QUERY list as this is what sql_query/3 expects 2015-10-15 10:07:24 +02:00
Alexey Shchepin
4fce1a17d7 Fix cyrsasl_oauth:mech_new call 2015-10-12 20:53:52 +03:00
Evgeniy Khramtsov
87273619a6 Advertise MAM (XEP-0313) v0.4 support in room disco 2015-10-11 19:43:24 +03:00
Paweł Chmielowski
b5ac0db895 Be able to merge old style configs with {listen,...} 2015-10-08 13:07:00 +02:00
Paweł Chmielowski
6d25db6600 Handler module shouldn't be used for differentiating listeners when merging configs 2015-10-07 16:45:07 +02:00
Christophe Romain
880114a909 Enforce get_allowed_items_call 2015-10-07 16:40:37 +02:00
Christophe Romain
653105a44f Fix acl issue from cleanup 2015-10-07 15:12:15 +02:00
Christophe Romain
f938c2a5e2 Revert "Avoid crypto:hmac/3 call for R15B compatibility"
This reverts commit 31e356c126.
2015-10-07 14:18:56 +02:00
Christophe Romain
6a23cad454 Revert "Fix compilation on Erlang R15B"
This reverts commit a5d6044448.
2015-10-07 14:18:47 +02:00
Christophe Romain
6aeb9dcb38 cosmetic cleanup 2015-10-07 14:18:38 +02:00
Evgeniy Khramtsov
6378c673df Avoid MAM dups when routing to multiple resources 2015-10-02 16:09:55 +02:00
Evgeniy Khramtsov
c7750689e8 Fix force_update_presence 2015-10-02 16:06:47 +02:00
Paweł Chmielowski
24fa95fd60 Fix problem with --auth in ejabberd_ctl:process2/2 2015-10-01 21:09:03 +02:00
Paweł Chmielowski
67d3b50598 Switch macros resolving in config files to be global instead of per file 2015-10-01 14:34:48 +02:00
Alexey Shchepin
cf975da8f2 Update several commands for recent ejabberd_commands changes 2015-09-28 15:29:25 +03:00
Alexey Shchepin
88a206400a Add oauth_access option 2015-09-25 19:48:53 +03:00
Badlop
1781a58929 Strip Nick element in message stanzas sent to a room (#686) 2015-09-25 17:00:00 +02:00
Christophe Romain
a1129dc96b Add OAuth support (thanks to Aleksey) 2015-09-25 15:49:07 +02:00
Badlop
ee456cc2af Fix regression introduced when code was binarized (EJAB-641) 2015-09-24 17:21:14 +02:00
Holger Weiss
484fd1f51f Log TLS errors as [debug] messages only
Closes #652 and closes #679.
2015-09-24 12:00:59 +02:00
Evgeniy Khramtsov
89b3471742 Add <stanza-id/> (XEP-0359) to archived messages 2015-09-22 21:15:34 +03:00
Paweł Chmielowski
e289344972 Nameprep host name passed to http-bind before using in (EJAB-1658) 2015-09-22 15:42:57 +02:00
Christophe Romain
23a1aceac0 Improve external module configuration management (EJAB-1746) 2015-09-22 12:49:55 +02:00
Evgeniy Khramtsov
70b1dc479c Add MAM (XEP-0313) v0.4 support 2015-09-22 12:23:36 +03:00
Jerome Sautret
df3862cf84 Add set_loglevel command (EJABS-2524) 2015-09-21 17:07:44 +02:00
Christophe Romain
497cbb3ec2 Merge branch 'master' of github.com:processone/ejabberd 2015-09-18 09:06:51 +02:00
Christophe Romain
ec1969ddca Remove unused functions from old get_items api 2015-09-17 18:00:17 +02:00
Paweł Chmielowski
f6b892b366 Guard against passing undefined C2SPid to xml parser before become_controller gets called
Our new nif xml parser don't handle this gracefully, so we better don't
call it that way.

This is only triggered on old style ssl sockets, where ssl layer must
be activated early, before association between socket and c2s is
established
2015-09-17 11:37:01 +02:00
Holger Weiss
4a4065c9c6 Let BOSH/WebSocket support "max_resume_timeout"
Allow for specifying the "max_resume_timeout" option in an ejabberd_http
listener for ejabberd_http_bind and/or ejabberd_http_ws.
2015-09-17 00:33:08 +02:00
Quan Zhuo
ae51277316 Comment unused type, unused term 2015-09-16 22:52:36 +08:00
Paweł Chmielowski
5593ebbbca Properly handle define_macros in merged config files 2015-09-16 12:20:07 +02:00
Holger Weiss
59321ac56e XEP-0198: Improve handling of non-message stanzas
When an XEP-0198 session times out, always return an error for
unacknowledged IQ stanzas, and always drop presence stanzas.  That is,
the "resend_on_timeout" option no longer applies to those stanzas types,
but only to messages.
2015-09-15 22:42:22 +02:00
Evgeniy Khramtsov
fc7d3a44b8 Simplify MSSQL configuration 2015-09-13 18:34:10 +03:00
Evgeniy Khramtsov
25791cfde8 Fix MSSQL support 2015-09-13 18:31:49 +03:00
Christophe Romain
48c5e73321 ext_mod must be started before ejabberd_config 2015-09-11 15:14:12 +02:00
Badlop
a50f00f9e8 Include ext_mod modules when checking accepted options (ejabberd-contrib#116) 2015-09-10 20:11:02 +02:00
Paweł Chmielowski
f56a9e400d Pass stream management options defined in http listener to http-bind and websocket 2015-09-04 12:42:53 +02:00
Holger Weiss
5095fdb6b0 New XEP-0198 option: "max_resume_timeout"
In the past, the "resume_timeout" option defined both the default resume
timeout and the maximum resume timeout clients are permitted to request.
Admins might want to allow clients to request a timeout value that's
larger than the default, though.  This can now be done by specifying the
"max_resume_timeout" option.
2015-09-03 21:20:15 +02:00
Badlop
8d1ea87e02 Use hide_sensitive_log_data in eldap.erl 2015-09-03 16:28:21 +02:00
Evgeniy Khramtsov
6740b1f0e1 Rename idna.erl to ejabberd_idna.erl (#702) 2015-09-02 16:02:46 +03:00
Badlop
1bc2c8cbb1 Add verification of hide_sensitive_log_data global option 2015-09-02 13:46:03 +02:00
Evgeniy Khramtsov
eebd4bbd8f Remove unused function now_to_iso/1 2015-09-02 14:13:23 +03:00
Evgeniy Khramtsov
14ddbce3a9 Do not forget to set from/to when fetching from MUC history 2015-09-01 12:35:51 +03:00
Paweł Chmielowski
e24bfe7b62 Fix problem with merging same port, different ip listeners in config files
Also switch to function used by ejabberd_listener to extract that
information instead of rolling our own code for that.
2015-09-01 10:57:48 +02:00
Evgeniy Khramtsov
190f76c676 Fetch MUC MAM messages from room history directly if it's not enabled in room configuration 2015-09-01 11:52:08 +03:00
oxpa
3d5d1ecbe4 get_room_options will not crash in case of query for a non-existent room 2015-08-28 03:34:51 -08:00
Evgeniy Khramtsov
832f6d39f9 Always include RSM in final message 2015-08-24 13:29:15 +03:00
Evgeniy Khramtsov
94444c87e8 Remove MAM archives on MUC room destroy 2015-08-24 13:28:58 +03:00
Badlop
247bd9eae5 More eye-candy mod_http_bind help page (thanks to Marek Foss) 2015-08-21 15:23:15 +02:00
Evgeniy Khramtsov
6177ae3ffb Improve S2S certificate checks 2015-08-20 01:04:56 +03:00
Evgeniy Khramtsov
b570070834 Fix case clause during S2S certificate checks 2015-08-19 23:47:45 +03:00
Evgeniy Khramtsov
775cf2d459 Change namespace from muc#admin to muc#user 2015-08-19 15:31:35 +03:00