OBSOLETE Patch-ID# 110179-09
Keywords: PC Netlink
Synopsis: Obsoleted by: 110179-10 PC Netlink 1.2 bug fixes
Date: Feb/19/2002

Install Requirements: See Special Install Instructions                      
                      
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: 4311513 4317724 4334975 4336622 4340358 4344004 4356718 4360584 4360963 4363424 4364383 4365016 4365814 4369953 4372352 4372362 4373578 4376090 4376719 4379181 4384158 4384901 4390801 4391148 4392133 4392263 4395436 4395930 4397013 4401046 4402981 4415591 4418347 4419446 4421687 4422555 4423840 4425039 4427168 4433079 4435066 4439032 4444229 4450839 4453122 4453930 4457143 4458957 4458963 4461714 4466383 4468160 4472939 4477142 4478032 4483132 4484305 4516249 4516250 4523476 4523708 4546301 4636050

Changes incorporated in this version: 4392133	4402981	4421687	4427168
	4450839	4468160	4477142	4478032
	4484305	4516249	4516250	4523476
	4523708	4546301	4636050

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: 

/opt/lanman/bin/net
/opt/lanman/lib/libasulang.so.1
/opt/lanman/lib/libasusec.so.1
/opt/lanman/lib/liblmx.so.1
/opt/lanman/lib/libmsrpc.so.1
/opt/lanman/lib/librpcapi.so.1
/opt/lanman/lib/libsam.so.1
/opt/lanman/lib/libtask.so.1
/opt/lanman/lib/lmx.ctrl
/opt/lanman/lib/lmx.srv
/opt/lanman/lib/service/lmx.browser
/opt/lanman/lib/service/lmx.wins
/opt/lanman/msgfiles/locale/en/net.hlp
/opt/lanman/sbin/acladm
/opt/lanman/sbin/rmacl
/opt/lanman/sbin/sam2passwd

Problem Description:

This patch contains several critical fixes, including fixes for
    an acl database corruption problem which was introduced in patch
    110179-04, and file search problems found with patch 110179-05.
    See the file "PatchProblems" if you are running either of those.
 
    This patch also helps solve some performance issues.  See the file
    "Performance" for notes on how to improve server performance.
 
 
########## New in this patch ##########
 
4392133 The "blobadm" command core dumps when used with the -K option
 
	The command when used with -K option results in a 
	segmentation fault after displaying the list of the
	virtual key numbers in use for the specified blobfile.
 
4402981 The command blobadm when run as non root dumps core.
 
	The execution of blobadm command with valid options results
	in unexpected output when the unix user is not root.
 
4421687 PCNL v1.2 leaves zombie processes...
 
	The lmx.ctrl process sometimes fails to cleanup a
	"zombie" process left by an exiting lmx.srv process.
 
4427168 PCNL v1.2/filesystem behavior different to genuine NT
 
	An incorrect error code was returned when an NT client
	attempted to create a file in a non-existent directory.
 
4450839 Adding users from PCNL command line fails with W2K
 
	When a "net user /add" command on a PC NetLink BDC
	needs to contact a Win2K PDC, the command failed
	with the error "Password can not be used now".
 
4468160 OS/2 application crashes...
 
	Some 64-bit file offsets were incorrectly converted to
	32-bit values in request used by OS/2 clients.
 
4477142 OS2 client problem with t2find
 
	Some t2find information levels used by OS/2 clients
	were handled incorrectly.
 
4478032 Long filename drag and drop onto MS Word fails
 
	Opening a file in MS Word using drag-and-drop failed
	because the shortname of a file with a given long name
	would change when the real (long name) file is replaced.
	Short names are now consistent for a given long name.
 
4484305 File properties changing to DEC,31,1969 when shared
 
	When a Win2K client copies a file using "cut" in the
	file browser, the file timestamp is destroyed.
 
4516249 lmx.srv core dump during file enumeration
 
	An lmx.srv process may dump core during enumeration of
	open files (i.e. via "net file" or NT srvmgr) if a
	Windows client with open files sends SMBulogoff.
 
4516250 lmx.srv core dump during oplock release
 
	An lmx.srv process may dump core if it creates more than
	55 tasks and a task after the 55th calls "wakeup_oplock".
 
4523476 net file ID /close -- core dump
 
	An lmx.srv process may dump core after the command
	"net file ID /close" (or equivalent via NT srvmgr)
	if there are several lmx.srv processes.
 
