OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
UPDATE: net/ejabberd 2.0.1 -> 2.0.3

From: viq (viqviq.ath.cx)
Date: Sun Feb 01 2009 - 14:55:39 CST


Long overdue update. Quite a few fixes and improvements, especially
regarding pubsub. Running now for a day on i386 with the erland 12.b5
update from alek

Some notes:
* regenerated plist, also with more restrictive permissions on the
database dir
* more consistent permissions on the installed files (seems that most
things should belong to group bin)
* net/sendxmpp now doesn't work, since when registering it sends
digest-uri="/" while ejabberd expects digest-uri beginning with xmpp/ -
sendxmpp author notified, information on ejabberd side tracked on
https://support.process-one.net/browse/EJAB-569
* reported issues with connectivity with OpenFire 3.6.3 when using SSL
for s2s, cause yet unknown -
http://lists.jabber.ru/pipermail/ejabberd/2009-January/004643.html

Except the sendxmpp issue I didn't have any problems myself, gajim and
mcabber connect and communicate fine with other servers, including
google.

Please pound on it and report back ;)
--
viq

Index: Makefile
===================================================================
RCS file: /cvs/ports/net/ejabberd/Makefile,v
retrieving revision 1.10
diff -u -d -r1.10 Makefile
--- Makefile 17 Sep 2008 13:54:54 -0000 1.10
+++ Makefile 1 Feb 2009 20:19:09 -0000
-2,10 +2,8
 
 COMMENT= jabber server written in Erlang
 
-V= 2.0.1
+V= 2.0.3
 DISTNAME= ejabberd-$V
-PKGNAME= ${DISTNAME}p0
-DISTFILES= ejabberd-2.0.1_2.tar.gz
 
 CATEGORIES= net
 
-29,10 +27,12
 
 MAKE_FLAGS+= EJABBERDDIR=${PREFIX}/lib/ejabberd \
                         LOGDIR=${EJLOGDIR} \
- ETCDIR=${SYSCONFDIR}/ejabberd
+ ETCDIR=${SYSCONFDIR}/ejabberd \
+ SPOOLDIR=${EJDBDIR}
 FAKE_FLAGS+= EJABBERDDIR=${WRKINST}/${PREFIX}/lib/ejabberd \
                         LOGDIR=${WRKINST}${EJLOGDIR} \
- ETCDIR=${WRKINST}/${PREFIX}/share/examples/ejabberd
+ ETCDIR=${WRKINST}/${PREFIX}/share/examples/ejabberd \
+ SPOOLDIR=${WRKINST}/${EJDBDIR}
 
 USE_GMAKE= Yes
 CONFIGURE_STYLE= gnu
-73,7 +73,11
                 find . -name '*.html' -exec ${INSTALL_DATA} {} ${PREFIX}/share/doc/ejabberd/{} \; && \
                 find . -name '*.png' -exec ${INSTALL_DATA} {} ${PREFIX}/share/doc/ejabberd/{} \;
         ${SUBST_CMD} -c ${FILESDIR}/README.OpenBSD ${PREFIX}/share/doc/ejabberd/README.OpenBSD
+ ${SUBST_CMD} ${PREFIX}/share/examples/ejabberd/ejabberd.cfg
         ${SUBST_CMD} ${PREFIX}/sbin/ejabberdctl
+ chown ${SHAREOWN}:${BINGRP} ${PREFIX}/sbin/ejabberdctl
+ chown -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/share/doc/ejabberd
+ chown -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/share/examples/ejabberd
 
 .include <bsd.port.mk>
 
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/ejabberd/distinfo,v
retrieving revision 1.3
diff -u -d -r1.3 distinfo
--- distinfo 2 Jun 2008 18:13:15 -0000 1.3
+++ distinfo 1 Feb 2009 20:19:09 -0000
-1,5 +1,5
-MD5 (ejabberd-2.0.1_2.tar.gz) = nJQXq43DNAlOx6YRAWxybg==
-RMD160 (ejabberd-2.0.1_2.tar.gz) = pVYabFCLu5hGo1EYntWq0vX7Ze4=
-SHA1 (ejabberd-2.0.1_2.tar.gz) = f7sh64cgbBtA5SNJJ+LWog3mYUk=
-SHA256 (ejabberd-2.0.1_2.tar.gz) = pTNVF6RD6A2uRpijNCOFggHWma8Y0rU7J5oq0XGRatQ=
-SIZE (ejabberd-2.0.1_2.tar.gz) = 1054739
+MD5 (ejabberd-2.0.3.tar.gz) = tkfnSw+U8DC9h0fIqKTQ+Q==
+RMD160 (ejabberd-2.0.3.tar.gz) = 5fd3FannTf7VudvdF60iVdQPPRM=
+SHA1 (ejabberd-2.0.3.tar.gz) = 7jpQO+/qeTeMTI985b5hUSCb9HQ=
+SHA256 (ejabberd-2.0.3.tar.gz) = 00vPbHPo0/1b87JVWz248L2Bl6YwO22xffiUWizTOf8=
+SIZE (ejabberd-2.0.3.tar.gz) = 1089870
Index: patches/patch-src_ejabberdctl_template
===================================================================
RCS file: /cvs/ports/net/ejabberd/patches/patch-src_ejabberdctl_template,v
retrieving revision 1.1
diff -u -d -r1.1 patch-src_ejabberdctl_template
--- patches/patch-src_ejabberdctl_template 2 Jun 2008 18:13:15 -0000 1.1
+++ patches/patch-src_ejabberdctl_template 1 Feb 2009 20:19:09 -0000
-1,6 +1,6
 $OpenBSD: patch-src_ejabberdctl_template,v 1.1 2008/06/02 18:13:15 martynas Exp $
