123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- ***************************************************************************
- * OpenDoors v6.24 C/C++ Door Development Kit for DOS/Win32/*nix Platforms *
- ***************************************************************************
- $Id: ODOORS62.TXT,v 1.5 2006/12/07 02:06:14 rswindell Exp $
- August 10, 2003
- *nix (using StdIO only) update to Brian Pirie's OpenDoors Library
- August 22, 2002
- Door32.sys and Socket update to Brian Pirie's OpenDoors Library
- (http://www.pirieworld.ca/opendoors.html)
- by Rob Swindell (http://www.synchro.net/)
- The current source code is always available via CVS at cvs.synchro.net.
- The latest and greatest Win32 ODoors62.dll can always be downloaded here:
- http://cvs.synchro.net/cgi-bin/cvsweb.cgi/~checkout~/src/odoors/ODoors62.dll
- ==============================================================================
- 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.x
- 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.
- 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.
- v6.21 fixes a bug in the socket disconnection ("carrier-loss") detection in
- v6.20. I also lowered the input and carrier-detect thread priorities down to
- "normal" which makes the doors appear to run faster and also make debugging
- continuous loop problems (like the one in v6.20) much easier.
- v6.22 changes:
- Another bug fixed in socket disconnection ("carrier-loss") detection.
- Added support for non-blocking sockets (e.g. EleBBS) - thanks to GSValore.
- Added support for the "-SOCKET" command-line option to specify the socket
- descriptor on the command-line.
- v6.23 changes:
- *nix support using stdio
- v6.24 chagnes:
- Fixed timeing bugs on *nix
- Fixed output truncated bug on *nix
- Fixed od_get_input() hang on ESC on Win32
- Fixed various other bugs.
- Added od_key_pending() function.
- /* End of ODOORS62.TXT */
|