diff options
author | Holger Weiss <holger@zedat.fu-berlin.de> | 2014-05-06 21:41:29 +0200 |
---|---|---|
committer | Holger Weiss <holger@zedat.fu-berlin.de> | 2014-05-06 21:41:29 +0200 |
commit | d343447cc94822a220e2ef2948eac6dcfd860cae (patch) | |
tree | 587a8cb8903573a2253f50bb10f56685c027d858 /tools | |
parent | XEP-0198: Use "mgmt_" prefix for all #state fields (diff) | |
parent | Fix PEP broadcasting issue on ODBC (EJAB-1680) (diff) |
Merge remote-tracking branch 'processone/master' into xep-0198
Conflicts:
doc/guide.tex
src/ejabberd_c2s.erl
Diffstat (limited to 'tools')
-rw-r--r-- | tools/configure.erl | 9 | ||||
-rw-r--r-- | tools/ejabberdctl.bc | 99 | ||||
-rw-r--r-- | tools/p1_prof.erl | 9 |
3 files changed, 107 insertions, 10 deletions
diff --git a/tools/configure.erl b/tools/configure.erl index 6f0b1dd4e..bc0f87eb7 100644 --- a/tools/configure.erl +++ b/tools/configure.erl @@ -5,7 +5,7 @@ %%% Created : 27 Jan 2003 by Alexey Shchepin <alexey@process-one.net> %%% %%% -%%% ejabberd, Copyright (C) 2002-2013 ProcessOne +%%% ejabberd, Copyright (C) 2002-2014 ProcessOne %%% %%% This program is free software; you can redistribute it and/or %%% modify it under the terms of the GNU General Public License as @@ -17,10 +17,9 @@ %%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU %%% General Public License for more details. %%% -%%% You should have received a copy of the GNU General Public License -%%% along with this program; if not, write to the Free Software -%%% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -%%% 02111-1307 USA +%%% You should have received a copy of the GNU General Public License along +%%% with this program; if not, write to the Free Software Foundation, Inc., +%%% 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. %%% %%%---------------------------------------------------------------------- diff --git a/tools/ejabberdctl.bc b/tools/ejabberdctl.bc new file mode 100644 index 000000000..72a5356f2 --- /dev/null +++ b/tools/ejabberdctl.bc @@ -0,0 +1,99 @@ +# +# bash completion for ejabberdctl +# +get_help() +{ + local COMMANDCACHE=/var/log/ejabberd/bash_completion_$RANDOM + ejabberdctl $CTLARGS help >$COMMANDCACHE + if [[ $? == 2 ]] ; then + ISRUNNING=1 + runningcommands=`cat $COMMANDCACHE | grep "^ [a-z]" | awk '{print $1}' | xargs` + fi + rm $COMMANDCACHE +} + +_ejabberdctl() +{ + local cur prev + local ISRUNNING=0 + local runningcommands + + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + + local startcoms="start debug live" + local startpars="--config-dir --config --ctl-config --logs --spool" + + local i=1 + local CTLARGS="" + while [ $i -lt $COMP_CWORD ] ; do + local PARAM="${COMP_WORDS[i]}" + i=$((i+1)) + case $PARAM in + --*) + CTLARGS="--node ${COMP_WORDS[i]}" + i=$((i+1)) ;; + *) break ;; + esac + done + + case "${prev##*/}" in + ejabberdctl) + # This clause matches even when calling `/sbin/ejabberdctl` thanks to the ##*/ in the case + get_help + COMPREPLY=($(compgen -W "--node --auth ${startpars} ${startcoms} ${runningcommands}" -- $cur)) + return 0 + ;; + start|live) + COMPREPLY=($(compgen -W "--node ${startpars}" -- $cur)) + return 0 + ;; + debug) + COMPREPLY=($(compgen -W "--node" -- $cur)) + return 0 + ;; + help) + get_help + COMPREPLY=($(compgen -W "${runningcommands}" -- $cur)) + return 0 + ;; + --node) + RUNNINGNODES=`epmd -names | grep name | awk '{print $2"@localhost"}' | xargs` + COMPREPLY=($(compgen -W "$RUNNINGNODES" -- $cur)) + return 0 + ;; + --config|--ctl-config) + _filedir '?(u)cfg' + return 0 + ;; + --config-dir|--logs|--spool) + _filedir + return 0 + ;; + *) + prev2="${COMP_WORDS[COMP_CWORD-2]}" + get_help + if [[ "$prev2" == --* ]]; then + COMPREPLY=($(compgen -W "--node --auth ${startpars} ${startcoms} ${runningcommands}" -- $cur)) + else + if [[ $ISRUNNING == 1 ]]; then + echo "" + ejabberdctl $CTLARGS help ${PARAM} + echo -n "${COMP_LINE}" + fi + fi + return 0 + ;; + esac +} + +complete -F _ejabberdctl ejabberdctl + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh diff --git a/tools/p1_prof.erl b/tools/p1_prof.erl index d73f06f05..c085f64fc 100644 --- a/tools/p1_prof.erl +++ b/tools/p1_prof.erl @@ -6,7 +6,7 @@ %%% Created : 23 Jan 2010 by Evgeniy Khramtsov <ekhramtsov@process-one.net> %%% %%% -%%% ejabberd, Copyright (C) 2002-2013 ProcessOne +%%% ejabberd, Copyright (C) 2002-2014 ProcessOne %%% %%% This program is free software; you can redistribute it and/or %%% modify it under the terms of the GNU General Public License as @@ -18,10 +18,9 @@ %%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU %%% General Public License for more details. %%% -%%% You should have received a copy of the GNU General Public License -%%% along with this program; if not, write to the Free Software -%%% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -%%% 02111-1307 USA +%%% You should have received a copy of the GNU General Public License along +%%% with this program; if not, write to the Free Software Foundation, Inc., +%%% 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. %%% %%%------------------------------------------------------------------- -module(p1_prof). |