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
Holger Weiss
4bc8b6bc9f
Fix extraction of host names from certificates
2014-04-22 22:12:04 +02:00
badlop
37d4109e8a
Merge pull request #161 from weiss/fix-carbons
...
Let mod_carboncopy take care of messages sent to bare/unavailable JIDs
2014-04-22 13:52:11 +02:00
Holger Weiss
d350cc6361
Accept "extauth_cache: false"
...
Don't log a "configuration problem" message if "extauth_cache: false" is
explicitly specified, as that's a valid configuration setting as per the
documentation.
2014-04-16 14:15:14 +02:00
Paweł Chmielowski
7af7b7d3f0
Fix compilation on pre-R17
2014-04-15 17:05:25 +02:00
Paweł Chmielowski
d97b4fd9ca
Fix loading translation files on R17
2014-04-15 17:05:22 +02:00
Alexey Shchepin
f93758a3cd
Merge pull request #160 from runcom/protocol_options
...
Add option to specify openssl options
2014-04-15 19:01:21 +04:00
badlop
285c4c17cf
Merge pull request #146 from jamielinux/master
...
Update FSF address
2014-04-11 13:35:46 +02:00
Evgeniy Khramtsov
a21edc2f3a
Pretty print accepted transport address
2014-04-11 12:30:58 +02:00
Holger Weiss
b3b12effbc
Carbons: Handle unavailable resource like bare JID
...
As the session manager handles messages sent to unavailable resources
just like messages sent to bare JIDs, mod_carboncopy must do that, too.
That is, forward them only to those carbon-copy-enabled resources that
don't have a top priority, in order to avoid duplicates.
2014-04-08 23:32:30 +02:00
Antonio Murdaca
fbf71f86f3
Add option to specify openssl options
2014-04-08 18:46:52 +02:00
Holger Weiss
9d5426315f
Carbons: Also forward messages sent to bare JIDs
...
Don't ignore messages sent to bare JIDs, but forward them to all
carbon-copy-enabled resources that don't have the highest priority.
2014-04-07 22:10:08 +02:00
Holger Weiss
c114eb3736
XEP-0198: Don't bounce/resend forwarded messages
...
On connection timeout, drop any messages that were forwarded by some
encapsulating protocol, such as XEP-0280 carbon copies or XEP-0313
archive messages. Bouncing or resending them could easily lead to
unexpected results.
2014-04-07 21:21:11 +02:00
badlop
766ab1eb46
Merge pull request #158 from weiss/fix-lang-type
...
Fix a type error
2014-04-07 13:28:41 +02:00
badlop
76fb7d284a
Merge pull request #157 from weiss/fix-mod-update
...
Fix badarg issue on module update web site
2014-04-07 13:27:31 +02:00
Holger Weiss
37f409d254
Fix a type error
2014-04-06 00:39:51 +02:00
Holger Weiss
e02a4913d2
Fix badarg issue on module update web site
2014-04-05 23:23:44 +02:00
HAMANO Tsukasa
1250ee5d77
mod_register_web: check same acl as mod_register.
2014-04-04 04:07:29 +09:00
Badlop
8b9c49440a
Fix user_resources command, and ejabberd_xmlrpc parsing auth details in call
2014-03-31 16:51:47 +02:00
Badlop
a5a065290b
Small change in ejabberd_ctl output format to support bash completion
2014-03-26 16:43:53 +01:00
Badlop
ac0e199d36
Provide meaningful text to user when admin kicks session (EJAB-1455)
2014-03-26 16:01:37 +01:00
Holger Weiss
a97c716352
XEP-0198: Bounce unacked stanzas by default
...
If the new "resend_on_timeout" option is set to false (which it is by
default), bounce any unacknowledged stanzas instead of re-routing them.
2014-03-25 23:23:38 +01:00
Evgeniy Khramtsov
2150b10901
Fix service_info options processing
2014-03-25 09:52:57 +04:00
Evgeniy Khramtsov
5c36c44689
Remove annyoing warnings
2014-03-25 09:42:12 +04:00
Badlop
d5f90965d7
Fix ACLs syntax change (thanks to jokker23)(issue #140 )
2014-03-24 19:40:55 +01:00
Holger Weiss
2da6933bb7
Remove "fun" element from c2s #state
...
Memory consumption wise, local "fun" references are quite expensive.
2014-03-22 20:25:43 +01:00
Holger Weiss
e360c56f87
Support XEP-0198 session resumption
...
Implement the optional session resumption feature described in XEP-0198.
A client that supports this feature may now resume the previous session
(within a configurable number of seconds) if the connection was lost.
During resumption, ejabberd will retransmit any stanzas that hadn't been
acknowledged by the client.
2014-03-19 00:51:33 +01:00
badlop
2b527f5e9a
Merge pull request #149 from iulianlaz/carboncopy-fix-msg-back-to-original-sender
...
#148 Carbon copy sends message back to original sender solved
2014-03-16 20:59:49 +01:00
Holger Weiss
88a200e100
Remove some commented out code
...
The code that had been commented out at some earlier point in time would
now break XEP-0198.
2014-03-16 00:12:47 +01:00
Badlop
633d47f784
Update copyright dates to 2014 (EJAB-1679)
2014-03-13 12:30:57 +01:00
Holger Weiss
7d594086c3
Add initial XEP-0198 support (EJAB-532)
...
Implement partial support for XEP-0198: Stream Management. After
successful negotiation of this feature, the server requests an ACK for
each stanza transmitted to the client and responds to ACK requests
issued by the client. On session termination, the server re-routes any
unacknowledged stanzas. The length of the pending queue can be limited
by setting the "max_ack_queue" option to some integer value (default:
500). XEP-0198 support can be disabled entirely by setting the
"stream_management" option to false (default: true).
So far, stream management is implemented only for c2s connections, and
the optional stream resumption feature also described in XEP-0198 is not
(yet) supported.
This addition was originally based on a patch provided by Magnus Henoch
and updated by Grzegorz Grasza. Their code implements an early draft of
XEP-0198 for some previous version of ejabberd. It has since been
rewritten almost entirely.
2014-03-12 23:34:14 +01:00
iulianlaz
9ef1ad0b6e
#148 Carbon copy sends message back to original sender solved
2014-03-06 08:40:38 +00:00
Badlop
e211bf522e
Support XEP-0321: Remote Roster Management (EJAB-1381)
2014-02-26 18:02:37 +01:00
Badlop
46b2d91105
Convert DB details to string when calling odbc:connect/2 (EJAB-1681)
2014-02-26 17:26:46 +01:00
Badlop
c29ba14dbf
Don't provide current password in webinterface (github issue #137 )
2014-02-26 17:19:07 +01:00
Jamie Nguyen
8538997d61
Update FSF address
2014-02-22 10:27:40 +00:00
Holger Weiss
e82a79efd5
Add missing parenthesis
2014-02-21 23:33:13 +01:00
Badlop
63a7011c38
When occupant changes nick, include status 110 in stanzas sent to him
2014-02-14 16:22:14 +01:00
Badlop
4c8b6fe16b
Fixing mod_carboncopy sends carbons of carbons ( fixes #107 )
2014-01-23 17:29:24 +01:00
mrjameshamilton
5ccc6db093
Fixed parameter order in call to restore_room/3
2014-01-23 14:39:52 +00:00
Alexey Shchepin
9422164dda
Clear SASL state after finishing auth
2014-01-21 13:44:29 +02:00
Alexey Shchepin
cbbfd921b4
Fix for the previous commit
2014-01-21 11:54:18 +02:00
Alexey Shchepin
d63be79df9
Use 'to' field only in the first client stream initialization
2014-01-20 16:06:05 +02:00
Badlop
e107e78773
Fix auth verification in ejabberd_xmlrpc (thanks to Vicis)
2014-01-02 16:10:19 +01:00
Evgeniy Khramtsov
d03de1bb43
Fix some type specs and errors
2013-12-10 21:44:46 +10:00
Evgeniy Khramtsov
33764bb931
Add ejabberd_xmlrpc
2013-12-10 21:25:12 +10:00
Badlop
5a1300bc70
Add access rule to mod_roster (EJAB-72)
2013-12-04 14:57:44 +01:00
Christophe Romain
9c17163b55
bind values for get_parentnodes_tree
2013-12-03 10:51:01 +01:00
Christophe Romain
e11c835bd3
fix use of virtual nodetree
2013-12-03 10:34:59 +01:00
Alexey Shchepin
1dd94ac0d0
Support for OpenSSL ciphers list in ejabberd_c2s, ejabberd_s2s_in and ejabberd_s2s_out
2013-11-28 19:39:11 +02:00
Badlop
a6b0e18bde
add Pubsub data migration from mnesia to odbc (EJAB-1126)
...
By calling:
ejd2odbc:export_pubsub("localhost","/tmp/aa.txt").
it will generate SQL files like these:
/tmp/pubsub_item.txt
/tmp/pubsub_node.txt
/tmp/pubsub_state.txt
Conflicts:
src/ejabberd_admin.erl
src/ejd2odbc.erl
2013-11-14 19:29:16 +01:00
Evgeniy Khramtsov
89a17ba84a
Correctly convert ACLs into YAML representation
2013-11-07 02:43:43 +10:00
Evgeniy Khramtsov
a87b475361
Do not use functions from crypto module wherever possible
2013-11-05 20:07:38 +10:00
Evgeniy Khramtsov
b7c7d2747b
Fix some type errors
2013-11-05 19:49:30 +10:00
Evgeniy Khramtsov
c0240e7249
Do not try to start STUN application during config checks
2013-11-02 10:30:19 +10:00
Evgeniy Khramtsov
6dd31299cf
Avoid case clause crash when loading permanent rooms
2013-10-23 12:23:00 +10:00
Badlop
cd0381bab5
Fix display ACLs in WebAdmin
2013-10-01 23:23:01 +02:00
Badlop
2c09d7c8a7
Fix handling of format_status arguments (thanks to Nbaronov)
2013-09-26 17:19:56 +02:00
Badlop
389a99b2db
Fix bypass for tls-required (thanks to Zeha)
2013-09-26 16:41:57 +02:00
Evgeniy Khramtsov
07c8bf5064
Fix roster version support
2013-09-24 18:59:20 +10:00
Evgeniy Khramtsov
7fd91a4b12
Better web-handlers detection
2013-09-22 21:47:59 +10:00
Evgeniy Khramtsov
ae4356265f
Merge branch 'master' of github.com:processone/ejabberd
2013-09-19 19:00:08 +10:00
Evgeniy Khramtsov
a0396620f2
Reflect modules name changes in p1_mysql
2013-09-19 18:59:32 +10:00
Paweł Chmielowski
7e73ed88f7
Fix problem with decoding http headers over tls connections
...
This fixed GitHub issue 96.
2013-09-16 16:32:02 +02:00
Christophe Romain
63b2d21b13
clean subscriptions handling and avoid function_clause
2013-08-27 14:46:54 +02:00
Christophe Romain
1b8876bf55
fix build of Parents list in #pubsub_node
2013-08-27 14:46:35 +02:00
Christophe Romain
b82eeeeec9
fix call to get_session_pid with binary arguments
2013-08-27 14:46:22 +02:00
Evgeniy Khramtsov
e3483ef9e1
Do not rely on p1_logger_h module when lager is enabled
2013-08-27 17:45:07 +10:00
Evgeniy Khramtsov
91a74e3e27
Change configuration file format to YAML
2013-08-21 22:17:59 +10:00
Evgeniy Khramtsov
f68dfacbbf
Do not try to read/write the deprecated "config" table
2013-08-21 19:37:22 +10:00
Evgeniy Khramtsov
0b9754884e
Do not distribute the ACL table
2013-08-21 19:37:08 +10:00
Evgeniy Khramtsov
cc6dcd161c
Get rid of global configuration options
2013-08-21 19:36:35 +10:00
Evgeniy Khramtsov
807a1fe164
Fix timestamp processing
2013-07-23 15:27:18 +10:00
Evgeniy Khramtsov
8ce22b790d
Fix some type errors
2013-07-22 19:24:09 +10:00
Evgeniy Khramtsov
f75d78d3f5
Make it possible to import without cursor usage
2013-07-22 10:46:47 +10:00
Evgeniy Khramtsov
ca6463ed78
Typo fix
2013-07-22 00:22:05 +10:00
Evgeniy Khramtsov
d58148fa8d
Add SQL to Mnesia converter
2013-07-21 23:10:38 +10:00
Evgeniy Khramtsov
a2ead99c83
Make it possible to enable/disable TLS compression
2013-07-17 22:46:18 +10:00
Evgeniy Khramtsov
986f4d1a7f
Do not forget to re-define the crash.log path
2013-07-15 11:51:09 +10:00
Badlop
0d7a5476c0
Allow room member to get members list using XEP
2013-07-11 12:11:48 +02:00
Christophe Romain
4e72dd6751
fix badmatch in send_loop (EJAB-1650)
2013-07-10 09:47:49 +02:00
Christophe Romain
48819d163a
fix badmatch on remove_user on PEP nodes (EJAB-1649)
2013-07-09 21:50:56 +02:00
Christophe Romain
8621a8f006
fix invalid response on get_options when no options set (EJAB-1648)
2013-07-09 18:11:27 +02:00
Badlop
b66e4fbdc4
Apparently configure.erl is not needed anymore
2013-07-08 15:58:38 +02:00
Alexey Shchepin
b5623d6bee
gen_iq_handler:check_type was missing
2013-07-08 10:40:39 +03:00
Evgeniy Khramtsov
0aca3a4585
Improve the applications start-up
...
* Check if all modules present for every application loaded.
* Get rid of now obsoleted 'ejabberd_check' module.
2013-07-07 02:19:51 +10:00
Christophe Romain
0266207e9d
fix pubsub unsubscription without SubId on odbc
2013-07-04 15:13:21 +02:00
Christophe Romain
60600c341e
improve pubsub odbc use of i2l
2013-07-04 10:07:53 +02:00
Christophe Romain
ac3cd2ebaa
ip_adresse() does not need binary representation in config
2013-06-28 18:32:22 +02:00
Evgeniy Khramtsov
2636da0d98
Fix IDNA conversion
2013-06-28 02:45:42 +10:00
Badlop
91744733c1
Store only messages with body or subject (EJABS-2034)
2013-06-27 11:58:31 +02:00
Evgeniy Khramtsov
8a9743ab3b
Avoid custom loglevels processing for lager
2013-06-27 19:27:56 +10:00
Evgeniy Khramtsov
597934637c
Logger improvements.
...
lager:
* It is now possible to change the loglevel.
* Log rotation is now supported as well.
p1_logger:
* When rotating a log file, add suffix ".0" to the renamed file.
This is needed in order to be consistent with lager
rotation mechanism.
2013-06-27 19:03:33 +10:00
Evgeniy Khramtsov
aab70fc066
Fix external authentication
2013-06-26 12:30:32 +10:00
Christophe Romain
ae1af885ce
fix feature build on node disco#info
2013-06-25 14:49:22 +02:00
Badlop
9840b8395e
Fix previous commit
2013-06-25 13:46:21 +02:00
Badlop
b524e79f55
Normalize HTTP path (thanks to Justin Kirby)
2013-06-25 11:26:44 +02:00
Christophe Romain
277ba798fc
typo fix in spec
2013-06-24 22:38:15 +02:00
Christophe Romain
b07b820c4e
fix missing binarization switch on pep nodes
2013-06-24 19:56:27 +02:00
Christophe Romain
1cc76ebb68
cosmetic change
2013-06-24 19:56:14 +02:00
Christophe Romain
1cb03439f2
add missing list conversion
2013-06-24 18:05:42 +02:00
Christophe Romain
3976351c4d
decode_jid always gets binary(), encode_jid lets mod_pubsub handle conversion
2013-06-24 18:04:42 +02:00
Christophe Romain
6bfa34e8e0
minor improvements and binary fix
2013-06-24 16:31:38 +02:00
Christophe Romain
4195259d47
typo fix, related to commit 9194872
2013-06-24 16:29:43 +02:00
Christophe Romain
95546ac20d
remove obsolete node attribute
2013-06-24 13:55:30 +02:00
Christophe Romain
0e28e4b600
Merge branch 'master' of github.com:processone/ejabberd
2013-06-24 13:46:44 +02:00
Christophe Romain
831ae2927a
change default PEP config for simpler setup (EJAB-1494)
2013-06-24 13:46:27 +02:00
Christophe Romain
91948729e9
remove need of extra _odbc in pubsub plugin name
2013-06-24 13:43:11 +02:00
Christophe Romain
222a94300b
fix decode function for binaryzed data
2013-06-24 13:42:34 +02:00
Evgeniy Khramtsov
f9390f3e9a
Fix some dialyzer warnings
2013-06-24 20:04:56 +10:00
Evgeniy Khramtsov
7b07c2a9b2
Improve the type spec
2013-06-24 13:15:07 +10:00
Evgeniy Khramtsov
521bae7fa0
Get rid of useless clause
2013-06-24 13:13:43 +10:00
Evgeniy Khramtsov
a3354f5dc4
Do not generate LDAP's ASN.1 code when compiling ejabberd.
...
We need ASN.1 codec to decode messages into binaries, so we
fixed generated ELDAPv3.erl. A better solution is needed to be found.
2013-06-22 03:27:59 +10:00
Badlop
109ed1a8b1
According to XEP-0045, a MUC member is allowed to retrieve the members list
2013-06-21 11:43:23 +02:00
Christophe Romain
0c60718bef
fix empty itemid on publish when passing Access
2013-06-20 17:51:07 +02:00
Christophe Romain
4221d56c04
fix pubsub issue on binary switch
2013-06-20 17:07:40 +02:00
Evgeniy Khramtsov
4dc80dddd4
Fix all calls to functions of p1_tls application
2013-06-20 18:40:44 +10:00
Evgeniy Khramtsov
89c3cf3677
Shutdown rooms before starting test cases
2013-06-19 21:46:22 +10:00
Jerome Sautret
fedea8bca0
Added missing license and copyright headers.
2013-06-18 16:56:29 +02:00
Christophe Romain
c030e8e136
sync pubsub_odbc with last fix
2013-06-18 12:23:32 +02:00
Evgeniy Khramtsov
8ea41718ac
Fix node auto-creation
2013-06-18 04:11:54 +10:00
Christophe Romain
20598c7be4
sync and cleanup pubsub_odbc
2013-06-17 16:34:21 +02:00
Christophe Romain
08fc6df853
fix auto-create issue due to bad binary matching
2013-06-17 16:30:20 +02:00
Alexey Shchepin
62fb432e3e
Fixed broadcast messages handling
2013-06-17 16:41:02 +03:00
Alexey Shchepin
862a08e9eb
Fixed conversion to ezlib
2013-06-17 16:33:25 +03:00
Evgeniy Khramtsov
0baf4e6088
Advertise privacy lists support via disco#info
2013-06-17 16:10:30 +03:00
Evgeniy Khramtsov
7865c6a146
Don't include sub-elements in IQ results where it's not required
...
by the corresponding spec (RFC or XEP).
2013-06-17 16:09:54 +03:00
Evgeniy Khramtsov
b50a4948ed
Fix the error report of an incorrect certfile
2013-06-17 16:04:43 +03:00
Badlop
243d24015c
Remove old obsolete R14 code
2013-06-14 16:18:22 +02:00
Badlop
4c445b37fd
In frontends, if result is in binary then convert to string
2013-06-14 16:08:47 +02:00
Paweł Chmielowski
f6e39f64e2
Make ejabberd_ctl not die for ejabberd_commands with binary arguments
2013-06-14 16:08:02 +02:00
Christophe Romain
26b815f52d
cosmetic changes, move badly placed comments
2013-06-14 00:04:25 +02:00
Evgeniy Khramtsov
4d8f770624
Switch to rebar build tool
...
Use dynamic Rebar configuration
Make iconv dependency optional
Disable transient_supervisors compile option
Add hipe compilation support
Only compile ibrowse and lhttpc when needed
Make it possible to generate an OTP application release
Add --enable-debug compile option
Add --enable-all compiler option
Add --enable-tools configure option
Add --with-erlang configure option.
Add --enable-erlang-version-check configure option.
Add lager support
Improve the test suite
2013-06-13 11:11:02 +02:00
Badlop
0080f1f308
Detect correctly newer Darwin versions (EJAB-1594)
2013-06-06 12:24:18 +02:00
Christophe Romain
58e769d68f
fix getting ServerHost from Host due to binary portage (EJAB-1638)
2013-06-06 11:32:52 +02:00
Christophe Romain
c8cba04f05
access_createnode acl also applies to auto created nodes ported to pubsub_odbc
2013-06-06 11:11:37 +02:00
Badlop
d1e1191793
Handle multiple < and > in mod_muc_log plaintext mode (EJAB-1640)
2013-05-31 13:23:08 +02:00