Evgeniy Khramtsov
2270df86d9
Use queue instead of a list in order to avoid O(N) complexity
2011-10-18 15:34:11 +10:00
Pablo Polvorin
a04131c6d7
Bugfix: room history and NO_TRANSIENT_SUPERVISORS option
...
Fix bug that prevent ejabberd to Save room history to DB
when using the NO_TRANSIENT_SUPERVISORS compiler option.
2011-10-14 11:30:34 +02:00
Evgeniy Khramtsov
e5830253b9
New BOSH option: dont_concat (EJABS-1688)
2011-10-14 15:57:15 +10:00
Evgeniy Khramtsov
b7a07087d1
Fix merge conflict
2011-09-30 22:44:44 +10:00
Christophe Romain
adf56dedf3
fix merge conflicts from 2.1.9
2011-09-30 14:28:40 +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
Christophe Romain
6bfd8b8e9a
update the pubsub_odbc patch
2011-09-26 16:35:31 +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
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