def _zmq_bind(self, connClass, address): """ Bind to an address. :param connClass: The connection class to be used. :type connClass: txzmq.ZmqConnection :param address: The address to bind to. :type address: str :return: The binded connection and port. :rtype: (txzmq.ZmqConnection, int) """ connection = connClass(self._factory) socket = connection.socket if zmq_has_curve(): public, secret = maybe_create_and_get_certificates( self._config_prefix, self.component_type) socket.curve_publickey = public socket.curve_secretkey = secret self._start_thread_auth(connection.socket) # check if port was given protocol, addr, port = ADDRESS_RE.match(address).groups() if port == "0": port = socket.bind_to_random_port("%s://%s" % (protocol, addr)) else: socket.bind(address) port = int(port) logger.debug("Binded %s to %s://%s:%d." % (connClass, protocol, addr, port)) self._connections.append(connection) return connection, port
def _zmq_connect(self, connClass, address): """ Connect to an address. :param connClass: The connection class to be used. :type connClass: txzmq.ZmqConnection :param address: The address to connect to. :type address: str :return: The binded connection. :rtype: txzmq.ZmqConnection """ connection = connClass(self._factory) # create and configure socket socket = connection.socket if zmq_has_curve(): public, secret = maybe_create_and_get_certificates( self._config_prefix, self.component_type) server_public_file = os.path.join( self._config_prefix, PUBLIC_KEYS_PREFIX, "server.key") server_public, _ = zmq.auth.load_certificate(server_public_file) socket.curve_publickey = public socket.curve_secretkey = secret socket.curve_serverkey = server_public socket.connect(address) logger.debug("Connected %s to %s." % (connClass, address)) self._connections.append(connection) return connection
def _zmq_bind(self, connClass, address): """ Bind to an address. :param connClass: The connection class to be used. :type connClass: txzmq.ZmqConnection :param address: The address to bind to. :type address: str :return: The binded connection and port. :rtype: (txzmq.ZmqConnection, int) """ connection = connClass(self._factory) socket = connection.socket if zmq_has_curve(): public, secret = maybe_create_and_get_certificates( self._config_prefix, self.component_type) socket.curve_publickey = public socket.curve_secretkey = secret self._start_thread_auth(connection.socket) proto, addr, port = ADDRESS_RE.search(address).groups() if port is None or port is '0': params = proto, addr port = socket.bind_to_random_port("%s://%s" % params) # XXX this log doesn't appear logger.debug("Binded %s to %s://%s." % ((connClass,) + params)) else: params = proto, addr, int(port) socket.bind("%s://%s:%d" % params) # XXX this log doesn't appear logger.debug("Binded %s to %s://%s:%d." % ((connClass,) + params)) self._connections.append(connection) return connection, port
def _zmq_connect(self, socktype, address): """ Connect to an address using with a zmq socktype. :param socktype: The ZMQ socket type. :type socktype: int :param address: The address to connect to. :type address: str :return: A ZMQ connection stream. :rtype: ZMQStream """ logger.debug("Connecting %s to %s." % (socktype, address)) socket = self._context.socket(socktype) # configure curve authentication if zmq_has_curve(): public, private = maybe_create_and_get_certificates( self._config_prefix, "client") server_public_file = os.path.join(self._config_prefix, PUBLIC_KEYS_PREFIX, "server.key") server_public, _ = zmq.auth.load_certificate(server_public_file) socket.curve_publickey = public socket.curve_secretkey = private socket.curve_serverkey = server_public stream = zmqstream.ZMQStream(socket, self._loop) socket.connect(address) return stream
def _zmq_connect(self, socktype, address): """ Connect to an address using with a zmq socktype. :param socktype: The ZMQ socket type. :type socktype: int :param address: The address to connect to. :type address: str :return: A ZMQ connection stream. :rtype: ZMQStream """ logger.debug("Connecting %s to %s." % (socktype, address)) socket = self._context.socket(socktype) # configure curve authentication if zmq_has_curve(): public, private = maybe_create_and_get_certificates( self._config_prefix, "client") server_public_file = os.path.join( self._config_prefix, PUBLIC_KEYS_PREFIX, "server.key") server_public, _ = zmq.auth.load_certificate(server_public_file) socket.curve_publickey = public socket.curve_secretkey = private socket.curve_serverkey = server_public stream = zmqstream.ZMQStream(socket, self._loop) socket.connect(address) return stream
def _zmq_bind(self, connClass, address): """ Bind to an address. :param connClass: The connection class to be used. :type connClass: txzmq.ZmqConnection :param address: The address to bind to. :type address: str :return: The binded connection and port. :rtype: (txzmq.ZmqConnection, int) """ proto, addr, port = ADDRESS_RE.search(address).groups() endpoint = ZmqEndpoint(ZmqEndpointType.bind, address) connection = connClass(self._factory) if self.use_curve: socket = connection.socket public, secret = maybe_create_and_get_certificates( self._config_prefix, self.component_type) socket.curve_publickey = public socket.curve_secretkey = secret self._start_authentication(connection.socket) if proto == 'tcp' and int(port) == 0: connection.endpoints.extend([endpoint]) port = connection.socket.bind_to_random_port('tcp://%s' % addr) else: connection.addEndpoints([endpoint]) return connection, int(port)
def _zmq_connect(self, connClass, address): """ Connect to an address. :param connClass: The connection class to be used. :type connClass: txzmq.ZmqConnection :param address: The address to connect to. :type address: str :return: The binded connection. :rtype: txzmq.ZmqConnection """ endpoint = ZmqEndpoint(ZmqEndpointType.connect, address) connection = connClass(self._factory) if self.use_curve: socket = connection.socket public, secret = maybe_create_and_get_certificates( self._config_prefix, self.component_type) server_public_file = os.path.join( self._config_prefix, PUBLIC_KEYS_PREFIX, "server.key") server_public, _ = zmq.auth.load_certificate(server_public_file) socket.curve_publickey = public socket.curve_secretkey = secret socket.curve_serverkey = server_public connection.addEndpoints([endpoint]) return connection
def _zmq_connect(self, connClass, address): """ Connect to an address. :param connClass: The connection class to be used. :type connClass: txzmq.ZmqConnection :param address: The address to connect to. :type address: str :return: The binded connection. :rtype: txzmq.ZmqConnection """ connection = connClass(self._factory) # create and configure socket socket = connection.socket if zmq_has_curve(): public, secret = maybe_create_and_get_certificates( self._config_prefix, self.component_type) server_public_file = os.path.join(self._config_prefix, PUBLIC_KEYS_PREFIX, "server.key") server_public, _ = zmq.auth.load_certificate(server_public_file) socket.curve_publickey = public socket.curve_secretkey = secret socket.curve_serverkey = server_public socket.connect(address) logger.debug("Connected %s to %s." % (connClass, address)) self._connections.append(connection) return connection
def _zmq_bind(self, connClass, address): """ Bind to an address. :param connClass: The connection class to be used. :type connClass: txzmq.ZmqConnection :param address: The address to bind to. :type address: str :return: The binded connection and port. :rtype: (txzmq.ZmqConnection, int) """ connection = connClass(self._factory) socket = connection.socket if zmq_has_curve(): public, secret = maybe_create_and_get_certificates( self._config_prefix, self.component_type) socket.curve_publickey = public socket.curve_secretkey = secret self._start_thread_auth(connection.socket) proto, addr, port = ADDRESS_RE.search(address).groups() if port is None or port is '0': params = proto, addr port = socket.bind_to_random_port("%s://%s" % params) # XXX this log doesn't appear logger.debug("Binded %s to %s://%s." % ((connClass, ) + params)) else: params = proto, addr, int(port) socket.bind("%s://%s:%d" % params) # XXX this log doesn't appear logger.debug("Binded %s to %s://%s:%d." % ((connClass, ) + params)) self._connections.append(connection) return connection, port
def setUp(self): self.factory = ZmqFactory() self._config_prefix = os.path.join(self.tempdir, "leap", "events") self.public, self.secret = maybe_create_and_get_certificates( self._config_prefix, 'server') self.authenticator = auth.TxAuthenticator(self.factory) self.authenticator.start() self.auth_req = auth.TxAuthenticationRequest(self.factory)