4523708 incorrect open file count
 
	An incorrect "open files" count may be shown by the
	command "net sessions" (or equivalent in NT srvmgr)
	if a Windows client with open files sends SMBulogoff.
 
4546301 patch 110179-08 breaks the secure channel
 
	The fix for 4423840 introduced an incompatibility with
	domain controllers running earler versions of PC NetLink.
	(Operation with	NT domain controllers was unaffected).
 
4636050 OS/2 client directory listings are incorrect
 
	Patch 110179-08 caused a regression for OS/2 clients,
	which expect different file name matching semantics
	for directory search wildcards.  This patch restores
	the old OS/2-compatible semantics for OS/2 clients.
 
########## Carried forward from 110179-08 ##########
 
4458957  Core dump while browsing share from OS/2 client
 
    Lmx.srv processes sometimes die when working with OS/2 extended
    attributes (EAs).
 
4458963  OS/2 client gets truncated directory listing
 
    OS/2 clients doing directory listings either by command line or
    Explorer get partial listings of files in those directories.
 
4472939 RPC Load and Stress Tests fails
 
    Internal load and stress tests  caused PCNL to become compute
    bound, but not hung, thus starving clients for service and
    degrading performance dramatically.  The problem is related to the
    coordination of communication channels between tasks and processes
    in the product.  Never recreated outside of the Sun QA lab.
 
4423840  migrated nt4-users cannot access pcnetlink-share
 
    Migrating users from a PCNL domain (NT4 level), to
    a Win 2k domain, caused users to develop a SID history
    which was not being processed correctly by PCNL.  Without
    the SID history, users did not have their 'old' SID, and
    were denied access to resources on PCNL.
 
4444229 cannot open files with german umlauts with autocad
 
    It was not possible to open an existing file or create a new file
    in autocad if the filename contained lower-case u with umlaut or
    sharp s.  The filename was being changed by the application.
    It appears this was due to the bits for mixed case name support
    and mixed case search not being set in the response to a query for
    file system info.
 
    Note that this error occurred only with the autocad application
    running in German on a client.
 
4418347 cannot admin users on trustet-domain from pcnl-domain
 
    Under certain circumstances attempts to add a user or change a user's
    password over a trust would fail with "the network password is incorrect."
    This has been fixed.
 
4415591 command dir *. shows incorrect output
 
    In a command-line window on NT, the command "dir *." now shows dirs and
    files which have no extension, which is the NT behavior. Previously it
    was the same as "dir *"
 
4483132 netmon cannot find *.cap in both 1.2 and 2.0
 
    The fix for 4415591 above broke other wildcard matching. This has
    been corrected.
 
########## Carried forward from 110179-07 ##########
 
4461714 W2k Clients mapping non-existent shares cause performance problem
 
    W2k Clients may erroneously try to remap a non-existent share
    forever.  If a W2k client has a share mapped, and that share is
    deleted while the client has it mapped, attempts by the client
    to access the share will cause the client to relentlessly try
    to create a new session to that share as fast as possible,
    eventually overwhelming the lmx.srv process with new sessions
    because old ones are never deleted by the client.
 
    With this patch, sessions are limited to 100 per client with
    a new Registry parameter: AdvancedServer/Parameters/MaxUIDsPerVC.
    MaxUIDsPerVC defaults to 100.  There is not normally a registry
    entry for this parameter, and if the user wishes to adjust this
    value, he must create the registry parameter.  The minimum value
    for MaxUIDsPerVC is 2, the maximum is 32,768 and the default
    is 100.
 
    CurrentControlSet\Services\AdvancedServer\Parameters\MaxUIDsPerVC
 
4466383 PCNL doesn't delay 3 secs when returning certain failure responses
 
    There are certain kinds of failures which cause clients to repeatedly
    send the same failing request to the PCNL server.  With a large client
    population, the volume of failing requests can waste a great deal of
    server time, causing performance degradation.  This fix inserts a
    3 second delay before returning certain failing responses:
    STATUS_LOGON_FAILURE, STATUS_ACCOUNT_LOCKOUT or STATUS_ACCOUNT_DISABLED.
    The delay throttles the level of failing activity any client may
    impose on the server.
 
 
########## Carried forward from 110179-06 ##########
 
