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
Badlop
cb9aecf35e
ejabberdctl doesn't support parameters with blankspaces (EJAB-1458)
...
Revert "Escape output from ctlexec() to erl script (thanks to Dan Scott)(EJAB-1399)"
This reverts commit 6dea2d2307
.
2011-09-22 16:18:04 +02:00
Christophe Romain
d5b4d67858
Fix Denial of Service when user sends malformed publish stanza (thanks to Oleg Smirnov) (EJAB-1498)
2011-09-21 14:39:50 +02:00
Badlop
9f4ae07100
added svg mimetype to default content types (thanks to Markus Kohlhase)
2011-09-20 16:50:22 +02:00
Badlop
32fc36b17d
Add support for @online@ to add_user_to_group
2011-09-20 16:44:51 +02:00
Evgeniy Khramtsov
33766a124d
New option support: ldap_deref_aliases (EJAB-639)
2011-09-19 16:58:55 +10:00
Evgeniy Khramtsov
ede8d57373
Fix dialyzer warnings
2011-09-17 10:48:52 +10:00
Evgeniy Khramtsov
2494e39c9e
Fix dialyzer warnings
2011-09-15 16:59:45 +10:00
Badlop
07fdd089a0
No need to explicitly skip old useless tables, simply fix keep_tables
2011-09-14 12:15:53 +02:00
Evgeniy Khramtsov
228a587fc5
Fix previous commit
2011-09-09 12:40:07 +10:00
Evgeniy Khramtsov
e432ff58f9
Avoid crash when performing admin action
2011-09-09 12:34:06 +10:00
Badlop
b8969f68e0
Fixed support for multi-resource occupants (EJAB-305)
2011-09-08 16:10:38 +02:00
Badlop
dbb2d1c229
Fix room config change logging, due to allow_private_messages_from_visitors
2011-09-08 12:34:25 +02:00
Badlop
609b7ed5c5
Support to import XML files without password-format attribute
2011-09-08 11:41:45 +02:00
Badlop
3eca0259f7
Clarification about system user of ejabberd.init
2011-09-06 13:39:43 +02:00
Badlop
20f3fc96c3
Fix SCRAM to support attributes which value has only one character
2011-09-05 23:21:38 +02:00
Badlop
76a174a007
Fix typo in the Guide about user_regexp
2011-09-05 19:24:05 +02:00
Evgeniy Khramtsov
0fde148a9f
Fix dialyzer warnings
2011-09-05 22:00:50 +10:00
Evgeniy Khramtsov
6b0eb1f09d
Reorganize the code to shut up the dialyzer
2011-09-05 21:27:31 +10:00