Index: trunk/packages/invirt-remote-server/debian/changelog
===================================================================
--- trunk/packages/invirt-remote-server/debian/changelog	(revision 1409)
+++ trunk/packages/invirt-remote-server/debian/changelog	(revision 1411)
@@ -1,2 +1,9 @@
+invirt-remote-server (0.0.11) unstable; urgency=low
+
+  * Don't proxy requests for the VNC cert if the requested hostname isn't
+    an Invirt host
+
+ -- Evan Broder <broder@mit.edu>  Tue, 28 Oct 2008 23:17:10 -0400
+
 invirt-remote-server (0.0.10) unstable; urgency=low
 
Index: trunk/packages/invirt-remote-server/files/usr/sbin/invirt-remote-vnccert
===================================================================
--- trunk/packages/invirt-remote-server/files/usr/sbin/invirt-remote-vnccert	(revision 1409)
+++ trunk/packages/invirt-remote-server/files/usr/sbin/invirt-remote-vnccert	(revision 1411)
@@ -1,6 +1,26 @@
-#!/bin/bash
-# Get the VNC cert for the host passed as the first argument
+#!/usr/bin/python
 
-klist -s || kinit -k
+"""
+Retrieves the VNC certificate from an Invirt host
+"""
 
-exec remctl "$1" remote web vnccert
+from invirt.config import structs as config
+from subprocess import Popen, call, PIPE
+import sys
+
+
+def main(argv):
+    if len(argv) < 2:
+        print >> sys.stderr, "usage: invirt-remote-vnccert <host>"
+        return 2
+    
+    host = argv[1]
+    
+    if host not in list(i.hostname for i in config.hosts):
+        print >> sys.stderr, "Invalid hostname specified"
+        return 1
+    
+    return call(['remctl', host, 'remote', 'web', 'vnccert'])
+
+if __name__ == '__main__':
+    sys.exit(main(sys.argv))
