Commit Graph

2756 Commits

Author SHA1 Message Date
Pablo Polvorin cf973f27bb Prevent overload of incomming s2s connections
Three changes were introduced:

1) ejabberd_s2s_in now uses p1_fsm instead of gen_fsm.  And uses
   the {max_queue, N} option to kill the process if its input
   queue grows too much.
2) If a ejabberd_s2s_in process is overload and killed, the server
   that originated that connection is not allowed to connect back
   to us for X seconds (set to 60seconds on the source)
3) The list of blocked (both statically and dynamically by the above
   method) host is now also checked for hosts authenticating by
   starttls+sasl. Previusly it was only used during dialback.
2011-12-02 15:30:20 -03:00
Pablo Polvorin 87df27109a Fix bug on s2s shaper when TLS is used
The shaper was not enabled if the remote server authenticates
using a certificate instead of dialback.
2011-12-01 13:16:21 -03:00
Christophe Romain 89e4e822bf add hooks for node creation/deletion (EJAB-1470) 2011-11-29 14:13:13 +01:00
Badlop b89d4c7476 Use httpc instead of the deprecated http 2011-11-26 17:20:06 +01:00
Badlop ee968b5573 Fix error in mod_vcard when lowercasing some vjud search result fields (EJAB-1490) 2011-11-26 17:08:17 +01:00
Badlop 1f97740cfa Avoid a possible race condition 2011-11-26 17:03:24 +01:00
Badlop 07cfc000ea Comment section 6.3.1 because it has no content at all 2011-11-15 16:46:00 +01:00
Evgeniy Khramtsov 944791e888 Fix presence problem after first unavailable (thanks to Christopher Faulet) (EJAB-1466) 2011-11-09 15:09:02 +10:00
Badlop 0656377165 Support to update modules in R14B04 and higher 2011-11-03 19:47:11 +01:00
Badlop 1a419972d2 Fix previous commit about language name 2011-10-20 16:28:53 +02:00
Badlop 98b150e1a4 Fix extraction of language name from PO files 2011-10-20 15:45:17 +02:00
Evgeniy Khramtsov 96800e9b75 Get rid of useless mnesia transaction (EJAB-1502) 2011-10-14 16:57:51 +10:00
Badlop c1d479f863 Set ejabberd version to 2.1.x 2011-10-13 17:56:19 +02:00
Badlop 4be7984a0e Update ejabberd version number to 2.1.9 2011-09-26 18:11:18 +02:00
Badlop 3b0b318730 New release notes for 2.1.9 2011-09-26 18:09:01 +02:00
Evgeniy Khramtsov 39bc499b10 Fix instruction and error text 2011-09-26 20:00:43 +10:00
Evgeniy Khramtsov de4d4a4bbb Change "muc#role" field type to "hidden" 2011-09-26 19:54:55 +10:00
Evgeniy Khramtsov 8631dd14e9 Correct lists:keysearch output processing and fix dialyzer warning 2011-09-26 19:06:34 +10:00
Evgeniy Khramtsov e7d12f4b9e Code cleanup 2011-09-26 18:44:41 +10:00
Maxim Ignatenko f17a531e15 Use treap correctly 2011-09-26 11:16:30 +03:00
Maxim Ignatenko ff57c8a58c Apply patch from Evgeniy Khramtsov 2011-09-26 11:16:30 +03:00
Maxim Ignatenko 499b884c67 Use treap for keeping last voice request timestamps 2011-09-26 11:16:29 +03:00
Maxim Ignatenko 0c261fb903 Fix voice request/approvement detection and extract_jid_from_voice_approvement/1 2011-09-26 11:16:29 +03:00
Maxim Ignatenko 322263fd5c Fix typo 2011-09-26 11:16:29 +03:00
Maxim Ignatenko 845f5cabec Fix patterns in check_voice_request_fields/2 and check_voice_approvement_fields/2 2011-09-26 11:16:29 +03:00
Maxim Ignatenko f919349173 Use more pattern-matching 2011-09-26 11:16:29 +03:00
Maxim Ignatenko a91ae03dc6 Remove try/catch 2011-09-26 11:16:29 +03:00
Maxim Ignatenko faed7698c2 Use pattern matching in check_voice_request_fields/2 and check_voice_approvement_fields/2 2011-09-26 11:16:29 +03:00
Maxim Ignatenko eb8347f92b Reverse arguments order for timer:now_diff/2 2011-09-26 11:16:29 +03:00
Maxim Ignatenko c53ffe6dc5 Fix return value inconsistency in last_voice_request_time/2 2011-09-26 11:16:29 +03:00
Maxim Ignatenko 7c8eab4f43 Use jlib:parse_xdata_submit/1 in is_voice_request/1 and is_voice_approvement/1 2011-09-26 11:16:29 +03:00
Maxim Ignatenko b1d8168dd3 Use bare JID as key in state.last_voice_request_time 2011-09-26 11:16:28 +03:00
Maxim Ignatenko c196c1f5e5 Use lists:foreach instead of lists:map in send_voice_request/2 2011-09-26 11:16:28 +03:00
Maxim Ignatenko 604563af76 Remove needless time conversions 2011-09-26 11:16:28 +03:00
Maxim Ignatenko 6848d3affe Ignore any extra elements in voice approvement form submission 2011-09-26 11:16:28 +03:00
Maxim Ignatenko 6708914e99 Add 2 room config options
- Allow voice requests?
 - Minimum interval between voice requests