NOTE: The following bug requires no code change, but there is an
      *** ADMINISTRATIVE PROCEDURE REQUIRED *** to correct it.
      Running samcheck -r will fix the builtin groups. Any accounts
      created before patch 110179-01 was applied which contain 8-bit
      chars will need to be recreated manually.
 
4439032 administrative access to groups with 8-bit chars not possible
 
    This problem occurred in 1.2 when a fix for 4360963 (case mapping of
    8-bit chars) was applied with patch 1. If PCNL is installed on top of
    German Solaris, the builtin group names are spelled in German. Fixing
    the case mapping broke the names as previously spelled. The fix is to
    run samcheck -r which re-creates the "well-known" accounts.
 
4448969 $IPC acl corruption prevents logins
 
    This error was introduced in patch 110179-04.
 
    The error was that when the ACL DB index hash tables were rebuilt,
    (normally when the ACL DB size increases), the index pointing to some
    entries was lost. The entries are still present in the database, but
    become inaccessible to lookup. Because the data for the acl is still
    present, acladm -C can repair it.
 
    When the $IPC acl became invisible, the result was that logins got an
    error. This was the most visible but not the only possible consequence
    of various acls disappearing. It is not possible to describe all potential
    consequences but in general the symptom would be access denied errors.
 
    This corruption is limited to the acl database does NOT effect any other
    databases such as Sam or Registry.
 
    The bug which caused this is fixed in this patch (110179-06).
 
4453122 p3/s4 PCNetlink 1.2: ACl corrupted
 
    This is a duplicate of 4448969 above.
 
4425039 t2find with specific filename returns invalid shortname
 
    Patch 110179-05 introduced an error in generating the shortname
    when there is a single file lookup using t2find. Wild card and
    full dir listings were still correct but when a specific file
    name was provided the shortname was garbage.
 
4433079 on win98, dir command will fail to find a file without extension
 
    Filenames with no extension were not found by "dir file"
    in the dos box on win98.
 
4453930 long filenames displayed as short names in MS project
 
    In MS Project running on win9x, long filenames would be displayed as
    short (compressed) names. The compressed names still worked. In a
    dos box on win9x, "dir longfilename.txt" returned the name in upper
    case when the real filename was lowercase or mixed case. This has 
    been corrected.
 
4401046 lmx.srv process dies unexpectedly without core
 
    This can occur when an enumeration of printers is done and one
    of the registry entries for the printers is not complete.
    The printer enumeration could be a background operation based
    on the state of a Windows client Explorer.
 
4419446 name mapping problems with certain 16-bit application
 
    The information associated with a shortname was not returned correctly
    for an SMB used by some older applications, resulting in an application
    error. This has been corrected.
 
4334975 Member Server can't authenticate with LMCompatibilityLevel=4
 
    When LMCompatibilityLevel=4, PCNL is required to use NT style
    password and never old-style Lan Manager password.  PCNL did
    not align the bytes  of the NT style password in an out-going
    session packet and could not connect to an NT server at
    LMCompatibilityLevel=4.  Therefor, a PCNL member server could
    not connect to an NT PDC for authentication.
 
4422555 NetUserInfo32() with level 21 will core
 
    The NetUserInfo32() internal service routine will core if the
    info level is 21.  This only affects customers who write
    programs based on PCNL service libraries.
 
 
4435066 Client-based "net admin" command hangs with RPC timeout error
 
    The IBM utility programs which run on WinNT and IBM OS/2 hang
    when a "net admin <command>" is directed to an PCNL server.
    The error reported is RPC timeout.
 
4457143 Folder creation on Automounted share fails
 
    When using NFS mounted shares (usually home directories), with
    restricted UNIX permissions, such as 700, then directory and
    file create operations would report errors, but would, in fact,
    get created.  However, file delete operations would report "file
    not found" errors, and the file or directory would not be deleted.
 
########## Carried forward from 110179-05 ##########
 
