-- Leo's gemini proxy
-- Connecting to git.thebackupbox.net:1965...
-- Connected
-- Sending request
-- Meta line: 20 text/gemini
repo: urcd action: commit revision: path_from: revision_from: 08c99a85a8ae4f89fa1c9bfabf9683bebc76ed45: path_to: revision_to:
commit 08c99a85a8ae4f89fa1c9bfabf9683bebc76ed45 Author: root <root@localhost.(none)> Date: Tue Dec 30 08:14:20 2014 +0000 [urcd] (security) domains shouldn't be over 256 bytes, enforcing this might protect some irc clients diff --git a/src/urcd.pyx b/src/urcd.pyx
--- a/src/urcd.pyx +++ b/src/urcd.pyx @@ -41,10 +41,10 @@ re_CLIENT_QUIT = re.compile('^QUIT ',re.IGNORECASE).search re_CLIENT_USER = re.compile('^USER ',re.IGNORECASE).search re_BUFFER_CTCP_DCC = re.compile('\x01(?!ACTION )',re.IGNORECASE).sub re_BUFFER_COLOUR = re.compile('(\x03[0-9][0-9]?((?<=[0-9]),[0-9]?[0-9]?)?)|[\x02\x03\x0f\x1d\x1f]',re.IGNORECASE).sub -re_SERVER_PRIVMSG_NOTICE_TOPIC_INVITE_PART = re.compile('^:['+RE+']+![~:#'+RE+'.]+@[~:#'+RE+'.]+ ((PRIVMSG)|(NOTICE)|(TOPIC)|(INVITE)|(PART)) [#&!+]?['+RE+']+ :.*$',re.IGNORECASE).search -re_SERVER_JOIN = re.compile('^:['+RE+']+![~:#'+RE+'.]+@[~:#'+RE+'.]+ JOIN :[#&!+]['+RE+']+$',re.IGNORECASE).search -re_SERVER_QUIT = re.compile('^:['+RE+']+![~:#'+RE+'.]+@[~:#'+RE+'.]+ QUIT :.*$',re.IGNORECASE).search -re_SERVER_KICK = re.compile('^:['+RE+']+![~:#'+RE+'.]+@[~:#'+RE+'.]+ KICK [#&!+]['+RE+']+ ['+RE+']+ :.*$',re.IGNORECASE).search +re_SERVER_PRIVMSG_NOTICE_TOPIC_INVITE_PART = re.compile('^:['+RE+']+![~:#'+RE+'.]+@[~:#'+RE+'.]{1,256} ((PRIVMSG)|(NOTICE)|(TOPIC)|(INVITE)|(PART)) [#&!+]?['+RE+']+ :.*$',re.IGNORECASE).search +re_SERVER_JOIN = re.compile('^:['+RE+']+![~:#'+RE+'.]+@[~:#'+RE+'.]{1,256} JOIN :[#&!+]['+RE+']+$',re.IGNORECASE).search +re_SERVER_QUIT = re.compile('^:['+RE+']+![~:#'+RE+'.]+@[~:#'+RE+'.]{1,256} QUIT :.*$',re.IGNORECASE).search +re_SERVER_KICK = re.compile('^:['+RE+']+![~:#'+RE+'.]+@[~:#'+RE+'.]{1,256} KICK [#&!+]['+RE+']+ ['+RE+']+ :.*$',re.IGNORECASE).search re_SERVICE = re.compile('^:['+RE+']*Serv!',re.IGNORECASE).search ### strange values will likely yield strange results ### @@ -764,9 +764,9 @@ while 1: if src in Src: del Src[src] elif re_SERVER_KICK(buffer): - cmd = buffer[1:].split('!',1)[0].lower() - dst, src = re_SPLIT(buffer.lower(),4)[2:4] - if len(cmd)>NICKLEN or len(src)>NICKLEN or len(dst)>CHANNELLEN: continue + src = buffer[1:].split('!',1)[0].lower() + dst, cmd = re_SPLIT(buffer.lower(),4)[2:4] + if len(src)>NICKLEN or len(cmd)>NICKLEN or len(dst)>CHANNELLEN: continue active_clients[cmd] = now Src[src] = buffer[1:].split('!',1)[0] Mask[src] = buffer.split(' ',1)[0].split('@',1)[1].split(' ',1)[0] @@ -779,8 +779,8 @@ while 1: break dst = re_SPLIT(buffer,3)[2].lower() channel_struct[dst] = struct_channel - if src != nick: + if cmd != nick: dst = re_SPLIT(buffer,3)[2].lower() - if src in channel_struct[dst]['names']: + if cmd in channel_struct[dst]['names']: channel_struct[dst]['names'].remove(src) if dst in channels: try_write(wr,buffer)
-----END OF PAGE-----
-- Response ended
-- Page fetched on Sun Jun 2 14:17:54 2024