On Mon, Nov 30, 2009 at 01:14:22PM +0100, viq wrote: > 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
Any comments on the above?
> 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
--
viq
pgpVEjRnSML3j.pgp
Description: PGP signature
