2004-09-11: Jens Jakobsen <jj@openggsn.org>
	Added selection mode option to sgsnemu.
	Added charging characteristics option to sgsnemu.

	Only include charging characteristics in create PDP context
	request is if flags are set. (Thanks to Loic Bernable
	<leto@vilya.org>).

	PPP PCO length bug fix. (Thanks to Loic Bernable
	<leto@vilya.org>).

	IP pool hash table bugfix and improved logging.
	
	Improved configure.in and Makefile.am for compilation under
	Solaris. New config.sub and config.guess.
	
2004-04-28: Jens Jakobsen <jj@openggsn.org>
	Improved Solaris support. OpenGGSN now correctly initializes
	tun/tap driver under Solaris. As a consequence the ggsn network
	interface IP address is set to the network address plus one.

	Added routing manipulation and IP address alias capability for
	FreeBSD.

2004-01-19: Jens Jakobsen <jj@openggsn.org>
	Initial FreeBSD port (Thanks to	Pavel Andreev <pavel.andreev@hp.com>).

	IMSI bugfix. The IMSI encoding used by create PDP context was
	missing the leading '1111' to indicate that the 16'nd digit was
	unused. (Thanks to Pavel Andreev <pavel.andreev@hp.com>).
	

2004-01-15: Jens Jakobsen <jj@openggsn.org>
	Added iptables firewall script.
	

2004-01-14: Jens Jakobsen <jj@openggsn.org>
	Changes to allow compilation under Solaris: u_int8_t changed to uint8_t
	and tun api changed for sun platform (#ifdef).

	
2004-01-09: Jens Jakobsen <jj@openggsn.org>
	Fixed bug which included NSAPI in GTPv0 create PDP context messages.


2003-11-10: Jens Jakobsen <jj@openggsn.org>
	Added --net option for sgsnemu. Allow user to specify the network
	address and mask of the local interface.

	Added --gtpversion option for sgsnemu. Allow user to specify which
	GTP version to use.

	Added --nsapi option for sgsnemu. Allow user to specify which
	NSAPI to use.

	Changed the functionality for multiple contexts. Previously
	contexts were differentiated by nsapi. This limited the number of
	contexts to 16. Now each context is established with a new imsi
	and msisdn.


2003-10-22: Jens Jakobsen <jj@openggsn.org>
	Support for GTP1. Currently without support for the secondary pdp
	context activation procedure.

	sgsnemu will first attempt to use GTP1. If that fails it will
	proceed with GTP0.

	Various gtplib API changes to allow support for GTP1.

	gtplib now listens to 3 separate UDP ports: GTP0, GTP1 control
	plane and GTP1 user plane. A socket for each port has to be
	included in the application select loop.

	gtplib now verifies that messages are valid for the particular
	type of support node. As an example a received Create PDP Context
	Request message is not allowed for an SGSN.

	Standards compliance document.

	
2003-07-07: Jens Jakobsen <jj@openggsn.org>
	Added spec.in file for building binary RPM packages. Now openggsn
	will install binaries, man pages as well as scripts.

	Added ggsn and sgsnemu man pages

	Added ggsn Sys V init script

	Added bootstrap script for autotools automation
	

2003-04-11: Jens Jakobsen <jj@openggsn.org>
	Added -ggdb to gtp, sgsnemu and ggsn makefiles in order to include
	debugging information.

	Added ippool.c and ippool.h to ggsn. This allows for generic
	allocation of dynamic ip addresses based on a <net>/<mask>
	description of ip address space. The same files are also used in
	sgsnemu, but only for hashing IP addresses. At the same time the
	corresponding functionality is removed from pdp.c.
	
	Added syserr.h and syserr.c to ggsn and sgsnemu. These files allow
	writing to syslog with file name and line number. Later this
	should also be introduced in gtp.

	Added support for DNS protocol configuration options in ggsn for
	create context response. This allow the MS to setup DNS
	configuration correctly.

	tun.c and tun.h have been updated to allow setting interface IP
	addresses and routes by means of ioctl and netlink. This allow
	sgsnemu to allocate an interface IP address for each context
	established.


2003-01-29: Jens Jakobsen <jj@openggsn.org>
	Added -L../gtp to sgsnemu and ggsn makefiles so that make will
	work without an installed libgtp.

	Added sgsnemu check to check for valid pointer when deleting tun.

	Removed enabling of ip_forward = 1 from ggsn.c and sgsnemu. From a
	security point of view it was not very good that openggsn
	automatically enabled routing.

	Added ipup, ipdown and createif to sgsnemu/cmdline.ggo. Now
	sgsnemu will set up default route and then execute ipup script
	after tun device has been set up. After tun has been deleted the
	ipdown script is executed.

	Added support for ping to sgsnemu.

	Added ipup and ipdown to ggsn/cmdline.ggo.
	
