Dana Dahlstrom <dana+ngIRCd(a)cs.ucsd.edu> wrote:
Brandon Beresini sent me a patch yesterday adding
tests for JOIN under
various circumstances, which I believe he worked on with Bryan Caldwell
and Ali Shemiran. I made a few modifications; the result is below.
Also applied to my tree, thanks.
We couldn't seem to come up with a good way to
elicit a proper
ERR_BANNEDFROMCHAN reply because, while the configuration file can
specify channel modes, it apparently can't pass the required parameter
to the +b mode in order to effect a ban. Any proposals?
Thats bug 55:
http://arthur.barton.de/cgi-bin/bugzilla/show_bug.cgi?id=55
Also in the process of investigating this we
discovered some rather
unusual behavior. A user who has already joined a channel and tries to
join the channel again will normally receive no reply---this is how
other IRC daemons behave as well. However, if a ban is in effect for
that user, the user receives an ERR_BANNEDFROMCHAN reply even though the
user is already in the channel---other servers don't do this:
[..]
Not sure.
Depends on how intrusive the change is (i have not looked at this closely).
Right now ban/invite lists are checked before Channel_Join() gets called
(which detects the 'already joined' case).