mirror of
				https://github.com/osmarks/ngircd.git
				synced 2025-10-31 14:02:59 +00:00 
			
		
		
		
	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.
This commit is contained in:
		| @@ -12,6 +12,8 @@ | |||||||
|  |  | ||||||
| ngIRCd CVSHEAD | 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 |   - Changed the reply of the MODE command to match the syntax of the | ||||||
|     original ircd exactly: the unnecessary but missing ":" before the last |     original ircd exactly: the unnecessary but missing ":" before the last | ||||||
|     parameter has been added. |     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 $ | ||||||
|   | |||||||
| @@ -14,7 +14,7 @@ | |||||||
|  |  | ||||||
| #include "portab.h" | #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 "imp.h" | ||||||
| #include <assert.h> | #include <assert.h> | ||||||
| @@ -86,7 +86,7 @@ IRC_JOIN( CLIENT *Client, REQUEST *Req ) | |||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		/* Lokaler Client? */ | 		/* Local client? */ | ||||||
| 		if( Client_Type( Client ) == CLIENT_USER ) | 		if( Client_Type( Client ) == CLIENT_USER ) | ||||||
| 		{ | 		{ | ||||||
| 			/* Test if the user has reached his maximum channel count */ | 			/* Test if the user has reached his maximum channel count */ | ||||||
| @@ -159,6 +159,16 @@ IRC_JOIN( CLIENT *Client, REQUEST *Req ) | |||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
|  | 		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) */ | 		/* Channel joinen (und ggf. anlegen) */ | ||||||
| 		if( ! Channel_Join( target, channame )) | 		if( ! Channel_Join( target, channame )) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Alexander Barton
					Alexander Barton