4395930  Netlink 1.2 very slow on writes
 
    The reported problem was that file writes (client to server) were
    5x slower than reads. The problem was that when the client uses
    the "WriteRaw" SMB (as Win9x clients typically do), the PC NetLink
    server would delay sending a TCP ACK packet to acknowedge the last
    packet of the write request.  With most requests, the ACK would be
    transmitted with the SMB response, but the WriteRaw request has no
    response, so the ACK would be transmitted only after the TCP stack
    "ACK delay" timeout expires.  That is normal and OK except that the
    client waits for that ACK to arrive before sending its next request!
    Our fix was to have the PC NetLink server transmit a small NetBIOS
    message (a "keep alive") after receiving a "WriteRaw" so that the
    TCP ACK will be transmitted immediately.
 
    Note: The fix for BugId 4395930 requires BOTH of these patches:
	110178-03  (the NetBIOS patch) or a later revision, and
	110179-05  (the PCNL server patch) or a later revision.
 
########## Carried forward from 110179-04 ##########
 
4365016  browser may fail to start in backup role
 
   The lmx.browser would inappropriately exit when it lost a browser
   election under certain conditions.
 
 
4360584  DeadLock between lmx.browser, lmx.ctrl ...
 
   During certain browser load conditions with WINS configured,
   the browser will hang while communicating with lmx.ctrl.  The
   result was no browsing and too many lmx.srv processes.
 
 
4397013 PCNL WINS server uses physical node IP in cluster
 
   PCNL wins services used the physical node IP address in it's WINS
   database instead of the cluster logical IP. Using the MS Wins
   manager application showed only physical node IPs instead of the
   cluster logical IP.
 
	CRITICAL NOTE:
	---------------------------------------------------
	| On clustered systems, this fix requires NETBIOS |
	| patch 110178-02.                                | 
	---------------------------------------------------
 
 
4391148 PCNL 1.2 hangs in Japanese local on Sol 2.6
 
    Solaris 2.6 eucJP conversion gives errors when patch 106131-01 is
    applied.  These errors triggered a bug in PCNL ja local.  The PCNL
    error is fixed, but the customer is required to install 106131-02
    for the ja locale.
 
4395436 Read from share fails from MSDOS boot floppy
 
    SMB protocol levels which use the 'core smb' open routine would see
    a returned file size of zero.  The user-visible results would vary,
    because not all programs cared about the file size returned from
    the open call.  The simplest example is that a LANMAN boot floppy
    could copy files from a PCNL share, but could not 'type' the file
    from the MSDOS command line.  Also, the 'GHOST (c)' disk imaging
    product would fail.
 
4392263 acladm -U (on a member server) removes ACE 's of known users
 
	To be supplied.
 
4390801 LEXMARK printer driver loader fails 
 
    LEXMARK provides a client-side utility program which downloads
    collection of printer driver modules to the PCNL server.  This
    utility program provides the convenience of downloading perhaps
    hundreds of printer drivers all at once.
 
    This utility program would fail with a spooler related error and
    fail to load any driver modules.
 
4336622 net user command does not support /domain switch.
 
    Previously, the "net user" command did not support the /DOMAIN
    switch.  Support for the /DOMAIN switch has been added.
 
         Ex:
         net user /domain:Adomain
 
    now provides the proper response.
 
4344004 net user /USERNAME option does not work
 
    This is an additional option for managing user names.  This option
    allows the administrator to rename an existing user without
    deleting the user then recreating the user under the new user
    name.
 
 
         Ex:
             net user don /username:donna
 
    now provides the proper response.
 
4379181 Poor acl blob performance under write
 
    This fix contains Acl blob performance enhancements to make
    modifying the ACL blob faster for a single process.  These avoid
    large copies or writes.
 
4317724 Logon fails when RestrictAnonymous is enabled
 
    Under certain conditions with restrictions on password policies,
    users were unable to logon to change their passwords when the
    password had expired.
 
4376719 PCNL does not record logoff events
 
    PCNL did not properly record logoff events and did not provide
    meaningful information in the logoff event.  The admin could not
    identify who was logging off.
 
4369953 Enumeration of shares shows phantom users        
 
    Using the "net share <sharename>" command would list users who were
    not using that share.
 
4372352 Need a way to delete file acls
 
    A new option to acladm has been provided which will delete ACLs on
    all ordinary files. The option comes in 2 variants to accommodate
    sites which need explicit ACLs where the owner is different from
    the owner of the parent dir.
 
acladm -X
    will delete all ACLs on ordinary files except where the owner is
    different from the owner of the parent.
 
acladm -XX
    will delete ALL ACLs on ordinary files.  In both cases ACLs on
    directories and non-file objects (i.e shares) are preserved.
 
    For better understanding of the use of this option, see the
    Technical Note on ForceFileAcl, below.
 
 
