Index: trunk/packages/invirt-remote/debian/changelog
===================================================================
--- trunk/packages/invirt-remote/debian/changelog	(revision 2093)
+++ trunk/packages/invirt-remote/debian/changelog	(revision 2094)
@@ -3,6 +3,8 @@
   * Don't pass untrusted arguments to xm info.
   * Exit with a non-0 error code on the host if there's an error.
-
- -- Evan Broder <broder@mit.edu>  Sat, 31 Jan 2009 03:51:24 -0500
+  * Always exec instead of fork&exec on the remctl server so that return
+    codes get passed on.
+
+ -- Evan Broder <broder@mit.edu>  Sat, 31 Jan 2009 03:51:54 -0500
 
 invirt-remote (0.3.1) unstable; urgency=low
Index: trunk/packages/invirt-remote/server/usr/sbin/invirt-remote-proxy
===================================================================
--- trunk/packages/invirt-remote/server/usr/sbin/invirt-remote-proxy	(revision 2093)
+++ trunk/packages/invirt-remote/server/usr/sbin/invirt-remote-proxy	(revision 2094)
@@ -14,17 +14,17 @@
 case "$TYPE/$SERVICE" in
     web/listvms )
-	invirt-remote-listvms "$@" ;;
+	exec invirt-remote-listvms "$@" ;;
     web/vnccert )
-        invirt-remote-vnccert "$@" ;;
+        exec invirt-remote-vnccert "$@" ;;
     control/help )
-        invirt-remctl-help ;;
+        exec invirt-remctl-help ;;
     control/create|control/install )
-	invirt-remote-create "$SERVICE" "$MACHINE" "$@" ;;
+	exec invirt-remote-create "$SERVICE" "$MACHINE" "$@" ;;
     control/listhost|control/list-host )
-	invirt-remote-listhost "$MACHINE" "$@" ;;
+	exec invirt-remote-listhost "$MACHINE" "$@" ;;
     control/* )
 	# Everything but create must go where the VM is already running.
-	invirt-remote-control "$MACHINE" "$SERVICE" "$@" ;;
+	exec invirt-remote-control "$MACHINE" "$SERVICE" "$@" ;;
     * )
-	remctl "$(invirt-getconf hosts.0.hostname)" remote "$TYPE" "$SERVICE" "$@" ;;
+	exec remctl "$(invirt-getconf hosts.0.hostname)" remote "$TYPE" "$SERVICE" "$@" ;;
 esac
