Here's an update to new branch - 2.1.0, with lots of fixes and
improvements, you can read about them at
http://www.process-one.net/en/ejabberd/release_notes/release_note_ejabberd_2.1.0

Couple notes, I'll appreciate comments about them
- they changed (again) database location, back to /var/db/ejabberd from
/var/db/ejabberd/$NODE (where $NODE usually is ejabberd), but I patched
it to use the old location to ease with upgrade - keep the old location
or go with the 'official' one?
- ejabberdctl is now 550 root:bin - should that be changed to 555, or
root:_ejabberd ?
- I 'disabled' the release notes for earlier releases, and fixed mode
for the file that gets installed, it wanted to install executable for
some reason
- they now include some header files, I saw no reason to remove them

Tested on i386 with erlang R12, also somewhat with R13B2 and R13B3. BTW,
2.0.x needs to be patched to work with R13, so it is better to upgrade
ejabberd before we go to newer erlang.

Also it seems it fixed a disconnection problem I saw with pidgin.

Please test and comment.
-- 
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    29 Nov 2009 12:33:15 -0000
@@ -2,7 +2,7 @@
 
 COMMENT=               jabber server written in Erlang
 
-V=                     2.0.5
+V=                     2.1.0
 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    29 Nov 2009 12:33:15 -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.0.tar.gz) = Nzvm6ZrPfJMKuFUxSJxjxA==
+RMD160 (ejabberd-2.1.0.tar.gz) = K5senDcCtUduL8EDUvLfwxAZnwE=
+SHA1 (ejabberd-2.1.0.tar.gz) = AD2SHZixasH5t1DnANDhzrX4zh0=
+SHA256 (ejabberd-2.1.0.tar.gz) = uNzs23wp39exbccX5XqgL3g2AiUj/IUXOmX7P54q9pk=
+SIZE (ejabberd-2.1.0.tar.gz) = 2219822
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      29 Nov 2009 12:33:15 -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      Sat Nov 28 21:49:37 2009
++++ src/ejabberdctl.template   Sat Nov 28 23:57:21 2009
 @@ -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,68 @@
 +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
+ ARGS=
+@@ -33,7 +33,7 @@ done
  
-+NODE="${erlang_no...@*}"
-+EJABBERD_DB=${EJDBDIR}/$NODE
-+
- NAME=-name
- [ "$ERLANG_NODE" = "${ERLANG_NODE%.*}" ] && NAME=-sname
+ # 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@
+@@ -57,16 +57,16 @@ fi
  
- ERLANG_OPTS="+K $POLL -smp $SMP +P $ERL_PROCESSES"
+ # check the proper system user is used
+ ID=`id -g`
+-EJID=`id -g $INSTALLUSER`
++EJID=`id -g ${JABBERDUSER}`
+ EXEC_CMD="false"
+ if [ $ID -eq 0 ] ; then
+-      EXEC_CMD="su ${INSTALLUSER} -c"
++      EXEC_CMD="su ${JABBERDUSER} -c"
+ fi
+ if [ "$ID" -eq "$EJID" ] ; then
+       EXEC_CMD="sh -c"
+ fi
+ if [ "$EXEC_CMD" = "false" ] ; then
+-      echo "This command can only be run by root or the user $INSTALLUSER" >&2
++      echo "This command can only be run by root or the user ${JABBERDUSER}" 
>&2
+       exit 1
+ fi
+ 
+@@ -83,7 +83,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
+@@ -109,7 +109,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;;
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   29 Nov 2009 12:33:15 -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,6 +106,7 @@
 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
@@ -112,35 +120,71 @@
 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/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
@@ -171,6 +215,24 @@
 share/doc/ejabberd/features.html
 share/doc/ejabberd/guide.html
 share/doc/ejabberd/logo.png
+...@comment share/doc/ejabberd/release_notes_0.9.1.txt
+...@comment share/doc/ejabberd/release_notes_0.9.8.txt
+...@comment share/doc/ejabberd/release_notes_0.9.txt
+...@comment share/doc/ejabberd/release_notes_1.0.0.txt
+...@comment share/doc/ejabberd/release_notes_1.1.0.txt
+...@comment share/doc/ejabberd/release_notes_1.1.1.txt
+...@comment share/doc/ejabberd/release_notes_1.1.2.txt
+...@comment share/doc/ejabberd/release_notes_1.1.3.txt
+...@comment share/doc/ejabberd/release_notes_1.1.4.txt
+...@comment share/doc/ejabberd/release_notes_2.0.0.txt
+...@comment share/doc/ejabberd/release_notes_2.0.1.txt
+...@comment share/doc/ejabberd/release_notes_2.0.2.txt
+...@comment share/doc/ejabberd/release_notes_2.0.3.txt
+...@comment share/doc/ejabberd/release_notes_2.0.4.txt
+...@comment share/doc/ejabberd/release_notes_2.0.5.txt
+...@mode 644
+share/doc/ejabberd/release_notes_2.1.0.txt
+...@mode
 share/doc/ejabberd/webadmmain.png
 share/doc/ejabberd/webadmmainru.png
 share/doc/ejabberd/yozhikheader.png

Attachment: pgp6KyafyVFlJ.pgp
Description: PGP signature

Reply via email to