rpms/ejabberd/F-13 ejabberd-0006-Support-to-authenticate-against-SASL-GSSAPI.patch, NONE, 1.1 ejabberd-0007-Change-directory-to-readable-by-everyone.patch, NONE, 1.1 ejabberd-0008-Install-.so-objects-with-0755-permissions.patch, NONE, 1.1 ejabberd-0009-Install-more-docs-by-default.patch, NONE, 1.1 ejabberd-0010-Install-COPYING-file-along-with-other-docs.patch, NONE, 1.1 .cvsignore, 1.18, 1.19 ejabberd-0001-Fix-PAM-service-example-name-to-match-actual-one.patch, 1.1, 1.2 ejabberd-0002-Mention-mod_ctlextra-as-an-ejabberd-module.patch, 1.1, 1.2 ejabberd-0003-Fixed-delays-in-s2s-connections.patch, 1.1, 1.2 ejabberd-0004-Introducing-mod_admin_extra.patch, 1.1, 1.2 ejabberd-0005-Fedora-specific-changes-to-ejabberdctl.patch, 1.1, 1.2 ejabberd.spec, 1.57, 1.58 import.log, 1.25, 1.26 sources, 1.20, 1.21 ejabberd-0006-Support-to-authenticate-against-SASL-GSSAPI-http-www.patch, 1.1, NONE ejabberd-0007-Fixed-typo.patch, 1.1, NONE ejabberd-0008-Quick-fix-for-error-nxdomain.patch, 1.1, NONE ejabberd-0009-Replace-MSG-with-DEBUG.patch, 1.1, NONE ejabberd-0010-Change-directory-to-readable-by-everyone-in-order-to.patch, 1.1, NONE

Peter Lemenkov peter at fedoraproject.org
Sat Jun 12 13:50:26 UTC 2010


Author: peter

Update of /cvs/pkgs/rpms/ejabberd/F-13
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv562/F-13

Modified Files:
	.cvsignore 
	ejabberd-0001-Fix-PAM-service-example-name-to-match-actual-one.patch 
	ejabberd-0002-Mention-mod_ctlextra-as-an-ejabberd-module.patch 
	ejabberd-0003-Fixed-delays-in-s2s-connections.patch 
	ejabberd-0004-Introducing-mod_admin_extra.patch 
	ejabberd-0005-Fedora-specific-changes-to-ejabberdctl.patch 
	ejabberd.spec import.log sources 
Added Files:
	ejabberd-0006-Support-to-authenticate-against-SASL-GSSAPI.patch 
	ejabberd-0007-Change-directory-to-readable-by-everyone.patch 
	ejabberd-0008-Install-.so-objects-with-0755-permissions.patch 
	ejabberd-0009-Install-more-docs-by-default.patch 
	ejabberd-0010-Install-COPYING-file-along-with-other-docs.patch 
Removed Files:
	ejabberd-0006-Support-to-authenticate-against-SASL-GSSAPI-http-www.patch 
	ejabberd-0007-Fixed-typo.patch 
	ejabberd-0008-Quick-fix-for-error-nxdomain.patch 
	ejabberd-0009-Replace-MSG-with-DEBUG.patch 
	ejabberd-0010-Change-directory-to-readable-by-everyone-in-order-to.patch 
Log Message:
Ver. 2.1.4

ejabberd-0006-Support-to-authenticate-against-SASL-GSSAPI.patch:
 cyrsasl.erl           |   34 ++++++-----
 cyrsasl_anonymous.erl |    6 +-
 cyrsasl_digest.erl    |    4 -
 cyrsasl_gssapi.erl    |  142 ++++++++++++++++++++++++++++++++++++++++++++++++++
 cyrsasl_plain.erl     |    5 +
 ejabberd.hrl          |    7 ++
 ejabberd_c2s.erl      |    8 ++
 ejabberd_net.erl      |   43 ++++++++++++++-
 8 files changed, 226 insertions(+), 23 deletions(-)

--- NEW FILE ejabberd-0006-Support-to-authenticate-against-SASL-GSSAPI.patch ---
>From 12008cf7b4072fd50273c94fc47db91280908491 Mon Sep 17 00:00:00 2001
From: Badlop <badlop at process-one.net>
Date: Tue, 29 Sep 2009 15:10:15 +0200
Subject: [PATCH 06/12] Support to authenticate against SASL GSSAPI.
 http://www.ejabberd.im/cyrsasl_gssapi

---
 src/cyrsasl.erl           |   34 ++++++-----
 src/cyrsasl_anonymous.erl |    6 +-
 src/cyrsasl_digest.erl    |    4 +-
 src/cyrsasl_gssapi.erl    |  142 +++++++++++++++++++++++++++++++++++++++++++++
 src/cyrsasl_plain.erl     |    5 +-
 src/ejabberd.hrl          |    7 ++
 src/ejabberd_c2s.erl      |    8 ++-
 src/ejabberd_net.erl      |   42 +++++++++++++
 8 files changed, 226 insertions(+), 22 deletions(-)
 create mode 100644 src/cyrsasl_gssapi.erl
 create mode 100644 src/ejabberd_net.erl

diff --git a/src/cyrsasl.erl b/src/cyrsasl.erl
index 121ef6d..192d5b5 100644
--- a/src/cyrsasl.erl
+++ b/src/cyrsasl.erl
@@ -30,19 +30,20 @@
 -export([start/0,
 	 register_mechanism/3,
 	 listmech/1,
-	 server_new/7,
+	 server_new/8,
 	 server_start/3,
 	 server_step/2]).
 
 -record(sasl_mechanism, {mechanism, module, require_plain_password}).
--record(sasl_state, {service, myname, realm,
-		     get_password, check_password, check_password_digest,
-		     mech_mod, mech_state}).
+-record(sasl_state, {service, myname,
+		     mech_mod, mech_state, ctx}).
+
+-include("ejabberd.hrl").
 
 -export([behaviour_info/1]).
 
 behaviour_info(callbacks) ->
