From b7ec9fa5f38fa40cc618f523c428f5172f3fb40c Mon Sep 17 00:00:00 2001 From: Tzafrir Cohen Date: Wed, 12 Aug 2009 15:36:08 +0000 Subject: rapid-tunneling: bash completion for rtadm git-svn-id: svn+ssh://xorcom/home/svn/debs/components/rapid-tunneling@7314 283159da-0705-0410-b60c-f2062b4bb6ad --- Makefile | 2 ++ debian/rapid-tunneling-server.install | 1 + rapid-tunneling.spec | 1 + rtadm.bash_completion | 53 +++++++++++++++++++++++++++++++++++ 4 files changed, 57 insertions(+) create mode 100644 rtadm.bash_completion diff --git a/Makefile b/Makefile index 6fce990..c888ea8 100644 --- a/Makefile +++ b/Makefile @@ -67,6 +67,8 @@ install: install -m 644 gui/* $(DESTDIR)$(WWWHOME)/ install -m 755 -d $(DESTDIR)/etc/httpd/conf.d install -m 644 rapid-tunneling.conf $(DESTDIR)/etc/httpd/conf.d/ + install -m 755 -d $(DESTDIR)/etc/bash_completion.d + install -m 644 rtadm.bash_completion $(DESTDIR)/etc/bash_completion.d/rtadm .PHONY: clean dummy dummy: diff --git a/debian/rapid-tunneling-server.install b/debian/rapid-tunneling-server.install index e427762..8e3b9ab 100644 --- a/debian/rapid-tunneling-server.install +++ b/debian/rapid-tunneling-server.install @@ -1,3 +1,4 @@ +etc/bash_completion.d/rtadm etc/rapid-tunneling/rtadm etc/ssh/sshd_support_config usr/share/rapid-tunneling/support_env diff --git a/rapid-tunneling.spec b/rapid-tunneling.spec index 5ed12cb..71f14f2 100644 --- a/rapid-tunneling.spec +++ b/rapid-tunneling.spec @@ -113,6 +113,7 @@ service httpd reload %files server %defattr(-, root, root, 0755) +%config /etc/bash_completion.d/rtadm %config(noreplace) /etc/rapid-tunneling/rtadm %config(noreplace) /etc/ssh/sshd_support_config %config /etc/init.d/sshd_support diff --git a/rtadm.bash_completion b/rtadm.bash_completion new file mode 100644 index 0000000..15e3c70 --- /dev/null +++ b/rtadm.bash_completion @@ -0,0 +1,53 @@ +# Bash completion for rtadm + +_rtadm_ra_hosts_disabled() { + awk '/^#DISABLED#/ {print $5}' .ssh/authorized_keys | cut -d- -f3 +} + +_rtadm_ra_hosts_enabled() { + awk '/^[^#].* ra-/ {print $5}' .ssh/authorized_keys | cut -d- -f3 +} + +_rtadm_ra_hosts() { + awk '/ ra-/ {print $5}' .ssh/authorized_keys | cut -d- -f3 +} + +_rtadm() { + local cur commands command hosts + + COMPREPLY=() + cur=`_get_cword` + + commands='create show enable disable disconnect delete' + + if [[ $COMP_CWORD -eq 1 ]] ; then + COMPREPLY=( $( compgen -W "$commands" -- $cur ) ) + return 0 + fi + + + command=${COMP_WORDS[1]} + case "$command" in + create) + # Fixme: some completion here. + : #create [-e] port newname + ;; + show) : # No parameters here + ;; + enable) + hosts=`_rtadm_ra_hosts_disabled` + COMPREPLY=( $( compgen -W "$hosts" -- $cur ) ) + ;; + disable|disconnect) + hosts=`_rtadm_ra_hosts_enabled` + COMPREPLY=( $( compgen -W "$hosts" -- $cur ) ) + ;; + delete) + hosts=`_rtadm_ra_hosts` + COMPREPLY=( $( compgen -W "$hosts" -- $cur ) ) + ;; + esac + return 0 +} + +complete -F _rtadm rtadm -- cgit v1.2.3