Subj : OpenDoors C/C++ DevKit v6.20 - Adds Door32.sys/Telnet support
To   : All
From : Rob Swindell
Date : Fri Oct 19 2001 10:22 am

ftp://vert.synchro.net/main/bbs/odoors62.zip

******************
* OpenDoors v6.2 *
******************

October 19, 2001

Door32.sys and Socket update to Brian Pirie's OpenDoors Library
(http://www.attcanada.net/~pirie/opendoors.html)

by Rob Swindell (http://www.synchro.net/)

==============================================================================

This archive includes the source code to the OpenDoors library with
modifications made by me (Rob Swindell, aka Digital Man) to add support for
the Door32.sys drop file format and Win32 TCP/IP socket (Telnet)
communications.

I made my modifications to the 6.1.1 release by Brian Pirie (ods611.zip) and
used Microsoft Visual C++ v6.0. I also eliminated any warnings or errors
detected by this compiler. The linker still warns of duplicate symbol
definition (od_control and od_printf), but I left those duplicate defintions
in the .def file since they may have been necessary for another platform or
compiler that I'm not using.

This version also includes the ODEmu.c:od_send_file_section() modification
by Michael Dillon ([email protected] | http://members.darktech.org/gsvalore/).


DOOR32.SYS
----------
The Door32.sys drop file format was created in June of 2000 to support the
new wave of 32-bit Windows and *nix doors. The main feature of this
drop file format is that it includes the currently open Win32 comm handle or
socket descriptor (whichever is appropriate for the current connection).

I didn't add support for the Win32 comm handle in the door32.sys file
(I run a telnet-only BBS and would have no way to test it). I can't
imagine it would be very difficult to add; I'm just not sure how much demand
there would be for such a feature today.

I did however add support for the socket descriptor in the drop file (used for
TCP/IP - Telnet connections) and this is currently the only "standard" drop
file format that is expected to include a socket descriptor (Synchronet's
XTRN.DAT drop file also includes a socket descriptor, but I don't really
consider that format to be a "standard").

The Door32.sys drop file is currently supported by the following known BBS
packages:

   Software     Home Page                             Version
   -----------+-------------------------------------+--------
   Mystic BBS   www.mysticbbs.com                        1.07
   EleBBS       www.elebbs.com                           0.08?
   Synchronet   www.synchro.net                           3.0


TCP SOCKET I/O
--------------
When using a Door32.sys drop file, the communications type (Local, Serial, or
Telnet) is automatically determined and I added support for (and tested) the
Telnet/socket communication method using Synchronet BBS Software v3.10 for
Win32 and HyperTerminal Private Edition v6.1.

It is feasible that other drop file formats may be used and the socket
descriptor passed on the command line, but I didn't add support for that.
Currently, the Door32.sys file is the only way to pass the open socket
descriptor to the OpenDoors library.

Since the Telnet protocol specifies that an end-of-line sequence (ENTER or
Carriage Return) is a CRLF (ASCII 13, 10), I had to modify od_get_key() to
ignore any line feed (ASCII 10, Ctrl-J) characters. Without this modification,
hitting enter in most Telnet clients would cause a "double return" to be sent
to the door. There may be a more desirable solution to the problem, but this
one seems to work for now.


/* End of ODOORS62.TXT */