General:

*) reset don't show again switches
	DONE: chris


*) Useful Error management. Allready started implementing the KMFError class that 
should be used as a general error class for KMF. This class should also be used
to show "Hints" to the User that can be turend off by a Button like "Don't show
this hint again" p.e. When using an FQHN instead of an IP address in the filtering 
options which isn't wrong but not recommended because you need to have a runnning
name resulution during FW startup if FQHNs are used (this is ugly!)
	IN WORK: all needed classes are implemed
	DONE: just needs to be used consistentely now - chris

*) The errortype "HINT" should contain a "don't show this again button" and 
   there should be the possibility to disable the hints globaly from within the 
   "Configuration Dialog" (KMFConfig).
   DONE: chris - can't disable the globaly but enable them again is possible


*) Make the code readable and clean. There is a lot of crap (unused varialbles etc.)
	in it that needs to be removed. 
	IN WORK: chris

*) Clean up the API of the important classes (IPTRule, IPTChain) there are surely
lots of globals that could be kicked (p.e. m_chian in IPTRule which is obsolete since
every rule stores a pointer to it's chain)
	IN WORK: chris
	

*) Implement a class IPTable that acts as a container class for the chains in a table,
so that the chain can store a pointer to it's table.
	IN WORK: started working on it - 20.8.2002, chris
	IN WORK: allmost done, needs testing - 21.8.2002, chris
	DONE: needs more testing 22.8.2002, chris
	DONE: 1.10.2002, chris

*) The class KMyFirewallDoc needs to be rewritten :-( it is really ugly
	IN WORK: started working on it 20.8.2002, chris	
	IN WORK: works allmost, and renamed KMFDoc - 21.8.2002, chris
	DONE: 22.8.2002, chris
	
*) Register the *.kmfrs mimetype within KDE so that konqueror opens a *.kmfrs 
   file with KMF by double clicking it.
   IN WORK:  almost working - 10.9.2002, chris
   DONE: 1.10.2002, chris

*) Make it possible to specifie a file to open on the commandline
		IN WORK: should work, but needs testing - chris
		DONE: chirs

*) Network-trancparency by using KURL & co.
		IN WORK: seems to work - needs testing - 17.04.2003, chris
		DONE: chris

Main View:

*) RBM in the chain lists that allow you to jump directly to the Chain Editor with the right chain selected to edit it.
	DONE: chris

*) The same kind of RBM for the rules in the view.
	DONE: chris

*) Make the overview of the rules even more understandable. No idea yet how to do that :-(
	IN WORK: chris

IPTRule:
*) Add enable/disable flag to exclude rule from being executed.
	DONE: chris - 16.10.02

*) Add enable/disable flag to log all packets matchin the rule (needs to generate a second iptables command line).
  DONE: chris - 16.10.02
	
Rule Editor:

*) Adding a cancel button to discard all changes made to the rules while the window was open.
	DONE: no more main view :-) - 10.02.2003 chris
	
*) RBM to copy/move rules to other Chains (includes checks for the 
targets/options defined in the rules to adopt them after move/copy to make sense
in the new chain/table)
	DONE: chris
	
*) The (KMFRuleLVItem) ListViewItems in the list should show the targets of the rules 
with icons like the main View does.
  DONE: chris
  
*) Drag N' Drop to move up/down rules in the Chain (those two buttons suck).

*) A help screen for the Editor that explains in more detail what can be done 
in this dialog  
	NOTE: will be provided by the generaly KMF online help inthe KDE Helpbrowser

*) Sanity checks for all user input.
    DONE: IP-checks and FQHN partly works. 19-09-2002, cniehaus
    DONE: MAC-checks - 10.9.2002, chris
    DONE: All other checks, needs testing - 5.10.2002, chris

*) Make it possible to rename the rules.
   DONE: chris

*) dialogs for setting a MARK to a rule
   DONE: chris

Chain Editor:

*) ChainEditor needs to disply a nice summary about how many rules/feeds/forwards 
are defined in that chain.
   DONE: chris

*) Adding a cancel button to discard all changes made to the chains while the window was open.
	DONE: chris

   
*) Make it possible to rename the user defined chains.


Config Dialog:

*) Auto Configuration needs work to find all the needed paths and programms on
it's own.
   IN WORK: allmost done; only finding the defualt runlevel directory is still missing.
   DONE: works at least for major distributions, chris

*) Add possibility to define in which runlevels the firewall will be started



KMFDoc:

*) Provide the possibillity to export the iptables shell script to any give
location/filename
	DONE: 07.09.2002 - chris

*) Setting some of the builtin security settings provided by the kernel like
the rp_filter, syn_flood_protection and similars. Needs a dialog to turn them on/off
and the KMFDoc class needs the booleans to en/disable those switches.
	DONE: 07.09.2002 - chris
		
*) Loading of modules in the scrips if they aren't loaded or compiled into the kernel.
	DONE: 07.09.2002 - chris
		
*) Needs a better install/uninstall (into the boot scripts) function that is more flexible.
	the needed paths to the scripts and directories (init.d etc.) as arguments. 07.09.2002 - chris
	DONE: chris

*) Allow to install the firewall in severaly runlevels not just the default.
	
		
*) The Gentoo installation should call "rc-update add/del kmyfirewall runlevel" instead
of linking the scripts manually.
   DONE: should work but needs testing (don't have a gentoo installation at home anymore), 07.09.2002 - chris


KFXMLParser:

*) Needs to become a real (validating) XML parser. Currently it's a simple line based
parser that ready this pseudo XML.
	IN WORK: started working on it rewriting it as class KMFXMLParser - 21.8.2002, chris
	IN WORK: allmost done, needs testing - 22.8.2002, chris
	DONE: chris
   
*) Define a XML-DTD for the *.kmfrs filetype.
		
KMFWizard:

*) add missing logging rules (the disabled checkboxes in the special host tab)
	DONE:  2.11.2002, chris

*) add CUPS rule to the wizard so that printing with CUPS is possible
	Protocol: TCP, Dest. Port: 631, Incoming Interface: lo, ACCEPT

*) add LPD rule to the wizard so that printing with LPD is possible
	Protocol: TCP, Dest. Port: 515, Incoming Interface: lo, ACCEPT

