CHANGES TO SOCKETSHR 0.9D

This file describes changes to the SOCKETSHR interface to NETLIB that have been 
made since version 0.9D, the last official release from the author Eckhart
Meyer.


0.9D-5
------

* 23-DEC-1997 : The gethostbyname routine does a reverse lookup on the IP
		address in order to get the official host name. If this failed,
		because there is no reverse entry in the DNS, the whole
		gethostbyname routine failed. Modifed this behaviour so that
		the user's original host name is returned if the reverse lookup
		fails.

		NOTE: we still have no means to return the aliases associated
		with a given host, the relevant hostent structure always
		returns a zero list.

0.9D-4
------

* 10-JUN-1997 : Incorporated further fix from Michael Stenns to improve the
		fix to the bind problem. This uses the underlying port if a non
		zero one is returned by the underlying stack otherwise it
		generates the random one in the range 30001->60000.

* 10-JUN-1997 : Minor bug fixed up in LINK.COM whereby a missing close bracket
		on the f$search call to find the DEC C compiler caused the
		symbol HAVEDECC to be undefined. This could cause later link
		problems.

		
0.9D-3
------

* 04-JUN-1997 : Problem reported by Michael Stenns when BIND is called
		specifying a port of zero.  This is supposed to return a random
		unused port by the underlying stack. Some, including CMU, do
		not, so SOCKETSHR attempts to allocate one when a zero port is
		returned. The code to do this always returns a fixed port
		number (as long as no other sockets are opened in the
		meantime). This prevents multiple copies of the same program
		running (since the local port is global) and also prevents the
		same program being run until TCP times out the old port
		connection (can be up to 4 minutes). Fixed up the code to
		generate a more random port above 30000 based upon the current
		time. There is a small probability that it might still clash
		with someone else's port but that probability is much much
		lower than before.


0.9D-2
------

* 03-JUN-1997 : Modified the build procedure to take into account the
		definition of the logical name DECC$CC_DEFAULT. If this is
		defined to "/VAXC" or if DEC C is not found, then VAX C is used
		for compilation.

* 03-JUN-1997 : Problem reported by Rob Puller that TYPES.H gave compilation
		errors under VAX C.  Fixed this up by properly ifdefing the
		definition of time_t.

* 03-JUN-1997 : Problem reported by Rob Puller that the changes to support
		VAX and ALPHA distinction (IE use of f$getsyi("ARCH_NAME")) do
		not work on VMS 5.4-2 as this lexical does not exist. Changed
		this to use f$getsyi("HW_MODEL") instead.


0.9D-1
------

* 02-JUN-1997 : Fixed problems with the getsockname and getpeername functions.
		They were returning zeroes in the 1st two digits of the address
		due to the wrong type of parameter being passed to the netlib
		routine NET_GET_INFO. The port paramters should be longword but
		were actually word, so overwriting was occurring.

* 02-JUN-1997 : Modified various build procedures and header files to get the
		software to compile properly under Both VAX C and DEC C on VAX
		and ALPHA.

Andy Harper
Kings College London
