aboutsummaryrefslogtreecommitdiff
path: root/IRCServer.py
diff options
context:
space:
mode:
Diffstat (limited to 'IRCServer.py')
-rw-r--r--IRCServer.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/IRCServer.py b/IRCServer.py
index 30e29580..8059a9a5 100644
--- a/IRCServer.py
+++ b/IRCServer.py
@@ -65,11 +65,7 @@ class Server(object):
self.socket.settimeout(5.0)
if self.tls:
- context = ssl.SSLContext(OUR_TLS_PROTOCOL)
- context.options |= ssl.OP_NO_SSLv2
- context.options |= ssl.OP_NO_SSLv3
- context.options |= ssl.OP_NO_TLSv1
- self.socket = context.wrap_socket(self.socket)
+ self.tls_wrap()
self.cached_fileno = self.socket.fileno()
self.events.on("timer").on("rejoin").hook(self.try_rejoin)
@@ -82,6 +78,13 @@ class Server(object):
fileno = self.socket.fileno()
return self.cached_fileno if fileno == -1 else fileno
+ def tls_wrap(self):
+ context = ssl.SSLContext(OUR_TLS_PROTOCOL)
+ context.options |= ssl.OP_NO_SSLv2
+ context.options |= ssl.OP_NO_SSLv3
+ context.options |= ssl.OP_NO_TLSv1
+ self.socket = context.wrap_socket(self.socket)
+
def connect(self):
self.socket.connect((self.target_hostname, self.port))
self.send_capibility_ls()
@@ -297,6 +300,8 @@ class Server(object):
self.send("CAP END")
def send_authenticate(self, text):
self.send("AUTHENTICATE %s" % text)
+ def send_starttls(self):
+ self.send("STARTTLS")
def waiting_for_capabilities(self):
return bool(len(self._capabilities_waiting))