projects
/
invirt/packages/invirt-vnc-server.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
invirt-vnc-server should depend on openssl.
[invirt/packages/invirt-vnc-server.git]
/
python
/
vnc
/
extauth.py
diff --git
a/python/vnc/extauth.py
b/python/vnc/extauth.py
index
e6d07fe
..
a01a858
100644
(file)
--- a/
python/vnc/extauth.py
+++ b/
python/vnc/extauth.py
@@
-18,11
+18,12
@@
import hmac
import base64
import socket
import time
import base64
import socket
import time
-import get_port
-TOKEN_KEY = "0M6W0U1IXexThi5idy8mnkqPKEq1LtEnlK/pZSn0cDrN"
+def getTokenKey():
+ return file('/etc/invirt/vnc/token-key').read().strip()
def getPort(name, auth_data):
def getPort(name, auth_data):
+ import get_port
if (auth_data["machine"] == name):
port = get_port.findPort(name)
if port is None:
if (auth_data["machine"] == name):
port = get_port.findPort(name)
if port is None:
@@
-62,12
+63,11
@@
class VNCAuth(protocol.Protocol):
self.otherConn=None
def validateToken(self, token):
self.otherConn=None
def validateToken(self, token):
- global TOKEN_KEY
self.auth_error = "Invalid token"
try:
token = base64.urlsafe_b64decode(token)
token = cPickle.loads(token)
self.auth_error = "Invalid token"
try:
token = base64.urlsafe_b64decode(token)
token = cPickle.loads(token)
- m = hmac.new(TOKEN_KEY, digestmod=sha)
+ m = hmac.new(getTokenKey(), digestmod=sha)
m.update(token['data'])
if (m.digest() == token['digest']):
data = cPickle.loads(token['data'])
m.update(token['data'])
if (m.digest() == token['digest']):
data = cPickle.loads(token['data'])