Trumpet Software International Winsock  Version 1.0 Rev A
---------------------------------------------------------

Files
-----
     winsock.dll     - the full TCP.
     tcpman.exe      - TCP controlling task.
                       this will be loaded by the winsock.
     winpkt.com      - fixed version of winpkt --- new version from A#16
     hosts
     services
     protocols

Setup.
-----

   see install.doc


Requires
--------
    packet driver using WINPKT or PKTMUX.

    WINPKT must be the fixed version supplied here.  There is a bug in
    the original which prevents full sized ethernet packets from being
    received.

    PKTMUX must be version 1.2c or greater.


Not Supported Yet.
------------------

OOB data can't be notified yet.

Some of the get/set sockoptions not implemented.

Bug list
--------


Release 1.0 Rev A
-----------------
Final cleanup.
Fixed msg_peek bug.
Added ICMP port unreachable & protocol unreachable
Implemented so_broadcast


Final Beta #5
-------------

Fixed bootp bug.
Fixed zero timeout problem.


Final Beta #1, #2, #3, #4
-------------------------

Fixed default bootp over SLIP problem.
Fixed error on comm open.
Included auto dial on start/finish
Optional DCD/DSR online status detection to aid in auto login.
included bootp command in login scripts.


Alpha #18
---------

Modified the tcp send() to transmit all data if running in blocking mode.
Fixes winmosaic under slip.
more WSAT conformancy.
Added a slip dialer.
Improved docs.
Fixed Async UDP & Raw sockets.
Caught a wierd compiler bug which caused WSAisblocking to return
random values.  Fixed by converting return value to int instead of
bool.

Alpha #17
---------
Fixed a problem with accept not exchanging tcp mss.
Fixed a bug in gethostbyname - if DNS required, hostname not copied to hostent
Added Internal SLIP support.  Check it out!!!
New utility - winarchie  (usage:  "winarch -archie=your.host.name")

Problems outstanding...

There appears to be some problem with DEC Pathworks.  Causes a GPF.
I've added extra checks to the code and also added error messages for the
suspected error conditions.
Reports of sockets not being removed when they have been closed.
TELW is *NOT* fixed yet.  Use at your own peril.

Alpha #16
---------

Fixed misc problems regarding conformance of error messages.  Not 100% yet.
Implemented slow start algorithm on sends & general improvements to tcp
timeout code.
Fixed elusive listen/accept & shutdown problems.
Fixed incorrect socket being returned when using a blocking accept call.
Fixed incorrect handling of SOCK_RAW
Fixed missing sender addresses on SOCK_DGRAM/SOCK_RAW
New version of winpkt.  Also checks that it is loaded correctly.
Please read install.doc for modified installation set up.

Alpha #15
---------
Tidy up of bind, fixed getprotobyname, fixed up a bootp releated problem
preventing the winsock from being restarted sometimes.
fixed Sock_raw socket() call.

Added extensive debugging switches to allow developers to trace socket calls.
Beware - the debug info requires some stack space.  Hence some apps fall over
with disastrous results for other apps.

Allow the debug info to be pasted to the clipboard.

Pingw.exe - very basic ping  (can run multiple copies)

hopchkw.exe - Warning - Not Winsock compliant.  Also interacts with ping since
it must receive all ICMP messages.

Fixed shared hostent struct for GetXbyY calls.  Seperate hostent, servent,
and protoent structures.


Alpha #14
---------
All WSAAsyncGetXbyY routines implemented.  The implementation needs a little
polishing.  Requestes are processed sequentially in a global queue by the
tcp manager.

Fixed a couple of internal shortcomings with WSAStartup and the getXbyY
routines.

New versions of some apps (Missing ReleaseDC calls.)

Alpha #13
---------
Added HOSTS file support.  Beware DNS code has been revamped.

Fixed select call with NULL timeout parameter.


Alpha #12
---------
Fixed the bug with tcpman resize causing GPF.

Fixed misc UDP bugs.

Fixed misc listen/accept/close bugs.

Fixed naming problems.

Fixed Async select problems.

Qvtnet 3.7 FTP server still does not work.  It appears to be generating
strange calls to the winsock.


Alpha #11
---------
Fixed the select routine so that winqvt detects end of session.
It was setting FDExcept when the connection was closed.
fixed problems with listen/accept calls.  (affects ftp transfers to distant sites)
increased local heap size to try to fix following bug.

Outstanding bug..  Unable to reproduce when using slipper.
1) start tcpman
2) show the tcpman screen. minimize it again or maximize.
3) start an application which does name lookups.
4) application then crashes with a gpf at the same place each time.

methinks it has to do with the dll's local heap or some stack
overflow problem when processing the dns call.

This only occurs at work with ethernet driver and/or running Novell Netware.
Unable to determine which yet.

Alpha #10
---------
Old version of winsock.dll distributed.  Fixed, and added internal
consistency check to tcpman.
when debug is on, some apps crash with stack overflow.  Use sparingly.

debugging:
         tcpman.exe -debug=abcd...

              options    a=arp
                         r=rarp
                         e=ethernet
                         i=ip
                         u=udp
                         t=tcp
                         +=extra ip and udp


Alpha #9
--------

Fixed problems with tcpman not closing down properly.
DNS problems checked out. Only appears when the debug options are on.
I suspect it is due to stack overflows in apps caused by debug info.

winchat problems fixed.

Alpha #8
--------
ftpw @ command fixed.
telw accepts hostname & port in similar way to unix telnet.

tcpman now has a setup dialog

misc mods to winsock.dll

be careful of name lookups.  the code is a little simplistic
and doesn't support multiple tasks very well.  I'm working on this one.

Alpha #7
--------

closesocket and shutdown completed.  Not tested fully yet.
winchat.exe improved.

apparently WinQVTnet working now, but doesn't detect connection closed.
select broken?

Alpha #6
--------

Worked a little on closesocket to do the linger options properly.
shutdown is not implemented in this version properly.
(it used to do a hard close)

FTPW has a serious bug.  don't use the "@" command.  It will lock up windows.
tries to open a file onto standard input..  Either windows should trap this but
doesn't or I get stuck in a infinite I/O error loop.

Alpha #5
--------

winchat.exe
telw.exe  (a bit primitive... very minimal vt100 emulation)

AsyncSelect added.



Alpha #4
--------

Fixed problems with wsastartup/wsacleanup.
Also added check for tasks dissappearing.
Still to be done...  closing down sockets for tasks that dissapear.

Wais man 3.1 works.  problem was version numbers

provided are a small ftp client and a viewer for wais/gopher to use.

viewer usage:  view -font=your_font -size=10  <name of file>
since font names have " "'s in them, the "_" gets translated to a space.

FTP client seems solid now.  I shook out most of the strange bugs.

Alpha #3
--------

All getXbyY routines functioning.

Blocking functions correctly now.  Blocking hooks work.

Cancel blocking won't work for gethostbyname or gethostbyaddr.

getproto... and getserv...
both use files so should not block for extended periods of time.


Tested so far...

wintrump
hgopher
gopher book
finger  (blocking version)
pc eudora appears to work.

Waisman 3.0 doesn't seem to work.
The winsock fails to get started for some reason or other.
It doesn't even call WSAStartup..????

Alpha #2
--------

Bootp fixed.  Definitely doesn't pass WSAT yet.  Working on it.

Alpha #1
--------

blockinghook functions not yet working properly.

BOOTP doesn't appear to work.

Network setup requires environment variables.  It is envisaged using a file
called TRUMPET.PRM to define the net parameters.

Interpretation of blocking not strict as yet.  It is possible to call a
non-blocking call while another blocking call is in progress.