4372362 Need an option to prevent creation of file acls
 
    Due to the problems caused by large acl databases, there should be
    a way to prevent the creation of acls on files for those customers
    willing to accept the limits of inherited acls.
 
    Currently there is a registry parameter ForceFileAcl which can be
    used to force creation of a real acl on every file. When this is
    off (the default), there are some cases where file acls are not
    created. There should be new values for this parameter which will
    cause NO file acls to be created.
 
    This Technical Notes on the ForceFileACL registry parameter, below.
 
 
########## Carried forward from 110179-03 ##########
 
4384158 P2/S3 Unable to create files with patch 110179-02 - Users are mapped
4384901 P2/S3 Renaming a folder does copy instead of move with patch 110179-02
 
    Both of these bugs were inadvertent consequences of a previous change.
    The mapping of the DOS Read-Only attribute was changed from unix
    permissions of 555 to 755, on directories only. NT ignores the
    read-only attribute on directories but PCNL was enforcing it, which
    caused both of these bugs. Owners now have the right to create and
    delete files in their home directories if they have unix perms 755.
    Note that the read-only attribute on files is still unix perms 444,
    and is enforced.
 
4340358 P4/S3 cascade: changes group on unix files
 
    PCNL represents the DOS attributes Archive, System, and Hidden in
    group id's of the general form DOS----. We have found that NT clients
    routinely reset these attributes in many cases where it would not
    appear to be necessary, for example, when a text file is modified.
    This fix checks to see that a change is really being made when the
    attributes are set, and does not apply the DOS group unless one of
    the attributes stored that way is really changing. Unix groups should
    now be preserved in these cases, unless a real attribute change is made.
 
 
###### Carried forward from 110179-02 ######
 
4373578 Installation of patch 110179-01 appears to break cascade 1.2
 
    The fix for 4364383 in 110179-01 (consuming all of a cpu) introduced
    an error which can cause lmx.srv to coredump. When lmx.srv processes
    keep dying it can cause a variety of other error conditions.
 
    Any customer who took the first patch for the cpu consumption fix
    should install this patch. However, the error in question depends
    on timing and may or may not be causing a problem if you have patch
    110179-01.
 
4376090 lmx.srv core dump running stress tests
 
    While testing the fix for 4364383 another bug was encountered
    which is also fixed in this patch.
 
###### Carried forward from 110179-01 ######
 
4364383 lmx.srv consumes all available CPU cycles
 
    It was possible for an lmx.srv process to go into a tight loop,
    consuming all of 1 cpu. See the bug report for a representative
    pstack indicating the presence of this problem. This bug is
    specific to 1.2.
 
4311513 unable to copy from read-only filesystem to pcnl share if quotas
        enabled
 
    This bug was fixed in 1.1 but the fix did not make it into 1.2 before
    code freeze.
 
    When the registry parameter UnixQuotas is set to 1 to enable enforcement
    of unix file system quotes on pcnl clients, attempts to copy a read-
    only folder resulted in an empty folder. NT preserves the read-only
    attribute on copy, unlike unix. The contents of the folder will now
    be created and all will be read-only if the source of the copy was.
 
4356718 unable to access long file name from DOS prompt if
        UniqueSuffixLength=0
 
    Setting UniqueSuffixLength=0 is a new option in 1.2 which results in
    all DOS short names having the form prefix~1.ext, but files with an
    extension were not visible.
 
4360963 filenames with umlauts are not visible with mixed locale categories
 
    Filenames with umlauts worked only if the "LC_ALL" variable was set,
    which is not the default case for 8-bit English, among others. The
    locale is now handled properly in these cases. This bug is specific
    to 1.2.
 
4363424 File locking owned by incorrect user
 
    The case of multiple user contexts on a single session was not
    always tracked correctly. This made it seem that there were several
    users with the same file open, and could result in the real user
    being locked out. This was seen with clients coming in to PCNL via
    Citrix MetaFrame, but could occur in other cases if there are
    multiple users on a single connection to PCNL.
 
4365814 sam2passwd should be extended to support domain extractions
 
    An option was added to sam2passwd to accept a domainname. This allows
    it to collect domain accounts when running on a member server. See
    the revised man page included in this patch for details.

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:  Thursday, July 11, 2002

