Alexander Barton 
							
						 
					 
					
						
						
							
						
						e0c9931ad8 
					 
					
						
						
							
							Check G/K-Lines before the client has been registered, too  
						
						 
						
						... 
						
						
						
						This allows to use "*!<user>@<host>" or "*!*@<host>" masks to reject
clients even before receiving PASS, NICK and USER commands and before
forking authentication child processes which reduces resource usage. 
						
						
					 
					
						2012-01-22 18:35:54 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						eba95bb0d2 
					 
					
						
						
							
							Streamline handling of connection rejects (bad password, G/K-line)  
						
						 
						
						... 
						
						
						
						- Use Client_Reject(), get rid of Reject_Client().
 - Refactor Class_IsMember() to Class_GetMemberReason(),
 - New function Class_HandleServerBans(). 
						
						
					 
					
						2012-01-22 18:33:45 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						51a6a33056 
					 
					
						
						
							
							New function Client_Reject() to reject clients on connect  
						
						 
						
						
						
						
					 
					
						2012-01-22 18:17:28 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						6e28f4a7d1 
					 
					
						
						
							
							New function Lists_CheckReason() to get reason of list entries  
						
						 
						
						
						
						
					 
					
						2012-01-22 18:11:24 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						9882e578e9 
					 
					
						
						
							
							Update NEWS and ChangeLog files  
						
						 
						
						
						
						
					 
					
						2012-01-22 15:58:39 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						73781c1b38 
					 
					
						
						
							
							Fix ERR_{SUMMON|USERS}DISABLED: don't repeat command name in reply  
						
						 
						
						
						
						
					 
					
						2012-01-22 15:42:11 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						f2fa1045e2 
					 
					
						
						
							
							Implement channel exception list (mode 'e')  
						
						 
						
						... 
						
						
						
						This allows a channel operator to define exception masks that allow users
to join the channel even when a "ban" would match and prevent them from
joining: the exception list (e) overrides the ban list (b). 
						
						
					 
					
						2012-01-21 19:59:57 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						33a165721b 
					 
					
						
						
							
							{Add|Del}_Ban_Invite > {Add_To|Del_From}_List(): more generic  
						
						 
						
						
						
						
					 
					
						2012-01-21 19:27:03 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						a3a4b5f696 
					 
					
						
						
							
							Rename ShowInvitesBans() to ShowChannelList(), make it more flexible  
						
						 
						
						
						
						
					 
					
						2012-01-21 13:48:31 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						39412d6486 
					 
					
						
						
							
							PRIVMSG/NOTICE: handle nick!user@host masks case-insensitive  
						
						 
						
						... 
						
						
						
						And enhance our test suite to check this a little bit better :-) 
						
						
					 
					
						2012-01-21 13:21:36 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						c1656256df 
					 
					
						
						
							
							PRIVMSG/NOTICE: don't stop list processing on invalid target  
						
						 
						
						... 
						
						
						
						Process further targets, even if one has been a server ID:
just skip this one with an error message and continue. 
						
						
					 
					
						2012-01-16 12:37:37 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						1f4711a547 
					 
					
						
						
							
							Implement user mode 'C': require "same channel" to send message  
						
						 
						
						... 
						
						
						
						If the target user of a PRIVMSG or NOTICE command has the user mode 'C'
set, it is required that both sender and receiver are on the same channel.
This prevents private flooding by completely unknown clients. 
						
						
					 
					
						2012-01-16 11:43:22 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						4d0069c3a8 
					 
					
						
						
							
							New RPL_WHOISREGNICK_MSG(307) numeric: indicate if nick is registered  
						
						 
						
						
						
						
					 
					
						2012-01-16 02:18:24 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						12c60a670e 
					 
					
						
						
							
							IRC_WHOIS_SendReply(): Code cleanup  
						
						 
						
						
						
						
					 
					
						2012-01-16 02:15:41 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						2f7d0c0839 
					 
					
						
						
							
							Limit channel invite and ban lists to 50 entries  
						
						 
						
						... 
						
						
						
						- New function Lists_Count().
 - New limit #define MAX_HNDL_CHANNEL_LISTS = 50.
 - New numeric #define ERR_LISTFULL_MSG(478).
 - Adjust numeric RPL_ISUPPORT2_MSG(005) accordingly ("MAXLIST") 
						
						
					 
					
						2012-01-16 00:29:36 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						1afbf71236 
					 
					
						
						
							
							Make Send_ListChange() a little bit more generic  
						
						 
						
						
						
						
					 
					
						2012-01-16 00:15:26 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						7ed08f01ef 
					 
					
						
						
							
							Remove unused prototype of Lists_AlreadyRegistered()  
						
						 
						
						... 
						
						
						
						This prototype has been introduced by commit fa7bb279  in 2006,
