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
Pablo Polvorin
1babae067d
Persist muc history on DB on server shutdown (EJABS-1733).
...
Ejabberd can be configured to store recent history of MUCs
to DB before shutdown. On restart, those messages are
retrieved from storage.
To enable it, set {persist_history, true} in mod_muc configuration,
ej:
{mod_muc, [
%%{host, "conference.@HOST@"},
{access, muc},
{access_create, muc_create},
{access_persistent, muc_create},
{access_admin, muc_admin},
{persist_history, true}
]},
Messages are only stored on server shutdown, not on the fly.
$ejabberdctl stop
or
init:stop()
inside a debug console works.
Note: Only rooms configured as "persistent" will save messages
(as other rooms doesn't survive server restart anyway).
Limitations: There is no option to store messages on mnesia, you *must*
use a ODBC database. Only tested with mysql.
Check odbc/mysql.sql for the definition of the table "room_history",
the one needed for this.
2011-09-24 18:39:03 -03: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
Pablo Polvorin
3ae4797848
Command to moderate short term muc history (part of EJABS-1733)
...
ejabberdctl moderate_room_history test@conference.domain.com nick
removes from short term storage all messages on
room test@conference.domain.com from nick "nick", so new user
joining the room don't get these ones.
Return the number of messages removed.
2011-09-19 15:43:20 -03: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
86f0a9790d
Do not crash on sync_send_all_state_event errors (part of EJABS-1708)
2011-09-16 16:44:24 +10:00
Evgeniy Khramtsov
54acf9bde4
Do not send <success/> twice when SCRAM-SHA-1 is used.
...
This is a merge bug actually
2011-09-15 19:24:41 +10:00
Evgeniy Khramtsov
2494e39c9e
Fix dialyzer warnings
2011-09-15 16:59:45 +10:00
Evgeniy Khramtsov
8f27a697c0
Only use hash route-balancing when MUC is broadcasted
2011-09-15 08:52:22 +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
c9a712a16a
Implement MUC rooms load distribution (TECH-1351).
...
Configuration example:
{domain_balancing, "conference.domain.com", broadcast}.
NOTE: both ejabberd_router and mod_muc use the option.
2011-09-14 17:43:07 +10:00
Evgeniy Khramtsov
d6e81ac06b
Add new domain_balancing criteria: broadcast
2011-09-14 17:40:06 +10: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
Evgeniy Khramtsov
f3c90ee266
Get rid of useless check
2011-09-05 21:06:18 +10:00
Evgeniy Khramtsov
2482c9c5ed
Merge set_affiliation/3 and set_affiliation_and_reason/4 into set_affiliation/4
2011-09-05 20:53:01 +10:00
Badlop
da555fb908
Fix SCRAM auth of uppercase passwords (EJAB-1196)
2011-09-05 12:50:24 +02:00
Evgeniy Khramtsov
7ae7d6315f
Remove useless clauses
2011-09-05 18:07:50 +10:00
Evgeniy Khramtsov
eccb499346
Add some magic in order to shut up the dialyzer (because I do not want to replace the macro with a function)
2011-09-05 17:33:51 +10:00