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
pgp6KyafyVFlJ.pgp
Description: PGP signature
