X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=server.py;h=b54797d85f0a18b35ee33541cbc516fad323f845;hb=3e1f7f90f30a11d122e836ac4bfc61244573785f;hp=8fce06cd3216b1e1196ceb5f5c756f6860c68614;hpb=25efb51e7e260988216a20389758cbde74579bc2;p=electrum-server.git diff --git a/server.py b/server.py index 8fce06c..b54797d 100755 --- a/server.py +++ b/server.py @@ -22,7 +22,7 @@ Todo: """ -import time, socket, operator, thread, ast, sys +import time, socket, operator, thread, ast, sys,re import psycopg2, binascii import bitcoin @@ -442,8 +442,8 @@ def irc_thread(): try: s = socket.socket() s.connect(('irc.freenode.net', 6667)) - s.send('USER '+NICK+' '+NICK+' bla :'+NICK+'\n') - s.send('NICK '+NICK+'\n') + s.send('USER '+HOST+' '+NICK+' bla :'+NICK+'\n') + s.send('NICK '+NICK+'\n') s.send('JOIN #electrum\n') t = 0 while not stopping: @@ -463,9 +463,12 @@ def irc_thread(): s.send('USERHOST %s\n'%item) elif '302' in line: # answer to /userhost k = line.index('302') - name = line[k+2].split('=')[0] - host = line[k+2].split('@')[1] - peer_list[name] = host + m = re.match( "^:(.*?)=\+~(.*?)@(.*?)$", line[k+2] ) + if m: + name = m.group(1) + host = m.group(2) + ip = m.group(3) + peer_list[name] = (ip,host) elif time.time() - t > 5*60: s.send('NAMES #electrum\n') t = time.time()