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