Esempio n. 1
0
 def onUse(self, user, data):
     try:
         user.socket.transport = ITLSTransport(user.socket.transport)
     except:
         user.sendMessage(irc.ERR_STARTTLS, ":STARTTLS failed")
     else:
         user.sendMessage(
             irc.RPL_STARTTLS,
             ":STARTTLS successful, proceed with TLS handshake")
         user.socket.transport.startTLS(self.ircd.ssl_cert)
         user.socket.secure = ISSLTransport(user.socket.transport,
                                            None) is not None
Esempio n. 2
0
 def execute(self, user, data):
     if user.secureConnection:
         user.sendMessage(irc.ERR_STARTTLS,
                          "The connection is already secure")
         return True
     try:
         secureTransport = ITLSTransport(user.transport)
     except TypeError:
         user.sendMessage(irc.ERR_STARTTLS,
                          "Failed to initialize transport for STARTTLS")
         return True
     if secureTransport is None:
         user.sendMessage(irc.ERR_STARTTLS,
                          "Failed to initialize transport for STARTTLS")
         return True
     user.transport = secureTransport
     user.sendMessage(irc.RPL_STARTTLS,
                      "STARTTLS successful; proceed with TLS handshake")
     secureTransport.startTLS(self.certContext)
     user.secureConnection = ISSLTransport(secureTransport,
                                           None) is not None
     return True