mirror of
				https://github.com/osmarks/ngircd.git
				synced 2025-10-31 14:02:59 +00:00 
			
		
		
		
	Ignore unknown commands received before the client is registered.
This commit is contained in:
		
							
								
								
									
										11
									
								
								ChangeLog
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								ChangeLog
									
									
									
									
									
								
							| @@ -11,9 +11,12 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
| ngIRCd CVSHEAD | ngIRCd CVSHEAD | ||||||
|   - ngircd startup: never run with root privileges, i.e. always switch uid. |  | ||||||
|   - Make Netsplit Messages RFC compliant. |   - Don't generate error messages for unknown commands received before the | ||||||
|   - Fix handling of QUIT Messages: send only one message, even if client |     client is registered with the server (like the original ircd). | ||||||
|  |   - Never run with root privileges but always switch the user ID. | ||||||
|  |   - Make netsplit messages RFC compliant. | ||||||
|  |   - Fix handling of QUIT Messages: send only one message, even if the client | ||||||
|     is member of multiple channels. |     is member of multiple channels. | ||||||
|   - Don't exit server if closing of a socket fails; instead ignore it and |   - Don't exit server if closing of a socket fails; instead ignore it and | ||||||
|     pray that this will be "the right thing" ... |     pray that this will be "the right thing" ... | ||||||
| @@ -605,4 +608,4 @@ ngIRCd 0.0.1, 31.12.2001 | |||||||
|  |  | ||||||
|  |  | ||||||
| --  | --  | ||||||
| $Id: ChangeLog,v 1.274 2005/06/17 19:04:53 fw Exp $ | $Id: ChangeLog,v 1.275 2005/06/24 20:56:46 alex Exp $ | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ | |||||||
|  |  | ||||||
| #include "portab.h" | #include "portab.h" | ||||||
|  |  | ||||||
| static char UNUSED id[] = "$Id: parse.c,v 1.62 2005/06/01 21:52:18 alex Exp $"; | static char UNUSED id[] = "$Id: parse.c,v 1.63 2005/06/24 20:56:46 alex Exp $"; | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * @file |  * @file | ||||||
| @@ -433,11 +433,23 @@ Handle_Request( CONN_ID Idx, REQUEST *Req ) | |||||||
| 			return IRC_WriteStrClient( client, ERR_NOTREGISTERED_MSG, Client_ID( client )); | 			return IRC_WriteStrClient( client, ERR_NOTREGISTERED_MSG, Client_ID( client )); | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	if( Client_Type( client ) != CLIENT_USER && | ||||||
|  | 	    Client_Type( client ) != CLIENT_SERVER && | ||||||
|  | 	    Client_Type( client ) != CLIENT_SERVICE ) | ||||||
|  | 		return true; | ||||||
| 	 | 	 | ||||||
| 	/* Unbekannter Befehl */ | 	/* Unknown command and registered connection: generate error: */ | ||||||
| 	Log( LOG_DEBUG, "Connection %d: Unknown command \"%s\", %d %s,%s prefix.", Client_Conn( client ), Req->command, Req->argc, Req->argc == 1 ? "parameter" : "parameters", Req->prefix ? "" : " no" ); | 	Log( LOG_DEBUG, "Connection %d: Unknown command \"%s\", %d %s,%s prefix.", | ||||||
| 	if( Client_Type( client ) != CLIENT_SERVER ) return IRC_WriteStrClient( client, ERR_UNKNOWNCOMMAND_MSG, Client_ID( client ), Req->command ); | 			Client_Conn( client ), Req->command, Req->argc, | ||||||
| 	else return true; | 			Req->argc == 1 ? "parameter" : "parameters", | ||||||
|  | 			Req->prefix ? "" : " no" ); | ||||||
|  |  | ||||||
|  | 	if( Client_Type( client ) != CLIENT_SERVER ) | ||||||
|  | 		return IRC_WriteStrClient( client, ERR_UNKNOWNCOMMAND_MSG, | ||||||
|  | 				Client_ID( client ), Req->command ); | ||||||
|  |  | ||||||
|  | 	return true; | ||||||
| } /* Handle_Request */ | } /* Handle_Request */ | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Alexander Barton
					Alexander Barton