inspircd/inspircd — pull request #129 by attilamolnar (2012-05-19 13:57:38+00:00)
Title: [1.2] Only return prefix modes from ModeParser::ModeString()

Previously it returned all mode chars regardless if they were actually prefix modes, e.g. +k, +g etc. if they were set on a user's nick.
This bug has manifested itself in different places all resulting in extra MODE lines being sent to users on a channel, for example spanningtree sent an FJOIN #chan 111 +nt k,000AAAAAA if the key was 000AAAAAA's nick, which in addition to confusing services made remote servers send a MODE #chan +k to their clients on #chan.
The same applied for all listmodes allowing an exact nick as a parameter, like +g, and also occured when doing a host cycle, delay joining a user and so on.