-- 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: 3f188b755e503fbf624079414ee2156a7e4eb5a3: path_to: revision_to:
commit 3f188b755e503fbf624079414ee2156a7e4eb5a3 Author: root <root@localhost.(none)> Date: Thu Dec 25 11:14:59 2014 +0000 [urc] (security) update diff --git a/src/cryptoserv.c b/src/cryptoserv.c
--- a/src/cryptoserv.c +++ b/src/cryptoserv.c @@ -428,7 +428,10 @@ main(int argc, char *argv[]) continue; } } - if (write(1,buffer0,i)<=0) exit(14); - if ((i>=4)&&(!memcmp("quit",buffer1,4))) exit(15); + if (write(1,buffer0,i)<=0) exit(14); + if ((i>=4)&&(!memcmp("quit",buffer1,4))) { + write(1,"",0); // send EOF + exit(15); + } } } diff --git a/src/urcd.pyx b/src/urcd.pyx
--- a/src/urcd.pyx +++ b/src/urcd.pyx @@ -191,7 +191,9 @@ def sock_close(sn,sf): except: pass if sn: if URCDB: - for dst in channels: channel_struct[dst]['names'].remove(nick) + for dst in channels: + if nick in channel_struct[dst]['names']: channel_struct[dst]['names'].remove(nick) + for dst in urcsecretboxdb: del channel_struct[dst] db['channel_struct'] = channel_struct db['active_clients'] = active_clients db['Mask'] = Mask @@ -334,12 +336,13 @@ while 1: del names if URCDB and now - sync >= TIMEOUT: - if not PRESENCE: - for dst in channels: channel_struct[dst]['names'].remove(nick) db['channel_struct'] = channel_struct db['active_clients'] = active_clients db['Mask'] = Mask db['Src'] = Src + if not PRESENCE: + for dst in channels: db['channel_struct'][dst]['names'].remove(nick) + for dst in urcsecretboxdb: del db['channel_struct'][dst] db.sync() sync = now if not PRESENCE: @@ -475,10 +478,9 @@ while 1: elif cmd =='-k' and dst.lower() in urcsecretboxdb: del urcsecretboxdb[dst.lower()] if dst.lower() in urcsecretboxdb: - try_write(wr,':'+serv+' 324 '+Nick+' '+dst+' +kn') - try_write(wr,'\n') if URCDB else try_write(wr,'s\n') + try_write(wr,':'+serv+' 324 '+Nick+' '+dst+' +kns\n') else: try_write(wr,':'+serv+' 324 '+Nick+' '+dst+' +n\n') - try_write(wr,':'+serv+' 329 '+Nick+' '+dst+' '+str(int(now))+'\n') + try_write(wr,':'+serv+' 329 '+Nick+' '+dst+' 1354841938\n') ### Fri Dec 28 18:58:58 2012 +0000 elif re_CLIENT_MODE_NICK(buffer): if PRESENCE: try_write(wr,':'+serv+' 221 '+re_SPLIT(buffer,2)[1]+' :+\n') @@ -562,9 +564,7 @@ while 1: for dst in channel_struct: if channel_struct[dst]['names']: try_write(wr,':'+serv+' 322 '+Nick+' '+dst+' '+str(len(channel_struct[dst]['names']))) - if dst in urcsecretboxdb: - if URCDB: try_write(wr,' :[+kn] ') - else: try_write(wr,' :[+kns] ') + if dst in urcsecretboxdb: try_write(wr,' :[+kns] ') else: try_write(wr,' :[+n] ') if channel_struct[dst]['topic']: try_write(wr,channel_struct[dst]['topic']) try_write(wr,'\n')
-----END OF PAGE-----
-- Response ended
-- Page fetched on Sun Jun 2 14:24:41 2024