25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-10-31 15:21:38 +01:00
Commit Graph

3035 Commits

Author SHA1 Message Date
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
Evgeniy Khramtsov
0c1796ea40 Fix potential case-clause crash 2011-09-05 17:27:15 +10:00
Evgeniy Khramtsov
826fab9999 Remove useless case clause 2011-09-05 17:12:45 +10:00
Evgeniy Khramtsov
3b95108a3a Replace VVALUEL macro with function in order to shut up the dialyzer 2011-09-05 17:09:36 +10:00
Evgeniy Khramtsov
ab2a298ebf Merge branch '2.1.x' of git+ssh://gitorious.process-one.net/ejabberd/mainline into 2.1.x 2011-09-05 16:53:10 +10:00
Evgeniy Khramtsov
8b5fa88b6f Export do_client_version/3 in order to shut up the dialyzer 2011-09-05 16:52:36 +10:00
Evgeniy Khramtsov
de712e5ccb Remove useless case clauses 2011-09-05 16:48:04 +10:00
Evgeniy Khramtsov
ffdf5cb206 Remove useless case clause 2011-09-05 16:47:18 +10:00
Evgeniy Khramtsov
f1a91108ef Correct some function clauses and value types 2011-09-05 16:31:58 +10:00
Evgeniy Khramtsov
ffe063a0e9 Get rid of useless code 2011-09-05 15:59:30 +10:00
Evgeniy Khramtsov
d74f02e367 ejabberd_auth:remove_user/2 always returns ok 2011-09-05 15:39:55 +10:00
Evgeniy Khramtsov
0da2107974 Fix some case clauses 2011-09-05 15:35:46 +10:00
Evgeniy Khramtsov
1994c8a174 Change argument of open_port/2 to string in order to shut up the dialyzer 2011-09-05 15:28:14 +10:00
Evgeniy Khramtsov
2434be4803 Get rid of useless function clause 2011-09-05 15:13:54 +10:00
Evgeniy Khramtsov
b0b371d23a Get rid of useless function clause 2011-09-05 15:06:43 +10:00
Badlop
d6fcee4faa Replace calls of OTP's Binary, since they would require R14 2011-09-04 14:56:56 +02:00
Badlop
41d028d101 First check occupant existence, later check the message 2011-09-04 13:28:32 +02:00