summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>2006-08-04 07:26:35 +0000
committerGiuseppe Bilotta <giuseppe.bilotta@gmail.com>2006-08-04 07:26:35 +0000
commit528b75962483c4e1760a93d5e52997a6e69e14b9 (patch)
tree221a4b34a660320e5416ed4c041bfc2ce032d0b6 /lib
parent208d91635e9fda96eae0708368352abc61128ef5 (diff)
Freenode changes the hostmask of users after identification. Do not fail when a known user comes up with a different netmask, just give a warning
Diffstat (limited to 'lib')
-rw-r--r--lib/rbot/irc.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/rbot/irc.rb b/lib/rbot/irc.rb
index 1cfb4592..99ea2ebd 100644
--- a/lib/rbot/irc.rb
+++ b/lib/rbot/irc.rb
@@ -1145,9 +1145,11 @@ module Irc
# debug "User already existed as #{old.inspect}"
if tmp.known?
if old.known?
- raise "User #{tmp.nick} has inconsistent Netmasks! #{self} knows #{old.inspect} but access was tried with #{tmp.inspect}" if old != tmp
+ # Do not raise an error: things like Freenode change the hostname after identification
+ warning "User #{tmp.nick} has inconsistent Netmasks! #{self} knows #{old.inspect} but access was tried with #{tmp.inspect}" if old != tmp
raise "User #{tmp} already exists on server #{self}" if fails
- else
+ end
+ if old != tmp
old.user = tmp.user
old.host = tmp.host
# debug "User improved to #{old.inspect}"