Changeset 288


Ignore:
Timestamp:
Mar 28, 2008, 8:29:04 PM (16 years ago)
Author:
broder
Message:

Fixed the init scripts and control file. Also, imported quentin's UNCOMMITTED CODE

Location:
trunk/packages/sipb-xen-vnc-server
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/packages/sipb-xen-vnc-server/code/vncexternalauth.py

    r125 r288  
    4646
    4747    def dataReceived(self,data):
     48        #self.socks.log(self,"R"+data)
    4849        self.socks.write(data)
    4950
    5051    def write(self,data):
    51         #self.socks.log(self,data)
     52        #self.socks.log(self,'W'+data)
    5253        self.transport.write(data)
    5354
     
    6667    def validateToken(self, token):
    6768        global TOKEN_KEY
     69        self.auth_error = "Invalid token"
    6870        try:
    6971            token = base64.urlsafe_b64decode(token)
     
    7173            m = hmac.new(TOKEN_KEY, digestmod=sha)
    7274            m.update(token['data'])
    73             self.auth_error = "Invalid token"
    7475            if (m.digest() == token['digest']):
    7576                data = cPickle.loads(token['data'])
     
    8283                else:
    8384                    self.auth_error = "Token has expired; please try logging in again"
    84         except:
    85             self.auth = None
     85        except (TypeError, cPickle.UnpicklingError):
     86            self.auth = None           
    8687            print sys.exc_info()
    8788
     
    100101                    (header, data) = line.split(": ", 1)
    101102                    headers[header] = data
    102                 except:
     103                except ValueError:
    103104                    pass
    104105
     
    115116                if ("Auth-token" in headers):
    116117                    token = headers["Auth-token"]
    117                     try:
    118                         self.validateToken(token)
    119                     finally:
    120                         if self.auth is not None:
    121                             port = getPort(vmname, self.auth_data)
    122                             if port is not None: # FIXME
    123                                 if port is not 0:
    124                                     d = self.connectClass(self.server, port, VNCAuthOutgoing, self)
    125                                     d.addErrback(lambda result, self=self: self.makeReply(404, result.getErrorMessage()))
    126                                 else:
    127                                     self.makeReply(404, "Unable to find VNC for VM "+vmname)
     118                    self.validateToken(token)
     119                    if self.auth is not None:
     120                        port = getPort(vmname, self.auth_data)
     121                        if port is not None: # FIXME
     122                            if port != 0:
     123                                d = self.connectClass(self.server, port, VNCAuthOutgoing, self)
     124                                d.addErrback(lambda result, self=self: self.makeReply(404, result.getErrorMessage()))
    128125                            else:
    129                                 self.makeReply(401, "Unauthorized to connect to VM "+vmname)
     126                                self.makeReply(404, "Unable to find VNC for VM "+vmname)
    130127                        else:
    131                             if self.auth_error:
    132                                 self.makeReply(401, self.auth_error)
    133                             else:
    134                                 self.makeReply(401, "Invalid token")
     128                            self.makeReply(401, "Unauthorized to connect to VM "+vmname)
     129                    else:
     130                        if self.auth_error:
     131                            self.makeReply(401, self.auth_error)
     132                        else:
     133                            self.makeReply(401, "Invalid token")
    135134                else:
    136135                    self.makeReply(401, "Login first")
  • trunk/packages/sipb-xen-vnc-server/code/vncproxy.py

    • Property svn:executable set to *
    r115 r288  
    11#! /usr/bin/python
    2 from twisted.internet import reactor
     2from twisted.internet import reactor, ssl
    33import vncexternalauth
    44
     5sslContext = ssl.DefaultOpenSSLContextFactory(
     6        'vncproxykey.pem',
     7        'vncproxy.crt',
     8)
     9
    510if '__main__' == __name__:
    6     reactor.listenTCP(10003,vncexternalauth.VNCAuthFactory("./vncauth.log", "localhost"))
     11    reactor.listenSSL(10003,vncexternalauth.VNCAuthFactory("./vncauth.log", "localhost"), contextFactory=sslContext)
     12    #reactor.listenTCP(10003,vncexternalauth.VNCAuthFactory("./vncauth.log", "localhost"))
    713    reactor.run()
  • trunk/packages/sipb-xen-vnc-server/debian/control

    r286 r288  
    66Standards-Version: 3.7.2
    77
    8 Package: sipb-xen-dhcp
     8Package: sipb-xen-vnc-server
    99Architecture: all
    1010Depends: ${misc:Depends}, daemon, python-twisted-core, xen-utils-3.1-1
  • trunk/packages/sipb-xen-vnc-server/debian/sipb-xen-vnc-server.init

    r286 r288  
    4646        #   2 if daemon could not be started
    4747        daemon --running -n $NAME && return 1
    48         daemon -r -D "$(dirname $DAEMON)" -O daemon.info -E daemon.err -n $NAME -U $DAEMON $DAEMON_ARGS || return 2
     48        daemon -r -U -O daemon.info -E daemon.err -n $NAME -U $DAEMON $DAEMON_ARGS || return 2
    4949}
    5050
Note: See TracChangeset for help on using the changeset viewer.