summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2013-07-25 19:22:41 +0200
committerAlexander Sulfrian <alexander@sulfrian.net>2015-12-03 03:31:29 +0100
commit0d6455e0d1c4655d125b3291caa5612496bae43c (patch)
treeb2419c07b98200315e2f838fdba22a71306adfb9
parentbf687718c9bc4bcf80e3ef436f51ff5e992ab618 (diff)
downloadbot-0d6455e0d1c4655d125b3291caa5612496bae43c.tar.gz
bot-0d6455e0d1c4655d125b3291caa5612496bae43c.tar.bz2
bot-0d6455e0d1c4655d125b3291caa5612496bae43c.zip
add ssl support
-rwxr-xr-x__init__.py2
-rwxr-xr-xirc.py9
-rwxr-xr-xphenny4
3 files changed, 11 insertions, 4 deletions
diff --git a/__init__.py b/__init__.py
index 6c94555..f537199 100755
--- a/__init__.py
+++ b/__init__.py
@@ -39,7 +39,7 @@ def run_phenny(config):
def connect(config):
p = bot.Phenny(config)
- p.run(config.host, config.port)
+ p.run(config.host, config.port, config.ssl)
try: Watcher()
except Exception, e:
diff --git a/irc.py b/irc.py
index 69cfe44..3fa579e 100755
--- a/irc.py
+++ b/irc.py
@@ -73,15 +73,18 @@ class Bot(asynchat.async_chat):
self.__write(args, text)
except Exception, e: pass
- def run(self, host, port=6667):
- self.initiate_connect(host, port)
+ def run(self, host, port=6667, ssl=False):
+ self.initiate_connect(host, port, ssl)
- def initiate_connect(self, host, port):
+ def initiate_connect(self, host, port, ssl):
if self.verbose:
message = 'Connecting to %s:%s...' % (host, port)
print >> sys.stderr, message,
self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
self.connect((host, port))
+ if ssl:
+ import ssl
+ self.socket = ssl.wrap_socket(self.socket)
try: asyncore.loop()
except KeyboardInterrupt:
sys.exit()
diff --git a/phenny b/phenny
index 1bc110b..6406dda 100755
--- a/phenny
+++ b/phenny
@@ -27,6 +27,7 @@ def create_default_config(fn):
print >> f, trim("""\
nick = 'phenny'
host = 'irc.example.net'
+ ssl = False
channels = ['#example', '#test']
owner = 'yournickname'
@@ -145,6 +146,9 @@ def main(argv=None):
if not hasattr(module, 'port'):
module.port = 6667
+ if not hasattr(module, 'ssl'):
+ module.ssl = False
+
if not hasattr(module, 'password'):
module.password = None