diff --git a/ChangeLog b/ChangeLog index 52807ceb8..175dd9b63 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-03-21 Christophe Romain + + * src/pam/epam.erl: Seek epam binary into priv/bin (EJAB-573) + * src/ejabberd.erl: Likewise + * src/ejabberdctl.template: Likewise + * tools/ejabberdctl: Likewise + 2008-03-21 Badlop * src/cyrsasl_digest.erl: Rewrite io:format calls to loglevel diff --git a/src/ejabberd.erl b/src/ejabberd.erl index 323b4c912..de2727ca0 100644 --- a/src/ejabberd.erl +++ b/src/ejabberd.erl @@ -28,7 +28,7 @@ -author('alexey@process-one.net'). -export([start/0, stop/0, - get_so_path/0]). + get_so_path/0, get_bin_path/0]). start() -> application:start(ejabberd). @@ -49,3 +49,16 @@ get_so_path() -> Path -> Path end. + +get_bin_path() -> + case os:getenv("EJABBERD_BIN_PATH") of + false -> + case code:priv_dir(ejabberd) of + {error, _} -> + "."; + Path -> + filename:join([Path, "bin"]) + end; + Path -> + Path + end. diff --git a/src/ejabberdctl.template b/src/ejabberdctl.template index fd5a1d08c..f50b98580 100644 --- a/src/ejabberdctl.template +++ b/src/ejabberdctl.template @@ -45,6 +45,7 @@ ERLANG_OPTS="+K $POLL -smp $SMP +P $ERL_PROCESSES" 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 DATETIME=`date "+%Y%m%d-%H%M%S"` @@ -57,6 +58,7 @@ export EJABBERD_CONFIG_PATH export EJABBERD_MSGS_PATH export EJABBERD_LOG_PATH export EJABBERD_SO_PATH +export EJABBERD_BIN_PATH export ERL_CRASH_DUMP export ERL_INETRC export ERL_MAX_PORTS diff --git a/src/pam/epam.erl b/src/pam/epam.erl index 40431193b..df24496ba 100644 --- a/src/pam/epam.erl +++ b/src/pam/epam.erl @@ -79,7 +79,7 @@ acct_mgmt(Srv, User) when is_list(Srv), is_list(User) -> %% gen_server callbacks %%==================================================================== init([]) -> - FileName = filename:join(ejabberd:get_so_path(), "epam"), + FileName = filename:join(ejabberd:get_bin_path(), "epam"), case file:read_file_info(FileName) of {ok, Info} -> Mode = Info#file_info.mode band 16#801, diff --git a/tools/ejabberdctl b/tools/ejabberdctl index 8b16785d8..9d3f7bd5a 100755 --- a/tools/ejabberdctl +++ b/tools/ejabberdctl @@ -13,6 +13,7 @@ export EJABBERD_LOG_PATH=$ROOTDIR/ejabberd.log export EJABBERD_CONFIG_PATH=$ROOTDIR/ejabberd.cfg export EJABBERD_MSGS_PATH=$ROOTDIR/src/msgs export EJABBERD_SO_PATH=$ROOTDIR/src +export EJABBERD_BIN_PATH=$ROOTDIR/src export ERL_MAX_PORTS=32000 [ -d $EJABBERD_DB ] || mkdir -p $EJABBERD_DB