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