📄 history.txt
字号:
Nucleus NET
Release History
*****************************************************************************
Release 4.0.0 May 08, 1998
*****************************************************************************
This is the first release of Nucleus Net 4.0 generic code.
*****************************************************************************
Release 4.0.1 May 19, 1998
*****************************************************************************
This release was implemented to fix spr486(a Memory leak in IP Forwarding)
, spr487(a problem in IP_Fragment), and spr488(a problem in port creation).
*****************************************************************************
Release 4.0.2 June 23, 1998
*****************************************************************************
The file NET.C was updated to include support for RMON1. Only minor changes to
the function NET_Ether_Input() were required.
*****************************************************************************
Release 4.0.3 July 14, 1998
*****************************************************************************
The following files were updated to fix errors reported by the Green Hills
Compiler: ARP.C, BOOTP.C, SOCKETS.C, DHCP.C
Some additional macros were added to TCP_ERRS.H for use by POP3.
*****************************************************************************
Release 4.2 April 21, 1999
*****************************************************************************
Features added in this release:
1) Raw_IP
2) Driver interface optimization
3) NU_Ping service
4) Support for having multiple DNS servers
SPRs fixed in this release
438 - NU_Bind allowed binding of a socket to an IP address that does
belong to any network device attached to the local host.
471 - NU_Select would not return when a socket was closed
if multiple sockets were being used.
474 - DNS searching did not support searching multiple DNS servers.
483 - On slow PPP links TCP retransmits sometimes occurred before the
first transmission of the packet was completed.
486 - IP_Forward incorrectly freed buffer chains if forwarding was
not possible. This caused a loss of NET buffers.
494 - A few places in the code used NULL and not NU_NULL. This caused
compiling errors with some tool-chains.
496 - On slow PPP links internal NET data structures could get reused
before the previous TCP connection using them had completed its
close sequence.
497 - Source code filename conflicts with other products.
499 - TCP Delayed ACK would send the ACK when the window was half full.
This is incorrect, the check is supposed to be when two full
segments are received.
502 - When sending a multicast packet, the ipsource field of the IP
header was not being initialized.
506 - NU_Close_Socket would hang indefinitely if the foreign side never
sent a FIN.
507 - In netwrite() the size and contain fields in the window structure
are both unsigned so the result is also unsigned. If the subtraction
would result in a negative number it is instead treated as a
very large number. This causes the code to fail.
508 - Various problems with TCP_Retransmit.
511 - Conflicts between the code and documentation on the return type
of NU_Dhcp.
514 - In IP_Interpret a check was made to validate the IP header based
on packet length. This is no longer needed.
515 - ackcheck() had the possibility of using a NULL pointer.
518 - Calls to NU_Control_Interrupts is incorrect. These have been changed
to NU_Local_Control_Interrupts.
521 - Documentation lacking on the services NU_Setsockopt and NU_Getsockopt.
The IP_MULTICAST_TTL option does not work.
533 - Moved global variable initialization from the declaration line to
init functions.
534 - Certain cases would cause DNS_Extract_Data to not deallocate memory
it had allocated.
536 - Priority macros in TARGET.H were not being used in the code for
creating NET's tasks.
539 - Problem with the return codes returned from NU_Bootp.
541 - Missing SNMP macro in NET_Send. The list that holds incoming
TCP connections would get cleared incorrectly under some
circumstances in checkfin().
548 - ICMP_Echo_Reply would not free the buffer if the received echo request
was broadcast.
553 - TCP FIN packets were not processed in order. They were processed first
cause previously received data to be lost.
554 - The DNS code incorrectly uses the macro NPORTS for parameter 1 when
calling NU_Select.
555 - SNMP Routing macros are not needed and should be removed from TARGET.H.
556 - TCP_Interpret incorrectly computed the option length.
557 - Duplicate report, same as 514
558 - Unused field in the structure 'tqe', tqe_callback(), needs to be removed.
559 - Remove the function IP_Checklen and replace all calls to it with ipcheck.
562 - The global Root_Node should not be declared as a static type.
569 - DHCP incorrectly computed the address to overlay a DHCP structure on.
DHCP's used of NU_Select was incorrect.
572 - IP_Add_Multi had a spot where it would return and leave interrupts locked
out.
608 - The BOOTP retransmit logic incorrectly linked buffers to themselves. Depending
on the driver, this had the possibility of causing deadlock in the driver
code.
613 - DNS_Extract_Data dereferenced a pointer that was not word aligned.
622 - Ping with very large ping would cause buffer to get lost and memory
corruption.
639 - Buffer leak in NU_Close_Socket and NU_Abort. IP_Fragment and IP_Reassembly
would corrupt the free buffer list in some cases. MEM_Chain_Copy
would copy past the end of a buffer, thus corrupting the following
buffer. Index 0 of the internal port list structure would get reused
when it was currently in use. Possibility of indefinitely suspended
in NU_Connect.
NOTE: There is no version between 4.0 and 4.2. This release was labeled
version 4.2 in order to coincide with ATI's internal code storage structure.
The following files were renamed in this release:
UTIL.C renamed to UTL.C
The following files were added in this release:
MII.C MII.H IPRAW.C ISNMP.H
*****************************************************************************
Release 4.2a May 17, 1999
*****************************************************************************
A bug was found in MEM.C. When aligning the NET buffers on the
REQ_ALIGNMENT, if the alignment was anything other than 4 bytes
the buffers would be aligned incorrectly causing a buffer to
overwrite its boundary. This was fixed.
The following files had their #include path for snmp_g.h changed
to the correct location for the new release of SNMP.
ARP.C DEV.C ICMP.C IP.C IPRAW.C NET.C PROTINIT.C
RTAB.C SOCKETS.C TCP.C UDP.C USER.C
*****************************************************************************
Release 4.2b August 4, 1999
*****************************************************************************
This release fixes an alignment problem found on hardware platforms that
require 32-bit aligned memory access. This bug only affected the
NU_Listen service.
The following two files are the only files changed by this release.
SOCKETS.C SOCKETD.H
*****************************************************************************
Release 4.2c August 26, 1999
*****************************************************************************
This release fixes some problems in the DHCP module:
- The creation of some resources were reordered to prevent a possible
task scheduling problem.
- Problems with broadcasting of DHCP requests/responses was corrected.
- A typo when checking the current state of DHCP was corrected.
- The clients address is now included in a DHCP release request.
The only file changed in this release was DHCP.C
*****************************************************************************
Release 4.2m October 26, 1999
*****************************************************************************
This release adds support for Nucleus MMU.
*****************************************************************************
Release 4.2ma December 28, 1999
*****************************************************************************
This release fixes SPR 843:
- Under certain error conditions some functions did not correctly
release the TCP_Resource semaphore, this had the possibility
of causing deadlock in the TCP/IP stack.
The following files were changed in this release:
ARP.C ICMP.C TCP_ERRS.C
*****************************************************************************
Release 4.3 March 13, 2000
*****************************************************************************
Features added in this release:
1) loopback device support
2) NU_Select now handles RAW IP sockets
3) NU_Get_Host_Name service added
4) NU_Delete_Route service added
5) TFTP Client support was made a part of Nucleus NET. It was formerly
a separate product.
6) RIP2 support was made a part of Nucleus NET. It was formerly a separate
product.
SPRs fixed in this release:
489 - The SNMP MIB2 information was not updated when a route was removed.
646 - ICMP Redirect used incorrect data size.
658 - MEM_Buffer_Remove, MEM_Buffer_Inset and rmqueue did not lockout
interrupts.
659 - A tcp buffer can be transmitted more than once, resulting
in the buffer being freed twice.
661 - Possible buffer leak on slow TCP connections. Corrected in generic
NET code, but does require a small change in the driver itself.
662 - During a NU_Close_Socket call the stack may not cleanup
the port properly.
663 - When a TCP connection is in the SCWAIT state the stack
would sometimes send a FIN automatically. This should be
the applications responsibility.
664 - In the function netclose if the state is SSYNS then TCP_Cleanup needs
be called.
665 - Local variable COUNT in NU_Send_To too small to support large
data sizes.
666 - Same problem as above but with NU_Recv_From.
667 - Missnamed macro in NET.C; XMIB_RMON1 should be INCLUDE_MIB_RMON1.
671 - DEV_Detach_IP_From_Device crashes if the device was never
attached in the first place.
672 - Rip2 incorrectly removes routes that are flag as STATIC.
676 - Possible buffer leak in NU_Close_Socket for UDP sockets.
680 - If the bootp server does not provide a subnet mask then the
route to the device is not initialized correctly.
681 - The errors listed in tcp_errs.h and the strings supplied
for output in tcperrs.c are do not match, tcp_errs.h was updated
and the strings were not.
682 - The function NU_Socket_Connected will return NU_NOT_CONNECTED
if a FIN has been received but there is still received data
queued up in the socket.
688 - Errors that occur in the function NET_Ether_Send do not
make it to the application level.
707 - ARP_Interpret contains redundant code.
708 - ARP_Reply incorrectly called RTAB_Find_Route to reply
to a ARP request instead of using the interface that
received the ARP request.
710 - Alignment problem with the socket structure when NU_Listen
is used with an odd number of backlogs.
711 - Adding a default route on little endian hardware
does not work.
717 - A task calling NU_Close_Socket sometimes never returns.
721 - Compiler warnings when building for the 80186 with
version 8.0 of the Microsoft C compiler.
723 - RIP2 has a redefinition of NU_DEBUG error when NU_DEBUG
is turned on in NUCLEUS.H
730 - Compiler warnings with the ARM 2.50 tool set.
759 - Prototype for NU_Tcp_Log_Error was incorrect. DNS_Initialize
has VNET specific code in it.
770 - Compiler warnings with the ARM 2.50 tool set.
775 - Repeat of SPR 681.
776 - Compiler warning with the EPI tool set.
777 - Compiler warning with the Metaware tool set.
782 - Compiler warning with the EPI tool set.
790 - RIP2 does not periodically broadcast the complete routing
table, instead it only broadcasts updates to the routing
table.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -