Evgeniy Khramtsov [Mon, 2 Jun 2014 06:16:08 +0000 (10:16 +0400)]
Rename option 'route' to 'record_route' and add new option 'routes'
Evgeniy Khramtsov [Sun, 1 Jun 2014 10:20:09 +0000 (14:20 +0400)]
Add global static shared_key option
Evgeniy Khramtsov [Sun, 1 Jun 2014 09:34:51 +0000 (13:34 +0400)]
Sign 'Record-Route' in order to proxy unauthorized ACKs
Evgeniy Khramtsov [Sat, 31 May 2014 10:21:29 +0000 (14:21 +0400)]
Fix 'via' option lookup
Evgeniy Khramtsov [Sat, 31 May 2014 10:20:38 +0000 (14:20 +0400)]
Add new option: route
Evgeny Khramtsov [Sat, 31 May 2014 08:53:18 +0000 (12:53 +0400)]
Merge pull request #229 from weiss/no-carbons-to-sender
XEP-0280: Don't send v1 carbon copies back to the sender
Evgeniy Khramtsov [Sat, 31 May 2014 06:00:27 +0000 (10:00 +0400)]
Don't add 'Record-Route' header for mid-dialog requests
Evgeniy Khramtsov [Sat, 31 May 2014 05:06:28 +0000 (09:06 +0400)]
Process bindings from multiple UACs correctly
Evgeniy Khramtsov [Sat, 31 May 2014 03:49:51 +0000 (07:49 +0400)]
Don't substitute URI in ACK
Holger Weiss [Fri, 30 May 2014 21:44:19 +0000 (23:44 +0200)]
Simplify mod_carboncopy:check_and_forward/4
Use the existing is_carbon_copy/1 function, and combine multiple case
clauses into a single one.
Holger Weiss [Fri, 30 May 2014 21:36:02 +0000 (23:36 +0200)]
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.
Holger Weiss [Fri, 30 May 2014 21:32:18 +0000 (23:32 +0200)]
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.
Evgeniy Khramtsov [Fri, 30 May 2014 19:49:34 +0000 (23:49 +0400)]
Fix previous commit
Evgeniy Khramtsov [Fri, 30 May 2014 19:11:46 +0000 (23:11 +0400)]
Process 'Contact' headers more accurately (as per RFC3261)
Evgeny Khramtsov [Thu, 29 May 2014 15:19:05 +0000 (19:19 +0400)]
Merge pull request #228 from weiss/turn-down-carbons-logging
Log just one [info] message on successful XEP-0280 negotiation
Holger Weiss [Thu, 29 May 2014 13:21:11 +0000 (15:21 +0200)]
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].
Evgeny Khramtsov [Wed, 28 May 2014 09:43:29 +0000 (13:43 +0400)]
Merge pull request #227 from weiss/xep-0198
XEP-0198: Cosmetic change: Reuse event handler
Holger Weiss [Wed, 28 May 2014 09:24:38 +0000 (11:24 +0200)]
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.
Evgeny Khramtsov [Wed, 28 May 2014 09:18:12 +0000 (13:18 +0400)]
Merge pull request #206 from weiss/xep-0198
XEP-0198: Terminate session if stanza queue becomes too large
Holger Weiss [Tue, 27 May 2014 20:56:33 +0000 (22:56 +0200)]
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.
Evgeny Khramtsov [Tue, 27 May 2014 19:30:30 +0000 (23:30 +0400)]
Merge pull request #226 from weiss/simplify-state-change
XEP-0198: Cosmetic change: Simplify state change
Evgeny Khramtsov [Tue, 27 May 2014 19:27:16 +0000 (23:27 +0400)]
Merge pull request #225 from weiss/use-fsm-next-state
Let ejabberd_c2s always use fsm_next_state/2
Holger Weiss [Tue, 27 May 2014 19:14:49 +0000 (21:14 +0200)]
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.
Holger Weiss [Tue, 27 May 2014 19:07:53 +0000 (21:07 +0200)]
Let ejabberd_c2s always use fsm_next_state/2
Make sure any logic implemented in ejabberd_c2s:fsm_next_state/2 is
always applied.
Evgeny Khramtsov [Tue, 27 May 2014 11:44:04 +0000 (15:44 +0400)]
Merge pull request #220 from weiss/handle-send-failure
XEP-0198: Don't exit on socket send failure
Evgeny Khramtsov [Tue, 27 May 2014 11:38:26 +0000 (15:38 +0400)]
Merge pull request #222 from weiss/keep-session-on-failed-resume
XEP-0198: Don't drop session on failed resume
Evgeny Khramtsov [Tue, 27 May 2014 11:34:34 +0000 (15:34 +0400)]
Merge pull request #221 from weiss/omit-redundant-guard
XEP-0198: Cosmetic change: Omit redundant guard
Evgeny Khramtsov [Tue, 27 May 2014 11:32:02 +0000 (15:32 +0400)]
Merge pull request #218 from weiss/omit-iq-xmlns
Omit XML namespace declaration for <iq/> stanzas
Evgeniy Khramtsov [Tue, 27 May 2014 11:27:23 +0000 (15:27 +0400)]
Fix odbc_port option processing
Evgeniy Khramtsov [Mon, 26 May 2014 15:43:15 +0000 (19:43 +0400)]
Don't forget to include 'Contact' header field in 2xx registrar responses
Christophe Romain [Sun, 25 May 2014 11:02:25 +0000 (13:02 +0200)]
don't stop make install if epam is not compiled
Christophe Romain [Sun, 25 May 2014 00:31:28 +0000 (02:31 +0200)]
install epam binary when available
Holger Weiss [Fri, 23 May 2014 21:38:04 +0000 (23:38 +0200)]
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.
Holger Weiss [Fri, 23 May 2014 18:46:17 +0000 (20:46 +0200)]
XEP-0198: Cosmetic change: Omit redundant guard
The stream management state is never 'pending' when the c2s FSM is in
the 'session_established' state.
Evgeniy Khramtsov [Fri, 23 May 2014 16:13:31 +0000 (20:13 +0400)]
Fix proxying of ACK requests for 2xx responses
Holger Weiss [Fri, 23 May 2014 09:38:54 +0000 (11:38 +0200)]
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.
Badlop [Wed, 21 May 2014 16:45:43 +0000 (18:45 +0200)]
Merge branch 'weiss-check-packet-type' into 3
Badlop [Wed, 21 May 2014 16:45:28 +0000 (18:45 +0200)]
Merge branch 'check-packet-type' of git://github.com/weiss/ejabberd into weiss-check-packet-type
Conflicts:
src/ejabberd_c2s.erl
badlop [Wed, 21 May 2014 15:35:54 +0000 (17:35 +0200)]
Merge pull request #217 from weiss/fix-extauth-cache-usage
Don't use cached passwords if "extauth_cache: 0"
badlop [Wed, 21 May 2014 15:35:24 +0000 (17:35 +0200)]
Merge pull request #216 from lavrin/p1-c2s
Cleanup some pieces of ejabberd_c2s
badlop [Wed, 21 May 2014 15:33:56 +0000 (17:33 +0200)]
Merge pull request #215 from weiss/fix-url-markup
Fix URL markup in the guide
badlop [Wed, 21 May 2014 15:31:49 +0000 (17:31 +0200)]
Merge pull request #208 from weiss/update-travis-config
Travis CI: Remove unnecessary configure flag
badlop [Wed, 21 May 2014 15:31:22 +0000 (17:31 +0200)]
Merge pull request #207 from weiss/xep-0334
Honor XEP-0334: Message Processing Hints
Holger Weiss [Tue, 20 May 2014 22:07:57 +0000 (00:07 +0200)]
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.
Holger Weiss [Tue, 20 May 2014 21:00:28 +0000 (23:00 +0200)]
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.
Badlop [Tue, 20 May 2014 12:49:52 +0000 (14:49 +0200)]
If log uses file:write, no need to double escape ~ in messages (EJAB-1696)
Radosław Szymczyszyn [Tue, 20 May 2014 11:30:52 +0000 (12:30 +0100)]
Fix check_from/2 formatting
Radosław Szymczyszyn [Tue, 20 May 2014 11:27:16 +0000 (12:27 +0100)]
Sanitize copy-pasted get_statustag/1
Radosław Szymczyszyn [Tue, 20 May 2014 10:54:49 +0000 (11:54 +0100)]
Fix formatting
Radosław Szymczyszyn [Tue, 20 May 2014 10:52:02 +0000 (11:52 +0100)]
Build proceed/compressed elements in a sane way
Holger Weiss [Mon, 19 May 2014 22:24:34 +0000 (00:24 +0200)]
Fix URL markup in the guide
Badlop [Mon, 19 May 2014 17:07:46 +0000 (19:07 +0200)]
MUC messages with ~ were not logged (EJAB-1696)
badlop [Mon, 19 May 2014 09:46:37 +0000 (11:46 +0200)]
Merge pull request #213 from weiss/fix-xmlrcp-doc-url
Update ejabberd_xmlrpc documentation URL in the guide
Holger Weiss [Wed, 14 May 2014 20:39:19 +0000 (22:39 +0200)]
Update ejabberd_xmlrpc documentation URL
Badlop [Wed, 14 May 2014 11:28:39 +0000 (13:28 +0200)]
Fix bug when joining empty path
Evgeny Khramtsov [Wed, 14 May 2014 04:06:40 +0000 (08:06 +0400)]
Merge pull request #212 from weiss/fix-presence-updates
Don't miss incoming presence updates
Holger Weiss [Tue, 13 May 2014 23:04:38 +0000 (01:04 +0200)]
Don't miss incoming presence updates
Holger Weiss [Mon, 12 May 2014 17:20:25 +0000 (19:20 +0200)]
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.
badlop [Mon, 12 May 2014 10:55:15 +0000 (12:55 +0200)]
Merge pull request #209 from weiss/rename-disconnect-user
Rename disconnect_user/2 command
Holger Weiss [Mon, 12 May 2014 10:44:40 +0000 (12:44 +0200)]
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.
Holger Weiss [Mon, 12 May 2014 08:28:02 +0000 (10:28 +0200)]
Travis CI: Remove unnecessary configure flag
The test suite no longer fails without --enable-transient_supervisors.
Holger Weiss [Sun, 11 May 2014 22:27:20 +0000 (00:27 +0200)]
Don't log MUC messages with <no-store/> hint
Honor the <no-store/> and <no-permanent-store/> hints defined in
XEP-0334.
Holger Weiss [Sun, 11 May 2014 22:00:34 +0000 (00:00 +0200)]
Don't store messages with <no-store/> hint
Honor the <no-store/> hint defined in XEP-0334.
Holger Weiss [Sun, 11 May 2014 21:52:20 +0000 (23:52 +0200)]
Don't carbon copy messages with <no-copy/> hint
Honor the <no-copy/> hint defined in XEP-0334.
Evgeny Khramtsov [Fri, 9 May 2014 20:05:17 +0000 (00:05 +0400)]
Merge pull request #205 from weiss/xep-0198
XEP-0198: Improve handling of incorrect stanza counts reported by client
Evgeniy Khramtsov [Wed, 13 Nov 2013 10:40:56 +0000 (20:40 +1000)]
Do not try to retreive vCards via local SM for foreign JIDs
Holger Weiss [Fri, 9 May 2014 16:28:14 +0000 (18:28 +0200)]
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.
Holger Weiss [Fri, 9 May 2014 16:01:31 +0000 (18:01 +0200)]
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.
Holger Weiss [Fri, 9 May 2014 15:54:12 +0000 (17:54 +0200)]
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.
Evgeniy Khramtsov [Thu, 8 May 2014 17:47:50 +0000 (21:47 +0400)]
Fix previous commit (C2S session close on server shutdown)
Evgeniy Khramtsov [Thu, 8 May 2014 17:40:14 +0000 (21:40 +0400)]
Merge branch 'master' of github.com:processone/ejabberd
Evgeniy Khramtsov [Thu, 8 May 2014 17:28:12 +0000 (21:28 +0400)]
Fix C2S session close on server shutdown
Badlop [Thu, 8 May 2014 15:58:25 +0000 (17:58 +0200)]
Recompile the Guide
Evgeniy Khramtsov [Thu, 8 May 2014 12:08:07 +0000 (16:08 +0400)]
TURN support (EJAB-1017)
Evgeny Khramtsov [Thu, 8 May 2014 06:02:27 +0000 (10:02 +0400)]
Merge pull request #203 from hamano/added_get_random_pid_error_handling
improve error handling when sql calling with (empty|unknown) host.
Evgeny Khramtsov [Wed, 7 May 2014 16:57:59 +0000 (20:57 +0400)]
Merge pull request #180 from hamano/mysql_table
added privacy_list_data index for mysql database.
Badlop [Wed, 7 May 2014 15:13:51 +0000 (17:13 +0200)]
Webadmin with extauth requires internal to run at least once (issue #201)
badlop [Wed, 7 May 2014 14:49:31 +0000 (16:49 +0200)]
Merge pull request #200 from hamano/mod_offline_bug
fix mod_offline:count_offline_messages/2
HAMANO Tsukasa [Wed, 7 May 2014 06:38:18 +0000 (15:38 +0900)]
fix mod_offline:count_offline_messages/2
Evgeniy Khramtsov [Tue, 6 May 2014 21:05:07 +0000 (01:05 +0400)]
Revert "Document that ejabberd compilation requires pkg-config"
This reverts commit
bd0060715ec776c6417422ca4aebea853cfa82e1.
Evgeny Khramtsov [Tue, 6 May 2014 19:50:49 +0000 (23:50 +0400)]
Merge pull request #166 from weiss/xep-0198
Add support for XEP-0198: Stream Management
Holger Weiss [Tue, 6 May 2014 19:41:29 +0000 (21:41 +0200)]
Merge remote-tracking branch 'processone/master' into xep-0198
Conflicts:
doc/guide.tex
src/ejabberd_c2s.erl
Christophe Romain [Tue, 6 May 2014 11:29:35 +0000 (13:29 +0200)]
Fix PEP broadcasting issue on ODBC (EJAB-1680)
Christophe Romain [Tue, 6 May 2014 10:37:44 +0000 (12:37 +0200)]
Fix PEP broadcasting issue (EJAB-1680)
Evgeny Khramtsov [Tue, 6 May 2014 09:13:56 +0000 (13:13 +0400)]
Merge pull request #198 from weiss/add-travis-support
Add Travis CI configuration file
Holger Weiss [Tue, 6 May 2014 05:27:10 +0000 (07:27 +0200)]
XEP-0198: Use "mgmt_" prefix for all #state fields
Prefix all ejabberd_c2s #state fields that are used for stream
management with "mgmt_".
Holger Weiss [Mon, 5 May 2014 20:42:15 +0000 (22:42 +0200)]
Add Travis CI configuration
Christophe Romain [Mon, 5 May 2014 16:42:49 +0000 (18:42 +0200)]
Merge branch 'master' of github.com:processone/ejabberd
Christophe Romain [Mon, 5 May 2014 16:16:48 +0000 (18:16 +0200)]
remove compilation warnings
Badlop [Mon, 5 May 2014 15:55:45 +0000 (17:55 +0200)]
Recompile the ejabberd Guide html
Christophe Romain [Mon, 5 May 2014 15:35:38 +0000 (17:35 +0200)]
avoid sending duplicated events
Christophe Romain [Mon, 5 May 2014 11:51:02 +0000 (13:51 +0200)]
avoid sending empty events
Badlop [Mon, 5 May 2014 15:46:52 +0000 (17:46 +0200)]
Document that ejabberd compilation requires pkg-config
Christophe Romain [Mon, 5 May 2014 11:49:02 +0000 (13:49 +0200)]
store item when persist_item=false and cache_last_item=false but need last_item
Evgeny Khramtsov [Mon, 5 May 2014 12:38:16 +0000 (16:38 +0400)]
Merge pull request #195 from Iperity/master
Fix small bug in presence_based_delivery implementation
Nathan Bruning [Mon, 5 May 2014 12:14:03 +0000 (14:14 +0200)]
Fix small bug in presence_based_delivery implementation
Badlop [Mon, 5 May 2014 11:50:52 +0000 (13:50 +0200)]
Temporary room not destroyed when the last participant is expulsed (EJAB-520)
Badlop [Mon, 5 May 2014 11:13:35 +0000 (13:13 +0200)]
extauth_cache can have value 0
Holger Weiss [Sun, 4 May 2014 23:11:14 +0000 (01:11 +0200)]
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.
Holger Weiss [Sun, 4 May 2014 22:02:55 +0000 (00:02 +0200)]
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.