update to 2.1.3, from viq (maintainer).

This commit is contained in:
sthen 2010-04-11 10:07:10 +00:00
parent 45a3224363
commit 899c90b306
6 changed files with 146 additions and 157 deletions

View File

@ -1,8 +1,8 @@
# $OpenBSD: Makefile,v 1.15 2009/04/05 23:48:55 sthen Exp $
# $OpenBSD: Makefile,v 1.16 2010/04/11 10:07:10 sthen Exp $
COMMENT= jabber server written in Erlang
V= 2.0.5
V= 2.1.3
DISTNAME= ejabberd-$V
CATEGORIES= net

View File

@ -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

View File

@ -0,0 +1,22 @@
No need to install release notes.
$OpenBSD: patch-src_Makefile_in,v 1.1 2010/04/11 10:07:10 sthen Exp $
--- 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

View File

@ -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
$OpenBSD: patch-src_ejabberd_cfg_example,v 1.3 2010/04/11 10:07:10 sthen Exp $
--- 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 @@ $OpenBSD: patch-src_ejabberd_cfg_example,v 1.2 2009/03/06 09:19:13 jasper Exp $
{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 @@ $OpenBSD: patch-src_ejabberd_cfg_example,v 1.2 2009/03/06 09:19:13 jasper Exp $
{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.
%%

View File

@ -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
$OpenBSD: patch-src_ejabberdctl_template,v 1.3 2010/04/11 10:07:10 sthen Exp $
--- 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 @@ $OpenBSD: patch-src_ejabberdctl_template,v 1.2 2009/02/12 09:58:11 sthen Exp $
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 @@ $OpenBSD: patch-src_ejabberdctl_template,v 1.2 2009/02/12 09:58:11 sthen Exp $
+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}
+ID=`id -g`
+EJID=`id -g ${JABBERDUSER}`
# read custom configuration
-CONFIG=$ROOTDIR/etc/ejabberd/ejabberdctl.cfg
+CONFIG=${SYSCONFDIR}/ejabberd/ejabberdctl.cfg
[ -f "$CONFIG" ] && . "$CONFIG"
-INSTALLUSER=@installuser@
+INSTALLUSER=${JABBERDUSER}
# parse command line parameters
@@ -37,23 +39,33 @@ while [ $# -ne 0 ] ; do
esac
ARGS=
@@ -33,7 +33,7 @@ done
# Define ejabberd variable if they have not been defined from the command line
if [ "$ETCDIR" = "" ] ; then
- ETCDIR=@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_DIR=@LOCALSTATEDIR@/log/ejabberd
+ LOGS_DIR=${EJLOGDIR}
fi
if [ "$SPOOLDIR" = "" ] ; then
- SPOOLDIR=@LOCALSTATEDIR@/lib/ejabberd
+ SPOOLDIR=${EJDBDIR}/${NODE}
fi
if [ "$EJABBERD_DOC_PATH" = "" ] ; then
EJABBERD_DOC_PATH=@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
+NODE="${ERLANG_NODE%@*}"
+EJABBERD_DB=${EJDBDIR}/$NODE
+
NAME=-name
[ "$ERLANG_NODE" = "${ERLANG_NODE%.*}" ] && NAME=-sname
ERLANG_OPTS="+K $POLL -smp $SMP +P $ERL_PROCESSES"
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
- EJABBERDDIR=@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
- CONNLOCKDIR=@LOCALSTATEDIR@/lock/ejabberdctl
+ CONNLOCKDIR=/tmp
FLOCK='/usr/bin/flock'
if [ ! -x "$FLOCK" ] ; then
JOT='/usr/bin/jot'

View File

@ -1,4 +1,4 @@
@comment $OpenBSD: PLIST,v 1.5 2009/03/19 18:26:46 jasper Exp $
@comment $OpenBSD: PLIST,v 1.6 2010/04/11 10:07:10 sthen Exp $
@newgroup _ejabberd:594
@newuser _ejabberd:594:_ejabberd:daemon:ejabberd account:/var/db/ejabberd:/bin/sh
%%SHARED%%
@ -12,6 +12,7 @@ lib/ejabberd/ebin/cyrsasl.beam
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 @@ lib/ejabberd/ebin/ejabberd_auth_odbc.beam
@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_loglevel.beam
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_s2s_out.beam
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_log.beam
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_service.beam
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_vcard_odbc.beam
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