diff options
author | 2010-08-09 08:21:28 +0000 | |
---|---|---|
committer | 2010-08-09 08:21:28 +0000 | |
commit | 2d59213127b8d6dedda2e30c9d026dbf7e0647ab (patch) | |
tree | 7fd529836063f7267fd6d7081f2e8145ee0412cf /net-im | |
parent | x86 stable, bug 322791 (diff) | |
download | historical-2d59213127b8d6dedda2e30c9d026dbf7e0647ab.tar.gz historical-2d59213127b8d6dedda2e30c9d026dbf7e0647ab.tar.bz2 historical-2d59213127b8d6dedda2e30c9d026dbf7e0647ab.zip |
Fix openssl breakage due to missed md2 support, bug 331299, thank Rion for report and Samuli Suominen for quick fix.
Package-Manager: portage-2.1.8.3/cvs/Linux x86_64
Diffstat (limited to 'net-im')
-rw-r--r-- | net-im/ejabberd/ChangeLog | 7 | ||||
-rw-r--r-- | net-im/ejabberd/Manifest | 5 | ||||
-rw-r--r-- | net-im/ejabberd/ejabberd-2.1.5.ebuild | 5 | ||||
-rw-r--r-- | net-im/ejabberd/files/ejabberd-2.1.5-md2-optional.patch | 259 |
4 files changed, 271 insertions, 5 deletions
diff --git a/net-im/ejabberd/ChangeLog b/net-im/ejabberd/ChangeLog index 6485a5fe39b0..14be54949046 100644 --- a/net-im/ejabberd/ChangeLog +++ b/net-im/ejabberd/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for net-im/ejabberd # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/ChangeLog,v 1.83 2010/08/05 10:41:17 pva Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/ChangeLog,v 1.84 2010/08/09 08:21:28 pva Exp $ + + 09 Aug 2010; Peter Volkov <pva@gentoo.org> ejabberd-2.1.5.ebuild, + +files/ejabberd-2.1.5-md2-optional.patch: + Fix openssl breakage due to missed md2 support, bug 331299, thank Rion for + report and Samuli Suominen for quick fix. *ejabberd-2.1.5 (05 Aug 2010) diff --git a/net-im/ejabberd/Manifest b/net-im/ejabberd/Manifest index 81f8ba2c2ea6..dbfee9834f2c 100644 --- a/net-im/ejabberd/Manifest +++ b/net-im/ejabberd/Manifest @@ -1,5 +1,6 @@ AUX ejabberd-2.0.5-erlang-13.patch 16877 RMD160 4b8924f5b37de85823dec539523e7800c394bc7c SHA1 663ffc03f29613d695589c199222bc0382a24c76 SHA256 3d5cb7c163647580e1776a4e31ca3f8e03b1b411288b8273c861d17db5fa1e4a AUX ejabberd-2.1.4-mod_shared_roster_ldap.patch 418 RMD160 a810f3b5c23e5985aed699a68e32c749494e021d SHA1 4276671d435c04ab00ec7b6e2d5f0acb58845753 SHA256 72fb86c7be4a62518f0de7a42b77ea4ba3cf858247636a34b3f267862e1dc624 +AUX ejabberd-2.1.5-md2-optional.patch 6794 RMD160 0194fcb2b9e8add51256355d4a4c9548eb8eb031 SHA1 acde0e849cb626d0ba9184aaf9e995c9a06bd625 SHA256 c3414cf40f17f73dbf21f67b9ccb4e7d84b14a634848cf36960f3b51e21d0c9a AUX ejabberd-2.confd 834 RMD160 7beb5337d15b33d4b1d802edb03995cddb73e162 SHA1 53e754dcbd03edb27f9982f51323e355dafd1f73 SHA256 c48f5cb90c409bde333d5d7a6159995bbf02e265c9d06528c1ec35b764ca9f21 AUX ejabberd-2.initd 1126 RMD160 8c696768e686efdc9865446ce5a3fbb2ae7302f6 SHA1 27c6b2fd8e1ff6b74d83688d9d68e8721aa0580e SHA256 9b6f076c452a8db149b689db12082fade95e1975a76e52a67a942220ee99aa2f AUX ejabberd-3.confd 161 RMD160 3b2c2b2a871c42c75e854a3c592c0d399a5dd387 SHA1 01e72bda178e7bf26a66321c4330bbcc1607e540 SHA256 0296d3d281a321cd7380772c1d89a94e4a86f85b7f43bf9dc1af74935c2e6386 @@ -15,6 +16,6 @@ DIST ejabberd-2.1.5.tar.gz 2278008 RMD160 7abd6bc4a03f68d03e13ee8c1ff3a5fee6098d DIST mod_shared_roster_ldap-0.5.1.tgz 607758 RMD160 5669a3d16fbca4d399e85a7d0dfda71643e6e2c7 SHA1 a9498d26e17752b882b3341b633d1804075d74ef SHA256 60e4ba0921d1ac65f9cca04fa2a7a3bbe3a9af52a26ad1a4fca4a3c6f1f0cc19 EBUILD ejabberd-2.0.5-r3.ebuild 4909 RMD160 8b51c5bfba1ba99e29a5462f6c3ca93465685bfd SHA1 dffb83ae90b6f71a09a36eef1340f06bd597049e SHA256 4605b2d9a73ee4a7abe17f57ed2dfbbc27e8142bb8ad5f96d201e27b7076c678 EBUILD ejabberd-2.1.4.ebuild 8392 RMD160 d0cf3a6cfc82e5ab6351c49a3f0b61399863b0d7 SHA1 3feb114bdb65f1ba9539095be533c55ca235fd55 SHA256 043e1f9a7d13f652de7db65162c70e5a5cca98934b8950163bb0528851d4db30 -EBUILD ejabberd-2.1.5.ebuild 8322 RMD160 4c45560f215654701db1cf18a79ab42c8edc81df SHA1 832a8e9aa1e51b7f336ee20478cd3ba8c537b329 SHA256 f0bf587288b9f0a9e041bc3997276651047516607905dfe934c4ab16557bef60 -MISC ChangeLog 17426 RMD160 32325d8322b4a4c412381675b079c9fd54c1134a SHA1 51803ff2e7f3f80fb60ff48d4cd83bc9b1da3569 SHA256 3093dc5345a3afa2d8140b538c0a143c88389bd0bb27518e271022a5796bbe1f +EBUILD ejabberd-2.1.5.ebuild 8374 RMD160 ec4746817be901804b5603cb388ef7ce9cc706ed SHA1 f735ea63d287b35306878db8092b5d2c6aa2349f SHA256 f0a2fd0e5da4306a8be7f8254f5d77dfadc872cb818d8c0202366fbd16ce188f +MISC ChangeLog 17660 RMD160 289ac844d73808534ea98163280bc7a332e5c406 SHA1 323f46e9edde1e6d5b9282284fa206fe12a3373c SHA256 a2304dfd57d4e0b3b92ac9a2e104d861f420c1efeb09829c1e3f9123e543b6c6 MISC metadata.xml 929 RMD160 3a456c8945da34e417ca2fb659807a280b834f85 SHA1 a7b3173f8b63655c049881629e1354c71ddd633e SHA256 4d46909fd72908dff8698bb9dfcf60132e973b28eabbfe75001397ed349ff11b diff --git a/net-im/ejabberd/ejabberd-2.1.5.ebuild b/net-im/ejabberd/ejabberd-2.1.5.ebuild index b29527c780e5..5b7979904372 100644 --- a/net-im/ejabberd/ejabberd-2.1.5.ebuild +++ b/net-im/ejabberd/ejabberd-2.1.5.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/ejabberd-2.1.5.ebuild,v 1.1 2010/08/05 10:41:17 pva Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/ejabberd-2.1.5.ebuild,v 1.2 2010/08/09 08:21:28 pva Exp $ EAPI=3 @@ -14,7 +14,7 @@ SRC_URI="http://www.process-one.net/downloads/${PN}/${PV}/${P}.tar.gz LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~sparc ~x86" +KEYWORDS="amd64 ~arm ~ia64 ~ppc ~sparc x86" EJABBERD_MODULES="mod_irc mod_muc mod_proxy65 mod_pubsub mod_srl mod_statsdx" IUSE="captcha debug ldap odbc pam +web zlib ${EJABBERD_MODULES}" @@ -42,6 +42,7 @@ JABBER_LOG="${EPREFIX}/var/log/jabber" JABBER_DOC="${EPREFIX}/usr/share/doc/${PF}" src_prepare() { + epatch "${FILESDIR}/${P}-md2-optional.patch" #331299 if use mod_statsdx; then ewarn "mod_statsdx is not a part of upstream tarball but is a third-party module" ewarn "taken from here: http://www.ejabberd.im/mod_stats2file" diff --git a/net-im/ejabberd/files/ejabberd-2.1.5-md2-optional.patch b/net-im/ejabberd/files/ejabberd-2.1.5-md2-optional.patch new file mode 100644 index 000000000000..e11cad3b7d12 --- /dev/null +++ b/net-im/ejabberd/files/ejabberd-2.1.5-md2-optional.patch @@ -0,0 +1,259 @@ +commit d2d8a09b4afdb5f77b903411ff16fbb0b739d3e4 +Author: Evgeniy Khramtsov <ekhramtsov@process-one.net> +Date: Sat Aug 7 22:04:57 2010 +1000 + + Make MD2 autodetected (EJAB-1285) + +diff --git a/src/Makefile.in b/src/Makefile.in +index 7d225f3..4e56181 100644 +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -64,6 +64,11 @@ ifeq (@transient_supervisors@, false) + EFLAGS+=-DNO_TRANSIENT_SUPERVISORS + endif + ++ifeq (@md2@, true) ++ EFLAGS+=-DHAVE_MD2 ++ ERLANG_CFLAGS += -DHAVE_MD2 ++endif ++ + INSTALL_EPAM= + ifeq (@pam@, pam) + INSTALL_EPAM=install -m 750 $(O_USER) epam $(PBINDIR) +diff --git a/src/configure.ac b/src/configure.ac +index 1497643..1d25dd8 100644 +--- a/src/configure.ac ++++ b/src/configure.ac +@@ -148,6 +148,9 @@ if test "$ENABLEUSER" != ""; then + AC_SUBST([INSTALLUSER], [$ENABLEUSER]) + fi + ++AC_CHECK_HEADER(openssl/md2.h, md2=true, md2=false) ++AC_SUBST(md2) ++ + AC_CANONICAL_SYSTEM + #AC_DEFINE_UNQUOTED(CPU_VENDOR_OS, "$target") + #AC_SUBST(target_os) +diff --git a/src/mod_caps.erl b/src/mod_caps.erl +index 7fb011e..d9f4f30 100644 +--- a/src/mod_caps.erl ++++ b/src/mod_caps.erl +@@ -276,25 +276,8 @@ feature_response(#iq{type = result, + sub_el = [{xmlelement, _, _, Els}]}, + Host, From, Caps, [SubNode | SubNodes]) -> + BinaryNode = node_to_binary(Caps#caps.node, SubNode), +- IsValid = case Caps#caps.hash of +- "md2" -> +- Caps#caps.version == make_disco_hash(Els, md2); +- "md5" -> +- Caps#caps.version == make_disco_hash(Els, md5); +- "sha-1" -> +- Caps#caps.version == make_disco_hash(Els, sha1); +- "sha-224" -> +- Caps#caps.version == make_disco_hash(Els, sha224); +- "sha-256" -> +- Caps#caps.version == make_disco_hash(Els, sha256); +- "sha-384" -> +- Caps#caps.version == make_disco_hash(Els, sha384); +- "sha-512" -> +- Caps#caps.version == make_disco_hash(Els, sha512); +- _ -> +- true +- end, +- if IsValid -> ++ case check_hash(Caps, Els) of ++ true -> + Features = lists:flatmap( + fun({xmlelement, "feature", FAttrs, _}) -> + [xml:get_attr_s("var", FAttrs)]; +@@ -304,7 +287,7 @@ feature_response(#iq{type = result, + mnesia:dirty_write( + #caps_features{node_pair = BinaryNode, + features = features_to_binary(Features)}); +- true -> ++ false -> + mnesia:dirty_write(#caps_features{node_pair = BinaryNode}) + end, + feature_request(Host, From, Caps, SubNodes); +@@ -349,6 +332,7 @@ make_my_disco_hash(Host) -> + "" + end. + ++-ifdef(HAVE_MD2). + make_disco_hash(DiscoEls, Algo) -> + Concat = [concat_identities(DiscoEls), + concat_features(DiscoEls), +@@ -370,6 +354,64 @@ make_disco_hash(DiscoEls, Algo) -> + sha:sha512(Concat) + end). + ++check_hash(Caps, Els) -> ++ case Caps#caps.hash of ++ "md2" -> ++ Caps#caps.version == make_disco_hash(Els, md2); ++ "md5" -> ++ Caps#caps.version == make_disco_hash(Els, md5); ++ "sha-1" -> ++ Caps#caps.version == make_disco_hash(Els, sha1); ++ "sha-224" -> ++ Caps#caps.version == make_disco_hash(Els, sha224); ++ "sha-256" -> ++ Caps#caps.version == make_disco_hash(Els, sha256); ++ "sha-384" -> ++ Caps#caps.version == make_disco_hash(Els, sha384); ++ "sha-512" -> ++ Caps#caps.version == make_disco_hash(Els, sha512); ++ _ -> ++ true ++ end. ++-else. ++make_disco_hash(DiscoEls, Algo) -> ++ Concat = [concat_identities(DiscoEls), ++ concat_features(DiscoEls), ++ concat_info(DiscoEls)], ++ base64:encode_to_string( ++ if Algo == md5 -> ++ crypto:md5(Concat); ++ Algo == sha1 -> ++ crypto:sha(Concat); ++ Algo == sha224 -> ++ sha:sha224(Concat); ++ Algo == sha256 -> ++ sha:sha256(Concat); ++ Algo == sha384 -> ++ sha:sha384(Concat); ++ Algo == sha512 -> ++ sha:sha512(Concat) ++ end). ++ ++check_hash(Caps, Els) -> ++ case Caps#caps.hash of ++ "md5" -> ++ Caps#caps.version == make_disco_hash(Els, md5); ++ "sha-1" -> ++ Caps#caps.version == make_disco_hash(Els, sha1); ++ "sha-224" -> ++ Caps#caps.version == make_disco_hash(Els, sha224); ++ "sha-256" -> ++ Caps#caps.version == make_disco_hash(Els, sha256); ++ "sha-384" -> ++ Caps#caps.version == make_disco_hash(Els, sha384); ++ "sha-512" -> ++ Caps#caps.version == make_disco_hash(Els, sha512); ++ _ -> ++ true ++ end. ++-endif. ++ + concat_features(Els) -> + lists:usort( + lists:flatmap( +diff --git a/src/sha.erl b/src/sha.erl +index 64c15c1..06dd3c2 100644 +--- a/src/sha.erl ++++ b/src/sha.erl +@@ -28,7 +28,11 @@ + -author('alexey@process-one.net'). + + -export([start/0, sha/1, sha1/1, sha224/1, sha256/1, sha384/1, +- sha512/1, md2/1]). ++ sha512/1]). ++ ++-ifdef(HAVE_MD2). ++-export([md2/1]). ++-endif. + + -include("ejabberd.hrl"). + +@@ -80,8 +84,10 @@ sha384(Text) -> + sha512(Text) -> + erlang:port_control(?DRIVER, 512, Text). + ++-ifdef(HAVE_MD2). + md2(Text) -> + erlang:port_control(?DRIVER, 2, Text). ++-endif. + + driver_path() -> + Suffix = case os:type() of +diff --git a/src/tls/Makefile.in b/src/tls/Makefile.in +index 4458796..ee40f93 100644 +--- a/src/tls/Makefile.in ++++ b/src/tls/Makefile.in +@@ -30,6 +30,11 @@ ifdef debug + EFLAGS+=+debug_info +export_all + endif + ++ifeq (@md2@, true) ++ EFLAGS+=-DHAVE_MD2 ++ ERLANG_CFLAGS += -DHAVE_MD2 ++endif ++ + ERLSHLIBS = ../tls_drv.so ../sha_drv.so + OUTDIR = .. + SOURCES = $(wildcard *.erl) +diff --git a/src/tls/sha_drv.c b/src/tls/sha_drv.c +index 13d6580..8e6de32 100644 +--- a/src/tls/sha_drv.c ++++ b/src/tls/sha_drv.c +@@ -20,7 +20,9 @@ + + #include <erl_driver.h> + #include <openssl/sha.h> ++#ifdef HAVE_MD2 + #include <openssl/md2.h> ++#endif + + static ErlDrvData sha_drv_start(ErlDrvPort port, char *buf) + { +@@ -36,11 +38,13 @@ static int sha_drv_control(ErlDrvData handle, + ErlDrvBinary *b = NULL; + + switch (command) { ++#ifdef HAVE_MD2 + case 2: + rlen = MD2_DIGEST_LENGTH; + b = driver_alloc_binary(rlen); + if (b) MD2((unsigned char*)buf, len, (unsigned char*)b->orig_bytes); + break; ++#endif + case 224: + rlen = SHA224_DIGEST_LENGTH; + b = driver_alloc_binary(rlen); + + +commit b14899d41ae8f0d3e750ba42e297ea5815bf30c1 +Author: Badlop <badlop@process-one.net> +Date: Sat Aug 7 19:42:56 2010 +0200 + + Update the 'configure' script + +diff --git a/src/configure b/src/configure +index 2d44646..d515abc 100755 +--- a/src/configure ++++ b/src/configure +@@ -608,6 +608,7 @@ build_os + build_vendor + build_cpu + build ++md2 + INSTALLUSER + SSL_CFLAGS + SSL_LIBS +@@ -4822,6 +4823,16 @@ if test "$ENABLEUSER" != ""; then + + fi + ++ac_fn_c_check_header_mongrel "$LINENO" "openssl/md2.h" "ac_cv_header_openssl_md2_h" "$ac_includes_default" ++if test "x$ac_cv_header_openssl_md2_h" = x""yes; then : ++ md2=true ++else ++ md2=false ++fi ++ ++ ++ ++ + ac_aux_dir= + for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + for ac_t in install-sh install.sh shtool; do |