-    [{mech_new, 4}, {mech_step, 2}];
+    [{mech_new, 1}, {mech_step, 2}];
 behaviour_info(_Other) ->
     undefined.
 
@@ -50,6 +51,7 @@ start() ->
     ets:new(sasl_mechanism, [named_table,
 			     public,
 			     {keypos, #sasl_mechanism.mechanism}]),
+    cyrsasl_gssapi:start([]),
     cyrsasl_plain:start([]),
     cyrsasl_digest:start([]),
     cyrsasl_anonymous:start([]),
@@ -113,24 +115,26 @@ listmech(Host) ->
     filter_anonymous(Host, Mechs).
 
 server_new(Service, ServerFQDN, UserRealm, _SecFlags,
-	   GetPassword, CheckPassword, CheckPasswordDigest) ->
+	   GetPassword, CheckPassword, CheckPasswordDigest, FQDN) ->
+    Ctx = #sasl_ctx{
+      host = ServerFQDN,
+      realm = UserRealm,
+      get_password = GetPassword,
+      check_password = CheckPassword,
+      check_password_digest= CheckPasswordDigest,
+      fqdn = FQDN
+     },
+     
     #sasl_state{service = Service,
 		myname = ServerFQDN,
-		realm = UserRealm,
-		get_password = GetPassword,
-		check_password = CheckPassword,
-		check_password_digest= CheckPasswordDigest}.
+		ctx = Ctx}.
 
 server_start(State, Mech, ClientIn) ->
     case lists:member(Mech, listmech(State#sasl_state.myname)) of
 	true ->
 	    case ets:lookup(sasl_mechanism, Mech) of
 		[#sasl_mechanism{module = Module}] ->
-		    {ok, MechState} = Module:mech_new(
-					State#sasl_state.myname,
-					State#sasl_state.get_password,
-					State#sasl_state.check_password,
-					State#sasl_state.check_password_digest),
+		    {ok, MechState} = Module:mech_new(State#sasl_state.ctx),
 		    server_step(State#sasl_state{mech_mod = Module,
 						 mech_state = MechState},
 				ClientIn);
diff --git a/src/cyrsasl_anonymous.erl b/src/cyrsasl_anonymous.erl
index 2b3ba36..ec75f40 100644
--- a/src/cyrsasl_anonymous.erl
+++ b/src/cyrsasl_anonymous.erl
@@ -27,12 +27,14 @@
 
 -module(cyrsasl_anonymous).
 
--export([start/1, stop/0, mech_new/4, mech_step/2]).
+-export([start/1, stop/0, mech_new/1, mech_step/2]).
 
 -behaviour(cyrsasl).
 
 -record(state, {server}).
 
+-include("ejabberd.hrl").
+
 start(_Opts) ->
     cyrsasl:register_mechanism("ANONYMOUS", ?MODULE, false),
     ok.
@@ -40,7 +42,7 @@ start(_Opts) ->
 stop() ->
     ok.
 
-mech_new(Host, _GetPassword, _CheckPassword, _CheckPasswordDigest) ->
+mech_new(#sasl_ctx{host=Host}) ->
     {ok, #state{server = Host}}.
 
 mech_step(State, _ClientIn) ->
diff --git a/src/cyrsasl_digest.erl b/src/cyrsasl_digest.erl
index 2a7ce2a..a354778 100644
--- a/src/cyrsasl_digest.erl
+++ b/src/cyrsasl_digest.erl
@@ -29,7 +29,7 @@
 
 -export([start/1,
 	 stop/0,
-	 mech_new/4,
+	 mech_new/1,
 	 mech_step/2]).
 
 -include("ejabberd.hrl").
@@ -45,7 +45,7 @@ start(_Opts) ->
 stop() ->
     ok.
 
-mech_new(Host, GetPassword, _CheckPassword, CheckPasswordDigest) ->
+mech_new(#sasl_ctx{host=Host, get_password=GetPassword, check_password_digest=CheckPasswordDigest}) ->
     {ok, #state{step = 1,
 		nonce = randoms:get_string(),
 		host = Host,
diff --git a/src/cyrsasl_gssapi.erl b/src/cyrsasl_gssapi.erl
new file mode 100644
index 0000000..24a3796
--- /dev/null
+++ b/src/cyrsasl_gssapi.erl
@@ -0,0 +1,142 @@
+%%%----------------------------------------------------------------------
+%%% File    : cyrsasl_gssapi.erl
+%%% Author  : Mikael Magnusson <mikma at users.sourceforge.net>
+%%% Purpose : GSSAPI SASL mechanism
+%%% Created : 1 June 2007 by Mikael Magnusson <mikma at users.sourceforge.net>
+%%% Id      : $Id: $
+%%%----------------------------------------------------------------------
+%%%
+%%% Copyright (C) 2007  Mikael Magnusson <mikma at users.sourceforge.net>
+%%%
+%%% Permission is hereby granted, free of charge, to any person
+%%% obtaining a copy of this software and associated documentation
+%%% files (the "Software"), to deal in the Software without
+%%% restriction, including without limitation the rights to use, copy,
+%%% modify, merge, publish, distribute, sublicense, and/or sell copies
+%%% of the Software, and to permit persons to whom the Software is
+%%% furnished to do so, subject to the following conditions:
+%%%
+%%% The above copyright notice and this permission notice shall be
+%%% included in all copies or substantial portions of the Software.
+%%%
+%%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+%%% EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+%%% MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+%%% NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+%%% BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+%%% ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+%%% CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+%%% SOFTWARE.
+%%%
+
+%%%
+%%% configuration options:
+%%% {sasl_realm, "<Kerberos realm>"}.
+%%%
+%%% environment variables:
+%%% KRB5_KTNAME
+%%%
+
+-module(cyrsasl_gssapi).
+-author('mikma at users.sourceforge.net').
+-vsn('$Revision: $ ').
+
+-include("ejabberd.hrl").
+
+-export([start/1,
+	 stop/0,
+	 mech_new/1,
+	 mech_step/2]).
+
+-behaviour(cyrsasl).
+
+-define(SERVER, cyrsasl_gssapi).
+
+-record(state, {sasl,
+		needsmore=true,
+		step=0,
+		host,
+		authid,
+		authzid,
+		authrealm}).
+
+start(_Opts) ->
+    ChildSpec =
+	{?SERVER,
+	 {esasl, start_link, [{local, ?SERVER}]},
+	 transient,
+	 1000,
+	 worker,
+	 [esasl]},
+
+    {ok, _Pid} = supervisor:start_child(ejabberd_sup, ChildSpec),
+
+    cyrsasl:register_mechanism("GSSAPI", ?MODULE, false).
+
+stop() ->
+    esasl:stop(?SERVER),
+    supervisor:terminate_child(ejabberd_sup, ?SERVER),
+    supervisor:delete_child(ejabberd_sup, ?SERVER).
+
+mech_new(#sasl_ctx{host=Host, fqdn=FQDN}) ->
+    ?DEBUG("mech_new ~p ~p~n", [Host, FQDN]),
+    {ok, Sasl} = esasl:server_start(?SERVER, "GSSAPI", "xmpp", FQDN),
+    {ok, #state{sasl=Sasl,host=Host}}.
+
+mech_step(State, ClientIn) when is_list(ClientIn) ->
+    catch do_step(State, ClientIn).
+
+do_step(#state{needsmore=false}=State, _) ->
+    check_user(State);
+do_step(#state{needsmore=true,sasl=Sasl,step=Step}=State, ClientIn) ->
+    ?DEBUG("mech_step~n", []),
+    case esasl:step(Sasl, list_to_binary(ClientIn)) of
+	{ok, RspAuth} ->
+	    ?DEBUG("ok~n", []),
+	    {ok, Display_name} = esasl:property_get(Sasl, gssapi_display_name),
+	    {ok, Authzid} = esasl:property_get(Sasl, authzid),
+	    {Authid, [$@ | Auth_realm]} =
+		lists:splitwith(fun(E)->E =/= $@ end, Display_name),
+	    State1 = State#state{authid=Authid,
+				 authzid=Authzid,
+				 authrealm=Auth_realm},
+	    handle_step_ok(State1, binary_to_list(RspAuth));
+	{needsmore, RspAuth} ->
+	    ?DEBUG("needsmore~n", []),
+	    if (Step > 0) and (ClientIn =:= []) and (RspAuth =:= <<>>) ->
+		    {error, "not-authorized"};
+		true ->
+		    {continue, binary_to_list(RspAuth),
+		     State#state{step=Step+1}}
+	    end;
+	{error, _} ->
+	    {error, "not-authorized"}
+    end.
+
+handle_step_ok(State, []) ->
+    check_user(State);
+handle_step_ok(#state{step=Step}=State, RspAuth) ->
+    ?DEBUG("continue~n", []),
+    {continue, RspAuth, State#state{needsmore=false,step=Step+1}}.
+
+check_user(#state{authid=Authid,authzid=Authzid,
+		  authrealm=Auth_realm,host=Host}) ->
+    Realm = ejabberd_config:get_local_option({sasl_realm, Host}),
+
+    if Realm =/= Auth_realm ->
+	    ?DEBUG("bad realm ~p (expected ~p)~n",[Auth_realm, Realm]),
+	    throw({error, "not-authorized"});
+       true ->
+	    ok
+    end,
+
+    case ejabberd_auth:is_user_exists(Authid, Host) of
+	false ->
+	    ?DEBUG("bad user ~p~n",[Authid]),
+	    throw({error, "not-authorized"});
+	true ->
+	    ok
+    end,
+
+    ?DEBUG("GSSAPI authenticated ~p ~p~n", [Authid, Authzid]),
+    {ok, [{username, Authid}, {authzid, Authzid}]}.
diff --git a/src/cyrsasl_plain.erl b/src/cyrsasl_plain.erl
index 129fb8b..d920463 100644
--- a/src/cyrsasl_plain.erl
+++ b/src/cyrsasl_plain.erl
@@ -27,10 +27,11 @@
 -module(cyrsasl_plain).
 -author('alexey at process-one.net').
 
--export([start/1, stop/0, mech_new/4, mech_step/2, parse/1]).
+-export([start/1, stop/0, mech_new/1, mech_step/2, parse/1]).
 
 -behaviour(cyrsasl).
 
+-include("ejabberd.hrl").
 -record(state, {check_password}).
 
 start(_Opts) ->
@@ -40,7 +41,7 @@ start(_Opts) ->
 stop() ->
     ok.
 
-mech_new(_Host, _GetPassword, CheckPassword, _CheckPasswordDigest) ->
+mech_new(#sasl_ctx{check_password=CheckPassword}) ->
     {ok, #state{check_password = CheckPassword}}.
 
 mech_step(State, ClientIn) ->
diff --git a/src/ejabberd.hrl b/src/ejabberd.hrl
index e1f0cfd..39a41d5 100644
--- a/src/ejabberd.hrl
+++ b/src/ejabberd.hrl
@@ -59,3 +59,10 @@
 -define(CRITICAL_MSG(Format, Args),
     ejabberd_logger:critical_msg(?MODULE,?LINE,Format, Args)).
 
+-record(sasl_ctx, {
+	  host,
+	  realm,
+	  get_password,
+	  check_password,
+	  check_password_digest,
+	  fqdn}).
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index 6238cda..abaee5f 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -71,6 +71,7 @@
 -record(state, {socket,
 		sockmod,
 		socket_monitor,
+		fqdn,
 		xml_socket,
 		streamid,
 		sasl_state,
@@ -208,9 +209,11 @@ init([{SockMod, Socket}, Opts]) ->
 			Socket
 		end,
 	    SocketMonitor = SockMod:monitor(Socket1),
+	    {ok, FQDN} = ejabberd_net:gethostname(Socket),
 	    {ok, wait_for_stream, #state{socket         = Socket1,
 					 sockmod        = SockMod,
 					 socket_monitor = SocketMonitor,
+					 fqdn           = FQDN,
 					 xml_socket     = XMLSocket,
 					 zlib           = Zlib,
 					 tls            = TLS,
@@ -254,6 +257,8 @@ wait_for_stream({xmlstreamstart, _Name, Attrs}, StateData) ->
 			    send_header(StateData, Server, "1.0", DefaultLang),
 			    case StateData#state.authenticated of
 				false ->
+				    FQDN = StateData#state.fqdn,
+				    ?INFO_MSG("FQDN: ~p~n", [FQDN]),
 				    SASLState =
 					cyrsasl:server_new(
 					  "jabber", Server, "", [],
@@ -268,7 +273,8 @@ wait_for_stream({xmlstreamstart, _Name, Attrs}, StateData) ->
 					  fun(U, P, D, DG) ->
 						  ejabberd_auth:check_password_with_authmodule(
 						    U, Server, P, D, DG)
-					  end),
+					  end,
+					  FQDN),
 				    Mechs = lists:map(
 					      fun(S) ->
 						      {xmlelement, "mechanism", [],
diff --git a/src/ejabberd_net.erl b/src/ejabberd_net.erl
new file mode 100644
index 0000000..b6943e1
--- /dev/null
+++ b/src/ejabberd_net.erl
@@ -0,0 +1,42 @@
+%%%----------------------------------------------------------------------
+%%% File    : ejabberd_net.erl
+%%% Author  : Mikael Magnusson <mikma at users.sourceforge.net>
+%%% Purpose : Serve C2S connection
+%%% Created : 6 June 2007 by Mikael Magnusson <mikma at users.sourceforge.net>
+%%% Id      : $Id: $
+%%%----------------------------------------------------------------------
+
+-module(ejabberd_net).
+-author('mikma at users.sourceforge.net').
+%% -update_info({update, 0}).
+
+-export([gethostname/1]).
+
+-include("ejabberd.hrl").
+-include_lib("kernel/include/inet.hrl").
+
+%% Copied from ejabberd_socket.erl of ejabberd 2.0.3
+-record(socket_state, {sockmod, socket, receiver}).
+
+%%
+%% gethostname(Socket)
+%%
+gethostname(Socket) ->
+    ?INFO_MSG("gethostname ~p~n", [Socket]),
+%%     {ok, "skinner.hem.za.org"}.
+
+    case ejabberd_config:get_local_option({sasl_fqdn, ?MYNAME}) of
+      undefined ->
+        {ok, {Addr, _Port}} = inet:sockname(Socket#socket_state.socket),
+        case inet:gethostbyaddr(Addr) of
+            {ok, HostEnt} when is_record(HostEnt, hostent) ->
+                {ok, HostEnt#hostent.h_name};
+	    {error, nxdomain} ->
+		    % Quick fix
+		    {ok, inet_parse:ntoa(Addr)};
+            {error, What} ->
+                ?ERROR_MSG("Error in gethostname:~nSocket: ~p~nError: ~p at Addr ~p", [Socket, What, Addr]),
+                error
+        end;
+      F -> {ok, F}
+    end.
-- 
1.7.0.1


ejabberd-0007-Change-directory-to-readable-by-everyone.patch:
 ejabberdctl.template |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

--- NEW FILE ejabberd-0007-Change-directory-to-readable-by-everyone.patch ---
>From eb4c92ad7f7b084834d4be0b9c2ac9999762c626 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov <lemenkov at gmail.com>
Date: Thu, 18 Mar 2010 14:57:21 +0300
Subject: [PATCH 07/12] Change directory to readable by everyone

This requires to suppress error messages like
"File operation error: eacces". See rhbz #564686.

Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
---
 src/ejabberdctl.template |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/ejabberdctl.template b/src/ejabberdctl.template
index 69c74d6..11bcac8 100644
--- a/src/ejabberdctl.template
+++ b/src/ejabberdctl.template
@@ -351,6 +351,10 @@ wait_for_status()
     return $status
 }
 
+# In order to prevent issues with "File operation error: eacces."
+# See rhbz #564686.
+cd /
+
 case $ARGS in
     ' start') start;;
     ' debug') debug;;
-- 
1.7.0.1


ejabberd-0008-Install-.so-objects-with-0755-permissions.patch:
 Makefile.in |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

--- NEW FILE ejabberd-0008-Install-.so-objects-with-0755-permissions.patch ---
>From 030c2c17c48fd36b5da4083356db1a1069a29378 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov <lemenkov at gmail.com>
Date: Sat, 12 Jun 2010 14:14:52 +0400
Subject: [PATCH 08/12] Install *.so objects with 0755 permissions

Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
---
 src/Makefile.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/Makefile.in b/src/Makefile.in
index dd728ce..9a371a9 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -226,7 +226,7 @@ install: all
 	#
 	# Binary system libraries
 	install -d $(SODIR)
-	install -m 644 *.so $(SODIR)
+	install -m 755 *.so $(SODIR)
 	#
 	# Translated strings
 	install -d $(MSGSDIR)
-- 
1.7.0.1


ejabberd-0009-Install-more-docs-by-default.patch:
 Makefile.in |    9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

--- NEW FILE ejabberd-0009-Install-more-docs-by-default.patch ---
>From 0f17d3b131f84e1cdb5a950fae05f8f6f62df57a Mon Sep 17 00:00:00 2001
From: Peter Lemenkov <lemenkov at gmail.com>
Date: Sat, 12 Jun 2010 15:08:28 +0400
Subject: [PATCH 09/12] Install more docs by default

Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
---
 src/Makefile.in |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/src/Makefile.in b/src/Makefile.in
index 9a371a9..8f7bc66 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -250,9 +250,17 @@ install: all
 	#
 	# Documentation
 	install -d $(DOCDIR)
+	install -m 644 ../doc/dev.html $(DOCDIR)
+	install -m 644 ../doc/features.html $(DOCDIR)
 	install -m 644 ../doc/guide.html $(DOCDIR)
 	install -m 644 ../doc/*.png $(DOCDIR)
 	install -m 644 ../doc/*.txt $(DOCDIR)
+	[ -f ../doc/features.pdf ] \
+		&& install -m 644 ../doc/features.pdf $(DOCDIR) \
+		|| echo "No ../doc/features.pdf was built"
+	[ -f ../doc/guide.pdf ] \
+		&& install -m 644 ../doc/guide.pdf $(DOCDIR) \
+		|| echo "No ../doc/guide.pdf was built"
 
 uninstall: uninstall-binary
 
-- 
1.7.0.1


ejabberd-0010-Install-COPYING-file-along-with-other-docs.patch:
 Makefile.in |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE ejabberd-0010-Install-COPYING-file-along-with-other-docs.patch ---
>From 94e29a76a6cd8aea45c7f9aa0f9d9ffc328d9689 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov <lemenkov at gmail.com>
Date: Sat, 12 Jun 2010 16:24:12 +0400
Subject: [PATCH 10/12] Install COPYING file along  with other docs

Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
---
 src/Makefile.in |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/src/Makefile.in b/src/Makefile.in
index 8f7bc66..151328d 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -261,6 +261,7 @@ install: all
 	[ -f ../doc/guide.pdf ] \
 		&& install -m 644 ../doc/guide.pdf $(DOCDIR) \
 		|| echo "No ../doc/guide.pdf was built"
+	install -m 644 ../COPYING $(DOCDIR)
 
 uninstall: uninstall-binary
 
-- 
1.7.0.1



Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/ejabberd/F-13/.cvsignore,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -p -r1.18 -r1.19
--- .cvsignore	12 Mar 2010 15:58:46 -0000	1.18
+++ .cvsignore	12 Jun 2010 13:50:25 -0000	1.19
@@ -1 +1 @@
-ejabberd-2.1.3.tar.gz
+ejabberd-2.1.4.tar.gz

ejabberd-0001-Fix-PAM-service-example-name-to-match-actual-one.patch:
 ejabberd.cfg.example |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Index: ejabberd-0001-Fix-PAM-service-example-name-to-match-actual-one.patch
===================================================================
RCS file: /cvs/pkgs/rpms/ejabberd/F-13/ejabberd-0001-Fix-PAM-service-example-name-to-match-actual-one.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- ejabberd-0001-Fix-PAM-service-example-name-to-match-actual-one.patch	12 Mar 2010 15:58:46 -0000	1.1
+++ ejabberd-0001-Fix-PAM-service-example-name-to-match-actual-one.patch	12 Jun 2010 13:50:25 -0000	1.2
@@ -1,7 +1,7 @@
-From 53f8a296b0f83ea9dafc3aed8b49c34941f31454 Mon Sep 17 00:00:00 2001
+From 32b2458e39fa13190f575aafd2f410b2041ca78b Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Tue, 16 Feb 2010 16:03:38 +0300
-Subject: [PATCH 1/9] Fix PAM service example name to match actual one
+Subject: [PATCH 01/12] Fix PAM service example name to match actual one
 
 Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
 ---
@@ -22,5 +22,5 @@ index 4087947..b351cfc 100644
  %%
  %% Authentication using LDAP
 -- 
-1.6.6.1
+1.7.0.1
 

ejabberd-0002-Mention-mod_ctlextra-as-an-ejabberd-module.patch:
 ejabberd.app |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: ejabberd-0002-Mention-mod_ctlextra-as-an-ejabberd-module.patch
===================================================================
RCS file: /cvs/pkgs/rpms/ejabberd/F-13/ejabberd-0002-Mention-mod_ctlextra-as-an-ejabberd-module.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- ejabberd-0002-Mention-mod_ctlextra-as-an-ejabberd-module.patch	12 Mar 2010 15:58:46 -0000	1.1
+++ ejabberd-0002-Mention-mod_ctlextra-as-an-ejabberd-module.patch	12 Jun 2010 13:50:25 -0000	1.2
@@ -1,7 +1,7 @@
-From 6365359078925b436d1d3238a2dd6d6c11271fac Mon Sep 17 00:00:00 2001
+From ce99acea0e154c8d5f9c6348c8770512325851fb Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Tue, 16 Feb 2010 16:05:53 +0300
-Subject: [PATCH 2/9] Mention mod_ctlextra as an ejabberd module
+Subject: [PATCH 02/12] Mention mod_ctlextra as an ejabberd module
 
 Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
 ---
@@ -9,7 +9,7 @@ Signed-off-by: Peter Lemenkov <lemenkov@
  1 files changed, 1 insertions(+), 0 deletions(-)
 
 diff --git a/src/ejabberd.app b/src/ejabberd.app
-index 2f5f123..cc7e1f8 100644
+index 3d65f82..d780de4 100644
 --- a/src/ejabberd.app
 +++ b/src/ejabberd.app
 @@ -70,6 +70,7 @@
@@ -21,5 +21,5 @@ index 2f5f123..cc7e1f8 100644
  	     mod_echo,
  	     mod_http_bind,
 -- 
-1.6.6.1
+1.7.0.1
 

ejabberd-0003-Fixed-delays-in-s2s-connections.patch:
 ejabberd_s2s_in.erl  |    2 +-
 ejabberd_s2s_out.erl |    7 +++----
 2 files changed, 4 insertions(+), 5 deletions(-)

Index: ejabberd-0003-Fixed-delays-in-s2s-connections.patch
===================================================================
RCS file: /cvs/pkgs/rpms/ejabberd/F-13/ejabberd-0003-Fixed-delays-in-s2s-connections.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- ejabberd-0003-Fixed-delays-in-s2s-connections.patch	12 Mar 2010 15:58:46 -0000	1.1
+++ ejabberd-0003-Fixed-delays-in-s2s-connections.patch	12 Jun 2010 13:50:25 -0000	1.2
@@ -1,7 +1,7 @@
-From 019bf239560925edd809bb7922a49b3737412067 Mon Sep 17 00:00:00 2001
+From 24b6dfa0c8194435f51de87c40001f81f4b514c2 Mon Sep 17 00:00:00 2001
 From: Sergei Golovan <sgolovan at nes.ru>
 Date: Tue, 16 Feb 2010 16:07:37 +0300
-Subject: [PATCH 3/9] Fixed delays in s2s connections.
+Subject: [PATCH 03/12] Fixed delays in s2s connections.
 
 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
@@ -13,10 +13,10 @@ network split when the delay is inadmiss
  2 files changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/src/ejabberd_s2s_in.erl b/src/ejabberd_s2s_in.erl
-index f221302..b55c805 100644
+index 9b37833..cc217ef 100644
 --- a/src/ejabberd_s2s_in.erl
 +++ b/src/ejabberd_s2s_in.erl
-@@ -352,7 +352,7 @@ stream_established({xmlstreamelement, El}, StateData) ->
+@@ -361,7 +361,7 @@ stream_established({xmlstreamelement, El}, StateData) ->
              case {ejabberd_s2s:allow_host(To, From),
                    lists:member(LTo, ejabberd_router:dirty_get_all_domains())} of
                  {true, true} ->
@@ -26,10 +26,10 @@ index f221302..b55c805 100644
  					   {verify, self(),
  					    Key, StateData#state.streamid}),
 diff --git a/src/ejabberd_s2s_out.erl b/src/ejabberd_s2s_out.erl
-index ac7eee2..048d018 100644
+index 69cbfdd..4661241 100644
 --- a/src/ejabberd_s2s_out.erl
 +++ b/src/ejabberd_s2s_out.erl
-@@ -90,7 +90,7 @@
+@@ -91,7 +91,7 @@
  						 [From, Host, Type])).
  -endif.
  
@@ -38,7 +38,7 @@ index ac7eee2..048d018 100644
  
  %% We do not block on send anymore.
  -define(TCP_SEND_TIMEOUT, 15000).
-@@ -226,8 +226,8 @@ open_socket(init, StateData) ->
+@@ -227,8 +227,8 @@ open_socket(init, StateData) ->
  	{error, _Reason} ->
  	    ?INFO_MSG("s2s connection: ~s -> ~s (remote server not found)",
  		      [StateData#state.myname, StateData#state.server]),
@@ -50,5 +50,5 @@ index ac7eee2..048d018 100644
  open_socket(stop, StateData) ->
      ?INFO_MSG("s2s connection: ~s -> ~s (stopped in open socket)",
 -- 
-1.6.6.1
+1.7.0.1
 

ejabberd-0004-Introducing-mod_admin_extra.patch:
 ejabberd.app        |    1 
 mod_admin_extra.erl | 1280 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 1280 insertions(+), 1 deletion(-)

Index: ejabberd-0004-Introducing-mod_admin_extra.patch
===================================================================
RCS file: /cvs/pkgs/rpms/ejabberd/F-13/ejabberd-0004-Introducing-mod_admin_extra.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- ejabberd-0004-Introducing-mod_admin_extra.patch	12 Mar 2010 15:58:46 -0000	1.1
+++ ejabberd-0004-Introducing-mod_admin_extra.patch	12 Jun 2010 13:50:25 -0000	1.2
@@ -1,7 +1,7 @@
-From 766c7603bff9d7548d43229f855e9ac7b79c63cd Mon Sep 17 00:00:00 2001
+From 843ce577199c20241ad2f89a23d13240d0a52c7e Mon Sep 17 00:00:00 2001
 From: Badlop <badlop at process-one.net>
 Date: Tue, 16 Feb 2010 16:12:17 +0300
-Subject: [PATCH 4/9] Introducing mod_admin_extra
+Subject: [PATCH 04/12] Introducing mod_admin_extra
 
 Adds the mod_admin_extra module to ejabberd.
 This module extends the functionality provided by ejabberdctl
@@ -17,7 +17,7 @@ https://forge.process-one.net/browse/eja
  create mode 100644 src/mod_admin_extra.erl
 
 diff --git a/src/ejabberd.app b/src/ejabberd.app
-index cc7e1f8..ae8ce83 100644
+index d780de4..91d50d6 100644
 --- a/src/ejabberd.app
 +++ b/src/ejabberd.app
 @@ -105,6 +105,7 @@
@@ -1314,5 +1314,5 @@ index 0000000..9f3ca14
 +is_glob_match(String, Glob) ->
 +    is_regexp_match(String, regexp:sh_to_awk(Glob)).
 -- 
-1.6.6.1
+1.7.0.1
 

ejabberd-0005-Fedora-specific-changes-to-ejabberdctl.patch:
 ejabberdctl.template |    9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

Index: ejabberd-0005-Fedora-specific-changes-to-ejabberdctl.patch
===================================================================
RCS file: /cvs/pkgs/rpms/ejabberd/F-13/ejabberd-0005-Fedora-specific-changes-to-ejabberdctl.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- ejabberd-0005-Fedora-specific-changes-to-ejabberdctl.patch	12 Mar 2010 15:58:46 -0000	1.1
+++ ejabberd-0005-Fedora-specific-changes-to-ejabberdctl.patch	12 Jun 2010 13:50:25 -0000	1.2
@@ -1,7 +1,7 @@
-From 1a2f7fc0f4ba4ff9f9cf1ee409ce461000685eef Mon Sep 17 00:00:00 2001
+From f4c26373ef2c0c1c58726c6d3c8de0416c23bd9a Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Tue, 16 Feb 2010 16:30:05 +0300
-Subject: [PATCH 5/9] Fedora-specific changes to ejabberdctl
+Subject: [PATCH 05/12] Fedora-specific changes to ejabberdctl
 
 Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
 ---
@@ -44,5 +44,5 @@ index 9ede77d..69c74d6 100644
  done
  if [ "$ID" -eq "$EJID" ] ; then
 -- 
-1.6.6.1
+1.7.0.1
 


Index: ejabberd.spec
===================================================================
RCS file: /cvs/pkgs/rpms/ejabberd/F-13/ejabberd.spec,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -p -r1.57 -r1.58
--- ejabberd.spec	25 Apr 2010 11:16:15 -0000	1.57
+++ ejabberd.spec	12 Jun 2010 13:50:26 -0000	1.58
@@ -1,9 +1,8 @@
-%bcond_without fedora
 %global uid 27
 
-# Currently, hevea available only in Fedora
-%if %{defined fedora}
-# No hevea on Fedora for ppc64
+# Currently, hevea available only in Fedora and EL-6
+%if 0%{?el6}%{?fedora}
+# No hevea for ppc64
 # see https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=250253
 %ifnarch ppc64
 %define with_hevea 1
@@ -11,8 +10,8 @@
 %endif
 
 Name:           ejabberd
-Version:        2.1.3
-Release:        6%{?dist}
+Version:        2.1.4
+Release:        1%{?dist}
 Summary:        A distributed, fault-tolerant Jabber/XMPP server
 
 Group:          Applications/Internet
@@ -39,7 +38,7 @@ Source9:        ejabberdctl.pam
 Source10:       ejabberdctl.apps
 Source11:       ejabberd.pam
 
-# Use ejabberd as an example for PAM service name
+# Use ejabberd as an example for PAM service name (fedora/epel-specific)
 Patch1: ejabberd-0001-Fix-PAM-service-example-name-to-match-actual-one.patch
 # Mention mod_ctlextra as an ejabberd module
 Patch2: ejabberd-0002-Mention-mod_ctlextra-as-an-ejabberd-module.patch
@@ -47,18 +46,16 @@ Patch2: ejabberd-0002-Mention-mod_ctlext
 Patch3: ejabberd-0003-Fixed-delays-in-s2s-connections.patch
 # Introducing mod_admin_extra
 Patch4: ejabberd-0004-Introducing-mod_admin_extra.patch
-# BZ# 439583, 452326, 451554, 465196, 502361
+# BZ# 439583, 452326, 451554, 465196, 502361 (fedora/epel-specific)
 Patch5: ejabberd-0005-Fedora-specific-changes-to-ejabberdctl.patch
-# http://www.ejabberd.im/cyrsasl_gssapi
-Patch6: ejabberd-0006-Support-to-authenticate-against-SASL-GSSAPI-http-www.patch
-# Typo in GSSAPI modules (sent upstream)
-Patch7: ejabberd-0007-Fixed-typo.patch
-# Quick fix for {error,nxdomain} issue
-Patch8: ejabberd-0008-Quick-fix-for-error-nxdomain.patch
-# Cleanup redundant defines
-Patch9: ejabberd-0009-Replace-MSG-with-DEBUG.patch
+# http://www.ejabberd.im/cyrsasl_gssapi (proposed for inclusion into upstream)
+Patch6: ejabberd-0006-Support-to-authenticate-against-SASL-GSSAPI.patch
 # Fix issue with "File operation error: eacces"
-Patch10:ejabberd-0010-Change-directory-to-readable-by-everyone-in-order-to.patch
+Patch7: ejabberd-0007-Change-directory-to-readable-by-everyone.patch
+# Fix so-lib permissions while installing (will be proposed for inclusion into upstream)
+Patch8:	ejabberd-0008-Install-.so-objects-with-0755-permissions.patch
+Patch9:	ejabberd-0009-Install-more-docs-by-default.patch
+Patch10: ejabberd-0010-Install-COPYING-file-along-with-other-docs.patch
 
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -88,7 +85,7 @@ Requires:       erlang
 Requires:       erlang-esasl
 Requires:       usermode
 # for flock in ejabberdctl
-%if %{defined fedora}
+%if 0%{?el6}%{?fedora}
 Requires:	util-linux-ng
 %else
 Requires:	util-linux
@@ -103,6 +100,12 @@ Windows NT/2000/XP).
 
 %package doc
 Summary: Documentation for ejabberd
+%if 0%{?el6}%{?fedora}
+BuildArch: noarch
+Obsoletes: %{name}-doc < 2.1.4
+%endif
+# docdir owner
+Requires: %{name} = %{version}-%{release}
 Group: Documentation
 
 %description doc
@@ -117,12 +120,10 @@ Documentation for ejabberd.
 %patch4 -p1 -b .mod_admin_extra
 %patch5 -p1 -b .fedora_specific
 %patch6 -p1 -b .gssapi
-%patch7 -p1 -b .gssapi_typo
-%patch8 -p1 -b .nxdomain_fix
-%patch9 -p1 -b .gssapi_cleanup
-%patch10 -p1 -b .fix_access
-
-dos2unix src/odbc/mssql2000.sql
+%patch7 -p1 -b .fix_access
+%patch8 -p1 -b .fix_perms
+%patch9 -p1 -b .install_docs
+%patch10 -p1 -b .install_copying
 
 cp %{S:4} src
 cp %{S:5} src
@@ -152,9 +153,6 @@ pushd src
 make install DESTDIR=%{buildroot}
 popd
 
-# surprisingly, generic ejabberd makefile installs libraries with 644 permissions
-chmod a+x %{buildroot}%{_libdir}/%{name}/priv/lib/*.so
-
 # fix example SSL certificate path to real one, which we created recently (see above)
 %{__perl} -pi -e 's!/path/to/ssl.pem!/etc/ejabberd/ejabberd.pem!g' %{buildroot}/etc/ejabberd/ejabberd.cfg
 
@@ -187,8 +185,8 @@ install -p -m 0644 src/odbc/mssql2005.sq
 install -p -m 0644 src/odbc/mysql.sql %{buildroot}%{_datadir}/%{name}
 install -p -m 0644 src/odbc/pg.sql %{buildroot}%{_datadir}/%{name}
 
-# removed files, which would be packaged later (see 'files' section)
-rm -rf %{buildroot}%{_docdir}/%{name}
+# rename doc-files directory properly
+mv %{buildroot}%{_docdir}/%{name}{,-%{version}}
 
 # Clean up false security measure
 chmod 755 %{buildroot}%{_sbindir}/ejabberdctl
@@ -209,7 +207,7 @@ if [ $1 -gt 1 ]; then
 	# we should backup DB in every upgrade
 	if ejabberdctl status >/dev/null ; then
 		# Use timestamp to make database restoring easier
-		TIME=$(date +%Y-%m-%dT%H:%M:%S)
+		TIME=$(date +%%Y-%%m-%%dT%%H:%%M:%%S)
 		BACKUPDIR=$(mktemp -d -p /var/tmp/ ejabberd-$TIME.XXXXXX)
 		chown ejabberd:ejabberd $BACKUPDIR
 		BACKUP=$BACKUPDIR/ejabberd-database
@@ -279,7 +277,9 @@ rm -rf %{buildroot}
 
 %files
 %defattr(-,root,root,-)
-%doc COPYING
+
+%dir %{_docdir}/%{name}-%{version}
+%doc %{_docdir}/%{name}-%{version}/COPYING
 
 %attr(750,ejabberd,ejabberd) %dir %{_sysconfdir}/ejabberd
 %attr(640,ejabberd,ejabberd) %config(noreplace) %{_sysconfdir}/ejabberd/ejabberd.cfg
@@ -349,38 +349,16 @@ rm -rf %{buildroot}
 
 %files doc
 %defattr(-,root,root,-)
-%doc COPYING
-%doc doc/dev.html
-%doc doc/discorus.png
-%doc doc/features.html
-%doc doc/features.pdf
-%doc doc/guide.html
-%doc doc/guide.pdf
-%doc doc/logo.png
-%doc doc/release_notes_0.9.txt
-%doc doc/release_notes_0.9.1.txt
-%doc doc/release_notes_0.9.8.txt
-%doc doc/release_notes_1.0.0.txt
-%doc doc/release_notes_1.1.0.txt
-%doc doc/release_notes_1.1.1.txt
-%doc doc/release_notes_1.1.2.txt
-%doc doc/release_notes_1.1.3.txt
-%doc doc/release_notes_1.1.4.txt
-%doc doc/release_notes_2.0.0.txt
-%doc doc/release_notes_2.0.1.txt
-%doc doc/release_notes_2.0.2.txt
-%doc doc/release_notes_2.0.3.txt
-%doc doc/release_notes_2.0.4.txt
-%doc doc/release_notes_2.0.5.txt
-%doc doc/release_notes_2.1.0.txt
-%doc doc/release_notes_2.1.1.txt
-%doc doc/release_notes_2.1.2.txt
-%doc doc/release_notes_2.1.3.txt
-%doc doc/webadmmain.png
-%doc doc/webadmmainru.png
-%doc doc/yozhikheader.png
+%doc %{_docdir}/%{name}-%{version}/*.html
+%doc %{_docdir}/%{name}-%{version}/*.png
+%doc %{_docdir}/%{name}-%{version}/*.pdf
+%doc %{_docdir}/%{name}-%{version}/*.txt
 
 %changelog
+* Fri Jun  4 2010 Peter Lemenkov <lemenkov at gmail.com> 2.1.4-1
+- Ver. 2.1.4
+- Rebased patches
+
 * Mon Mar 29 2010 Peter Lemenkov <lemenkov at gmail.com> 2.1.3-6
 - File permissions for captcha.sh were fixed
 


Index: import.log
===================================================================
RCS file: /cvs/pkgs/rpms/ejabberd/F-13/import.log,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -p -r1.25 -r1.26
--- import.log	25 Apr 2010 11:16:16 -0000	1.25
+++ import.log	12 Jun 2010 13:50:26 -0000	1.26
@@ -23,3 +23,4 @@ ejabberd-2_1_3-3_fc12:F-13:ejabberd-2.1.
 ejabberd-2_1_3-4_fc12:F-13:ejabberd-2.1.3-4.fc12.src.rpm:1268914201
 ejabberd-2_1_3-5_fc12:F-13:ejabberd-2.1.3-5.fc12.src.rpm:1268986092
 ejabberd-2_1_3-6_fc12:F-13:ejabberd-2.1.3-6.fc12.src.rpm:1272194151
+ejabberd-2_1_4-1_fc12:F-13:ejabberd-2.1.4-1.fc12.src.rpm:1276350596


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/ejabberd/F-13/sources,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -p -r1.20 -r1.21
--- sources	12 Mar 2010 15:58:47 -0000	1.20
+++ sources	12 Jun 2010 13:50:26 -0000	1.21
@@ -1 +1 @@
-e5c87eda5312a6e8a53df0f9b4844b69  ejabberd-2.1.3.tar.gz
+a73f2ae7c5c9ceccc295e6cbc6a70132  ejabberd-2.1.4.tar.gz


--- ejabberd-0006-Support-to-authenticate-against-SASL-GSSAPI-http-www.patch DELETED ---


--- ejabberd-0007-Fixed-typo.patch DELETED ---


--- ejabberd-0008-Quick-fix-for-error-nxdomain.patch DELETED ---


--- ejabberd-0009-Replace-MSG-with-DEBUG.patch DELETED ---


--- ejabberd-0010-Change-directory-to-readable-by-everyone-in-order-to.patch DELETED ---



More information about the scm-commits mailing list