from Cheetah.Template import Template
import validation
import cache_acls
-from webcommon import InvalidInput, CodeError, State
+from webcommon import State
import controls
from getafsgroups import getAfsGroupMembers
from invirt import database
from invirt.database import Machine, CDROM, session, connect, MachineAccess, Type, Autoinstall
from invirt.config import structs as config
+from invirt.common import InvalidInput, CodeError
+from invirt.remctl import remctl
def pathSplit(path):
if path.startswith('/'):
"""
machine = validation.Validate(username, state, machine_id=fields.getfirst('machine_id')).machine
- TOKEN_KEY = "0M6W0U1IXexThi5idy8mnkqPKEq1LtEnlK/pZSn0cDrN"
-
- data = {}
- data["user"] = username
- data["machine"] = machine.name
- data["expires"] = time.time()+(5*60)
- pickled_data = cPickle.dumps(data)
- m = hmac.new(TOKEN_KEY, digestmod=sha)
- m.update(pickled_data)
- token = {'data': pickled_data, 'digest': m.digest()}
- token = cPickle.dumps(token)
- token = base64.urlsafe_b64encode(token)
+ token = controls.remctl('control', machine.name, 'vnctoken').strip()
host = controls.listHost(machine)
if host:
port = 10003 + [h.hostname for h in config.hosts].index(host)