def grant(key): #key is server-id conf = ServerConf() nodeConnectRequests = conf.getNodeConnectRequests() if nodeConnectRequests.exists(key): nodeToAdd = nodeConnectRequests.get(key) #this returns a nodeConnectRequest object serv = RawServerMessage(nodeToAdd.getHostname(), nodeToAdd.getClientSecurePort()) #letting the requesting node know that it is accepted #also sending this servers connection parameters resp = serv.addNodeAccepted() conf.addNode(Node(nodeToAdd.server_id, nodeToAdd.getClientSecurePort(), nodeToAdd.getServerSecurePort(), nodeToAdd.getQualifiedName(),nodeToAdd.getHostname())) #trust the key openssl = OpenSSL(conf) openssl.addCa(nodeToAdd.key) nodeConnectRequests.removeNode(nodeToAdd.getId()) conf.set('node_connect_requests', nodeConnectRequests) return True else: return False
def grant(key): #key is server-id conf = ServerConf() nodeConnectRequests = conf.getNodeConnectRequests() if nodeConnectRequests.exists(key): nodeToAdd = nodeConnectRequests.get( key) #this returns a nodeConnectRequest object serv = RawServerMessage(nodeToAdd.getHostname(), nodeToAdd.getClientSecurePort()) #letting the requesting node know that it is accepted #also sending this servers connection parameters resp = serv.addNodeAccepted() conf.addNode( Node(nodeToAdd.server_id, nodeToAdd.getClientSecurePort(), nodeToAdd.getServerSecurePort(), nodeToAdd.getQualifiedName(), nodeToAdd.getHostname())) #trust the key openssl = OpenSSL(conf) openssl.addCa(nodeToAdd.key) nodeConnectRequests.removeNode(nodeToAdd.getId()) conf.set('node_connect_requests', nodeConnectRequests) return True else: return False
def run(self, serverState, request, response): conf = ServerConf() host = request.getParam('host') client_secure_port = request.getParam('client_secure_port') result = dict() #do we have a server with this hostname or fqdn? connectedNodes = conf.getNodes() if (connectedNodes.hostnameOrFQDNExists(host) == False): serv = RawServerMessage(host, client_secure_port) resp = ProcessedResponse(serv.sendAddNodeRequest(host)) if resp.isOK(): result = resp.getData() nodeConnectRequest = NodeConnectRequest(result['serverId'], int(client_secure_port),None,None,result['fqdn'],host) conf.addSentNodeConnectRequest(nodeConnectRequest) result['nodeConnectRequest']=nodeConnectRequest log.info("Added node %s" % host) response.add('', result) else: response.add("Remote server said: %s"%resp.getMessage(), status="ERROR") else: errorMessage = "%s is already trusted" % host response.add(errorMessage, status="ERROR") log.info(errorMessage)
def run(self, serverState, request, response): conf = ServerConf() host = request.getParam('host') client_secure_port = request.getParam('client_secure_port') result = dict() #do we have a server with this hostname or fqdn? connectedNodes = conf.getNodes() if (connectedNodes.hostnameOrFQDNExists(host) == False): serv = RawServerMessage(host, client_secure_port) resp = ProcessedResponse(serv.sendAddNodeRequest(host)) if resp.isOK(): result = resp.getData() nodeConnectRequest = NodeConnectRequest( result['serverId'], int(client_secure_port), None, None, result['fqdn'], host) conf.addSentNodeConnectRequest(nodeConnectRequest) result['nodeConnectRequest'] = nodeConnectRequest log.info("Added node %s" % host) response.add('', result) else: response.add("Remote server said: %s" % resp.getMessage(), status="ERROR") else: errorMessage = "%s is already trusted" % host response.add(errorMessage, status="ERROR") log.info(errorMessage)