self._nowrite = False
def connect(self):
- self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ if self.parent.cfg.getboolean('erebus', 'tls'):
+ import ssl
+ undersocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ context = ssl.create_default_context()
+ self.socket = context.wrap_socket(undersocket, self.server)
+ else:
+ self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.socket.setsockopt(socket.SOL_TCP, socket.TCP_NODELAY, 1) # Does Python make SOL_TCP portable? Who knows, it's not documented, and it appears to come from the _socket C lib.
self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_LINGER, struct.pack('ii', 0, 0))
self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)