but as far as I can see, this function never existed ... 
						
						
					 
					
						2012-01-15 19:46:00 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						81cc5f82b5 
					 
					
						
						
							
							Channel lists: Fix duplicate check and error messages  
						
						 
						
						... 
						
						
						
						- Check correct list for duplicates when adding items.
 - Don't generate any messages when adding duplicates or removing
   non-existing items (this is how ircd-seven and ircu behave).
 - Code cleanup: Add_Ban_Invite(), Del_Ban_Invite(). 
						
						
					 
					
						2012-01-15 19:11:03 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						78a3b4c7d6 
					 
					
						
						
							
							Don't enforce MAX_HNDL_MODES_ARG on server and service links  
						
						 
						
						
						
						
					 
					
						2012-01-15 14:33:04 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						39d630c00d 
					 
					
						
						
							
							Update documentation (fix some URL, update some info)  
						
						 
						
						
						
						
					 
					
						2012-01-14 12:29:53 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						4fe6b42c53 
					 
					
						
						
							
							Update NEWS and ChangeLog for next ngIRCd release once more  
						
						 
						
						
						
						
					 
					
						2012-01-13 19:23:07 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						d4d8102fc9 
					 
					
						
						
							
							Don't stop join handling on faulty channel, skip it (part  #2 )  
						
						 
						
						... 
						
						
						
						Commit 565523cb  allowed processing of further channel names given to the
JOIN command when a single name was invalid.
After this patch, the JOIN command handler continues to process channel
name lists even after errors like "channel is full", "too many channels",
and the like and generates appropriate error messages for all the
channels given by the client. 
						
						
					 
					
						2012-01-13 10:50:00 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						77f68b4fd1 
					 
					
						
						
							
							JOIN command: don't check channel limit if already member  
						
						 
						
						... 
						
						
						
						Don't check the channel limit and don't report "too many channels"
when trying to join a channel that the client is already a member of. 
						
						
					 
					
						2012-01-13 10:40:20 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						2f8877ded4 
					 
					
						
						
							
							Return ERR_UNKNOWNMODE(472) for unknown channel modes  
						
						 
						
						... 
						
						
						
						The daemon reported ERR_UMODEUNKNOWNFLAG(501), which is wrong. 
						
						
					 
					
						2012-01-09 23:18:39 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						4bff3daf92 
					 
					
						
						
							
							Numberic 005 (ISUPPORT), CHANMODES: add "O", "R", "z" modes  
						
						 
						
						
						
						
					 
					
						2012-01-09 12:34:55 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						c5beca8aab 
					 
					
						
						
							
							Limit list replies of LIST, WHO, WHOIS, and MAX_RPL_WHOWAS  
						
						 
						
						... 
						
						
						
						Introduce new #define's MAX_RPL_LIST(100), MAX_RPL_WHO(25),
MAX_RPL_WHOIS(10), and MAX_RPL_WHOWAS(25). 
						
						
					 
					
						2012-01-06 20:06:25 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						f8405b1a4f 
					 
					
						
						
							
							New function IRC_CheckListTooBig() to check size of list replies  
						
						 
						
						... 
						
						
						
						It the limit is reached, a NOTICE is sent to the client and list
processing should stop. 
						
						
					 
					
						2012-01-06 20:05:07 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						fdfc27265e 
					 
					
						
						
							
							LIST command: compare pattern case insensitive  
						
						 
						
						
						
						
					 
					
						2012-01-06 19:55:21 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						a4d1e6007f 
					 
					
						
						
							
							IRC_LIST(): Code cleanup  
						
						 
						
						
						
						
					 
					
						2012-01-06 19:54:23 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						9260759cec 
					 
					
						
						
							
							DEFAULT_WHOWAS->DEF_RPL_WHOWAS; MAX_CMODES_ARG->MAX_HNDL_MODES_ARG  
						
						 
						
						... 
						
						
						
						To streamline naming, in preparation for MAX_RPL_WHO and MAX_RPL_WHOWAS :-) 
						
						
					 
					
						2012-01-06 18:57:31 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						c2ac1ad3ba 
					 
					
						
						
							
							defines.h: Code cleanup and (a little bit) more documentation  
						
						 
						
						
						
						
					 
					
						2012-01-06 18:25:10 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						470d2e2362 
					 
					
						
						
							
							RPL_ISUPPORT (numeric 005): Report MODES=<MAX_CMODES_ARG>  
						
						 
						
						... 
						
						
						
						"Maximum number of channel modes with parameter allowed per MODE command."
See <http://www.irc.org/tech_docs/005.html > for details. 
						
						
					 
					
						2012-01-06 17:46:52 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						888664435a 
					 
					
						
						
							
							Channel modes: really break handling when MAX_CMODES_ARG is hit  
						
						 
						
						... 
						
						
						
						This fixes 98493077 . 
						
						
					 
					
						2012-01-06 17:43:20 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						98493077a2 
					 
					
						
						
							
							channel modes: only handle MAX_CMODES_ARG modes with arguments  
						
						 
						
						... 
						
						
						
						Limit the MODE command to handle a maximum of MAX_CMODES_ARG (5) channel