2011-09-26 11:16:28 +03:00
Maxim Ignatenko 5921f9c506 Simple rate control
Visitor allowed to send new voice request only after specified amount of
time (or after rejoining).
2011-09-26 11:16:28 +03:00
Maxim Ignatenko 6193ed63b1 Voice approvement support 2011-09-26 11:16:28 +03:00
Maxim Ignatenko 18dd0d08cb Implement basic voice request processing logic.
No rate control or configuration for now
2011-09-26 11:16:28 +03:00
Maxim Ignatenko 8dd6f128bf Implement voice approvement detection and remove some debug code 2011-09-26 11:16:28 +03:00
Maxim Ignatenko 04267930de Fix form instructions 2011-09-26 11:16:27 +03:00
Maxim Ignatenko d83716dece Use ejabberd_router:route/3 directly, instead of send_packet_to/3 2011-09-26 11:16:27 +03:00
Maxim Ignatenko c77358bdc1 Use exception handling in is_invitation/1 2011-09-26 11:16:27 +03:00
Maxim Ignatenko 44987479a5 Fix exception handling in is_voice_request/1 2011-09-26 11:16:27 +03:00
Maxim Ignatenko 30d89abf66 Implemented sending voice request and fixed some bugs 2011-09-26 11:16:27 +03:00
Maxim Ignatenko f175be6b78 Add function for detecting voice requests 2011-09-26 11:16:27 +03:00
Maxim Ignatenko 2a41ca0628 More correct dispatching of normal messages to conference room
is_invitation/1 function returns true if <x> element of message is
an invitation
2011-09-26 11:16:27 +03:00
Janusz Dziemidowicz c4f9a050c9 Decrease CPU usage caused by tls:send with large data.
Sending one large chunk of data with tls:send eats lots of
CPU power and blocks whole Erlang emulator. This is caused by the
fact that encrypted output is read from memory BIO in 1k chunks.
Memory BIO, after reading data, shifts the remaining part.
If large chunks of data (few MB) is sent and then read in 1k
chunks, then a _lot_ of shifting is performed eating CPU.

The solution is to simply allocate binary of the needed size
(amount of data in memory BIO can be retrieved with
BIO_ctrl_pending) and then issue only one read that reads the
whole data.
2011-09-25 00:23:31 +02:00
Badlop 32ff6b56eb Fix mod_muc_log crash when first log entry is room being destroyed (EJAB-1499) 2011-09-23 17:00:50 +02:00
Christophe Romain 33c0ebb100 fix broken PEP after EJAB-1498 (thanks to Karim Gemayel) 2011-09-22 20:51:59 +02:00