|****************************************|
|	  	Todo list for		 |
|    PURE Internet Relay Chat daemon	 |
| Created by Dilligent on 1/1/2003 12:30 |
|       PURE can be obtained from	 |
|   http://dillerthekiller.free.fr/pure	 |
|****************************************|

Difficulty (1-5) | Importance (1-5) Description 
********************************************************
5 | 5	[dill]	Improve performance (this one will probably never be removed from this file).
2 | 4	[done]	Rewrite the RecvQ, this time using collections of classes, will make it all faster and more "reliable".
5 | 5	[dill]	Add networking support, most of the code has been "prepared" already.
5 | 3	[imp]	Let server show clients Quit message. It never got processed yet.
5 | 1		Clean the MODE #chan +/-[o / v] mess. it's generally working fine but has some protocol oddities.
4 | 3	[done]	Make /WHO use a mask provided by clients for other stuff than nick too.
4 | 3	[done]	Make /LIST somewhat intelligent. (it's returning all modes including k with the pass and doesnt use a mask)
3 | 2		Fill out the /INFO function.
5 | 4		Let the Server collect more statistics about itself (slowing it all down, though...).
4 | 2		Create the functions for /AKILL, /KLINE /RAKILL and /UNKLINE.
3 | 3	[done]	Fix the /KILL command.
4 | 4	[done]	Check through the numeric replies, no longer sure the syntax is correct if additional parameters are passed.
1 | 2	[done]	Fix protocol breach. When a client connects and sends NICK message server replies as if it was a nick *change*.
4 | 3	[done]	Create more Arrays of "special" users. For example for a servermsg you dont want to loop through ALL users.
4 | 2		Make multiple Key arguments for JOIN message possible.
5 | 4	[done]	Make PRIVMSGs and NOTICEs sendable to a wildcarded list of users (IRCop's only).
3 | 3		Add various servermessages.
3 | 1		Complete the /USERS command.
2 | 3	[done]	If channel doesnt exist and /MODE channel is used, "no such channel" should be returned.
2 | 4	[done]	If user is not on channel and /NAMES channel is used, it musnt return userlist if channel is secret.
4 | 5		Add -GC switch to /REHASH command for garbage collection of unused array entries and so on.
3 | 2	[done]	Add -MOTD switch to /REHASH command for reloading the MotD file.
4 | 5	[done]	Change the Zline checking upon connection BEFORE allocating any data about the client, so hammering doesnt do much.
2 | 3	[done]	There are several functions that return one crlf too much, remove the unneeded one.
5 | 5	[done]	Restore TELNET support, about the most important.
1 | 4	[done]	Add functionality to make client structures unload themselves when they're no longer needed (error, user quit...etc).
1 | 3	[done]	Increase Max modes per MODE command (on a channel) to 12 (was 6 previosly).
4 | 5	[done]	Add /INVITE command.
2 | 4		Make /ADMIN return ERR_NOADMININFO if no info is available.
4 | 5		Complete /MODE command. The Mode command for channels is complete but the Usermodes are not changeable.
3 | 5	[done]	Add wildcard possibilities to the /KILL command.
3 | 5	[done]	Make the UNIXTIME UTC.
5 | 5	[done]	Use a Hashtable for channel structure storage instead of an array, this will speed channel operations up GREATLY.
5 | 5	[done]	Add another Hashtable to Users, but leave the array the main data storage (this is used for networking).
5 | 5		Make Channels use a Hashtable for members too.
5 | 3	[done]	Fix the /Part command
5 | 5	[dill]	Write an own "clsSox" based on the extisting one for better performance and compatibility