modes that require an argument (+Ibkl) per call.
Please note: Further modes that require arguments are silently ignored
and end the handling of any further modes.
This is similar to the behavior of ircd2.11 (silently ignores but seems
to handle other modes) as well as ircd-seven (silently ignores but handles
some(!) other modes) ... 
						
						
					 
					
						2012-01-06 17:27:29 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						1fa2af5b3a 
					 
					
						
						
							
							Fix handling of channel mode sequence with/without arguments  
						
						 
						
						... 
						
						
						
						For example, don't generate wrong error messages when handling
"MODE #chan +IIIIItn *!aa@b *!bb@c *!cc@d *!dd@e *!ee@f". 
						
						
					 
					
						2012-01-06 17:24:55 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						05cc9bf9b0 
					 
					
						
						
							
							Conn_Write(): Make sure there is a client when detecting its type  
						
						 
						
						... 
						
						
						
						The assert(client != NULL) got triggered during our tests, so there is
an error path that resulted in the connection being still established
(sock >= 0) but the client structure already freed.
So Conn_Write() should handle it! 
						
						
					 
					
						2012-01-06 03:26:24 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						cc06e1ff89 
					 
					
						
						
							
							Proc_Close(): Only close socket if it is still valid  
						
						 
						
						... 
						
						
						
						It could be invalid when calling Proc_Close() a 2nd time, for exmaple,
which could happen when we hit a timeout doing IDENT requests :-( 
						
						
					 
					
						2012-01-06 02:26:04 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						9fbf592924 
					 
					
						
						
							
							WHOIS command: make sure matching is case-insensitive  
						
						 
						
						... 
						
						
						
						And make sure that RPL_ENDOFWHOIS replies with the unmodified mask
like it has been received from the client. 
						
						
					 
					
						2012-01-05 00:51:39 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						adf92302bf 
					 
					
						
						
							
							WHOIS command: don't anser queries for IRC servers  
						
						 
						
						... 
						
						
						
						Thanks to Cahata for spotting this! 
						
						
					 
					
						2012-01-05 00:24:46 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						566a451299 
					 
					
						
						
							
							WHOIS command: make sure the reply ends with RPL_ENDOFWHOIS  
						
						 
						
						... 
						
						
						
						Up to now, each reply for itself ended in RPL_ENDOFWHOIS and queries
for unknown nick names lacked the RPL_ENDOFWHOIS -- both is wrong. 
						
						
					 
					
						2012-01-05 00:22:57 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						e0f8ce093a 
					 
					
						
						
							
							README: update features list, borrow from list on our website  
						
						 
						
						
						
						
					 
					
						2012-01-04 23:30:55 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						5e3449a241 
					 
					
						
						
							
							LINKS command: support <mask> parameter  
						
						 
						
						... 
						
						
						
						The <mask> can be used to limit the servers shown in the listing. 
						
						
					 
					
						2012-01-04 22:51:02 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						762b0325df 
					 
					
						
						
							
							IRC_LINKS(): Code cleanup; more documentation  
						
						 
						
						
						
						
					 
					
						2012-01-04 22:49:18 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						6b62a5ec4f 
					 
					
						
						
							
							Add 1 second penalty for every further target on PRIVMSG/NOTICE  
						
						 
						
						... 
						
						
						
						This reduces the possibility of flooding channels with commands like
"PRIVMSG/NOTICE #a,#n,#c,... :message" a little bit.
Problem noticed by Cahata -- thanks! 
						
						
					 
					
						2012-01-04 21:46:58 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						b24d645ca1 
					 
					
						
						
							
							Conn_SetPenalty(): Add new "penalty time" on each function call  
						
						 
						
						... 
						
						
						
						Until now, the penalty time has only been set when longer as the
already set one, so it didn't accumulate.
And add documentation for and clean up code in Conn_SetPenalty() and
Conn_ResetPenalty() functions. 
						
						
					 
					
						2012-01-04 21:39:46 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						1bb2fbedcc 
					 
					
						
						
							
							Enhance log messages when setting user and group  
						
						 
						
						
						
						
					 
					
						2012-01-03 21:05:35 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						3193d5477c 
					 
					
						
						
							
							NGIRCd_getNobodyID(): Code cleanup  
						
						 
						
						
						
						
					 
					
						2012-01-03 20:49:42 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						edab86e0f8 
					 
					
						
						
							
							Display correct error message when "Server{UID|GID}" is invalid  
						
						 
						
						... 
						
						
						
						This partly closes bug #118 . ngIRCd still starts up even when
Server{UID|GID} is invalid: then the daemon falls back to "nobody"
when running with root(0) privileges (as before). 
						
						
					 
					
						2012-01-03 20:37:41 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						e4006a93e3 
					 
					
						
						
							
							NGIRCd_Init(): Code cleanup  
						
						 
						
						
						
						
					 
					
						2012-01-03 19:34:54 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Alexander Barton 
							
						 
					 
					
						
						
							
						
						9069380ddf 
					 
					
						
						
							
							main(): Code cleanup  
						
						 
						
						
						
						
					 
					
						2012-01-03 19:25:31 +01:00