Attempt to patch a possible message injection hole.

This commit is contained in:
Sean B. Palmer
2011-09-05 17:46:17 +01:00
parent 66edd83372
commit 2d3009ccb1
9 changed files with 101 additions and 28 deletions

8
irc.py
View File

@@ -42,6 +42,9 @@ class Bot(asynchat.async_chat):
import threading
self.sending = threading.RLock()
# def push(self, *args, **kargs):
# asynchat.async_chat.push(self, *args, **kargs)
def __write(self, args, text=None):
# print '%r %r %r' % (self, args, text)
try:
@@ -148,7 +151,10 @@ class Bot(asynchat.async_chat):
self.sending.release()
return
self.__write(('PRIVMSG', recipient), text)
def safe(input):
input = input.replace('\n', '')
return input.replace('\r', '')
self.__write(('PRIVMSG', safe(recipient)), safe(text))
self.stack.append((time.time(), text))
self.stack = self.stack[-10:]