ODOORS62.TXT 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. ***************************************************************************
  2. * OpenDoors v6.24 C/C++ Door Development Kit for DOS/Win32/*nix Platforms *
  3. ***************************************************************************
  4. $Id: ODOORS62.TXT,v 1.5 2006/12/07 02:06:14 rswindell Exp $
  5. August 10, 2003
  6. *nix (using StdIO only) update to Brian Pirie's OpenDoors Library
  7. August 22, 2002
  8. Door32.sys and Socket update to Brian Pirie's OpenDoors Library
  9. (http://www.pirieworld.ca/opendoors.html)
  10. by Rob Swindell (http://www.synchro.net/)
  11. The current source code is always available via CVS at cvs.synchro.net.
  12. The latest and greatest Win32 ODoors62.dll can always be downloaded here:
  13. http://cvs.synchro.net/cgi-bin/cvsweb.cgi/~checkout~/src/odoors/ODoors62.dll
  14. ==============================================================================
  15. This archive includes the source code to the OpenDoors library with
  16. modifications made by me (Rob Swindell, aka Digital Man) to add support for
  17. the Door32.sys drop file format and Win32 TCP/IP socket (Telnet)
  18. communications.
  19. I made my modifications to the 6.1.1 release by Brian Pirie (ods611.zip) and
  20. used Microsoft Visual C++ v6.0. I also eliminated any warnings or errors
  21. detected by this compiler. The linker still warns of duplicate symbol
  22. definition (od_control and od_printf), but I left those duplicate defintions
  23. in the .def file since they may have been necessary for another platform or
  24. compiler that I'm not using.
  25. This version also includes the ODEmu.c:od_send_file_section() modification
  26. by Michael Dillon ([email protected] | http://members.darktech.org/gsvalore/).
  27. DOOR32.SYS
  28. ----------
  29. The Door32.sys drop file format was created in June of 2000 to support the
  30. new wave of 32-bit Windows and *nix doors. The main feature of this
  31. drop file format is that it includes the currently open Win32 comm handle or
  32. socket descriptor (whichever is appropriate for the current connection).
  33. I didn't add support for the Win32 comm handle in the door32.sys file
  34. (I run a telnet-only BBS and would have no way to test it). I can't
  35. imagine it would be very difficult to add; I'm just not sure how much demand
  36. there would be for such a feature today.
  37. I did however add support for the socket descriptor in the drop file (used for
  38. TCP/IP - Telnet connections) and this is currently the only "standard" drop
  39. file format that is expected to include a socket descriptor (Synchronet's
  40. XTRN.DAT drop file also includes a socket descriptor, but I don't really
  41. consider that format to be a "standard").
  42. The Door32.sys drop file is currently supported by the following known BBS
  43. packages:
  44. Software Home Page Version
  45. -----------+-------------------------------------+--------
  46. Mystic BBS www.mysticbbs.com 1.07
  47. EleBBS www.elebbs.com 0.08?
  48. Synchronet www.synchro.net 3.x
  49. TCP SOCKET I/O
  50. --------------
  51. When using a Door32.sys drop file, the communications type (Local, Serial, or
  52. Telnet) is automatically determined and I added support for (and tested) the
  53. Telnet/socket communication method using Synchronet BBS Software v3.10 for
  54. Win32 and HyperTerminal Private Edition v6.1.
  55. Since the Telnet protocol specifies that an end-of-line sequence (ENTER or
  56. Carriage Return) is a CRLF (ASCII 13, 10), I had to modify od_get_key() to
  57. ignore any line feed (ASCII 10, Ctrl-J) characters. Without this modification,
  58. hitting enter in most Telnet clients would cause a "double return" to be sent
  59. to the door. There may be a more desirable solution to the problem, but this
  60. one seems to work for now.
  61. v6.21 fixes a bug in the socket disconnection ("carrier-loss") detection in
  62. v6.20. I also lowered the input and carrier-detect thread priorities down to
  63. "normal" which makes the doors appear to run faster and also make debugging
  64. continuous loop problems (like the one in v6.20) much easier.
  65. v6.22 changes:
  66. Another bug fixed in socket disconnection ("carrier-loss") detection.
  67. Added support for non-blocking sockets (e.g. EleBBS) - thanks to GSValore.
  68. Added support for the "-SOCKET" command-line option to specify the socket
  69. descriptor on the command-line.
  70. v6.23 changes:
  71. *nix support using stdio
  72. v6.24 chagnes:
  73. Fixed timeing bugs on *nix
  74. Fixed output truncated bug on *nix
  75. Fixed od_get_input() hang on ESC on Win32
  76. Fixed various other bugs.
  77. Added od_key_pending() function.
  78. /* End of ODOORS62.TXT */