Hab mal versucht eine ssl verbindung über asynchat aufzubaun
getestet hab ich das mit einem ssl fähigen ircserver... ging einwandfrei
bin mir aber net sicher wie sicher diese einfache version ist oder ob sie uneingeschränkt funktioniert... könnte mir wer testen helfen?
Code: Alles auswählen
class SSLasync:
def send(self,data):
try:
result = self.ssl.write(data)
return result
except AttributeError:
self.ssl=socket.ssl(self.socket)
self.send(data)
except sslerror, why:
if why[0] == asyncore.EWOULDBLOCK:
return 0
else:
raise sslerror, why
return 0
def recv(self, buffer_size):
try:
data = self.ssl.read(buffer_size)
if not data:
self.handle_close()
return ''
return data
except AttributeError:
self.ssl=socket.ssl(self.socket)
return self.recv(buffer_size)
except sslerror, why:
if why[0] in [asyncore.ECONNRESET, asyncore.ENOTCONN, asyncore.ESHUTDOWN]:
self.handle_close()
return ''
raise sslerror, why
class ircclient(asynchat.async_chat):
...
class ircclientssl(ircclient,SSLasync):
...
dürfte als server in kombination mit asyncore auch funktionieren aber wäre, wie gesagt, dankbar wenn mir wer testen helfen könnte...