rm -f "$MOIRATMP"
}
+check_machine_name()
+{
+ machine="$1"
+ if ! perl -0e 'exit($ARGV[0] !~ /^[A-Za-z0-9][A-Za-z0-9._-]*$/)' -- "$machinename"; then
+ echo "Bad machine name"
+ exit 1
+ fi
+}
+
case "$1" in
moiragroup)
update_moiragroup "$2"
;;
unregister)
machine="$2"
+ check_machine_name "$machine"
rm -f "$ACLDIR"/"$machine"
rm -f "$MACHINEDIR"/"$machine"
"$0" web
;;
+ moveregister)
+ oldmachine="$2"
+ newmachine="$3"
+ check_machine_name "$oldmachine"
+ check_machine_name "$newmachine"
+ mv "$ACLDIR"/"$oldmachine" "$ACLDIR"/"$newmachine"
+ rm -f "$MACHINEDIR"/"$oldmachine"
+ "$0" web
+ ;;
register)
machine="$2"
- if [ "$machine" == "Domain-0" ]; then
- echo "No, you can't control Domain 0"
- exit 1
- fi
- if [ -e /etc/xen/"$machine" ]; then
- echo "Machine already exists outside database"
- exit 1
- fi
+ check_machine_name "$machine"
if [ -e "$ACLDIR"/"$machine" ]; then
echo "Machine already registered"
exit 1