mirror of
				https://github.com/osmarks/ngircd.git
				synced 2025-10-31 14:02:59 +00:00 
			
		
		
		
	- fixed up propagation of modes with arguments between servers.
This commit is contained in:
		| @@ -14,7 +14,7 @@ | |||||||
|  |  | ||||||
| #include "portab.h" | #include "portab.h" | ||||||
|  |  | ||||||
| static char UNUSED id[] = "$Id: irc-channel.c,v 1.23 2003/01/01 13:29:40 alex Exp $"; | static char UNUSED id[] = "$Id: irc-channel.c,v 1.24 2003/01/08 17:45:15 alex Exp $"; | ||||||
|  |  | ||||||
| #include "imp.h" | #include "imp.h" | ||||||
| #include <assert.h> | #include <assert.h> | ||||||
| @@ -386,9 +386,13 @@ IRC_CHANINFO( CLIENT *Client, REQUEST *Req ) | |||||||
| 		ptr = Channel_Modes( chan ); | 		ptr = Channel_Modes( chan ); | ||||||
| 		if( ! *ptr ) | 		if( ! *ptr ) | ||||||
| 		{ | 		{ | ||||||
| 			/* OK, es sind noch keine Modes gesetzt */ | 			/* OK, this channel doesn't have modes jet, set the received ones: */ | ||||||
| 			Channel_SetModes( chan, &Req->argv[1][1] ); | 			Channel_SetModes( chan, &Req->argv[1][1] ); | ||||||
| 			IRC_WriteStrChannelPrefix( Client, chan, from, FALSE, "MODE %s +%s", Req->argv[0], &Req->argv[1][1] ); | 			IRC_WriteStrChannelPrefix( Client, chan, from, FALSE, "MODE %s +%s", Req->argv[0], &Req->argv[1][1] ); | ||||||
|  |  | ||||||
|  | 			/* Delete modes which we never want to inherit */ | ||||||
|  | 			Channel_ModeDel( chan, 'l' ); | ||||||
|  | 			Channel_ModeDel( chan, 'k' ); | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	else Log( LOG_WARNING, "CHANNELINFO: invalid MODE format ignored!" ); | 	else Log( LOG_WARNING, "CHANNELINFO: invalid MODE format ignored!" ); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Alexander Barton
					Alexander Barton