Include the VNC host and port in the VNC authentication token
authorQuentin Smith <quentin@mit.edu>
Thu, 8 Jan 2009 21:19:47 +0000 (16:19 -0500)
committerQuentin Smith <quentin@mit.edu>
Thu, 8 Jan 2009 21:19:47 +0000 (16:19 -0500)
svn path=/trunk/packages/invirt-vnc-server/; revision=1965

debian/changelog
invirt-vnc-authtoken

index 88d4fc3..3fc1271 100644 (file)
@@ -1,3 +1,9 @@
+invirt-vnc-server (0.0.6) unstable; urgency=low
+
+  * Include the VNC host and port in the authentication token
+
+  -- Quentin Smith <quentin@mit.edu>  Thu, 08 Jan 2009 16:15:46 -0500
+
 invirt-vnc-server (0.0.5) unstable; urgency=low
 
   * Use the generated certificate instead of the old /usr/share location
 invirt-vnc-server (0.0.5) unstable; urgency=low
 
   * Use the generated certificate instead of the old /usr/share location
index c542d5e..a173f46 100755 (executable)
@@ -8,12 +8,19 @@ import sha
 import time
 import base64
 from invirt.vnc import getTokenKey
 import time
 import base64
 from invirt.vnc import getTokenKey
+from invirt.config import structs as config
 
 def getAuthToken(username, machine, lifetime=5*60):
     data = {}
     data['user'] = username
     data['machine'] = machine
     data['expires'] = time.time() + lifetime
 
 def getAuthToken(username, machine, lifetime=5*60):
     data = {}
     data['user'] = username
     data['machine'] = machine
     data['expires'] = time.time() + lifetime
+    data['connect_host'] = config.web.hostname
+    try:
+        data['connect_port'] = 10003 + [h.hostname for h in
+                                        config.hosts].index(os.uname()[1])
+    except:
+        data['connect_port'] = 5900
     pickled_data = cPickle.dumps(data)
     m = hmac.new(getTokenKey(), digestmod=sha)
     m.update(pickled_data)
     pickled_data = cPickle.dumps(data)
     m = hmac.new(getTokenKey(), digestmod=sha)
     m.update(pickled_data)