From 701f053b5ec129a48f021f59450f37acf56a2529 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Sep 09 2009 10:45:20 +0000 Subject: Fixed couple of possible issues and added several patches from Debian --- diff --git a/ejabberd-decrease_buffers_in_mod_proxy65.patch b/ejabberd-decrease_buffers_in_mod_proxy65.patch new file mode 100644 index 0000000..2bcb135 --- /dev/null +++ b/ejabberd-decrease_buffers_in_mod_proxy65.patch @@ -0,0 +1,18 @@ +Patch by Evgeniy Khramtsov decreases proxy65 buffer sizes (size 65535 is known +to confuse users with tight shapers). + +Index: src/mod_proxy65/mod_proxy65_stream.erl +=================================================================== +--- src/mod_proxy65/mod_proxy65_stream.erl 2009-04-01 17:23:51.000000000 +0200 ++++ src/mod_proxy65/mod_proxy65_stream.erl 2009-04-05 22:51:20.000000000 +0200 +@@ -89,8 +89,8 @@ + process_flag(trap_exit, true), + AuthType = gen_mod:get_opt(auth_type, Opts, anonymous), + Shaper = gen_mod:get_opt(shaper, Opts, none), +- RecvBuf = gen_mod:get_opt(recbuf, Opts, 65535), +- SendBuf = gen_mod:get_opt(sndbuf, Opts, 65535), ++ RecvBuf = gen_mod:get_opt(recbuf, Opts, 8192), ++ SendBuf = gen_mod:get_opt(sndbuf, Opts, 8192), + TRef = erlang:send_after(?WAIT_TIMEOUT, self(), stop), + inet:setopts(Socket, [{active, true}, {recbuf, RecvBuf}, {sndbuf, SendBuf}]), + {ok, wait_for_init, #state{host = Host, diff --git a/ejabberd-fixed_delays_in_s2s.patch b/ejabberd-fixed_delays_in_s2s.patch new file mode 100644 index 0000000..0090ea7 --- /dev/null +++ b/ejabberd-fixed_delays_in_s2s.patch @@ -0,0 +1,42 @@ +Patch by Sergei Golovan increases timeouts in S2S and removes horrible 5-minute +delay between remote server connection attempts after a falure (in case of +server is down it would be reasonable, but what happens much more often is a +network split when the delay is inadmissible). + +Index: src/ejabberd_s2s_in.erl +=================================================================== +--- src/ejabberd_s2s_in.erl 2009-04-01 17:23:52.000000000 +0200 ++++ src/ejabberd_s2s_in.erl 2009-04-05 22:51:20.000000000 +0200 +@@ -352,7 +352,7 @@ + case {ejabberd_s2s:allow_host(To, From), + lists:member(LTo, ejabberd_router:dirty_get_all_domains())} of + {true, true} -> +- ejabberd_s2s_out:terminate_if_waiting_delay(To, From), ++ %%ejabberd_s2s_out:terminate_if_waiting_delay(To, From), + ejabberd_s2s_out:start(To, From, + {verify, self(), + Key, StateData#state.streamid}), +Index: src/ejabberd_s2s_out.erl +=================================================================== +--- src/ejabberd_s2s_out.erl 2009-04-01 17:23:51.000000000 +0200 ++++ src/ejabberd_s2s_out.erl 2009-04-05 22:51:20.000000000 +0200 +@@ -93,7 +93,7 @@ + %% Only change this value if you now what your are doing: + -define(FSMLIMITS,[]). + %% -define(FSMLIMITS, [{max_queue, 2000}]). +--define(FSMTIMEOUT, 30000). ++-define(FSMTIMEOUT, 60000). + + %% We do not block on send anymore. + -define(TCP_SEND_TIMEOUT, 15000). +@@ -227,8 +227,8 @@ + {error, _Reason} -> + ?INFO_MSG("s2s connection: ~s -> ~s (remote server not found)", + [StateData#state.myname, StateData#state.server]), +- wait_before_reconnect(StateData) +- %%{stop, normal, StateData} ++ %%wait_before_reconnect(StateData) ++ {stop, normal, StateData} + end; + open_socket(stop, StateData) -> + ?INFO_MSG("s2s connection: ~s -> ~s (stopped in open socket)", diff --git a/ejabberd-mod_ctlextra_mentioning_in_ejabberd_app.diff b/ejabberd-mod_ctlextra_mentioning_in_ejabberd_app.diff new file mode 100644 index 0000000..1abb948 --- /dev/null +++ b/ejabberd-mod_ctlextra_mentioning_in_ejabberd_app.diff @@ -0,0 +1,12 @@ +Index: src/ejabberd.app +=================================================================== +--- src/ejabberd.app 2009-04-01 17:23:51.000000000 +0200 ++++ src/ejabberd.app 2009-04-05 22:51:20.000000000 +0200 +@@ -70,6 +70,7 @@ + mod_caps, + mod_configure2, + mod_configure, ++ mod_ctlextra, + mod_disco, + mod_echo, + mod_http_bind, diff --git a/ejabberd-turn_off_error_messages_in_mod_caps.patch b/ejabberd-turn_off_error_messages_in_mod_caps.patch new file mode 100644 index 0000000..dd722ad --- /dev/null +++ b/ejabberd-turn_off_error_messages_in_mod_caps.patch @@ -0,0 +1,24 @@ +Patch by Sergei Golovan turns unnecessary error messages into debug messages. + +Index: src/mod_caps.erl +=================================================================== +--- src/mod_caps.erl 2009-04-01 17:23:51.000000000 +0200 ++++ src/mod_caps.erl 2009-04-05 22:51:20.000000000 +0200 +@@ -301,7 +301,7 @@ + end), + gen_server:cast(self(), visit_feature_queries); + error -> +- ?ERROR_MSG("ID '~s' matches no query", [ID]) ++ ?DEBUG("ID '~s' matches no query", [ID]) + end; + {error, _} -> + %% XXX: if we get error, we cache empty feature not to probe the client continuously +@@ -315,7 +315,7 @@ + end), + gen_server:cast(self(), visit_feature_queries); + error -> +- ?ERROR_MSG("ID '~s' matches no query", [ID]) ++ ?DEBUG("ID '~s' matches no query", [ID]) + end; + %gen_server:cast(self(), visit_feature_queries), + %?DEBUG("Error IQ reponse from ~s:~n~p", [jlib:jid_to_string(From), SubEls]); diff --git a/ejabberd.logrotate b/ejabberd.logrotate index 20fffc8..9fff8e1 100644 --- a/ejabberd.logrotate +++ b/ejabberd.logrotate @@ -4,6 +4,6 @@ create 0640 ejabberd ejabberd sharedscripts postrotate - runuser -s /bin/bash - ejabberd -c "erl -pa @libdir@/ejabberd/ebin -noinput -sname ejabberdctl -s ejabberd_ctl -extra ejabberd@`hostname -s` reopen-log" >/dev/null 2>/dev/null || true + runuser -s /bin/bash - ejabberd -c "/usr/sbin/ejabberdctl reopen-log" >/dev/null 2>/dev/null || true endscript } diff --git a/ejabberd.spec b/ejabberd.spec index e11149f..4bcfc2b 100644 --- a/ejabberd.spec +++ b/ejabberd.spec @@ -1,6 +1,6 @@ Name: ejabberd Version: 2.0.5 -Release: 7%{?dist} +Release: 8%{?dist} Summary: A distributed, fault-tolerant Jabber/XMPP server Group: Applications/Internet @@ -34,6 +34,14 @@ Patch3: ejabberd-ejabberd_cfg_pam_name.diff # CAPTCHA support, see https://support.process-one.net/doc/display/XAAI/Fighting+Multi-User+Chat+SPAM+with+CAPTCHA # wget https://support.process-one.net/secure/attachment/13851/XEP-0158_ejabberd-2.0.4.patch -O ejabberd-captcha.patch Patch4: ejabberd-captcha.patch +# Mention mod_ctlextra as an ejabberd module +Patch5: ejabberd-mod_ctlextra_mentioning_in_ejabberd_app.diff +# Turn off unnecessary error messages in mod_caps (backport from upstream) +Patch6: ejabberd-turn_off_error_messages_in_mod_caps.patch +# Decrease mod_proxy65 send/receive buffers (backport from upstream) +Patch7: ejabberd-decrease_buffers_in_mod_proxy65.patch +# fixed delays in s2s connections +Patch8: ejabberd-fixed_delays_in_s2s.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -84,8 +92,8 @@ Documentation for ejabberd. if [ ! -f ejabberd.pem ] then echo "Generating SSL certificate /etc/ejabberd/ejabberd.pem..." - HOSTNAME=$(hostname -s) - DOMAINNAME=$(hostname -d) + HOSTNAME=$(hostname -s 2>/dev/null || echo "localhost") + DOMAINNAME=$(hostname -d 2>/dev/null || echo "localdomain") openssl req -new -x509 -days 365 -nodes -out ejabberd.pem \ -keyout ejabberd.pem > /dev/null 2>&1 <<+++ . @@ -117,6 +125,11 @@ fi %patch2 -p0 -b .fix_ctl %patch3 -p0 -b .pam_name %patch4 -p1 -b .captcha +%patch5 -p0 -b .mod_ctlextra +%patch6 -p0 -b .error_msg +%patch7 -p0 -b .decrease_buffers +%patch8 -p0 -b .s2s + dos2unix src/odbc/mssql.sql cp %{S:4} src @@ -218,6 +231,11 @@ rm -rf %{buildroot} %endif %changelog +* Wed Sep 9 2009 Peter Lemenkov 2.0.5-8 +- Fixed possible issue in the config file for logrotate +- Fixed possible issue while creating dummy certificate +- Added patches #5,6,7,8 from Debian + * Thu Aug 27 2009 Tomas Mraz - 2.0.5-7 - rebuilt with new openssl diff --git a/import.log b/import.log index 139da9b..0bfc074 100644 --- a/import.log +++ b/import.log @@ -10,3 +10,4 @@ ejabberd-2_0_5-1_fc10:HEAD:ejabberd-2.0.5-1.fc10.src.rpm:1238789339 ejabberd-2_0_5-2_fc10:HEAD:ejabberd-2.0.5-2.fc10.src.rpm:1238819481 ejabberd-2_0_5-3_fc10:HEAD:ejabberd-2.0.5-3.fc10.src.rpm:1240304532 ejabberd-2_0_5-6_fc11:HEAD:ejabberd-2.0.5-6.fc11.src.rpm:1251228870 +ejabberd-2_0_5-8_fc11:HEAD:ejabberd-2.0.5-8.fc11.src.rpm:1252493017