Don't pass untrusted arguments to xm info.
[invirt/packages/invirt-remote.git] / server / usr / sbin / invirt-remote-proxy
1 #!/bin/bash
2 # invoke as invirt-remote-proxy-$TYPE, with "TYPE" in the remctl sense.
3
4 klist -s || kinit -k
5
6 TYPE="${0##*-}"
7 case "$TYPE" in
8     control )
9         MACHINE="$1"; SERVICE="$2"; shift; shift ;;
10     * )
11         SERVICE="$1"; shift ;;
12 esac
13
14 case "$TYPE/$SERVICE" in
15     web/listvms )
16         invirt-remote-listvms "$@" ;;
17     web/vnccert )
18         invirt-remote-vnccert "$@" ;;
19     control/help )
20         invirt-remctl-help ;;
21     control/create|control/install )
22         invirt-remote-create "$SERVICE" "$MACHINE" "$@" ;;
23     control/listhost|control/list-host )
24         invirt-remote-listhost "$MACHINE" "$@" ;;
25     control/* )
26         # Everything but create must go where the VM is already running.
27         invirt-remote-control "$MACHINE" "$SERVICE" "$@" ;;
28     * )
29         remctl "$(invirt-getconf hosts.0.hostname)" remote "$TYPE" "$SERVICE" "$@" ;;
30 esac