home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / g / gr-bugs.bee < prev    next >
Text File  |  1993-03-30  |  5KB  |  89 lines

  1. Bugs in PA0GRI 920725v2.0l/920730v2.0m,
  2. Fixes through N1BEE 921225 v0.85-beta:
  3.  
  4. 1. N1BEE's DFAR kludge is now interacting with the Borland optimizer in
  5. a bad way, at least as of BC++ 3.1.  Workaround: change "-Ff=255" on the
  6. CFLAGS line in MAKEFILE to "-Ff".  This affects only conditional
  7. compilation under BC++ 2.0 and later.
  8.  
  9. 2. N1BEE's MKNAME.C module must be modified for BC++ 3.1, which defines
  10. __BORLANDC__ as 0x0410.  Extensive changes have been made.
  11.  
  12. 3. In KISS.C, function kiss_ioctl(), "int rval = 0" must be corrected to
  13. "int32 rval = 0L" for support of high baud rates.
  14.  
  15. 4. In I8250.C, function asy_speed(), "115200L" should be added as an
  16. allowed speed.  (Why not?)
  17.  
  18. 5. In AX25.C, functions ax_lookup(), ax_add(), and ax_drop(), the line
  19. "memcmp(xtarget,target,AXALEN);" will cause digipeating to be non-functional.
  20. It must be corrected to read "memcpy(xtarget,target,AXALEN);" for any AX.25
  21. digipeating to work.
  22.  
  23. 6. In NR4TIMER.C, function nr4ackit(), there must be a call to stop the
  24. acknowledgment timer, "stop_timer(&cb->tack)".  Otherwise, ACKs will be
  25. sent every time the Nr4acktime timer expires, by default every 3 seconds,
  26. and the channel will be clogged with redundant ACKs.  The stop_timer()
  27. call is best placed as the first executable statement in nr4ackit().
  28.  
  29. 7. In NETUSER.C, function inet_ntoa(), there must be a call to resolve_a()
  30. and some code added to make domain translation work at all.  Attempting to
  31. grep on the global flag for domain translation "DTranslate" produces no
  32. meaningful references to it.  Apparently, all code which tests the state of
  33. this flag on display of IP addresses had been removed.
  34.  
  35. 8. In DOMAIN.C, function resolve_a(), the shortened form of host name,
  36. used when the DVerbose flag is off, has been recoded.  Previously, the
  37. host name was scanned from the left and truncated at the first dot.  This
  38. would cause host names such as "switch.w1cg-9.ampr.org" to be displayed
  39. as "switch", which is ambiguous.  The changed behavior is to truncate the
  40. current domain suffix (usually "ampr.org.") from the right side of the
  41. host name if it is present, and to display the fully qualified domain name
  42. if the current domain suffix is not found; a trailing period is now shown
  43. in order to indicate a fully qualified name.  For example, with the domain
  44. suffix set to "ampr.org.": "n1bee.ampr.org", "switch.w1cg-9.ampr.org", and
  45. "ucsd.edu" would be shortened to "n1bee", "switch.w1cg-9", and "ucsd.edu.",
  46. respectively.
  47.  
  48. 9. In NR4HDR.C, function htonnr4(), netrom "info ack" frames were being
  49. sent out with an uninitialized third byte field, usually used for "txseq"
  50. but not significant on an "info ack" type frame.  This byte is now always
  51. set to zero, which is what real netrom and G8BPQ do.  (NR4DUMP.C has also
  52. been modified to show parentheses around this field when tracing, since
  53. the field really should not be regarded as significant.)
  54.  
  55. 10.  I am still working on trying to fix the problem in the netrom code
  56. which results in the undesirable behavior of retransmitting the transmit
  57. queue whenever any ack frame is received, regardless of whether such
  58. retransmission is necessary.
  59.  
  60. 11.  Extensive changes have been made throughout POP2SERV.C and POP3SERV.C
  61. in order to avoid calling the Borland stat() function, which crashes under
  62. a multitasker if the file being checked does not exist.  This is a Borland
  63. bug, since one of the main purposes of stat() is to check for existence of
  64. a file.  In all cases, the fsize() function from BMUTIL.C was used in the
  65. place of stat(); fsize() is no longer declared "static" in BMUTIL.C, and is
  66. now prototyped in FILES.H.  (There may be some merit, in the long term, to
  67. replacing Borland's stat() function with a stable one, but I am not anxious
  68. to repeat the experience I already have in trying to replace __MKNAME().)
  69.  
  70. 12.  Fixes have been made in POP3SERV.C to correct the response messages,
  71. which previously were all terminated with "\r\n", to be now terminated with
  72. just "\n".  Since the socket is opened in ASCII mode instead of binary, any
  73. occurrence of "\n" is changed to "\r\n" in the lower level usputc() code,
  74. and lines were really being terminated with CRCRLF instead of CRLF as is
  75. required by RFC1225.  Oddly, this made the POP3 client in NOS incompatible
  76. with the POP3 server in NOS.   An explicit call to sockmode() to force
  77. ASCII mode is now included, although it is really redundant.
  78.  
  79. 13.  In PC.C, function bioscnt(), the BIOS tick count is now obtained from a
  80. call to the BIOS time service instead of directly reading the BIOS data area
  81. when running under OS/2 DOS emulation.  This is necessary to prevent huge
  82. jumps from occuring when the DOS window in which NOS is running is brought
  83. into and out of focus.  Also in PC.C, function pctick(), the test for the
  84. BIOS tick counter wraparound at midnight has been recoded to take into
  85. account the problem under OS/2 where successive results from reading the
  86. BIOS tick count are not monotonically nondecreasing across the instant of
  87. the window acquiring focus.
  88.  
  89.