commit 233210b9063b0c2d49d59cb0f172e119b322e647 from: Alexander Barton date: Fri Apr 09 20:46:46 2004 UTC Servers other than the destination server didn't clean up the invite list of an "invite-only" channel properly when an INVITE'd user joined. commit - f68e92eb9a4dcc6a09677dac4d0cc4524c17148b commit + 233210b9063b0c2d49d59cb0f172e119b322e647 blob - 296d15b53d207652512ba5540db9d7c35dcc5510 blob + 5afefd6746a1ff858400963ed2409c7d4b2237a6 --- ChangeLog +++ ChangeLog @@ -12,6 +12,8 @@ ngIRCd CVSHEAD + - Servers other than the destination server didn't clean up the invite + list of an "invite-only" channel properly when an INVITE'd user joined. - Changed the reply of the MODE command to match the syntax of the original ircd exactly: the unnecessary but missing ":" before the last parameter has been added. @@ -508,4 +510,4 @@ ngIRCd 0.0.1, 31.12.2001 -- -$Id: ChangeLog,v 1.229 2004/02/29 16:28:44 alex Exp $ +$Id: ChangeLog,v 1.230 2004/04/09 20:46:46 alex Exp $ blob - a02f85c7373d8b0be145e78673b3ff9cce9f5e2a blob + 79be000568b476f1f1c871488f5ffbdba9a443d9 --- src/ngircd/irc-channel.c +++ src/ngircd/irc-channel.c @@ -14,7 +14,7 @@ #include "portab.h" -static char UNUSED id[] = "$Id: irc-channel.c,v 1.26 2004/03/11 22:16:31 alex Exp $"; +static char UNUSED id[] = "$Id: irc-channel.c,v 1.27 2004/04/09 20:46:48 alex Exp $"; #include "imp.h" #include @@ -86,7 +86,7 @@ IRC_JOIN( CLIENT *Client, REQUEST *Req ) } } - /* Lokaler Client? */ + /* Local client? */ if( Client_Type( Client ) == CLIENT_USER ) { /* Test if the user has reached his maximum channel count */ @@ -158,6 +158,16 @@ IRC_JOIN( CLIENT *Client, REQUEST *Req ) continue; } } + } + else + { + /* Remote server: we don't need to know whether the + * client is invited or not, but we have to make sure + * that the "one shot" entries (generated by INVITE + * commands) in this list become deleted when a user + * joins a channel this way. */ + chan = Channel_Search( channame ); + if( chan != NULL ) (VOID)Lists_CheckInvited( target, chan ); } /* Channel joinen (und ggf. anlegen) */