From 1.0.0 to 1.0.5
-------------------

* logTurn():	Instead of overwriting log.old with the newly turned log, it
		names them log.0, log.1 etc. Also fixed poor intendation
* reset():	When -reset is given, icpld also removes the above mentioned files
* main():	The -status command does no longer show IPv6 info when running
		in IPv4-only mode and vice versa. 
* parseArgs():	Added -rotate as an 'alias' for -turn for no apparent reason
* getCwd():	C++-ized and rewrote the memory allocation, to get prettier 
		valgrind output :-)
* BUGS:		Fixed typo
* src/cuc.h:	Rewrote the PACKAGE redefinition
* configure:	PACKAGE* definitions is now set properly

From 0.6.3 to 1.0.0
-------------------

* main():	Added a workaround for the fact that a 'Broken pipe'-error
		is produced unless the pointer which is used with popen()
		is in some way used under Solaris. Version 0.6.3 unfortunately
		broke Solaris support. But it should be working again.
* src/cuc.h:	Rewrote the PACKAGE definition if HAVE_IPV6 is defined
* parseargs():	Removed the failing-text, since icpld removes the pid-file
		even if there's no process, the user might just as well
		believe it was killed. (Thanks to Jameson Burt 
		<jameson at coost dot com> for this somewhat obvious
		suggestion
* killProc():	Same as above. However, kill() errors other than ESRCH are
		shown
* killProc():	Closing the readPid stream
* main():	Altered the text that's displayed if a pid-file exists.
		It does no longer tell the user to remove ~ /.icpld/icpld.pid,
		but to run icpld -quit instead (which does just that)
* help():	Added -fbip6 after I realized this should have been added
		in the 0.6.0 release
man/icpld.1:	A lot of cosmetic fixes, especially line-breaking alterations.
man/icpld.1:	Changed 'sound' to 'beeping', since people may be under the
		impression that sound includes external processes spawned
		when a connection goes up or down. 
README:		Added Darwin as a "known to run icpld"
TODO:		...

From 0.6.1 to 0.6.3
-------------------


* parseconf():	Added cmd*up/dn parsing
* dispLog():	Implemented the -m option. Huge changes here. See NEWS for 
		further info on -m
* dispLog():	Changed from reading binary to ios::in for MacOS X compliance
* parseargs():	Added the -m option, which outputs the log in full, without 
		breaks, in combination with -log
* parseargs():	Added exit() calls after --help and "bad argument"
		(see below in help())
* parseargs():	Ugly (though working) fix which cancels config file options
		if command line options are found. For instance, if icpld is
		started with -ip, it won't use the IPv6 ip from the config file
* killProc():	Same as above
* signal_handler(): Added the SIGPIPE signal, even though it shouldn't get that far
* signal_handler(): The return code is 0 for all signals except SIGPIPE
* help():	Changed function return type to void
* help():	Removed the exit() call, since the return code
		should be different depending on wheter an unknown 
		argument was given, or the user actually supplied 
		--help. The return codes are 1 respectively 0
* wrongArg():	This function is located in parseargs.cpp and is called
		whenever an option which requires an argument, is provided 
		without one. Exits with return code 1
* logTurn():	Fixed the bug which made log turning impossible, since ~ 
		wasn't expanded to the user's home dir. 
* logTurn():	ICPLD now exits with return code 1 if the turn fails
* main():	Added the calls for cmd*up/dn in the proper places
* main():	Replaced a few if-statements with assertions since no
		actions are needed if those tests fails
* main():	Now deleting savepwd2 (yay 4 bytes of memory gained!)
* main():	Removed the ugly fix for compilation warning without IPv6 
		enabled
* main():	Removed the redundant fread() calls <- OUCH!
* main():	Removed the empty initializing of std::strings since this 
		is the default on most (all?) platforms
* main():	Removed some redundant permission checking which is done	
		in checkinp() as well
* main():	Changed exit() calls with raise() in order to clean up
		properly from within signal_handler()
* main():	Moved the "Forking into background as.." to daemonize() since we want the
		pid of the forked child, not the to-be exited parent process 
* daemonize():	The parent process now writes the PID of the child before
		it _exit():s. This fixes the bug which had the wrong PID
		written to the user (the one of the parent process, not the child)
* getCwd():	Since MacOS X has some issues with my malloc(), there's been a
		rewrite of getCwd() for MacOS, the old one stays for the rest of the os:s
* cuc.h:	If ICPLD was configured with --enable-ipv6 the string
		"+ipv6" is added to the output of --version. This was
		mainly implemented in order to let me know that IPv6
		is used if someone files a bug-report.
* cuc.h:	Now including string.h or strings.h, depending on which
		one exists. string.h has priority over strings.h if 
		both exists. Purely out of portability reasons.
* wlogs():	Fixed the condition checking, since a few situations
		could suit several conditions
* wlogs():	Rewrote the HTML section totally, less confusing now hopefully
* man/icpld.1:	Added info on the -m switch
* man/icpld.1:	Added cmd*up/dn information
* src/fork.cpp:	Altered header quote
* configure.in:	Added OS detection for MacOS X as well, in order to get
		by the malloc() disagreement in getCwd()
* icpld.conf.sample: Added cmd*up/dn examples

From 0.6.0 to 0.6.1
-------------------

* general:	Extended source code commenting
* README:	Altered 'release specific comments, upgraded 'obtaining
		icpld' and fixed a typo in 'thanks to'
* parseconf():	Removed the variable resetting. See below
* parseargs():	Now you can use incomplete configuration files 
		with -config. Before parseconf() is called, the
		values are reset to default. IE you can have only
		ip=192.168.0.2 and logFile=~/.icpld/log in your config, 
		the rest will be taken from default
* man/icpld.1	Fixed formatting error on the 'ip6' option
* verip():	Fixed the compilation error under Solaris
		(someone, please provide me a solaris testbed)
* signals():	Changed integers to the definitions of the 
		signals to avoid platform differences
* main():	Fixed the bug which wouldn't set the time to
		when the connection actually were broken
* main():	Removed some debugging output
* main():	Removed the warning given if the $HOME variable
		is not found
* main():	icpld does not give the warning about another process
		running, if -s is specified, but dies silently
* wlogs():	Fixed the bug which left the IPv6 ip out of the 
		log generating if both IPv4 and IPv6 logging is set
		to the same file
* wlogs():	Code cleanup, redundant if-statements removed
* firstr():	icpld now checks for, and creates the tot6 file, since
		most users probably don't have it since the IPv6 
		implementation came last version
* reset():	Now icpld also removes IPv6 specific files
		and restores them (see entry above)
* reset():	Removed the availability checking for the html files
		since messages due to ENOENT are suppressed anyway

From 0.5.4 to 0.6.0
-------------------

* verip():	Total rewrite, now using gethostbyname2() except
                when building on Solaris where getipnodebyname()
* verip():	Added validity checking for IPv6 ips.
* help():	Added all necessary arguments to help output
* daemonize():	Added exception control for chdir() and open()
* parseconf():	Removed excessive comments
* parseconf(): 	Added the possibility of 'ipv6' in the config file
* parseconf():	icpld now tells you which post is wrong, instead of
		just which line it is on
* checkinp():	New function and source file. This file contains all
		the input checking which previously was made in main()
* parseargs():	New function and source file. This file contains all
		the argument parsing which previously was made in main()
		This and the above change has cut memory usage upon 
		compiling with optimization in half
* main():	*Major* code cleanup. Excessive comments removed
		comment formatting altered, code blocks removed
		and replaced by extended use of fixPath() etc.
* main():	Moved the passwd struct initiation into the else
		block, since it's not used if $HOME is found
* main():	Altered output given if the environment variable
		$HOME fails to be used.
* main():	Removed development output from command line parsing
* main():	Fixed the path-related bug for -htmlfile as well
* main():	Added permission checking for -logfile
* main():	Altered various output. Mainly permission error messages
* main():	The header of the HTML formatted log is now included
		in HTML files specified with -htmlfile
* main():	Removed all of the path-fixing code and pass the variables
		through fixPath() instead
* main():	Duplicated the original main loop into IPv6 as well
* firstRun():	Added extended permission exceptions handling
* help():	Altered return code to 2 upon wrong argument passed
* fileCheck():	Removed exit() on ENP. Abortion is desided depending
		on which file is being checked
* fixPath():	*Major* code cleanup/rewrite. Removing unneccesary 
		variables and code blocks
* killProc():	icpld may now exit silently as well
* killProc():	icpld now returns 1 if the PID file is missing when trying
		to terminate a running(?) process
* contrib/icpld.sh.sample:	Added the -s to the 'stop' option as well
* man/icpld.1	Added the -4, -6 options, and updated the config file post
* README:	Updated URL in the 'Getting icpld' section
* README:	Rewrote smaller pieces of the Usage section to be
		more understandable, as well as added notes on IPv6
* README:	Added some comments on the new release
* TODO:		Removed the post about IPv6 porting

From 0.5.3 to 0.5.4
-------------------

* main():	Fixed the path-related bug with -logfile. 
		icpld -logfile log works now. No absolute path
		is longer necessary. See code comments for further info
* main():	Altered output given when running in foreground
* main():	Fixed the missing space in the definition of command2 
		which led to an error in command2 (probing fallback ip)
		(Couldn't have been that bad since it's been there since 
		0.5.0 and no one noticed)
* fork.cpp:	Altered quote in the file header
* TODO		Removed the html template entry
* README	Altered version number in the 'Getting icpld' section
* BUGS		Removed the entry concerning the path issue (see above)
* man/iclpld.1:	Changed path to configuration file in CONFIG FILE
		as well as author email address

From 0.5.2 to 0.5.3
-------------------

* verip():	Fixed the brown-paper-bag-bug, which resulted in several ips
		not passing through the verification routine. 

From 0.5.0 to 0.5.2
-------------------

* main():	Altered path to search for configuration file in, it is now
		/usr/local/etc, rather than /etc. /etc is however kept as 
		a fallback path, to keep backwards compability.
* main():	Removed some of the code surrounding the -quit switch, since
		that code segment got obsolete in the changes of killProc()
		in version 0.4
* main():       Added the -s option which makes icpld completely silent.
                This was mainly added since it comes in handy when one is
                starting icpld from startup-script, and don't want the
                output.
		Perhaps this should be made default, and a -verbose option
		should be added to revert the default silent mode? Drop me
		an e-mail with your 2 cents on this issue. 
* main():	Fixed grammatic error in the log output. Totally -> Total
* killProc():	ICPLD now returns 0 on signal 15 and 2. Thanks to 
		Jonas Olsson for pointing this out.		
* killProc():	Writing errors to stderr instead of stdout. Same as above
* help():	Added the -s option and an explanation. Also removed trailing
		dot after the explanation for the -d switch
* fork.cpp:	Altered the quote in the file header (very clever words indeed)
* fork.cpp:	Removed some outdated comments
* General:	Added Jonas Olssons startup-scripts (see contrib/)
* README:	Extended credits for Jonas Olsson to include startup-scripts
* NEWS:		Added announcement for this version
* fork.cpp	Altered Author email address

From 0.4.5 to 0.5.0
-------------------

* parseConf():	Entered "1.0" as default 'pint' value. Was earlier set to ""
		which resulted in pint becoming NULL if the ping option was missing
		from the config file, which isn't acceptable.
* main():	Altered the malloc() call in the if() statement to get
		rid of the annoying warning message when running in a BSD environment,
		about the high junk value. Also altered the free() segment.
* README:	Changed author e-mail address
* README:	Added credits for Martin Nilsson <orko@fearmuffs.net>
* icpld.conf:	Removed example ips from the config file.

From 0.4 to 0.4.5
-----------------

* main():	Removed output of number of arguments when none is 
		given (forgotten debug flag)
* main():	Added the -pint option. See manpage for further info
* main():	Altered configuration parsing element from strncmp 
		(confVar, "something", 9)
		to strncmp (confVar, "something", strlen("something") 
* main():	Expanded ./ to current directory in -logfile as well 
		(necessary since fork() chdirs do /. Hence icpld 
		-logfile ./log, ended up in /log, and not
		/the/directory/icpld/was/started/from
* main():	Corrected diverse spelling errors
* main():	If getenv() fails (missing variables eg.) icpld will 
		fall back to trying the passwd struct.
* main():	If htmlFile is left empty, skip writeability checking 
		to prevent "It appears as if you do not have the proper 
		permissions to write to (note the void) Please gain 
		proper user level, or alter the path and try again."
* main():	Changed command availability statement to else if (argc <= 1)
		Since else covers non existent or readable config files.
		HUGE bug? Indeed.
* main():	Applied existance checking on -config specified config files
* main():	Moved the -reset option to a source file of its own 
		(src/reset.cpp)
* main():	Breaking if homedir is unretrieveable by any of the two
		above methods (highly unlikely though)
* help():	Added brief info on -pint in help function
* reset():	Added errno display exception for ENOENT
* reset():	Moved the deletion of html-file to before attempt to remove
		~/.icpld, since the dir can't be removed if html file resides
		within. 
* dispLog():	Corrected spelling errors
* general:	Moved the ip verification bit to a source file of its own
* general:	Moved the help() function to a source file of its own
* killProc():	Added perror() if kill() fails
* signal_handler():	Added signal QUIT (3), and applied the 
			getpwent() fallback method here as well.
* AUTHORS:	Changed e-mail address for author
* README:	Updated version and corrected some grammatics
* README:	Refomratted linebreaks for terminal compability
* INSTALL:	Added missing ) to last row (d0h)
* man/icpld.1:	Updated manpage, included -pint information

From 0.3 to 0.4
---------------

* main(): 	Checks for getenv() exception (lacking variables etc.)
* logTurn(): 	Added permission control for reading and writing the log-file
* fileCheck():  Moved to a source file of its own
* fileCheck():  Added existance checking with stat(), and not just 
		readability checking, but also permission.
* main():	Extended checking of 'ping' permissions, to 'command 
		not found' as well as 'permission denied'
* main():	Added if (logFile == htmlFile).. Just in case
* main():	Fixed ./ and ~ extension for -config argument as well
* general:	ICPLD now marks a connection as available if the 
		fallback ip replies when down, and not only the 
		main ip (horrible bug, I know (but hey, check the 
		version numbers))
* general:	Fixed some general and standard English language issues	
* general:	Removed the bug which generated the following confusement:

		Fallback ip 127.0.0.1 seems available. Connection back up!
		Got ICMP reply from 192.168.0.2.. Connection available!  
		<- Even though that ip was still down
		Sending ICMP request to 192.168.0.2...
		192.168.0.2 isn't responding. Trying fallback ip...

From 0.1 to 0.3
----------------

* main():	Added stamp to HTML log
* main():	Altered HTML formatting
* main(): 	Command line parsing; 
   	  	Fixed bug which made -log read the logfile specified in the
	 	config file, even if -logfile was given at the command line, 
	  	unless -log came after -logfile,
* main(): 	Rewrote the get_current_dir_name() to comply to even more compilers.
 	  	Even them old pesky ones.
* main(): 	Fixed the directory confusement if one for example did 
		-logfile ./log.	Since the function firstr() 
		chdirs to ~/.icpld pwd was dito. Hence ./log  actually 
		meant ~/.icpld/log anyways. 
* main(): 	Fixed the html formatting, even on files set by 
		-htmlfile or from the config.

