Running with this for over a week now on i386 with erlang R13B04 posted here before.
I know it at the very least builds and starts with R12 on amd64. Previous notes about updating from 2.0.x to 2.1.x: http://marc.info/?l=openbsd-ports&m=125958365731168&w=2 http://marc.info/?l=openbsd-ports&m=126385653027305&w=2 For release notes and fixed bugs since 2.1.2 see http://www.process-one.net/en/ejabberd/release_notes/release_note_ejabberd_2.1.3/ https://support.process-one.net/browse/EJAB/fixforversion/10453 -- viq Index: Makefile =================================================================== RCS file: /cvs/ports/net/ejabberd/Makefile,v retrieving revision 1.15 diff -u -d -r1.15 Makefile --- Makefile 5 Apr 2009 23:48:55 -0000 1.15 +++ Makefile 3 Apr 2010 20:10:59 -0000 @@ -2,7 +2,7 @@ COMMENT= jabber server written in Erlang -V= 2.0.5 +V= 2.1.3 DISTNAME= ejabberd-$V CATEGORIES= net Index: distinfo =================================================================== RCS file: /cvs/ports/net/ejabberd/distinfo,v retrieving revision 1.6 diff -u -d -r1.6 distinfo --- distinfo 5 Apr 2009 23:48:55 -0000 1.6 +++ distinfo 3 Apr 2010 20:10:59 -0000 @@ -1,5 +1,5 @@ -MD5 (ejabberd-2.0.5.tar.gz) = LYW0fflp2vCnjtOxZWLXMQ== -RMD160 (ejabberd-2.0.5.tar.gz) = XsAhCzmVAExwgYCmagluC5vl8bo= -SHA1 (ejabberd-2.0.5.tar.gz) = 5bjEt0L9zEOdqUWPlPUwYEq9/dU= -SHA256 (ejabberd-2.0.5.tar.gz) = N++Q4q+itzpiC/caCW30jV/ejxzWafrIPYwUOhKVGYw= -SIZE (ejabberd-2.0.5.tar.gz) = 1796737 +MD5 (ejabberd-2.1.3.tar.gz) = 5ch+2lMSpuilPfD5tIRLaQ== +RMD160 (ejabberd-2.1.3.tar.gz) = xXZyko4w9x7GZjbdXnatuALxewM= +SHA1 (ejabberd-2.1.3.tar.gz) = d/3xjAuzslz5BF4Mgzuk2C8YBGk= +SHA256 (ejabberd-2.1.3.tar.gz) = YCxuTnQsTKuFlOnwSfCNC/ISX6hK9JHgzrbW8vOFTvY= +SIZE (ejabberd-2.1.3.tar.gz) = 2243874 Index: patches/patch-src_Makefile_in =================================================================== RCS file: patches/patch-src_Makefile_in diff -N patches/patch-src_Makefile_in --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_Makefile_in 3 Apr 2010 20:10:59 -0000 @@ -0,0 +1,22 @@ +No need to install release notes. + +$OpenBSD$ +--- src/Makefile.in.orig Fri Mar 12 11:40:41 2010 ++++ src/Makefile.in Sun Mar 14 02:57:29 2010 +@@ -111,7 +111,7 @@ MSGSDIR = $(PRIVDIR)/msgs + SPOOLDIR = $(DESTDIR)@localstatedir@/lib/ejabberd + + # /var/lock/ejabberdctl +-CTLLOCKDIR = $(DESTDIR)@localstatedir@/lock/ejabberdctl ++CTLLOCKDIR = $(DESTDIR)/tmp + + # /var/lib/ejabberd/.erlang.cookie + COOKIEFILE = $(SPOOLDIR)/.erlang.cookie +@@ -249,7 +249,6 @@ install: all + install -d $(DOCDIR) + install -m 644 ../doc/guide.html $(DOCDIR) + install -m 644 ../doc/*.png $(DOCDIR) +- install -m 644 ../doc/*.txt $(DOCDIR) + + uninstall: uninstall-binary + Index: patches/patch-src_ejabberd_cfg_example =================================================================== RCS file: /cvs/ports/net/ejabberd/patches/patch-src_ejabberd_cfg_example,v retrieving revision 1.2 diff -u -d -r1.2 patch-src_ejabberd_cfg_example --- patches/patch-src_ejabberd_cfg_example 6 Mar 2009 09:19:13 -0000 1.2 +++ patches/patch-src_ejabberd_cfg_example 3 Apr 2010 20:10:59 -0000 @@ -1,8 +1,8 @@ $OpenBSD: patch-src_ejabberd_cfg_example,v 1.2 2009/03/06 09:19:13 jasper Exp $ ---- src/ejabberd.cfg.example.orig Wed Jan 14 10:54:15 2009 -+++ src/ejabberd.cfg.example Thu Feb 26 11:36:23 2009 -@@ -114,7 +114,7 @@ - %% certificate, put the correct path to the +--- src/ejabberd.cfg.example.orig Fri Mar 12 11:40:41 2010 ++++ src/ejabberd.cfg.example Sat Mar 13 12:41:08 2010 +@@ -115,7 +115,7 @@ + %% certificate, specify the full path to the %% file and uncomment this line: %% - %%{certfile, "/path/to/ssl.pem"}, starttls, @@ -10,9 +10,9 @@ {access, c2s}, {shaper, c2s_shaper}, -@@ -124,12 +124,12 @@ +@@ -125,12 +125,12 @@ %% - %% To enable the old SSL connection method in port 5223: + %% To enable the old SSL connection method on port 5223: %% - %%{5223, ejabberd_c2s, [ - %% {access, c2s}, @@ -29,7 +29,7 @@ {5269, ejabberd_s2s_in, [ {shaper, s2s_shaper}, -@@ -160,18 +160,18 @@ +@@ -172,18 +172,18 @@ %% Allowed values are: true or false. %% You must specify a certificate file. %% Index: patches/patch-src_ejabberdctl_template =================================================================== RCS file: /cvs/ports/net/ejabberd/patches/patch-src_ejabberdctl_template,v retrieving revision 1.2 diff -u -d -r1.2 patch-src_ejabberdctl_template --- patches/patch-src_ejabberdctl_template 12 Feb 2009 09:58:11 -0000 1.2 +++ patches/patch-src_ejabberdctl_template 3 Apr 2010 20:10:59 -0000 @@ -1,6 +1,6 @@ $OpenBSD: patch-src_ejabberdctl_template,v 1.2 2009/02/12 09:58:11 sthen Exp $ ---- src/ejabberdctl.template.orig Sun Oct 19 22:00:39 2008 -+++ src/ejabberdctl.template Sun Oct 19 22:05:49 2008 +--- src/ejabberdctl.template.orig Fri Mar 12 11:40:41 2010 ++++ src/ejabberdctl.template Sat Apr 3 20:49:01 2010 @@ -1,7 +1,7 @@ #!/bin/sh @@ -10,7 +10,7 @@ SMP=auto ERL_MAX_PORTS=32000 ERL_PROCESSES=250000 -@@ -9,16 +9,18 @@ ERL_MAX_ETS_TABLES=1400 +@@ -9,10 +9,10 @@ ERL_MAX_ETS_TABLES=1400 # define default environment variables NODE=ejabberd @@ -18,145 +18,66 @@ +HOST=`hostname -s` erlang_node=$n...@$host e...@erl@ - rootd...@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} -+ID=`id -g` -+EJID=`id -g ${JABBERDUSER}` - - # read custom configuration --CONFIG=$ROOTDIR/etc/ejabberd/ejabberdctl.cfg -+CONFIG=${SYSCONFDIR}/ejabberd/ejabberdctl.cfg - [ -f "$CONFIG" ] && . "$CONFIG" +-installus...@installuser@ ++INSTALLUSER=${JABBERDUSER} # parse command line parameters -@@ -37,23 +39,33 @@ while [ $# -ne 0 ] ; do - esac - done - -+NODE="${erlang_no...@*}" -+EJABBERD_DB=${EJDBDIR}/$NODE -+ - NAME=-name - [ "$ERLANG_NODE" = "${ERLANG_NODE%.*}" ] && NAME=-sname + ARGS= +@@ -33,7 +33,7 @@ done - ERLANG_OPTS="+K $POLL -smp $SMP +P $ERL_PROCESSES" + # Define ejabberd variable if they have not been defined from the command line + if [ "$ETCDIR" = "" ] ; then +- etcd...@sysconfdir@/ejabberd ++ ETCDIR=${SYSCONFDIR}/ejabberd + fi + if [ "$EJABBERD_CONFIG_PATH" = "" ] ; then + EJABBERD_CONFIG_PATH=$ETCDIR/ejabberd.cfg +@@ -43,10 +43,10 @@ if [ "$EJABBERDCTL_CONFIG_PATH" = "" ] ; then + fi + [ -f "$EJABBERDCTL_CONFIG_PATH" ] && . "$EJABBERDCTL_CONFIG_PATH" + if [ "$LOGS_DIR" = "" ] ; then +- logs_d...@localstatedir@/log/ejabberd ++ LOGS_DIR=${EJLOGDIR} + fi + if [ "$SPOOLDIR" = "" ] ; then +- spoold...@localstatedir@/lib/ejabberd ++ SPOOLDIR=${EJDBDIR}/${NODE} + fi + if [ "$EJABBERD_DOC_PATH" = "" ] ; then + ejabberd_doc_pa...@docdir@ +@@ -62,7 +62,7 @@ EJID=`id -g $INSTALLUSER` + EXEC_CMD="false" + for GID in $GIDS; do + if [ $GID -eq 0 ] ; then +- EXEC_CMD="su ${INSTALLUSER} -p -c" ++ EXEC_CMD="su ${INSTALLUSER} -m -c" + fi + done + if [ "$ID" -eq "$EJID" ] ; then +@@ -86,7 +86,7 @@ ERLANG_OPTS="+K $POLL -smp $SMP +P $ERL_PROCESSES $ERL # define additional environment variables --EJABBERD_EBIN=$ROOTDIR/var/lib/ejabberd/ebin --EJABBERD_MSGS_PATH=$ROOTDIR/var/lib/ejabberd/priv/msgs --EJABBERD_SO_PATH=$ROOTDIR/var/lib/ejabberd/priv/lib --EJABBERD_BIN_PATH=$ROOTDIR/var/lib/ejabberd/priv/bin --EJABBERD_LOG_PATH=$LOGS_DIR/ejabberd.log --SASL_LOG_PATH=$LOGS_DIR/sasl.log -+EJABBERD_EBIN=${LOCALBASE}/lib/ejabberd/ebin -+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 - DATETIME=`date "+%Y%m%d-%H%M%S"` --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} + if [ "$EJABBERDDIR" = "" ]; then +- ejabberdd...@libdir@/ejabberd ++ EJABBERDDIR=${LOCALBASE}/lib/ejabberd + fi + if [ "$EJABBERD_EBIN_PATH" = "" ]; then + EJABBERD_EBIN_PATH=$EJABBERDDIR/ebin +@@ -112,7 +112,7 @@ ERL_INETRC=$ETCDIR/inetrc + HOME=$SPOOLDIR + + # create the home dir with the proper user if doesn't exist, because it stores cookie file +-[ -d $HOME ] || $EXEC_CMD "mkdir -p $HOME" ++#[ -d $HOME ] || $EXEC_CMD "mkdir -p $HOME" -+# make sure we execute commands as proper user -+if [ $ID -eq 0 ]; then -+ EXEC_CMD='sudo -c - -u ${JABBERDUSER}' -+else -+ EXEC_CMD='' -+fi -+ # export global variables export EJABBERD_CONFIG_PATH - export EJABBERD_MSGS_PATH -@@ -64,23 +76,24 @@ export ERL_CRASH_DUMP - export ERL_INETRC - export ERL_MAX_PORTS - export ERL_MAX_ETS_TABLES -+export EXEC_CMD - export HOME - --[ -d $EJABBERD_DB ] || mkdir -p $EJABBERD_DB --[ -d $LOGS_DIR ] || mkdir -p $LOGS_DIR -- - # Compatibility in ZSH - #setopt shwordsplit 2>/dev/null - - # start server - start () - { -- $ERL \ -+ ${EXEC_CMD} $ERL \ - $NAME $ERLANG_NODE \ - -noinput -detached \ - -pa $EJABBERD_EBIN \ -+ -kernel inetrc \"${ERL_INETRC}\" \ - -mnesia dir "\"$EJABBERD_DB\"" \ - -s ejabberd \ -+ -ejabberd config \"${EJABBERD_CONFIG_PATH}\" \ -+ log_path \"${EJABBERD_LOG_PATH}\" \ - -sasl sasl_error_logger \{file,\"$SASL_LOG_PATH\"\} \ - $ERLANG_OPTS $ARGS "$@" - } -@@ -104,7 +117,7 @@ debug () - echo "Press any key to continue" - read foo - echo "" -- $ERL \ -+ ${EXEC_CMD} $ERL \ - $NAME ${NODE}debug \ - -remsh $ERLANG_NODE \ - $ERLANG_OPTS $ARGS "$@" -@@ -128,18 +141,21 @@ live () - echo "Press any key to continue" - read foo - echo "" -- $ERL \ -+ ${EXEC_CMD} $ERL \ - $NAME $ERLANG_NODE \ - -pa $EJABBERD_EBIN \ -+ -kernel inetrc \"${ERL_INETRC}\" \ - -mnesia dir "\"$EJABBERD_DB\"" \ - -s ejabberd \ -+ -ejabberd config \"${EJABBERD_CONFIG_PATH}\" \ -+ log_path \"${EJABBERD_LOG_PATH}\" \ - $ERLANG_OPTS $ARGS "$@" - } - - # common control function - ctl () - { -- $ERL \ -+ ${EXEC_CMD} $ERL \ - $NAME ejabberdctl \ - -noinput \ - -pa $EJABBERD_EBIN \ -@@ -171,6 +187,20 @@ usage () - ctl - exit - } -+ -+# check if we're a user that can execute commands -+if [ "$ID" -ne 0 -a "$ID" -ne "$EJID" ]; then -+ echo "this command can only be run by root or the _ejabberd user" >&2 -+ EXEC_CMD='false' -+ usage -+fi -+ -+if [ ! -d $EJABBERD_DB -o ! -w $EJABBERD_DB ] ; then -+ if [ ! -d ${EJABBERD_DB%/*} -o ! -w ${EJABBERD_DB%/*} ] ; then -+ echo "${EJABBERD_DB} does not exist and I can't create it!" -+ exit 1 -+ fi -+fi - - case $ARGS in - ' start') start;; +@@ -234,7 +234,7 @@ ctl () + # using flock if available. Expects a linux-style + # flock that can lock a file descriptor. + MAXCONNID=100 +- connlockd...@localstatedir@/lock/ejabberdctl ++ CONNLOCKDIR=/tmp + FLOCK='/usr/bin/flock' + if [ ! -x "$FLOCK" ] ; then + JOT='/usr/bin/jot' Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/net/ejabberd/pkg/PLIST,v retrieving revision 1.5 diff -u -d -r1.5 PLIST --- pkg/PLIST 19 Mar 2009 18:26:46 -0000 1.5 +++ pkg/PLIST 3 Apr 2010 20:10:59 -0000 @@ -12,6 +12,7 @@ lib/ejabberd/ebin/cyrsasl_anonymous.beam lib/ejabberd/ebin/cyrsasl_digest.beam lib/ejabberd/ebin/cyrsasl_plain.beam +lib/ejabberd/ebin/dynamic_compile.beam lib/ejabberd/ebin/ejabberd.app lib/ejabberd/ebin/ejabberd.beam lib/ejabberd/ebin/ejabberd_admin.beam @@ -25,9 +26,12 @@ @comment lib/ejabberd/ebin/ejabberd_auth_pam.beam lib/ejabberd/ebin/ejabberd_c2s.beam lib/ejabberd/ebin/ejabberd_c2s_config.beam +lib/ejabberd/ebin/ejabberd_captcha.beam lib/ejabberd/ebin/ejabberd_check.beam +lib/ejabberd/ebin/ejabberd_commands.beam lib/ejabberd/ebin/ejabberd_config.beam lib/ejabberd/ebin/ejabberd_ctl.beam +lib/ejabberd/ebin/ejabberd_debug.beam lib/ejabberd/ebin/ejabberd_frontend_socket.beam lib/ejabberd/ebin/ejabberd_hooks.beam lib/ejabberd/ebin/ejabberd_http.beam @@ -40,6 +44,7 @@ lib/ejabberd/ebin/ejabberd_node_groups.beam lib/ejabberd/ebin/ejabberd_odbc.beam lib/ejabberd/ebin/ejabberd_odbc_sup.beam +lib/ejabberd/ebin/ejabberd_piefxis.beam lib/ejabberd/ebin/ejabberd_rdbms.beam lib/ejabberd/ebin/ejabberd_receiver.beam lib/ejabberd/ebin/ejabberd_router.beam @@ -49,6 +54,7 @@ lib/ejabberd/ebin/ejabberd_service.beam lib/ejabberd/ebin/ejabberd_sm.beam lib/ejabberd/ebin/ejabberd_socket.beam +lib/ejabberd/ebin/ejabberd_stun.beam lib/ejabberd/ebin/ejabberd_sup.beam lib/ejabberd/ebin/ejabberd_system_monitor.beam lib/ejabberd/ebin/ejabberd_tmp_sup.beam @@ -89,6 +95,7 @@ lib/ejabberd/ebin/mod_muc_room.beam lib/ejabberd/ebin/mod_offline.beam lib/ejabberd/ebin/mod_offline_odbc.beam +lib/ejabberd/ebin/mod_ping.beam lib/ejabberd/ebin/mod_privacy.beam lib/ejabberd/ebin/mod_privacy_odbc.beam lib/ejabberd/ebin/mod_private.beam @@ -99,11 +106,13 @@ lib/ejabberd/ebin/mod_proxy65_sm.beam lib/ejabberd/ebin/mod_proxy65_stream.beam lib/ejabberd/ebin/mod_pubsub.beam +lib/ejabberd/ebin/mod_pubsub_odbc.beam lib/ejabberd/ebin/mod_register.beam lib/ejabberd/ebin/mod_roster.beam lib/ejabberd/ebin/mod_roster_odbc.beam lib/ejabberd/ebin/mod_service_log.beam lib/ejabberd/ebin/mod_shared_roster.beam +lib/ejabberd/ebin/mod_sic.beam lib/ejabberd/ebin/mod_stats.beam lib/ejabberd/ebin/mod_time.beam lib/ejabberd/ebin/mod_vcard.beam @@ -112,35 +121,72 @@ lib/ejabberd/ebin/mod_version.beam lib/ejabberd/ebin/node_buddy.beam lib/ejabberd/ebin/node_club.beam -lib/ejabberd/ebin/node_default.beam +lib/ejabberd/ebin/node_dag.beam lib/ejabberd/ebin/node_dispatch.beam +lib/ejabberd/ebin/node_flat.beam +lib/ejabberd/ebin/node_flat_odbc.beam +lib/ejabberd/ebin/node_hometree.beam +lib/ejabberd/ebin/node_hometree_odbc.beam +lib/ejabberd/ebin/node_mb.beam lib/ejabberd/ebin/node_pep.beam +lib/ejabberd/ebin/node_pep_odbc.beam lib/ejabberd/ebin/node_private.beam lib/ejabberd/ebin/node_public.beam -lib/ejabberd/ebin/nodetree_default.beam +lib/ejabberd/ebin/nodetree_dag.beam +lib/ejabberd/ebin/nodetree_tree.beam +lib/ejabberd/ebin/nodetree_tree_odbc.beam lib/ejabberd/ebin/nodetree_virtual.beam lib/ejabberd/ebin/odbc_queries.beam lib/ejabberd/ebin/p1_fsm.beam lib/ejabberd/ebin/p1_mnesia.beam -lib/ejabberd/ebin/ram_file_io_server.beam +lib/ejabberd/ebin/pubsub_db_odbc.beam +lib/ejabberd/ebin/pubsub_index.beam +lib/ejabberd/ebin/pubsub_subscription.beam +lib/ejabberd/ebin/pubsub_subscription_odbc.beam lib/ejabberd/ebin/randoms.beam lib/ejabberd/ebin/sha.beam lib/ejabberd/ebin/shaper.beam lib/ejabberd/ebin/stringprep.beam lib/ejabberd/ebin/stringprep_sup.beam +lib/ejabberd/ebin/stun_codec.beam lib/ejabberd/ebin/tls.beam lib/ejabberd/ebin/translate.beam lib/ejabberd/ebin/treap.beam @comment lib/ejabberd/ebin/win32_dns.beam lib/ejabberd/ebin/xml.beam lib/ejabberd/ebin/xml_stream.beam +lib/ejabberd/include/ +lib/ejabberd/include/XmppAddr.hrl +lib/ejabberd/include/adhoc.hrl +lib/ejabberd/include/ejabberd.hrl +lib/ejabberd/include/ejabberd_commands.hrl +lib/ejabberd/include/ejabberd_config.hrl +lib/ejabberd/include/ejabberd_ctl.hrl +lib/ejabberd/include/eldap/ +lib/ejabberd/include/eldap/ELDAPv3.hrl +lib/ejabberd/include/eldap/eldap.hrl +lib/ejabberd/include/jlib.hrl +lib/ejabberd/include/mod_muc/ +lib/ejabberd/include/mod_muc/mod_muc_room.hrl +lib/ejabberd/include/mod_privacy.hrl +lib/ejabberd/include/mod_proxy65/ +lib/ejabberd/include/mod_proxy65/mod_proxy65.hrl +lib/ejabberd/include/mod_pubsub/ +lib/ejabberd/include/mod_pubsub/pubsub.hrl +lib/ejabberd/include/mod_roster.hrl +lib/ejabberd/include/web/ +lib/ejabberd/include/web/ejabberd_http.hrl +lib/ejabberd/include/web/ejabberd_web_admin.hrl +lib/ejabberd/include/web/http_bind.hrl lib/ejabberd/priv/ lib/ejabberd/priv/bin/ +lib/ejabberd/priv/bin/captcha.sh lib/ejabberd/priv/lib/ lib/ejabberd/priv/msgs/ lib/ejabberd/priv/msgs/ca.msg lib/ejabberd/priv/msgs/cs.msg lib/ejabberd/priv/msgs/de.msg +lib/ejabberd/priv/msgs/el.msg lib/ejabberd/priv/msgs/eo.msg lib/ejabberd/priv/msgs/es.msg lib/ejabberd/priv/msgs/fr.msg
pgpUG7Er8nZCv.pgp
Description: PGP signature
