ElementalAlchemist / txircd

Modular IRCd built using Twisted. Made to be extremely customizable.
BSD 3-Clause "New" or "Revised" License
19 stars 5 forks source link

Setting status modes on a user with an invalid nickname causes a disconnect #47

Closed Heufneutje closed 10 years ago

Heufneutje commented 10 years ago

Trace:

2014-09-01 20:04:55+0000 [IRCUser,8,::ffff:86.90.199.72] An error occurred processing data:
    Traceback (most recent call last):
      File "/var/lib/txircd/txircd/user.py", line 71, in dataReceived
        irc.IRC.dataReceived(self, data)
      File "/var/lib/txircd/local/lib/python2.7/site-packages/twisted/words/protocols/irc.py", line 310, in dataReceived
        self.handleCommand(command, prefix, params)
      File "/var/lib/txircd/txircd/user.py", line 154, in handleCommand
        if handler[0].execute(self, data):
      File "/var/lib/txircd/txircd/modules/rfc/cmd_mode.py", line 200, in execute
        channel.setModes(user.uuid, data["modes"], data["params"])
      File "/var/lib/txircd/txircd/channel.py", line 147, in setModes
        self.users[targetUser].insert(index, mode)
    AttributeError: 'str' object has no attribute 'insert'
ElementalAlchemist commented 10 years ago

It's not at all related to the user's nickname. It would come up any time a status is assigned that is higher than another status the user has in that channel. This is now fixed in e50ddbd11a5658223c64e6a9817913024ae0628e.