---- src/ejabberdctl.template.orig Tue May 20 12:22:03 2008
-+++ src/ejabberdctl.template Sun Jun 1 21:08:43 2008
+--- src/ejabberdctl.template.orig Sun Oct 19 22:00:39 2008
++++ src/ejabberdctl.template Sun Oct 19 22:05:49 2008
  -1,7 +1,7
  #!/bin/sh
  
-10,20 +10,21
  SMP=auto
  ERL_MAX_PORTS=32000
  ERL_PROCESSES=250000
- -9,15 +9,17 ERL_MAX_ETS_TABLES=1400
+ -9,16 +9,18 ERL_MAX_ETS_TABLES=1400
  
  # define default environment variables
  NODE=ejabberd
 -HOST=localhost
 +HOST=`hostname -s`
  ERLANG_NODE=$NODE$HOST
+ ERL=erl
  ROOTDIR=rootdir
 -EJABBERD_CONFIG_PATH=$ROOTDIR/etc/ejabberd/ejabberd.cfg
 -LOGS_DIR=$ROOTDIR/var/log/ejabberd/
 -EJABBERD_DB=$ROOTDIR/var/lib/ejabberd/db/$NODE
 +EJABBERD_CONFIG_PATH=${SYSCONFDIR}/ejabberd/ejabberd.cfg
 +LOGS_DIR=${EJLOGDIR}
-+EJABBERD_DB=${EJDBDIR}/$NODE
++EJABBERD_DB=${EJDBDIR}/${NODE}
 +ID=`id -g`
 +EJID=`id -g ${JABBERDUSER}`
  
-33,7 +34,7
  [ -f "$CONFIG" ] && . "$CONFIG"
  
  # parse command line parameters
