On Wed, Oct 06, 2010 at 12:52:18PM +0200, Matthias Kilian wrote:
> People, if you commit openssl fixes to ports, please also change
> ~jasper/ports/openssl.txt. And have a look there before you start
> to work fixing ports.
> 
> Current content (don't know wether it's correct, I just updated nmap
> qca-tls, kdelibs and kdebase):
> 
> port?                           who?            status?
> graphics/dcmtk
> net/bro                                         notified maintainer
> net/dclib
> net/ejabberd                                    md2, maintainer looking
> net/nmap                        benoit          committed
> security/assl
> security/nessus/libnasl
> security/py-sslwrapper
> security/qca-tls                kili            diff on ports
> sysutils/bacula
> sysutils/nut                    sthen           seems ok with fixed neon
> telephony/kamailio              sthen
> www/konqueror-embedded
> x11/kde/base3                   kili            committed
> x11/kde/libs3                   kili            committed
> 
> Ciao,
>       Kili
> 

I've sent the maintainer of ejabberd the following diff, which works fine for
me.

-- 
Cheers,
Jasper

Stay Hungry. Stay Foolish.

Index: Makefile
===================================================================
RCS file: /cvs/ports/net/ejabberd/Makefile,v
retrieving revision 1.18
diff -p -u -r1.18 Makefile
--- Makefile    27 Sep 2010 14:04:20 -0000      1.18
+++ Makefile    6 Oct 2010 11:20:49 -0000
@@ -4,7 +4,7 @@ COMMENT=                jabber server written in Erlan
 
 V=                     2.1.5
 DISTNAME=              ejabberd-$V
-REVISION=              0
+REVISION=              1
 
 CATEGORIES=            net
 
Index: patches/patch-src_mod_caps_erl
===================================================================
RCS file: patches/patch-src_mod_caps_erl
diff -N patches/patch-src_mod_caps_erl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_mod_caps_erl      6 Oct 2010 11:20:49 -0000
@@ -0,0 +1,27 @@
+$OpenBSD$
+
+Disable MD2 as this is disabled in OpenSSL now.
+Patch via from Gentoo via https://support.process-one.net/browse/EJAB-1285
+
+--- src/mod_caps.erl.orig      Wed Oct  6 13:17:02 2010
++++ src/mod_caps.erl   Wed Oct  6 13:17:25 2010
+@@ -277,8 +277,6 @@ feature_response(#iq{type = result,
+                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" ->
+@@ -354,9 +352,7 @@ make_disco_hash(DiscoEls, Algo) ->
+             concat_features(DiscoEls),
+             concat_info(DiscoEls)],
+     base64:encode_to_string(
+-      if Algo == md2 ->
+-            sha:md2(Concat);
+-       Algo == md5 ->
++      if Algo == md5 ->
+             crypto:md5(Concat);
+        Algo == sha1 ->
+             crypto:sha(Concat);
Index: patches/patch-src_sha_erl
===================================================================
RCS file: patches/patch-src_sha_erl
diff -N patches/patch-src_sha_erl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_sha_erl   6 Oct 2010 11:20:49 -0000
@@ -0,0 +1,26 @@
+$OpenBSD$
+
+Disable MD2 as this is disabled in OpenSSL now.
+Patch via from Gentoo via https://support.process-one.net/browse/EJAB-1285
+
+--- src/sha.erl.orig   Wed Oct  6 13:17:33 2010
++++ src/sha.erl        Wed Oct  6 13:17:52 2010
+@@ -28,7 +28,7 @@
+ -author('ale...@process-one.net').
+ 
+ -export([start/0, sha/1, sha1/1, sha224/1, sha256/1, sha384/1,
+-       sha512/1, md2/1]).
++       sha512/1]).
+ 
+ -include("ejabberd.hrl").
+ 
+@@ -79,9 +79,6 @@ sha384(Text) ->
+ 
+ sha512(Text) ->
+     erlang:port_control(?DRIVER, 512, Text).
+-
+-md2(Text) ->
+-    erlang:port_control(?DRIVER, 2, Text).
+ 
+ driver_path() ->
+     Suffix = case os:type() of
Index: patches/patch-src_tls_sha_drv_c
===================================================================
RCS file: patches/patch-src_tls_sha_drv_c
diff -N patches/patch-src_tls_sha_drv_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_tls_sha_drv_c     6 Oct 2010 11:20:49 -0000
@@ -0,0 +1,27 @@
+$OpenBSD$
+
+Disable MD2 as this is disabled in OpenSSL now.
+Patch via from Gentoo via https://support.process-one.net/browse/EJAB-1285
+
+--- src/tls/sha_drv.c.orig     Wed Oct  6 13:18:03 2010
++++ src/tls/sha_drv.c  Wed Oct  6 13:18:16 2010
+@@ -20,7 +20,6 @@
+ 
+ #include <erl_driver.h>
+ #include <openssl/sha.h>
+-#include <openssl/md2.h>
+ 
+ static ErlDrvData sha_drv_start(ErlDrvPort port, char *buf)
+ {
+@@ -36,11 +35,6 @@ static int sha_drv_control(ErlDrvData handle,
+   ErlDrvBinary *b = NULL;
+ 
+   switch (command) {
+-  case 2:
+-    rlen = MD2_DIGEST_LENGTH;
+-    b = driver_alloc_binary(rlen);
+-    if (b) MD2((unsigned char*)buf, len, (unsigned char*)b->orig_bytes);
+-    break;
+   case 224:
+     rlen = SHA224_DIGEST_LENGTH;
+     b = driver_alloc_binary(rlen);

Reply via email to