Common Code Library: Modification history

v1.0.0  - Initial version, based on RAT v3.2.7
	* 14 November 1998

v1.0.1  - Added HMAC authentication code
	- Added timeout to udp_recv()
	- Added authentication of Mbus messages
	- Added RTP library
	- Added select and fd_set functions to net_udp.[ch]
	- IPv6 code now runs on the pre-release stack for Solaris 2.7
	- Mbus code support a configuration file on Unix, and the registry
	  on Win32, to save/restore settings
	- Add udp_host_addr() to get a text-version of the address to which
	  a socket is bound.
	- Set IPv6 ttl and loopback state correctly on Solaris
	- Move mbus hearbeat code into this library
	- Remove key expiry from the mbus code, since it created race
	  conditions when multiple tools for a single conference were
	  started either side of the expiry time.
	- Update mbus addressing scheme - names are now sets of tokens, if the
	  set of tokens in the destination address is a subset of the address 
	  of the entity receiving that message then the message is accepted. An
	  empty set is a valid destination address for a message, and that will
	  be accepted by all receivers (ie: a wildcard).
	- Remove channel ID from mbus code.
	- Fix configure script to work with solaris 2.7 where inet_aton() and 
	  inet_pton() have prototypes but no implementation.
	* 31 March 1999 [rat v4.0.0]

v1.0.2  - Assorted fixes to RTP library
	- Fix bounds overruns in memory.c - will now run with -DDEBUG_MEM
	  with the bounds checker on.
	- Add timestamp to mbus packet headers.
	- Add mbus_qmsgf()
	- Cleanup mbus transmission path
	- Add support for DES encryption to the mbus (on by default)
	- Fix DES code
	- Mbus keeps a cache of other entities, and only allows sending of
	  reliable messages to known unicast addresses. 
	- Mbus error function now takes a "type of error" argument
	- Added xrealloc()
	- Fix reordering of mbus messages
	* 14 May 1999 [rat v4.0.1]

v1.0.3  - Fix inet_aton() in net_udp.c
	* 15 May 1999 [rat v4.0.2]

v1.0.4  - Fix compilation with Microsoft IPv6 stack
	- Solaris 2.5.1 doesn't have vsnprintf(), use vsprintf() instead
	  and don't worry about the possible buffer overflow problems. 
	  Reported by Holger Wirtz.
	- Added mbus_addr_valid()
	- Added timeout to mbus_recv()
	- Fixes to mbus code from Dirk Kutscher
	* 2 June 1999 [rat v4.0.3]

Still to do...
	- IPv6 code sometimes doesn't get the correct interface address,
	  since it does a gethostbyname() and looks that up, yet that can
	  return the IPv4 hostname only on some machines.
	- Doesn't do DNS AAAA lookups when given a name rather than an IP address.
	- "instance:pid" in mbus addresses?
	- We use hmac_md5 and the mbus spec requires hmac_md5_96? Bug in
	  the spec, since they both reference RFC2104?
	- Fixed offsets in the mbus config file parser?
	- Mbus code should check timestamp in received headers, and discard
	  messages if it decreases, as a hinderance to replay attacks.
	- Mbus code should be more paranoid about handling garbage inputs, we
	  can likely get all sorts of buffer overflows by feeding random data
	  into it.
	- rtp_recv should split into rtp_select and rtp_recv. Jitter issues
	  otherwise, as pointed out by Orion.