- -36,23 +38,33 while [ $# -ne 0 ] ; do
+ -37,23 +39,33 while [ $# -ne 0 ] ; do
      esac
  done
  
-56,18 +57,19
 +EJABBERD_MSGS_PATH=${LOCALBASE}/lib/ejabberd/priv/msgs
 +EJABBERD_SO_PATH=${LOCALBASE}/lib/ejabberd/priv/lib
 +EJABBERD_BIN_PATH=${LOCALBASE}/lib/ejabberd/priv/bin
-+EJABBERD_LOG_PATH=$LOGS_DIR/${NODE}.log
-+SASL_LOG_PATH=$LOGS_DIR/${NODE}_sasl.log
++EJABBERD_LOG_PATH=${LOGS_DIR}/${NODE}.log
++SASL_LOG_PATH=${LOGS_DIR}/${NODE}_sasl.log
  DATETIME=`date "+%Y%m%d-%H%M%S"`
- ERL_CRASH_DUMP=$LOGS_DIR/erl_crash_$DATETIME.dump
+-ERL_CRASH_DUMP=$LOGS_DIR/erl_crash_$DATETIME.dump
 -ERL_INETRC=$ROOTDIR/etc/ejabberd/inetrc
 -HOME=$ROOTDIR/var/lib/ejabberd
++ERL_CRASH_DUMP=${LOGS_DIR}/erl_crash_${DATETIME}.dump
 +ERL_INETRC=${SYSCONFDIR}/ejabberd/inetrc
 +HOME=${EJDBDIR}
  
 +# make sure we execute commands as proper user
 +if [ $ID -eq 0 ]; then
-+ EXEC_CMD='sudo -u ${JABBERDUSER}'
++ EXEC_CMD='sudo -c - -u ${JABBERDUSER}'
 +else
 + EXEC_CMD=''
 +fi
-75,7 +77,7
  # export global variables
  export EJABBERD_CONFIG_PATH
  export EJABBERD_MSGS_PATH
- -63,23 +75,24 export ERL_CRASH_DUMP
+ -64,23 +76,24 export ERL_CRASH_DUMP
  export ERL_INETRC
  export ERL_MAX_PORTS
  export ERL_MAX_ETS_TABLES
-91,8 +93,8
  # start server
  start ()
  {
-- erl \
-+ $EXEC_CMD ${LOCALBASE}/bin/erl \
+- $ERL \
++ ${EXEC_CMD} $ERL \
        $NAME $ERLANG_NODE \
        -noinput -detached \
        -pa $EJABBERD_EBIN \
-104,23 +106,22
        -sasl sasl_error_logger \{file,\"$SASL_LOG_PATH\"\} \
        $ERLANG_OPTS $ARGS "$"
  }
- -103,7 +116,7 debug ()
+ -104,7 +117,7 debug ()
      echo "Press any key to continue"
      read foo
      echo ""
-- erl \
-+ $EXEC_CMD ${LOCALBASE}/bin/erl \
+- $ERL \
++ ${EXEC_CMD} $ERL \
        $NAME ${NODE}debug \
        -remsh $ERLANG_NODE \
        $ERLANG_OPTS $ARGS "$"
- -127,19 +140,22 live ()
+ -128,18 +141,21 live ()
      echo "Press any key to continue"
      read foo
      echo ""
-- erl \
-+ $EXEC_CMD ${LOCALBASE}/bin/erl \
+- $ERL \
++ ${EXEC_CMD} $ERL \
        $NAME $ERLANG_NODE \
- $ERLANG_OPTS \
        -pa $EJABBERD_EBIN \
 + -kernel inetrc \"${ERL_INETRC}\" \
        -mnesia dir "\"$EJABBERD_DB\"" \
-133,20 +134,12
  # common control function
  ctl ()
  {
-- erl \
-+ $EXEC_CMD ${LOCALBASE}/bin/erl \
+- $ERL \
++ ${EXEC_CMD} $ERL \
        $NAME ejabberdctl \
        -noinput \
        -pa $EJABBERD_EBIN \
- -159,6 +175,7 ctl ()
- echo " --ctl-config file Config file of ejabberdctl: $CONFIG"
- echo " --logs dir Directory for logs: $LOGS_DIR"
- echo " --spool dir Database spool dir: $EJABBERD_DB"
-+ echo " --node node_name Ejabberd node name: $ERLANG_NODE"
- echo "";;
- esac
- return $result
- -170,6 +187,20 usage ()
+ -171,6 +187,20 usage ()
      ctl
      exit
  }
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/net/ejabberd/pkg/PLIST,v
retrieving revision 1.3
diff -u -d -r1.3 PLIST
--- pkg/PLIST 2 Jun 2008 18:13:15 -0000 1.3
+++ pkg/PLIST 1 Feb 2009 20:19:09 -0000
-2,8 +2,6
 newgroup _ejabberd:594
 newuser _ejabberd:594:_ejabberd:daemon:ejabberd account:/var/db/ejabberd:/bin/sh
 %%SHARED%%
-owner root
-group wheel
 lib/ejabberd/
 lib/ejabberd/ebin/
 lib/ejabberd/ebin/ELDAPv3.beam
-81,6 +79,7
 lib/ejabberd/ebin/mod_echo.beam
 lib/ejabberd/ebin/mod_http_bind.beam
 lib/ejabberd/ebin/mod_http_fileserver.beam
+lib/ejabberd/ebin/mod_ip_blacklist.beam
 lib/ejabberd/ebin/mod_irc.beam
 lib/ejabberd/ebin/mod_irc_connection.beam
 lib/ejabberd/ebin/mod_last.beam
-161,10 +160,8
 lib/ejabberd/priv/msgs/vi.msg
 lib/ejabberd/priv/msgs/wa.msg
 lib/ejabberd/priv/msgs/zh.msg
-group bin
 sbin/ejabberdctl
 comment sbin/ejabberdctl.bak
-group wheel
 share/doc/ejabberd/
 share/doc/ejabberd/README.OpenBSD
 comment share/doc/ejabberd/api/
-180,6 +177,7
 sample ${SYSCONFDIR}/ejabberd/
 share/examples/ejabberd/ejabberd.cfg
 sample ${SYSCONFDIR}/ejabberd/ejabberd.cfg
+comment share/examples/ejabberd/ejabberd.cfg.bak
 share/examples/ejabberd/ejabberdctl.cfg
 sample ${SYSCONFDIR}/ejabberd/ejabberdctl.cfg
 share/examples/ejabberd/extauth/
-210,4 +208,5
 owner _ejabberd
 group _ejabberd
 sample /var/log/ejabberd/
+mode 0750
 sample /var/db/ejabberd/

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (OpenBSD)

iEYEARECAAYFAkmGDEsACgkQvonkT+iOvE/LawCeMonKLaJ/9HwFZ0/yF2xoTfJu
uKkAn3wzR56wvcIY+7mn+LvZao5ys+p/
=rtq8
-----END PGP SIGNATURE-----