24
1
mirror of https://github.com/processone/ejabberd.git synced 2024-06-02 21:17:12 +02:00
Commit Graph

3043 Commits

Author SHA1 Message Date
Badlop
88cd8c7b12 Update FSF address (solves #73) 2015-03-26 14:00:46 +01:00
HAMANO Tsukasa
00fe68ed06 fix connected_users_info in mod_admin_extra 2015-03-26 14:00:44 +01:00
Holger Weiss
09dd288ac0 mod_admin_extra: Fix private_get/private_set types 2015-03-26 14:00:42 +01:00
Badlop
2186c03a9c Support TEL XXX in set and get_vcard commands 2015-03-26 14:00:40 +01:00
colm
441d48f080 Changed signature of user_sessions_info to take binaries rather than strings as it doesn't match anything in mnesia if it searches it by string 2015-03-26 14:00:38 +01:00
Badlop
c3afc3c7c0 Join three send_message_* commands in one (PR #68) 2015-03-26 14:00:36 +01:00
HAMANO Tsukasa
9a64bfe605 add send_message_normal command 2015-03-26 14:00:34 +01:00
HAMANO Tsukasa
ca25d44c8b fix mod_admin_extra stats command 2015-03-26 14:00:32 +01:00
Holger Weiss
4e9b4cbc11 mod_admin_extra: Fix stats(_host) argument types 2015-03-26 14:00:30 +01:00
Badlop
46b33b51b4 Update kick_session to work with ejabberd master 2015-03-26 14:00:28 +01:00
Sonny Scroggin
3eebf100f9 Binary conversions 2015-03-26 14:00:24 +01:00
Sonny Scroggin
5c0a1dde1c More binary conversions 2015-03-26 14:00:21 +01:00
Badlop
949705b04a Update add_roster_item and get_roster to ejabberd 13 2015-03-26 14:00:18 +01:00
Badlop
f682dfe3a6 Fix get_vcard and set_vcard when using option module_resource (issue #21) 2015-03-26 14:00:16 +01:00
Sonny Scroggin
14a3662ca4 Fix add_rosteritem, delete_rosteritem, and get_roster 2015-03-26 14:00:14 +01:00
Badlop
ffea2bf350 Update get_vcard and set_vcard to ejabberd 13 (fixes issue #21) 2015-03-26 14:00:12 +01:00
Rahul Gautam
f314da7b1f mod_admin_extra: for support in ejabberd-v13.x changed args from string to binary : all changes tested with ejabberdv13.12 2015-03-26 14:00:10 +01:00
Badlop
d72c739630 Fix command change_password (fixes #16) 2015-03-26 14:00:08 +01:00
Badlop
57035b383c Handle error when requesting information of a non-existing shared roster (fixes #14) 2015-03-26 14:00:06 +01:00
Badlop
2746e358b3 Fixes srg_* commands (fixes #147) 2015-03-26 14:00:04 +01:00
Badlop
d66f40d94f Fix srg_create when calling ejabberd_regexp (fixes issue #12) 2015-03-26 14:00:01 +01:00
Badlop
e6a9c5ccee Add get_last to ejabberdctl for last user activity (thanks to lehrblogger)
The logic for determining the response is borrowed from here:
6d811f5178/src/web/ejabberd_web_admin.erl (L1583-L1601)
2015-03-26 13:59:59 +01:00
Badlop
f0cf90c11e Initial import from ejabberd-modules SVN 2015-03-26 13:59:57 +01:00
Paweł Chmielowski
de26af3fdb Make sure that we send each time <close> before closing websocket connection 2015-03-25 17:10:08 +01:00
Badlop
d9ad26b4ec If command crashes, return restuple with error and explanation (ejabberd-contrib #21) 2015-03-25 13:57:08 +01:00
Holger Weiss
f40e6a0421 Don't bother with filtering out PEP error messages
Now that ejabberd_sm won't deliver error messages that were sent to bare
JIDs anymore, PEP error messages should no longer arrive.
2015-03-25 02:02:08 +01:00
Holger Weiss
1b1878409f Route headlines sent to bare JIDs to all resources
As per RFC 6121, deliver headline messages that were sent to a bare JID
to all resources with a non-negative priority, not just to those with
the highest priority.  If no such resource is available, discard them
silently.
2015-03-25 01:17:35 +01:00
Holger Weiss
8f9a2d6df8 Don't route error/groupchat messages to bare JIDs
As per RFC 6121, drop error messages that were sent to bare JIDs, and
return an error if a groupchat message was sent to a bare JID.
2015-03-25 00:52:49 +01:00
Holger Weiss
bc008d4041 Update routing for unavailable resources
As per RFC 6121, don't reroute non-chat messages sent to unavailable
resources.
2015-03-25 00:13:05 +01:00
Holger Weiss
33c9f21171 Return error when incoming message is blocked
As per XEP-0016 and XEP-0191, return a service-unavailable error when an
incoming message was blocked by a privacy list.  This lets the user
appear offline to the contact.
2015-03-24 23:10:47 +01:00
Holger Weiss
27a4d783a5 Fix "IP address not available" error message 2015-03-24 17:32:57 +01:00
Alexey Shchepin
736710cc9c Add support for ciphers and protocol_options in ejabberd_http 2015-03-24 18:14:47 +03:00
Holger Weiss
31e356c126 Avoid crypto:hmac/3 call for R15B compatibility 2015-03-21 22:56:23 +01:00
Holger Weiss
a5d6044448 Fix compilation on Erlang R15B 2015-03-21 22:06:38 +01:00
Christophe Romain
8b23727cc6 Start ext_mod before module as it's setup contrib path 2015-03-20 15:06:02 +01:00
Alexey Shchepin
5135e30633 Removed deprecated calls to crypto:sha_mac in scram.erl 2015-03-20 14:09:38 +03:00
Alexey Shchepin
f6db84282b Add ejabberd_auth_odbc:convert_to_scram/1 2015-03-20 13:46:17 +03:00
Alexey Shchepin
e575c87ea2 Add SCRAM support to ejabberd_auth_odbc 2015-03-20 13:45:24 +03:00
Jerome Sautret
6b67a66a1b Added MySQL support for delete_old_messages (offline) command. 2015-03-20 10:40:19 +01:00
Evgeniy Khramtsov
4d2924a3ef Fix mod_offline termination 2015-03-20 10:40:13 +01:00
Alexey Shchepin
b7726ee392 Explicitly set standard_conforming_strings to off with PostreSQL 2015-03-20 10:39:29 +01:00
Evgeniy Khramtsov
51508a9fc3 Report TLS errors 2015-03-20 10:39:14 +01:00
Sergey Abramyan
5ae01e8bb4 Add SQLite support 2015-03-20 01:10:47 +03:00
Christophe Romain
aa1250a3dd Add missing list_to_binary call 2015-03-13 17:59:19 +01:00
Christophe Romain
5b9635cc07 Add contributed modules code path on start 2015-03-13 12:20:25 +01:00
Christophe Romain
588f98fc3a Rename module function to keep them grouped on help 2015-03-13 11:54:32 +01:00
Evgeniy Khramtsov
f72799b3cc Improve module structure 2015-03-13 13:05:16 +03:00
Evgeniy Khramtsov
bbe5c6b74e Do not fail on badly formed SQL results 2015-03-13 12:59:16 +03:00
Evgeniy Khramtsov
c7dc56c314 Fix unblock all when Riak is used as a backend 2015-03-13 12:47:08 +03:00
Paweł Chmielowski
bf5c7198fc Update sockmod() type after adding websocket support 2015-03-12 13:15:31 +01:00
Christophe Romain
7209954a5f Remove unused clause 2015-03-12 13:15:07 +01:00
Paweł Chmielowski
e855791f16 Update types to fix dialyzer warnings 2015-03-12 10:34:34 +01:00
Holger Weiss
b045bd806a mod_offline: Remove a few superfluous newlines 2015-03-11 20:38:22 +01:00
Holger Weiss
0bfde19ebd Don't crash in mod_offline:export/1
(Thanks to Christophe Romain.)
2015-03-11 20:35:08 +01:00
Christophe Romain
2d53f7f83e start ext_mod in later stage at init 2015-03-11 17:39:07 +01:00
Christophe Romain
a1a46f7df5 Remove unused code 2015-03-11 17:15:42 +01:00
Christophe Romain
c9b82ff1e5 Compile contributed module with lager if enabled in ejabberd 2015-03-11 14:35:01 +01:00
Christophe Romain
f77622067b Add packaging support for contributed modules
This is a preliminary version that is tested to work with the packaging
branch of ejabberd-modules repository

This version lacks automatic configuration include at runtime
2015-03-11 14:14:28 +01:00
Evgeniy Khramtsov
a0fafc383a Add Redis backend for SM 2015-03-11 14:46:57 +03:00
Holger Weiss
d991b92a49 Always specify room JID for MUC <delay/> elements
As per version 1.25 of XEP-0045, use the room JID as the 'from' address
for <delay/> elements also when the room is non-anonymous, and specify
the original JID of the sender as an XEP-0033-style tag instead.

Closes #465.
2015-03-10 00:02:32 +01:00
badlop
0a88255ef6 Merge pull request #467 from hamano/mod_offline_restart
change mod_offline restart type
2015-03-09 19:26:19 +01:00
Evgeniy Khramtsov
c0540e1377 Fix R15B compilation 2015-03-09 17:50:14 +03:00
Evgeniy Khramtsov
72d9b099c6 Make it possible to use SQL as an SM backend 2015-03-09 16:41:13 +03:00
Evgeniy Khramtsov
86e03f3828 Separate db backend from the SM 2015-03-09 14:57:33 +03:00
HAMANO Tsukasa
f55de94314 change mod_offline restart type 2015-03-09 20:28:55 +09:00
Mickaël Rémond
8fef3d1f3f Reorganize / clean ejabberd_hooks header 2015-03-08 19:03:02 +01:00
Mickaël Rémond
a339df2d6a More ejabberd_hooks refactor 2015-03-08 18:44:43 +01:00
Mickaël Rémond
fd91ee5169 ejabberd_hooks refactor and better types 2015-03-08 18:23:22 +01:00
Mickaël Rémond
750fefcd6d Add Elixir test on ejabberd hooks
This is to prepare ejabberd_hooks module refactoring.

I also expanded API to help with testing.
2015-03-08 17:06:43 +01:00
Badlop
f18ce9564c Fix: default_host is forgotten between consecutive HTTP requests (#416) 2015-03-06 12:40:48 +01:00
Badlop
e0228e9b7a Access list editing broken in web_admin (#252) 2015-03-05 11:34:25 +01:00
Badlop
e575f401cd Accept configuration file with .yaml extension (#290) 2015-03-04 17:18:57 +01:00
Mickaël Rémond
8a99287374 Merge branch 'master' of github.com:processone/ejabberd 2015-03-03 22:20:08 +01:00
Mickaël Rémond
f0f8301b5e Fix typo on state reuse
It should help with the crash on #453
2015-03-03 22:19:51 +01:00
Christophe Romain
a265ea53f9 Merge pull request #384 from weiss/fix-last-item-type
Use correct message type when sending last published PEP/PubSub items
2015-02-27 11:40:12 +01:00
badlop
e10d5af303 Merge pull request #443 from mojolingo/feature/muc_admin/affiliation-change-propogate-xmpp
Permit modifying affiliations via an event
2015-02-26 11:48:17 +01:00
Ben Langfeld
a6c5a3593f Permit modifying affiliations via an event
Allows us to implement mod_muc_admin:set_room_addiliation properly
2015-02-25 12:31:27 -03:00
Badlop
5bd8724801 Update FSF address 2015-02-25 15:19:33 +01:00
Paweł Chmielowski
ab3d38c9fc Fix processing POST messages after changes from adding websocket handling 2015-02-25 14:36:48 +01:00
Paweł Chmielowski
8e33f31f50 Try not to use c2s:send_text, it causes problem with websocket 2015-02-25 13:57:03 +01:00
Paweł Chmielowski
b42b171613 Add support for websocket connections 2015-02-25 13:57:02 +01:00
Feotov Daniil
b81250d667 Hook on group message 2015-02-24 11:06:41 +03:00
Christophe Romain
0c0947a241 Add compatibility macros for deprecated types (thanks to Alexey) 2015-02-23 09:58:00 +01:00
Holger Weiss
e87d332394 mod_carboncopy: Apply small code simplification 2015-02-12 00:14:57 +01:00
Holger Weiss
bc7f93ad1e Check availability before carbon copying
Before generating a carbon copy for a resource, make sure it's actually
available.  This handles the case where, for some reason, the
'unset_presence_hook' wasn't called during logout of a resource.  Carbon
copies sent to that resource would otherwise be re-routed to another
resource (which might've received a copy of that message already).
2015-02-11 16:12:08 +01:00
Holger Weiss
9f822dd2b8 Don't crash if 'request_path' has unexpected type 2015-02-11 15:38:55 +01:00
Holger Weiss
834c680f97 Remove unused function clause in mod_carboncopy 2015-02-11 00:52:47 +01:00
Mickaël Rémond
01e1f677c7 Add Elixir support to ejabberd 2015-02-10 17:56:44 +01:00
Holger Weiss
d00f0fb1f4 Don't convert configuration values to strings 2015-02-09 01:08:01 +01:00
Holger Weiss
7fd7e53e4a Fix typo in debug message 2015-02-08 23:49:17 +01:00
Feotov Daniil
eb52c118d0 Migration of scram passwords with piefxis (riak and internal only) 2015-02-05 18:44:08 +03:00
Badlop
87d2eb5f9a Support for "> ." in YAML configuration files 2015-01-28 17:16:10 +01:00
Holger Weiss
0a047d790f Fix a few function specifications 2015-01-23 00:42:18 +01:00
Christophe Romain
c4d17d939d Fix integer parameter which can be set to 0 2015-01-22 12:40:27 +01:00
Evgeny Khramtsov
561025ba32 Merge pull request #413 from weiss/fix-timestamp-overflow
Fix timestamp formatting
2015-01-22 11:00:41 +03:00
Badlop
15e77e9c0f New command to reload config (EJAB-1140) 2015-01-21 15:18:46 +01:00
Christophe Romain
120e581865 Fix missing copyright dates to 2015 (EJAB-1733) 2015-01-21 14:52:37 +01:00
Holger Weiss
528aabf49c Increment number of seconds on timestamp overflow
Increment the number of seconds and set the fractional part to zero if
the latter is too large.
2015-01-21 11:20:26 +01:00
Holger Weiss
18d9f18642 Don't match integer() against float() value 2015-01-21 11:06:06 +01:00
Nathan Bruning
a983df4848 Fix overflow in XEP-0203 delay: if microseconds exceeded 999499, *** was put in the formatted timestamp 2015-01-21 01:10:41 +01:00
Evgeny Khramtsov
104009b3a9 Merge pull request #409 from hamano/scram-stringprep-checking
Scram stringprep checking(correct fix)
2015-01-19 15:23:47 +03:00
HAMANO Tsukasa
e01eb734b4 correct fix for #396 2015-01-19 16:00:18 +09:00
HAMANO Tsukasa
cb57cfa1a6 correct fix for #396 2015-01-19 15:25:58 +09:00
Badlop
2c4647a980 Fix binaries when ejabberd_ctl passes auth details 2015-01-15 20:00:06 +01:00
Badlop
7690320f0f Fix access_commands option in ejabberd_xmlrpc, now it works 2015-01-15 17:39:12 +01:00
Evgeniy Khramtsov
4575649e10 Get rid of asn1rt calls 2015-01-15 14:51:20 +03:00
Taufan Aditya
f650fc83ae Fix spec comment and remove useless case block 2015-01-09 22:19:46 +07:00
Taufan Aditya
864e113256 Fix unused vars warning 2015-01-09 01:00:26 +07:00
Badlop
5a35405cd5 Update copyright dates to 2015 (EJAB-1733) 2015-01-08 17:34:43 +01:00
Evgeny Khramtsov
4ef2d08456 Merge pull request #396 from hamano/scram-stringprep-checking
checking stringprep in scram authentication
2015-01-08 11:02:23 +03:00
HAMANO Tsukasa
ede5a353e8 checking stringprep in scram authentication 2015-01-08 14:12:05 +09:00
Badlop
b88fa6f617 Fix missing presences when adding shared groups (Github PR#99, thanks to Bokner) 2015-01-07 13:11:53 +01:00
Badlop
3882c4d514 Fix binaries in command ejabberdctl stop_kindly 2015-01-07 11:44:04 +01:00
badlop
d24dc4e9c8 Merge pull request #383 from weiss/fix-shutdown
Give temporary processes a little time to stop cleanly
2015-01-07 11:42:22 +01:00
Holger Weiss
9dc9d75502 Fix ejabberd_captcha's listener parsing
If the "captcha_host" is specified without "http://" or "https://"
prefix, ejabberd_captcha tries to figure out the protocol automatically.
Fix the code that parses the listener configuration in order to do that.
2014-12-24 00:35:22 +01:00
Holger Weiss
06db65e108 Give temporary processes time to stop cleanly
Allow temporary processes to perform some final actions when shutting
down.  For example, moc_muc_room:terminate/3 fails to send 'unavailable'
presence to the room participants when killed immediately.
2014-12-21 21:03:22 +01:00
Holger Weiss
d734f6beca Use correct message type for last published items
When sending last published PubSub/PEP items, set the message type
that was used for broadcasting those items originally.
2014-12-21 20:11:05 +01:00
Holger Weiss
e5428c5500 Improve add_message_type/2 function
Let add_message_type/2 accept the type as an atom, and let the function
handle the 'normal' message type.  This doesn't change the behavior, but
avoids some code duplication.
2014-12-21 18:44:53 +01:00
Jerome Sautret
cc958f7787 Fix upgrade of PubSub mnesia tables from older ejabberd version. 2014-12-18 11:51:28 +01:00
Evgeny Khramtsov
df88d9f2e5 Merge pull request #377 from weiss/new-timestamps
Add timestamps to stanzas resent from stream management queue
2014-12-13 09:42:30 +03:00
Holger Weiss
466278fde1 Let jlib use "B" instead of "w" to format integers
As a small optimization, use io:format's "B" control sequence to format
integers.  We don't need to let Erlang figure out the data type if we
already know it.
2014-12-12 23:50:03 +01:00
Holger Weiss
0a19dac4fd Add fractions of seconds to <delay/> timestamps
Include fractions of a second with XEP-0203 <delay/> timestamps, as
specified in XEP-0082.

	Old timestamp: 2014-05-19T11:55:00Z
	New timestamp: 2014-05-19T11:55:00.123Z
2014-12-11 23:11:35 +01:00
Holger Weiss
455039ae69 mod_muc_log: Fix configuration parsing
Fix mod_muc_log's parsing of the "file_permissions" option.

Resolves #373.
2014-12-08 15:51:06 +01:00
Holger Weiss
a78a0a65fe Let CSI code add timestamp at later point in time
As a small optimization, make sure we won't add timestamps to presence
stanzas which end up being thrown away by the CSI code.
2014-12-07 16:27:51 +01:00
Holger Weiss
ba8f38e2eb XEP-0198: Add timestamp to resent stanzas
When an unacknowledged stanza is resent from the Stream Management
queue, add a timestamp so that the receiving client can display the time
at which the stanza was originally sent.
2014-12-07 16:12:06 +01:00
Holger Weiss
9899935e42 Improve interface for adding timestamps
Provide a simpler interface for adding <delay/> and <x/> timestamps to
stanzas.  This also makes sure that only one <delay/> tag and one <x/>
tag is added to a given stanza.
2014-12-07 15:55:18 +01:00
Holger Weiss
2cb16bc509 Remove unused field from c2s #state 2014-11-26 00:15:19 +01:00
Evgeny Khramtsov
00dfcc1e10 Merge pull request #350 from flygoast/master
Used current working home as base directory to config relative path.
2014-11-25 14:24:37 +03:00
Evgeny Khramtsov
4163626844 Merge pull request #365 from weiss/csi-config
Fix mod_client_state's configuration parsing
2014-11-25 14:21:18 +03:00
Evgeny Khramtsov
f60c721f84 Merge pull request #364 from weiss/copy-normal-messages
Also carbon-copy messages of type "normal"
2014-11-25 14:21:06 +03:00
Evgeny Khramtsov
e97e56d776 Merge pull request #363 from weiss/drop-pep-errors
Don't route PEP error messages to clients
2014-11-25 14:20:11 +03:00
Evgeny Khramtsov
6b916e7a04 Merge pull request #354 from weiss/pep-privacy
Respect privacy lists for incoming PEP messages
2014-11-25 14:20:01 +03:00
Evgeny Khramtsov
6279c3fd8d Merge pull request #352 from weiss/no-last-pep-duplicates
Don't duplicate last published PEP items
2014-11-25 14:19:53 +03:00
Holger Weiss
6900a41e7d Fix mod_client_state's configuration parsing
Don't log an "invalid value" message when "queue_presence" or
"drop_chat_states" is set to "false".
2014-11-25 12:05:09 +01:00
Holger Weiss
a456482e2f Also carbon-copy messages of type "normal"
It makes no sense to restrict carbon-copying to "chat" messages.
XEP-0280 is expected to be updated accordingly.
2014-11-24 22:37:14 +01:00
Holger Weiss
30687c40ef Don't route PEP error messages to clients 2014-11-24 21:19:32 +01:00
Holger Weiss
16311b73c8 Add new hook: c2s_filter_packet_in
The c2s_filter_packet_in hook can be used to modify or drop incoming
packets before they are transmitted to the client.
2014-11-24 20:55:18 +01:00
Evgeny Khramtsov
946b64e166 Merge pull request #361 from weiss/parse-ldap-dn-filter
Fix parsing of "ldap_dn_filter" option
2014-11-22 10:36:21 +03:00
Holger Weiss
46d035c142 Fix parsing of "ldap_dn_filter" option 2014-11-22 01:33:23 +01:00
Leif Bredgaard Honore
5afa1f6ade Fix for ejabbed bug #359 - now strings are formatted correctly. 2014-11-20 14:21:51 +04:00
Holger Weiss
c566b1d01e Respect privacy lists for incoming PEP messages 2014-11-18 01:25:12 +01:00
Holger Weiss
84c227e6ae Don't duplicate last published PEP items
When a contact becomes available, usually both the 'caps_update' hook
and the 'presence_probe_hook' are called.  For remote contacts, both
hooks triggered PEP notifications, so each item was sent twice.  Fix
this by ignoring the 'presence_probe_hook' for remote contacts.
2014-11-18 01:13:22 +01:00
Holger Weiss
3b96525550 Support floating point message/presence intervals
Let mod_muc support floating point values for "min_message_interval" and
"min_presence_interval", as documented in the guide.
2014-11-15 22:35:56 +01:00
Gu Feng
62ccf1cf0e Used current working home as base directory to config relative path.
When a config relative path specified, get_absolute_path would not
return an absolute path. The patch fixed it using current working
home as base directory.

Signed-off-by: Gu Feng <flygoast@126.com>
2014-11-16 00:09:52 +08:00
Evgeny Khramtsov
d5ecd32cec Merge pull request #345 from weiss/last-pep-items
Fix sending of last published PEP items to newly-available resources
2014-11-14 21:27:24 +03:00
Holger Weiss
2446b66016 Use correct type for initial c2s #state.user value 2014-11-14 15:32:48 +01:00
Holger Weiss
f69d1ca282 Send last PEP items to remote subscribers
When a remote subscriber becomes available, send him the last published
PEP items, as we do for local subscribers.

However, the current implementation depends on a running ejabberd_c2s
process of the publisher to send items to remote subscribers.  So, for
those, the behavior is always like it is for local subscribers when
"ignore_pep_from_offline" is set to "true".
2014-11-14 01:33:11 +01:00
Holger Weiss
830fdccd21 Don't broadcast last published PEP items
When a client becomes available, don't send the last published PEP items
of all his peers to all his other peers, but only to that client.
2014-11-14 01:03:26 +01:00
Holger Weiss
5cc30c3977 Move routing of last PEP items into new function
This doesn't change the behavior, but avoids some code duplication.
2014-11-14 00:16:13 +01:00
Holger Weiss
8efae1f05b ODBC: Sync last item notifications with mod_pubsub
A while back, mod_pubsub was modified to address EJAB-1456.  However,
the change was only partially applied to mod_pubsub_odbc.  This commit
adds the remaining part.
2014-11-14 00:02:59 +01:00
Matthias Rieber
8184326eb9 Fix kick_user command 2014-11-10 20:53:00 +01:00
Evgeny Khramtsov
f47a59de2f Merge pull request #340 from weiss/disable-mechanisms
New option: disable_sasl_mechanisms
2014-11-10 11:47:10 +03:00
Holger Weiss
ee0ecd2419 New option: disable_sasl_mechanisms
The new "disable_sasl_mechanisms" option allows for restricting the list
of SASL mechanisms offered to the client.

Closes #339.
2014-11-10 01:10:04 +01:00
Holger Weiss
41dc1efde4 Avoid duplicates of carbon copies
When multiple resources have the same (highest) priority, the session
manager routes messages sent to their bare JID to each of these
resources.  When another resource has a lower priority but receives
carbon copies, make sure it won't receive multiple copies of such
messages.
2014-11-05 19:04:02 +01:00
Evgeny Khramtsov
56dab7ddbe Merge pull request #328 from flygoast/master
Return an empty <vCard/> element in an IQ-result when no vCard exists.
2014-10-29 16:43:49 +03:00
Evgeniy Khramtsov
74b67fa0dc Add new option: store_empty_body 2014-10-27 14:18:09 +03:00
Evgeniy Khramtsov
067958d705 Merge branch 'master' of github.com:processone/ejabberd 2014-10-27 13:44:59 +03:00
Evgeniy Khramtsov
dec1e1f67f Revert "fix mod_offline to store only chat messages with body xml element"
This reverts commit 436f0832c1.
2014-10-27 13:44:46 +03:00
Holger Weiss
2399aba67d Accept trailing whitespace in Base64 strings 2014-10-25 02:05:02 +02:00
Gu Feng
94cdcd7b34 Return an empty <vCard/> element in an IQ-result when no vCard exists.
According to XEP-0054, if no vCard exists, the server MUST return a stanza
error (which SHOULD be <item-not-found/>) or an IQ-result containing an
empty <vCard/> element.

Signed-off-by: Gu Feng <flygoast@126.com>
2014-10-25 00:55:49 +08:00
Holger Weiss
2d748115ee Don't advertise auth mechanisms too early
If "starttls_required: true" is specified for c2s connections,
authentication mechanisms shouldn't be offered before negotiating the
TLS connection.
2014-10-23 10:04:14 +02:00
Evgeny Khramtsov
0b22277b11 Merge pull request #321 from weiss/fix-http-request-record
Use 'request' record definition from header file
2014-10-21 12:12:55 +04:00
liudan
d2edcf1288 fix odbc keepalive interval bug 2014-10-21 10:05:44 +08:00
Holger Weiss
0c24e18b5e XEP-0198: Abort immediately on queue overflow
Terminate the ejabberd_c2s process immediately once stanza queue
overflow is detected.  This makes sure the FSM won't process additional
stanzas before terminating if the recipient is flooded.
2014-10-17 01:35:30 +02:00
Holger Weiss
96d6aacede Use 'request' record definition from header file
This fixes a 'badrecord' crash in mod_http_fileserver.
2014-10-16 13:51:13 +02:00
Holger Weiss
1ccc0d8bcb XEP-0198: Set #state.conn field on session resume 2014-10-12 19:44:35 +02:00
Holger Weiss
7bdc1151b1 Make sure "starttls_required" can't be bypassed
Don't allow clients to circumvent the "starttls_required" option by
enabling XMPP stream compression.
2014-10-12 02:08:08 +02:00
Evgeniy Khramtsov
4bbf16b21a Fix list unblocking when Riak is used as a backend 2014-10-10 11:38:13 +04:00
Evgeniy Khramtsov
d87ca9fb7b Fix format of an XML-RPC response 2014-10-04 12:55:59 +04:00
Evgeniy Khramtsov
7b3209cc7f Switch to P1 implementation of XML-RPC 2014-10-04 12:49:33 +04:00
Evgeniy Khramtsov
1d782db84f Process XML-RPC requests via p1_xml and ejabberd_http 2014-10-04 12:49:12 +04:00
Evgeniy Khramtsov
e109f352e3 Make directory creation more robust 2014-10-02 14:21:27 +04:00
Holger Weiss
277e1dc3ff Offer CSI stream feature only if configured
Don't offer the CSI stream feature when mod_client_state isn't actually
configured to filter stanzas.  This makes sure clients won't send CSI
tags that end up being ignored.
2014-09-25 18:28:20 +02:00
Holger Weiss
56175fef1b Add new hook: c2s_post_auth_features
The c2s_post_auth_features hook can be used to extend the list of stream
features offered after authentication.
2014-09-25 18:15:33 +02:00
Holger Weiss
7aec0337e1 Remove invisible presence fields from c2s #state
Invisible presence isn't supported anymore, so the corresponding
ejabberd_c2s #state fields were unused.
2014-09-25 00:08:56 +02:00
Holger Weiss
61c8836740 Rename deref_aliases back to ldap_deref_aliases
The "ldap_deref_aliases" option has accidentally been renamed to
"deref_aliases".  Revert that change (but accept both names for a
while), so that the option name now matches the documentation again.
2014-09-23 11:31:44 +02:00
Holger Weiss
0a9212583d XEP-0198: Support "resend_on_timeout: if_offline"
If "resend_on_timeout" is set to "if_offline", resend unacknowledged
stanzas only if no other resource is online when the session times out.
In other words, allow for sending them to offline storage, but nowhere
else.
2014-09-16 22:42:34 +02:00
Holger Weiss
b8c98232b8 Support XEP-0352: Client State Indication 2014-09-11 17:44:29 +02:00
Evgeny Khramtsov
7a48e30523 Merge pull request #296 from weiss/remove-unused-clause
XEP-0198: Remove unused function clause
2014-09-07 07:27:17 +04:00
Holger Weiss
2ca563e328 XEP-0198: Remove unused function clause
In the 'wait_for_resume' state, #state.mgmt_pending_since is always
initialized.  fsm_next_state/2 takes care of that.
2014-09-06 20:39:38 +02:00
Holger Weiss
2e169167d4 XEP-0198: Change state on gen_tcp:send/2 failure
When Stream Management is enabled and a gen_tcp:send/2 call fails, go
into the 'wait_for_resume' state immediately.  This makes sure that
gen_tcp:send/2 won't be called again, which might avoid an Erlang issue
where gen_tcp:send/2 apparently hangs despite 'send_timeout' (and
'send_timeout_close') being set.
2014-09-06 20:34:32 +02:00
Holger Weiss
11b2921971 XEP-0198: Let fsm_next_state/2 check timeout value
Don't force the fsm_next_state/2 caller to check for 'mgmt_timeout = 0'.
2014-09-06 20:29:02 +02:00
Evgeniy Khramtsov
ac2ba399a9 Make sure x:data form possesses 'type' attribute 2014-09-03 21:28:55 +04:00
Evgeniy Khramtsov
fda73c3d16 Fix privacy checks of presence probes 2014-09-01 16:39:02 +04:00
Evgeniy Khramtsov
a1ce33ebf8 Automatically remove IPs from ban, add the documentation 2014-08-27 13:25:49 +04:00
Evgeniy Khramtsov
9be9949dab Remove useless -include() 2014-08-27 13:18:29 +04:00
Evgeniy Khramtsov
0f1d95a074 Ban the IP if there are too many failed authentications 2014-08-27 13:18:22 +04:00
Evgeniy Khramtsov
2430e6691b Add mod_fail2ban 2014-08-27 13:17:56 +04:00
Holger Weiss
f1ad6f017b Fix a comment in ejabberd_hooks 2014-08-26 01:04:15 +02:00
vesvalo
01a3c1c2e1 Fix return value of mod_shared_roster:delete_group. Current one is not compatible with mod_admin_extra. 2014-08-21 15:13:43 +04:00
vesvalo
c48b7f272b fix 404 on pep first publishing with odbc 2014-08-21 11:23:58 +04:00
Holger Weiss
2802b6cee2 Allow for "max_ack_queue: infinity", as documented 2014-08-20 12:53:26 +02:00
Holger Weiss
7274dafe10 Store persistent MUC room during creation
Make sure persistent rooms are stored to the database.  Without this
change, a room got lost if the 'persistent' flag was handed over to
mod_muc:create_room/5 and the server was then restartet before any
activity took place in that room.
2014-08-19 11:12:51 +02:00
Evgeny Khramtsov
bc2e26fecd Merge pull request #277 from weiss/xep-0198
XEP-0198: Create shorter session resume IDs
2014-08-15 19:15:32 +04:00
Holger Weiss
2d4c39cd54 XEP-0198: Create shorter resume IDs
Omit the user and server name from the 'previd' value.
2014-08-15 10:56:59 +02:00
Evgeny Khramtsov
9484b11383 Merge pull request #276 from weiss/xep-0198
XEP-0198: Don't crash if the resume ID is incorrect
2014-08-15 10:49:59 +04:00
Holger Weiss
848e1497d1 XEP-0198: Gracefully handle broken 'previd'
Produce a proper error message instead of crashing when the 'previd'
value of a <resume/> request has an unexpected format.
2014-08-15 01:54:41 +02:00
Holger Weiss
2daf95e93f XEP-0198: Gracefully handle wrong credentials
Produce a proper error message instead of crashing when the JID encoded
in the 'previd' value of a <resume/> request is different from the
authenticated JID.
2014-08-15 01:53:47 +02:00
Evgeny Khramtsov
1b1d9b5a73 Merge pull request #269 from Iperity/master
Fix migration of pubsub nodes. Was deleting and re-creating all nodes on...
2014-08-15 03:20:36 +04:00
Evgeny Khramtsov
5836eb5bc2 Merge pull request #268 from benlangfeld/fix/ldap_filter_dnattributes_new_ejabberd
Set dnAttributes on when it's requested by a filter
2014-08-15 03:19:18 +04:00