Patch-ID# 110178-05
Keywords: PC Netlink
Synopsis: PC Netlink Netbios fixes
Date: Feb/19/2002

Solaris Release: 2.6 7 8

SunOS Release: 5.6 5.7 5.8

Unbundled Product: PC Netlink

Unbundled Release: 1.2

Xref: 

Topic: 

Relevant Architectures: sparc
NOTE: sun4u

BugId's fixed with this patch: 4277106 4319954 4354457 4356232 4370245 4374753 4376782 4387763 4390101 4395930 4396310 4397013 4397657 4410072 4413478 4453149 4464191 4493076 4613810

Changes incorporated in this version: 4277106 4319954	4396310 4397013
	4453149	4493076	4613810

Patches accumulated and obsoleted by this patch: 

Patches which conflict with this patch: 

Patches required with this patch: 

Obsoleted by: 

Files included with this patch: 

kernel/drv/nbx
kernel/drv/sparcv9/nbx
opt/SUNWlznb/sbin/get_aliases
opt/SUNWlznb/sbin/nbdaemon
opt/SUNWlznb/sbin/nbnsName.add

Problem Description:

############## New in this patch ##################
 
4277106 resources not available after TRUST without wins
 
	The script nbnsName.add was not adding the group
	name (type 0x1C) for a domain name.
 
4319954 Net Perms hangs in t_connect
 
	There was a hang when the remote end disconnects
	immediately before the local end is closed.
 
4396310 Net user commands hang in t_connect
 
	When a large number of connection indications arrive
	simultaneously in the NetBIOS driver, it sometimes
	failed to correctly reject those it could not handle.
 
4397013 WINS uses phys IP instead of cluster IP addr
 
	The script get_aliases did not correctly handle
	network interface names like "hme0:1".
 
4453149 NetBIOS panic during NET PERMS operations
 
	There was a race condition in the connection tear-down code
	when both the remote and local ends closed simultaneously.
 
4493076	NT / Win2K client writes take 3X longer than reads.
 
	The NetBIOS driver was incorrectly reporting its
	maximum segment size to be 32K (now 128K).
 
4613810 System panic caused by nbx module
	There was a race condition in the routine that handles
	timeout of name deregistration that could lead to a
	null pointer dereference.
 
############## Carried forward from 110179-04 ##################
 
4410072 Node status response with many names panics NETBIOS
 
    If the PCNL machine makes a node status query (which is used in
    certain name resolution situations), and that query response is
    more than about 500 bytes in length, then netbios will panic.  It
    is extremely unusual to see that many names registered on a single
    machine.   It is possible to have such a large number of registered
    names on the soon to be released PCNL version 2.0.
 
4413478 NETBIOS problem with WINS load and stress tests
 
    The WINS load and stress tests are unusual for a file server
    product in that they make lots of out-bound tcp connections.  PCNL
    was seeing occasional 'hangs' in out-bound tcp connections through
    netbios.
 
4464191 Panic in NETBIOS keep-alive service
 
    There is a rare condition where an lmx.srv process may send a
    netbios keep-alive message downstream during a long data transfer,
    and that messages is queued but not serviced, and then at the same
    time the client aborts that session.  When the keep-alive message
    is processed, it's session to the client has been disconnected, and
    a panic would occur.
 
############## Carried forward from 110179-03 ##################
 
4395930  Netlink 1.2 very slow on writes
 
    This Patch contains the netbios part of the fix for Bugid 4395930,
    the rest of which is implemented in Patch T110179-05.
    This patch is otherwise the same as patch 110178-02.
 
    This version of the netbios provides an external interface to cause
    a netbios keepalive packet to be sent. This allows the server to 
    call into netbios to send this keepalive, which will as a side effect
    force out any pending acks, which is the real purpose.
 
    This netbios will operate correctly with or without tpatch T110179-05,
    as the only change is the addition of the the new call which is unused
    prior to T110179-05.
 
 
############## Carried forward from 110178-02 ##################
 
4397657 Problem with browser service if P-Mode enabled in NT DCS
 
	Set up all NT Domain Controllers in P-Mode. Installed PCNL
	as backup in this domain. More specifically tested with 2.0_b36.
	On starting the PCNL server it lists the BROWSER service as up,
	but the commands net view, net stop browser will fail. PCNL is
	configured in H-Mode
 
4390101 There are "cmd" structs left after stopping Netbios
 
	After stopping Netbios, nbmem shows allocated "cmd" and "ctrl" structs.
	The "ctrl" structs are attached to the "cmd" structs.  All have the 
	same flag values.  So it appears that there is a bug which doesn't 
	free these structures.
 
4356232 Netbios does not work with P mode systems
 
	Windows systems may be configured for P mode (point to point)
	by setting the NetBT Registry parameter "NodeType" to 2.  But
	then they will not work with PCNL.  The cause is a name query
	sent to the Windows system by the PCNL Netbios which has the
	broadcast bit set.  The query is correctly ignored by the P
	mode system.  But because the PCNL system gets no response,
	it does not connect.
 
4387763 Improper memory access after "cmd" structure deleted.
 
	An internal memory access to previously allocated memory
	could cause panic in extremely rare circumstances.
 
############## Carried forward from 110178-01 ##################
 
4354457 Node status query does not work properly
 
        NT systems configured to use DNS issue a Netbios "node adapter
        status query" to query the set of Netbios names registered on
        a particular server.  The host name specified in this query is
        "*" which was not properly handled in previous versions of
        PCNL.  Therefore, NT systems configured to use DNS could not
        always find services which were available on a PCNL system.
        This problem has been fixed in this patch.
 
4370245 Restarting browser at PDC breaks the browser functionality if PCNL is BDC
 
        If a PDC is stopped and restarted, a PCNL 1.2 system on the same
        subnet may become the Master Browser.  After the PDC restarts,
        it forces and election and tries to become the Master Browser.
        However, the PCNL 1.2 system will not relinquish the Master
        Browser Netbios name (type 0x1D) and the PDC can not become
        the Master Browser.  Without a Master Browser on the subnet,
        the Browser functionality no longer works.
 
        This bug was introduced in PCNL 1.2.  The bug prevented a name
        which was deleted (or deregistered) from being freed from the
        name table.  The code which frees names has been fixed in this
        patch.
 
4374753 Hang in 64-bit Netbios driver causes "Error 53"
 
        On certain hardware configurations running 64-bit kernels, the
        Netbios driver occasionally hangs which causes PCNL to stop
        responding to incoming connection requests.  The symptom is an
        "Error 53 has occurred" when running a "net" command such as
        "net share".
 
        This was a timing problem.  The response to one particular
        priority request was handled by the service routine, which
        is scheduled to run some time after the original request.
        Therefore, it did not always respond within the required time
        interval.  This response has been moved out of the service
        routine, so that the response to this priority request is
        immediate.
 
4376782 Netbios may panic the system when a session is closed.
 
        When a session is closed, the session structure may be freed
        prior to checking a flag in the session structure.  This
        access to freed memory may cause a system panic.

Patch Installation Instructions:
-------------------------------- 
Refer to the Install.info file for instructions on using the
generic 'installpatch' and 'backoutpatch' scripts provided with
each patch.  Any other special or non-generic installation
instructions should be described below as special instructions.

Special Install Instructions:
----------------------------- 
 
NOTE: This patch must be installed using the version of installpatch that 
shipped w/ this patch.  It should not be installed via the patchadd utility. 
Also, the system that this patch is applied to should be rebooted after patch 
installation. This will ensure proper functioning of the applied patch binaries.

README -- Last modified date:  Tuesday, February 19, 2002

