From: <no...@gi...> - 2011-09-22 18:24:24
|
Branch: refs/heads/master Home: https://github.com/znc/znc Commit: 768359277b86ab76fe4bc6733b807ca1d4746ad7 https://github.com/znc/znc/commit/768359277b86ab76fe4bc6733b807ca1d4746ad7 Author: Uli Schlachter <ps...@zn...> Date: 2011-09-22 (Thu, 22 Sep 2011) Changed paths: M Chan.cpp M Chan.h M IRCSock.cpp Log Message: ----------- Send a MODE request when JOINing This kind of reverts/fixes f1cb09bd9ce0489d96f4ef91b3e226e0b0a37662. Robby found a bug with evil ChanServ which goes like this: - You join an empty, but registered channel and the IRCd applies its default modes (+nt), but ZNC didn't ask for MODE, so doesn't know this. - ChanServ applies whatever channel modes it wants to apply. This causes ZNC to see a mode change (e.g. +s). The result of this is that ZNC thinks that the channel has mode +s and it will tell every client that connects to it about this. The fix is to send a MODE request when JOINing. To make sure that we don't confuse clients, we block the reply. Signed-off-by: Uli Schlachter <ps...@zn...> |