From: Barney Wolff <barney@databus.com>

In porting (if I can glorify it by that word) ISS to Unixware (SVR4.2)
on a 486, I noticed one really serious bug and some cosmetic stuff.
The serious bug is a missing htonl on opening connections - with the
result that you're really opening a connection to the byte-reversed
address on a little-endian machine. 

The other functional change I put in was to time out connect attempts -
if no reset comes back, the connect() call (at least on Unixware)
seems never to time out.  This way, I can test (my own domain only)
from outside the firewall, or get by a machine that's powered off,
or test a dos machine whose stack doesn't bother to send a reset.

There is an apparent Unixware bug in getservbyport() - instead of taking
the int port that the man page says it does, it really needs
htons((short) port).  I tested this outside iss, and that's the way it is.

Here is the diff of my version with the distributed iss.c :

45d44
< #include <arpa/inet.h>
87c86
< void donothing(int sig)		/* Signal sets done variable to tell program
---
> donothing()			/* Signal sets done variable to tell program
129,130c128
<     a.sin_addr.s_addr = htonl(x);	/* this is the only critical change */
<     alarm((sec == 0) ? 7 : sec);
---
>     a.sin_addr.s_addr = x;
132d129
< 	alarm(0);
306c303
<     int l, l1; size_t i;
---
>     int l, l1, i;
383c380
<     int l, lp1; size_t i;
---
>     int l, lp1, i;
762a760
>     extern int inet_addr();
812d809
<     alarm((sec == 0) ? 7 : sec);
818c815
< 	if ((ServiceEntryPointer = getservbyport(htons((short)Port), "tcp")) !=
---
> 	if ((ServiceEntryPointer = getservbyport(Port, "tcp")) !=
825d821
< 	alarm(0);
910,913d905
< #ifdef sun
<     siginterrupt(SIGALRM, 1);
< #endif
<     signal(SIGALRM, donothing);
935a928,931
> #ifdef sun
>     siginterrupt(SIGALRM, 1);
> #endif
>     signal(SIGALRM, donothing);

And the Makefile needs the libraries listed:

	$(CC) -o $@ iss.o -lnsl -lsocket /usr/ucblib/libucb.a

Anyway, thanks for contributing a useful piece of software!

 Barney Wolff, Pres.                     Voice:     914-591-6572
 Databus Inc.                            Fax:       914-591-5677
 15 Victor Drive                         Internet:  barney@databus.com
 Irvington, NY 10533-1919 USA            At the corner of database & datacomm

