Evgeniy Khramtsov
4af15df546
Add new 'default_db' option
2015-03-30 12:15:29 +03:00
Sergey Abramyan
15af88a09a
Fix lite.sql and convert binary to integer
2015-03-27 22:14:29 +03:00
Badlop
176114d28e
Try to fix more Dialyzer warnings
2015-03-27 15:55:57 +01:00
Badlop
9c96d30719
Ensure set_presence changes are kept in state (thanks to Davide Colombo)(EJAB-1184)
2015-03-27 15:03:14 +01:00
Badlop
30dc82a98a
Fix even more dialyzer warnings
2015-03-27 12:28:24 +01:00
Badlop
8707c0b045
Fix set_presence command (ejabberd-contrib#61)
2015-03-27 11:43:56 +01:00
Badlop
10dfd182f6
Fix more mod_admin_extra commands
2015-03-26 20:41:16 +01:00
Badlop
9b3dda105d
Fix problems in process_rosteritems command
2015-03-26 16:18:39 +01:00
Badlop
fbb6b65192
Detect correctly when vCard does not exist ( #21 )
2015-03-26 14:00:58 +01:00
Badlop
0c30beb93d
Fix return error when requesting non-existing vcard value ( #21 )
2015-03-26 14:00:54 +01:00
Mickaël Rémond
c9393bc4f4
Ignore errors when retrieving status if the users just got offline
...
Fix possible race condition.
2015-03-26 14:00:50 +01:00
Holger Weiss
5103ed1c3b
mod_admin_extra: Let send_message omit subject
...
Let the send_message command omit the subject if the user either
specified an empty subject or a message type of "chat".
2015-03-26 14:00:48 +01:00
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
Evgeniy Khramtsov
5c88f6423a
Fix the deprecation warning to reflect YAML format
2014-08-12 14:26:15 +04:00
Evgeny Khramtsov
0917209711
Merge pull request #273 from gamenet/master
...
odb_queries patch return value of functions update and update_t in case of sql insert
2014-08-08 16:03:03 +04:00
vesvalo
436f0832c1
fix mod_offline to store only chat messages with body xml element
2014-08-08 13:57:27 +04:00
vesvalo
92f89e3d45
Fix odbc update_t and update insert case return value
2014-08-08 13:26:16 +04:00
Holger Weiss
38c016a041
Log auth method for incoming s2s connections
...
Generate an [info] message that logs whether an incoming s2s connection
is authenticated using the SASL EXTERNAL mechanism or via Server
Dialback. While at it, also mention whether TLS is enabled.
2014-08-05 14:10:32 +02:00
Nathan Bruning
4f63cb21c2
Fix migration of pubsub nodes. Was deleting and re-creating all nodes on each startup.
2014-08-03 21:03:16 +02:00
Alexey Shchepin
f00725dffb
mod_offline now uses gen_server
2014-07-31 14:26:09 +04:00
Christophe Romain
4205108f30
typo fix on roster subscription (EJAB-1711)
2014-07-31 11:50:22 +02:00
Ben Langfeld
651de2ca8e
Set dnAttributes on when it's requested by a filter
2014-07-29 15:22:54 -03:00
Evgeniy Khramtsov
3d3a4f7543
Fix events broadcasting via C2S
2014-07-22 19:42:49 +04:00
Christophe Romain
320abee110
apply pull request #250 to pubsub_odbc as well
2014-07-21 17:14:59 +02:00
Christophe Romain
0579fc80ec
Merge pull request #250 from Iperity/master
...
Fix configuraton with custom nodetree plugin
2014-07-21 17:11:29 +02:00
Evgeniy Khramtsov
014d61955c
Move some namespaces definitions into header file
2014-07-21 08:32:26 +04:00
Evgeniy Khramtsov
1f4e0c8aea
Fix Record-Route signing
2014-07-17 20:30:36 +04:00
Paweł Chmielowski
e0c9242dcf
treap.erl was moved to p1_utils
2014-07-17 11:57:23 +02:00
Paweł Chmielowski
0456b78d87
Use p1_utils
2014-07-17 10:52:31 +02:00
Evgeniy Khramtsov
568068c79f
Get rid of p1_mnesia file
2014-07-17 08:32:13 +04:00
Evgeniy Khramtsov
b5c4fe6626
Change return type to reflect recent changes in p1_sip
2014-07-16 15:28:36 +04:00
Evgeniy Khramtsov
64205426bf
Fix returned types
2014-07-16 10:33:49 +04:00
Evgeniy Khramtsov
89025eea39
Fix blocklist get
2014-07-16 07:43:24 +04:00
Evgeniy Khramtsov
4ef0dd6997
Better Riak usage detection
2014-07-15 20:26:45 +04:00
Evgeniy Khramtsov
b5f1b17926
Fix broken hooked functions
2014-07-15 19:22:33 +04:00
Nathan Bruning
99c28ab4d6
Fix configuraton with custom nodetree plugin
2014-07-15 12:04:06 +02:00
Evgeniy Khramtsov
792b5a24df
Serialize records to proplists before storing then in Riak
2014-07-14 08:24:44 +04:00
Evgeniy Khramtsov
a5987633e0
Fix compile errors introduced by previous cherry picks
2014-07-10 14:16:33 +04:00
Evgeniy Khramtsov
2fe8e0dea5
Make it possible to check Riak connection status
2014-07-10 13:55:24 +04:00
Evgeniy Khramtsov
6a73b96459
Fix roster versioning support when Riak backend is enabled
2014-07-10 13:54:06 +04:00
Evgeniy Khramtsov
538d4ffbd0
Fix case clause
2014-07-10 13:53:57 +04:00
Evgeniy Khramtsov
c15dc01cff
Improve Riak pool management
2014-07-10 13:52:29 +04:00
Evgeniy Khramtsov
e82219185b
Add SQL to Riak converter
2014-07-10 13:29:01 +04:00
Evgeniy Khramtsov
0490c2f139
Improve Riak support
2014-07-10 13:26:37 +04:00
Alexey Shchepin
a4b02c38db
Updated riak support
2014-07-10 13:15:15 +04:00
Alexey Shchepin
47763c10e3
Preliminary Riak support
2014-07-10 13:04:39 +04:00
Evgeniy Khramtsov
fc692ea512
Add start_module/2
2014-07-08 20:58:03 +04:00
Evgeniy Khramtsov
2b8c4acd57
Rename options
2014-07-07 09:40:08 +04:00
Evgeniy Khramtsov
ee40c0e9a7
Add new option support: always_record_route
2014-07-07 09:40:01 +04:00
Matwey V. Kornilov
50a73d1188
Use -include_lib instead of -include for esip and p1_xml
...
-include_lib is used in order to find deps. Rebar include magic is not required anymore.
Rebar uses deps as library directory.
2014-07-05 17:57:35 +04:00
Evgeniy Khramtsov
76ebebf2a0
Revert "Fix IQ XML generation."
...
This reverts commit 26a4d91297
.
2014-07-05 17:53:45 +04:00
Jerome Sautret
aba7150af1
Return MySQL error messages as binary.
2014-07-04 17:39:28 +02:00
Jerome Sautret
26a4d91297
Fix IQ XML generation.
2014-07-04 15:21:40 +02:00
Christophe Romain
9265720f92
add ability to rotate logs on given date condition
2014-07-02 23:46:54 +02:00
Evgeniy Khramtsov
273631c242
New option support: log_rotate_count
2014-07-02 14:59:05 +02:00
Evgeniy Khramtsov
bb8a0f71e6
Support new options: log_rotate_size and log_rate_limit
2014-07-02 14:58:58 +02:00
Evgeniy Khramtsov
ffdb39d269
Disable SASL error logger if lager is enabled
2014-07-02 14:58:46 +02:00
Badlop
8fae4748a1
mod_caps doesn't provide Mnesia export feature
2014-06-27 13:49:17 +02:00
Evgeny Khramtsov
31440a586c
Merge pull request #238 from weiss/log-node-mismatch
...
Check for Mnesia node name mismatches on startup
2014-06-12 13:23:17 +04:00
Holger Weiss
1ef2dd45f3
Check for Mnesia node name mismatches
...
Log a proper error message if the node running ejabberd doesn't own the
Mnesia database.
2014-06-12 11:00:22 +02:00
Evgeniy Khramtsov
b29615561c
Change default flow timeout as recommended per the RFC
2014-06-12 09:30:10 +04:00
Evgeniy Khramtsov
7892b72bcb
Don't forget to close socket of timed out flow
2014-06-12 09:30:04 +04:00
Holger Weiss
c20acbf4d8
Mention configuration file path in error messages
...
If reading or parsing a YAML configuration fails, log the full path to
the configuration file (as we do for old-style ".cfg" files).
2014-06-11 15:03:33 +02:00
Evgeny Khramtsov
e66899e68e
Merge pull request #231 from hamano/case_clause_error_at_node_hometree_odbc
...
case_clause_error_at_node_hometree_odbc
2014-06-09 23:50:43 +04:00
Evgeniy Khramtsov
87f8c2ecd8
Don't stop roster table conversion on broken askmessage
2014-06-09 10:55:05 +04:00
Evgeniy Khramtsov
62be3bc111
Fix previous commit
2014-06-09 10:40:52 +04:00
Evgeniy Khramtsov
c485aea48b
Don't stop irc table conversion on broken JIDs
2014-06-09 10:36:42 +04:00
Evgeniy Khramtsov
6f4b4ad087
Ignore malformed parameters for mod_irc module
2014-06-07 07:45:36 +04:00
Evgeniy Khramtsov
3e8a0af6d1
Fix data convertion
2014-06-07 07:05:24 +04:00
Evgeniy Khramtsov
12ab5a749f
Clean up all timers gracefully
2014-06-06 22:29:50 +04:00
Evgeniy Khramtsov
ddfbca5830
Use a different timer for flow control
2014-06-06 13:53:13 +04:00
Evgeniy Khramtsov
9e72529544
SIP Outbound (RFC 5626) support
2014-06-06 09:36:45 +04:00
Christophe Romain
11aa51373a
add missing format handler
2014-06-05 16:23:17 +02:00
Holger Weiss
e0e74a9d5e
Don't "forget" listener options
...
If a listener is started or stopped via ejabberd_listener:add_listener/3
or ejabberd_listener:delete_listener/3, the configuration for all
listener modules is updated using the Module:transform_listen_option/2
function for each listener module that exports such a function.
However, for listener modules that don't provide that function (such as
ejabberd_stun), all but one option was dropped. This is now fixed.
The issue could be triggered e.g. by enabling mod_proxy65 in the modules
section.
2014-06-04 20:54:26 +02:00
HAMANO Tsukasa
cc228db337
e_clause error at node_hometree_odbc:get_items/3
2014-06-04 18:53:37 +09:00
Evgeniy Khramtsov
c546ce2439
Reply to pings
2014-06-03 21:18:30 +04:00
Evgeniy Khramtsov
6441c284e0
Don't add 'rport' paramater to 'Via' header
2014-06-02 20:46:29 +04:00
Evgeniy Khramtsov
0aea9c74bd
Rename option 'route' to 'record_route' and add new option 'routes'
2014-06-02 10:16:34 +04:00
Evgeniy Khramtsov
9a0d77571d
Add global static shared_key option
2014-06-01 14:20:09 +04:00
Evgeniy Khramtsov
f446e7fc0b
Sign 'Record-Route' in order to proxy unauthorized ACKs
2014-06-01 13:35:14 +04:00
Evgeniy Khramtsov
b75b5ebeb2
Fix 'via' option lookup
2014-05-31 14:22:39 +04:00
Evgeniy Khramtsov
d19903877d
Add new option: route
2014-05-31 14:22:31 +04:00
Evgeny Khramtsov
f271ea6eef
Merge pull request #229 from weiss/no-carbons-to-sender
...
XEP-0280: Don't send v1 carbon copies back to the sender
2014-05-31 12:53:18 +04:00
Evgeniy Khramtsov
c76201b6b4
Don't add 'Record-Route' header for mid-dialog requests
2014-05-31 10:00:51 +04:00
Evgeniy Khramtsov
86f2af6fdc
Process bindings from multiple UACs correctly
2014-05-31 09:06:53 +04:00
Evgeniy Khramtsov
da22da23cd
Don't substitute URI in ACK
2014-05-31 07:50:16 +04:00
Holger Weiss
f45654a16a
Simplify mod_carboncopy:check_and_forward/4
...
Use the existing is_carbon_copy/1 function, and combine multiple case
clauses into a single one.
2014-05-30 23:44:19 +02:00
Holger Weiss
bb952f9ecc
Let is_carbon_copy/1 recognize <received/> carbons
...
The mod_carboncopy:is_carbon_copy/1 function now returns true not only
for <sent/>, but also for <received/> carbon copies.
2014-05-30 23:36:02 +02:00
Holger Weiss
ad2d3964ef
Don't send XEP-0280 v1 copies back to sender
...
An earlier version of XEP-0280 specified the <received/> and <sent/>
tags to be siblings of the <forwarded/> element, whereas the current
version mandates them to be parents of <forwarded/>. The mod_carboncopy
module supports both variants. However, the check that makes sure
clients won't receive a copy of the messages they sent didn't work for
the old-style schema. This is now fixed.
2014-05-30 23:32:18 +02:00
Evgeniy Khramtsov
2cd17c7988
Fix previous commit
2014-05-30 23:49:50 +04:00
Evgeniy Khramtsov
32998f7e18
Process 'Contact' headers more accurately (as per RFC3261)
2014-05-30 23:14:52 +04:00
Holger Weiss
8fb1bb1f5f
Log just one [info] message on Carbons negotiation
...
Log one instead of three [info] messages when XEP-0280 (Message Carbons)
support is enabled or disabled successfully. On failure, log an
additional [warning].
2014-05-29 15:21:11 +02:00
Holger Weiss
0cb9ea3643
XEP-0198: Cosmetic change: Reuse event handler
...
On stanza queue overflow, pass a message to self() using the exclamation
mark operator instead of send_all_state_event/2. This allows for
reusing the existing handler for 'kick' events.
2014-05-28 11:24:38 +02:00
Holger Weiss
99ca8281fa
XEP-0198: Terminate session on queue overflow
...
On queue overflow, terminate the c2s session instead of just dropping
items from the queue. This makes sure all stanzas are either delivered
or bounced.
2014-05-27 22:56:33 +02:00
Evgeny Khramtsov
3a27b1dd0c
Merge pull request #226 from weiss/simplify-state-change
...
XEP-0198: Cosmetic change: Simplify state change
2014-05-27 23:30:30 +04:00
Holger Weiss
50a4c5a6ab
XEP-0198: Cosmetic change: Simplify state change
...
When the FSM goes into the 'wait_for_resume' state, let fsm_next_state/2
take care of updating #state.mgmt_state and of writing the log line.
This doesn't change the behavior, but simplifies the code.
2014-05-27 21:14:49 +02:00
Holger Weiss
ed0c89f876
Let ejabberd_c2s always use fsm_next_state/2
...
Make sure any logic implemented in ejabberd_c2s:fsm_next_state/2 is
always applied.
2014-05-27 21:07:53 +02:00
Evgeny Khramtsov
702cddd4ff
Merge pull request #220 from weiss/handle-send-failure
...
XEP-0198: Don't exit on socket send failure
2014-05-27 15:44:04 +04:00
Evgeny Khramtsov
4d1332c30f
Merge pull request #222 from weiss/keep-session-on-failed-resume
...
XEP-0198: Don't drop session on failed resume
2014-05-27 15:38:26 +04:00
Evgeny Khramtsov
402fb9665d
Merge pull request #221 from weiss/omit-redundant-guard
...
XEP-0198: Cosmetic change: Omit redundant guard
2014-05-27 15:34:34 +04:00
Evgeny Khramtsov
b2e84405c1
Merge pull request #218 from weiss/omit-iq-xmlns
...
Omit XML namespace declaration for <iq/> stanzas
2014-05-27 15:32:02 +04:00
Evgeniy Khramtsov
52221127cc
Fix odbc_port option processing
2014-05-27 15:27:42 +04:00
Evgeniy Khramtsov
dceab3689d
Don't forget to include 'Contact' header field in 2xx registrar responses
2014-05-26 21:34:23 +04:00
Holger Weiss
59f6efeaf7
XEP-0198: Don't drop session on failed resume
...
The 'previd' value provided by the client during a session resume
request includes the client's JID and ejabberd's session ID. If there
is a session for the requested JID but with a different session ID,
resumption should fail, but that session shouldn't be closed. This
commit makes sure the latter won't happen.
In practice, this will only make a difference in odd corner cases.
2014-05-23 23:38:04 +02:00
Holger Weiss
737b0ae5dc
XEP-0198: Cosmetic change: Omit redundant guard
...
The stream management state is never 'pending' when the c2s FSM is in
the 'session_established' state.
2014-05-23 20:46:17 +02:00
Evgeniy Khramtsov
8925975c86
Fix proxying of ACK requests for 2xx responses
2014-05-23 20:14:53 +04:00
Holger Weiss
ab9667f917
XEP-0198: Don't exit on socket send failure
...
If stream management is enabled, don't exit the c2s process when
ejabberd_socket:send/2 fails, but close the socket instead. This gives
the client a chance to resume the session.
Thanks go to Matthias Rieber for reporting the issue, providing detailed
logs, and testing the fix.
2014-05-23 11:38:54 +02:00
Badlop
735bd95659
Merge branch 'check-packet-type' of git://github.com/weiss/ejabberd into weiss-check-packet-type
...
Conflicts:
src/ejabberd_c2s.erl
2014-05-21 18:45:28 +02:00
badlop
69abb48c90
Merge pull request #217 from weiss/fix-extauth-cache-usage
...
Don't use cached passwords if "extauth_cache: 0"
2014-05-21 17:35:54 +02:00
badlop
419a98d45a
Merge pull request #216 from lavrin/p1-c2s
...
Cleanup some pieces of ejabberd_c2s
2014-05-21 17:35:24 +02:00
badlop
5d855f3723
Merge pull request #207 from weiss/xep-0334
...
Honor XEP-0334: Message Processing Hints
2014-05-21 17:31:22 +02:00
Holger Weiss
6b996061a2
Omit XML namespace declaration for <iq/> stanzas
...
Only the child elements of <iq/> stanzas are qualified by the namespaces
in question, not the <iq/> stanzas themselves.
This change just clarifies the code. It doesn't alter the behaviour, as
those <iq/> stanzas are handed over to jlib:iq_to_xml/1, and that
function ignores the 'xmlns' attribute anyway.
2014-05-21 00:07:57 +02:00
Holger Weiss
fca640f50f
Don't use cached passwords if "extauth_cache: 0"
...
Regarding "extauth_cache", the guide says: "The integer 0 (zero) enables
caching for statistics, but doesn't use that cached information to
authenticate users." Make sure the cached password isn't used even if
the user is currently logged in with another resource.
2014-05-20 23:00:28 +02:00
Badlop
5010cea1a4
If log uses file:write, no need to double escape ~ in messages (EJAB-1696)
2014-05-20 14:49:52 +02:00
Radosław Szymczyszyn
5726636053
Fix check_from/2 formatting
2014-05-20 12:31:28 +01:00
Radosław Szymczyszyn
b7a542e074
Sanitize copy-pasted get_statustag/1
2014-05-20 12:28:14 +01:00
Radosław Szymczyszyn
9c37450fe4
Fix formatting
2014-05-20 12:26:33 +01:00
Radosław Szymczyszyn
c39ce133de
Build proceed/compressed elements in a sane way
2014-05-20 11:52:02 +01:00
Badlop
6d06f22f64
MUC messages with ~ were not logged (EJAB-1696)
2014-05-19 19:07:46 +02:00
Badlop
a6ddab1e9d
Fix bug when joining empty path
2014-05-14 13:28:39 +02:00
Holger Weiss
6e8dd5bdff
Don't miss incoming presence updates
2014-05-14 01:04:38 +02:00
Holger Weiss
f6da708b02
XEP-0198: Check whether routed packets are stanzas
...
Only stanzas are subject to stream management, so when XEP-0198 support
is enabled, we must distinguish them from non-stanza elements. This
commit adds a send_packet/2 function that can be used in place of
send_stanza/2 or send_element/2 whenever a packet is delivered that
might or might not be a stanza.
2014-05-12 19:20:25 +02:00
Holger Weiss
9121ca14de
Rename disconnect_user/2 command
...
The mod_admin_extra module provides a kick_session/4 command. Rename
the disconnect_user/2 command to kick_user/2 for consistency.
2014-05-12 12:44:40 +02:00
Holger Weiss
47efe4e6a9
Don't log MUC messages with <no-store/> hint
...
Honor the <no-store/> and <no-permanent-store/> hints defined in
XEP-0334.
2014-05-12 00:27:20 +02:00
Holger Weiss
03fd88e4ec
Don't store messages with <no-store/> hint
...
Honor the <no-store/> hint defined in XEP-0334.
2014-05-12 00:00:34 +02:00
Holger Weiss
9b16d09261
Don't carbon copy messages with <no-copy/> hint
...
Honor the <no-copy/> hint defined in XEP-0334.
2014-05-11 23:52:20 +02:00
Evgeny Khramtsov
5d22159e9a
Merge pull request #205 from weiss/xep-0198
...
XEP-0198: Improve handling of incorrect stanza counts reported by client
2014-05-10 00:05:17 +04:00
Evgeniy Khramtsov
003fd321ee
Do not try to retreive vCards via local SM for foreign JIDs
2014-05-09 21:26:55 +04:00
Holger Weiss
6d5bfcfe9b
XEP-0198: Improve handling of too large 'h' values
...
If the client says that it handled more stanzas than we sent (due to a
bug in the client's or in our code), increase our outgoing stanza count
accordingly. There's no point in sticking to the old value even if it
was correct, as the client surely won't fix its count during the current
session.
2014-05-09 18:28:14 +02:00
Holger Weiss
15369ff9d7
XEP-0198: Reject <resume/> with negative 'h' value
...
Make sure the 'h' attribute sent with a <resume/> request is
nonnegative, as mandated by XEP-0198.
We already have this check for <a/> elements.
2014-05-09 18:01:31 +02:00
Holger Weiss
a60fda7df4
XEP-0198: Don't warn on invalid ACK elements
...
Do not log a warning (but only a debug message) if the client sends an
invalid </a> packet. Some clients do that occasionally, and there's
nothing server admininistrators could do about that.
2014-05-09 17:54:12 +02:00
Evgeniy Khramtsov
318b0f2208
Fix previous commit (C2S session close on server shutdown)
2014-05-08 21:47:50 +04:00
Evgeniy Khramtsov
181e7a823e
Fix C2S session close on server shutdown
2014-05-08 21:39:53 +04:00
Evgeniy Khramtsov
90a5c054d4
TURN support (EJAB-1017)
2014-05-08 16:14:21 +04:00
Evgeny Khramtsov
115da54557
Merge pull request #203 from hamano/added_get_random_pid_error_handling
...
improve error handling when sql calling with (empty|unknown) host.
2014-05-08 10:02:27 +04:00
Badlop
79a49b1175
Webadmin with extauth requires internal to run at least once (issue #201 )
2014-05-07 17:13:51 +02:00
HAMANO Tsukasa
d3ed12d4ba
fix mod_offline:count_offline_messages/2
2014-05-07 15:38:18 +09:00
Holger Weiss
d343447cc9
Merge remote-tracking branch 'processone/master' into xep-0198
...
Conflicts:
doc/guide.tex
src/ejabberd_c2s.erl
2014-05-06 21:41:29 +02:00
Christophe Romain
cc1f93d7a0
Fix PEP broadcasting issue on ODBC (EJAB-1680)
2014-05-06 13:29:35 +02:00
Christophe Romain
58717923eb
Fix PEP broadcasting issue (EJAB-1680)
2014-05-06 12:37:44 +02:00
Holger Weiss
8b1f92575a
XEP-0198: Use "mgmt_" prefix for all #state fields
...
Prefix all ejabberd_c2s #state fields that are used for stream
management with "mgmt_".
2014-05-06 07:27:10 +02:00
Christophe Romain
a6244275b7
remove compilation warnings
2014-05-05 18:16:48 +02:00
Christophe Romain
4bdf1bc7a6
avoid sending duplicated events
2014-05-05 17:53:50 +02:00
Christophe Romain
faa6ad26a0
avoid sending empty events
2014-05-05 17:53:44 +02:00
Christophe Romain
530ac43758
store item when persist_item=false and cache_last_item=false but need last_item
2014-05-05 17:40:42 +02:00
Nathan Bruning
f3aa74a043
Fix small bug in presence_based_delivery implementation
2014-05-05 14:14:03 +02:00
Badlop
872cc12dd8
Temporary room not destroyed when the last participant is expulsed (EJAB-520)
2014-05-05 13:50:52 +02:00
Badlop
70f00a1b1f
extauth_cache can have value 0
2014-05-05 13:13:35 +02:00
Holger Weiss
3b3f3b9131
XEP-0198: Don't log protocol issues
...
There are corner cases where certain clients acknowledge more stanzas
than they received. Nothing really bad will happen in those cases, and
server administrators can't do anything about such issues anyway.
2014-05-05 01:11:14 +02:00
Holger Weiss
32abcbca6c
XEP-0198: Accept stream elements in pending state
...
Due to timing issues, ejabberd_c2s might receive stream elements from
the client while the session is waiting for stream resumption. Those
elements are now accepted.
2014-05-05 00:02:55 +02:00
Holger Weiss
a0917a8e9b
XEP-0198: Log message when waiting for resumption
...
Log an informational message when a session goes into the pending state
(waiting for resumption) after the connection was lost. Administrators
may well be interested in this state change when looking into issues.
2014-05-04 23:08:42 +02:00
Evgeniy Khramtsov
fafec77e56
Make it possible to get/set vCards for MUC rooms
2014-05-04 23:23:17 +04:00
Evgeniy Khramtsov
806c0e56e1
Do not crash on version downgrade
2014-05-03 17:55:03 +04:00
Evgeniy Khramtsov
d0ffcb7fd4
Assume udp_recv/5 now returns new options
2014-05-03 17:48:26 +04:00
Evgeniy Khramtsov
955487391d
Assume tcp_init/2 and udp_init/2 now return new options
2014-05-03 17:48:17 +04:00
Evgeniy Khramtsov
47a39ce738
Remove unused function
2014-05-02 17:43:23 +04:00
Evgeniy Khramtsov
ebd760b7c9
Forking support
2014-05-02 17:43:17 +04:00
Evgeniy Khramtsov
f8417f7c1f
Remove empty line
2014-05-02 17:43:09 +04:00
Evgeniy Khramtsov
3c98de69dc
Some cleanup
2014-05-02 17:43:03 +04:00
Evgeniy Khramtsov
ab6774d93d
Fix CSeq comparison
2014-05-02 17:42:57 +04:00
Evgeniy Khramtsov
58aa200297
Optimize request processing
2014-05-02 17:42:51 +04:00
Evgeniy Khramtsov
a1337cb73f
Do not proxy stray responses statelessly (as per RFC 6026)
2014-05-02 17:42:45 +04:00
Evgeniy Khramtsov
e7e4055cbb
Don't use erlang:integer_to_binary/1
2014-05-02 17:42:37 +04:00
Evgeniy Khramtsov
1d771fe646
Rewrite 'Contact' headers in REGISTER requests
2014-05-02 17:42:31 +04:00
Evgeniy Khramtsov
8e2bc8d19e
Check for 'max_user_sessions' option
2014-05-02 17:42:13 +04:00
Evgeniy Khramtsov
0117787317
Process gen_server timeouts correctly
2014-05-02 17:40:25 +04:00
Evgeniy Khramtsov
16e5d66572
Move some code in a separate function
2014-05-02 17:38:47 +04:00
Evgeniy Khramtsov
6a95422af8
Multiple REGISTER bindings support
2014-05-02 17:38:28 +04:00
Evgeniy Khramtsov
35faffe7da
Locate sessions by proxy processes directly
2014-05-02 17:31:17 +04:00
HAMANO Tsukasa
d83368d73d
fix ejabberd_system_monitor:s2s_out_info/1 error
2014-05-01 15:12:04 +09:00
Evgeny Khramtsov
c545b3de6d
Merge pull request #178 from hamano/devel
...
undefined ejabberd_socket:get_conn_type/1
2014-04-30 21:49:54 +04:00
Evgeniy Khramtsov
02e0649d18
SIP support
...
Conflicts:
configure
configure.ac
doc/guide.tex
2014-04-30 19:38:15 +04:00
HAMANO Tsukasa
0904b8b8ff
improve error handling when sql calling with (empty|unknown) host.
...
see #191
2014-05-01 00:20:58 +09:00
Badlop
ec6c58a21c
Fix error reporting in previous commit
2014-04-30 16:02:20 +02:00
Badlop
b3714a1b2e
Fix formatting string argument (thanks to Locojay)(github #129 )
2014-04-30 15:59:44 +02:00
Evgeny Khramtsov
81a906af01
Merge pull request #191 from hamano/added_get_random_pid_error_handling
...
fix error handling when sql calling with unknown host.
2014-04-30 17:02:39 +04:00
badlop
65519cf262
Merge pull request #190 from hamano/mod_register_web_response_404
...
mod_register_web should response 404 instead of process crash.
2014-04-30 12:42:43 +02:00
badlop
a1b8c54c16
Merge pull request #187 from weiss/fix-ejabberdctl-output
...
Let ejabberdctl accept binary string arguments
2014-04-30 12:41:12 +02:00
HAMANO Tsukasa
a6408e9281
fix error handling when sql calling with unknown host.
2014-04-30 15:32:07 +09:00
HAMANO Tsukasa
0e0bd3329d
mod_register_web should response 404 instead of process crash.
2014-04-30 13:39:17 +09:00
Evgeny Khramtsov
9563b0228f
Merge pull request #177 from weiss/log-tls-sasl-external
...
Log TLS status for outgoing s2s with SASL EXTERNAL
2014-04-30 00:38:18 +04:00
Evgeny Khramtsov
8419322884
Merge pull request #181 from weiss/check-tls-before-auth
...
Check TLS state before requesting SASL EXTERNAL for outgoing s2s connections
2014-04-30 00:36:08 +04:00
Evgeny Khramtsov
c37aa1b46d
Merge pull request #185 from weiss/verify-cert-for-s2s-out
...
Support certificate verification for outgoing s2s connections
2014-04-30 00:08:24 +04:00
Evgeny Khramtsov
599fdb9ac2
Merge pull request #186 from weiss/add-disconnect-command
...
New ejabberd command: disconnect_user/2
2014-04-29 15:41:41 +04:00
Holger Weiss
ebbceab93f
Translate disconnect_user/2 string sent to client
2014-04-29 11:56:28 +02:00
Holger Weiss
bb2c8b59f8
Avoid #state.lang type errors in corner cases
...
If #state.lang is used before being initialized to some binary string,
the translation code would crash.
2014-04-29 11:41:24 +02:00
Evgeny Khramtsov
4073394e7a
Merge pull request #182 from hamano/register_account_acl
...
fix checking acl in mod_register_web
2014-04-29 13:06:53 +04:00
Evgeny Khramtsov
29aead19d9
Merge pull request #179 from hamano/added_get_random_pid_error_handling
...
added get_random_pid/1 error handling
2014-04-29 13:05:58 +04:00
Holger Weiss
d09c268b20
Let ejabberdctl accept binary string arguments
...
Don't print the following message if an ejabberd command expects binary
string arguments: "This command cannot be executed using ejabberdctl.
Try ejabberd_xmlrpc."
2014-04-29 01:11:08 +02:00
Holger Weiss
6d1055abec
New ejabberd command: disconnect_user/2
2014-04-29 00:50:43 +02:00
Holger Weiss
49bdbf2895
Support certificate verification for outgoing s2s
...
Handle "s2s_use_starttls: required_trusted" the same way for outgoing
s2s connections as for incoming connections. That is, check the remote
server's certificate (including the host name) and abort the connection
if verification fails.
2014-04-28 01:42:02 +02:00
Holger Weiss
a21d2298af
XEP-0198: Turn some warnings into info messages
...
Don't log warnings on events that will happen during normal operation.
2014-04-28 01:01:30 +02:00
Holger Weiss
1aa4ed3f35
Don't mess with s2s out when aborting s2s in
...
Don't try to look up and close outgoing connections to a given server
when aborting incoming connections from that server due to certificate
verification errors. The ejabberd_s2s:find_connection/2 call actually
created one or more *new* connections if less than 'max_s2s_connections'
connections were found. Then, no more than one of those possibly new
connections were stopped by the ejabberd_s2s_out:stop_connection/1 call.
It's not really necessary to bother with outgoing connections at all,
here.
2014-04-28 00:17:05 +02:00
Holger Weiss
eabca82765
Send stream trailer before closing s2s connection
...
When aborting an incoming s2s connection due to certificate verification
errors, send a stream trailer before closing the socket.
2014-04-27 00:28:42 +02:00
HAMANO Tsukasa
71dba66330
fix checking acl in mod_register_web
2014-04-24 18:15:39 +09:00
Holger Weiss
d805d198ac
Check TLS state before requesting SASL EXTERNAL
...
Make sure a remote server can't circumvent "s2s_use_starttls: required"
by offering SASL EXTERNAL authentication over a non-TLS connection.
2014-04-24 11:04:10 +02:00
HAMANO Tsukasa
ffe9f3c192
added get_random_pid/1 error handling
2014-04-24 15:34:41 +09:00
HAMANO Tsukasa
219f9276d1
undefined ejabberd_socket:get_conn_type/1
2014-04-24 12:42:22 +09:00
Holger Weiss
f988aad940
Log TLS status for outgoing s2s with SASL EXTERNAL
2014-04-23 23:28:13 +02:00
HAMANO Tsukasa
9ec014c184
added error handling in mod_pubsub_odbc.
2014-04-23 23:35:34 +09:00
Holger Weiss
86e17c379c
Verify host name before offering SASL EXTERNAL
...
Prior to this commit, ejabberd handled certificate authentication for
incoming s2s connections like this:
1. Verify the certificate without checking the host name. On failure,
behave according to 's2s_use_starttls'. On success:
2. Offer SASL EXTERNAL.
3. If the remote server chooses SASL EXTERNAL, compare the authorization
identity against the certificate host name(s). On failure, abort the
connection unconditionally.
ejabberd now does this instead:
1. Verify the certificate and compare the certificate host name(s)
against the 'from' attribute of the stream header. On failure,
behave according to 's2s_use_starttls'. On success:
2. Offer SASL EXTERNAL.
3. If the remote server chooses SASL EXTERNAL, ignore the authorization
identity (if any) and consider the peer authenticated.
The old behavior was suggested by previous versions of XEP-0178, the new
behavior is suggested by the current version 1.1.
2014-04-23 11:45:17 +02:00