
If you are using LAN Manager version 2.0 and are upgrading from MS-DOS versionģ.x, you need to obtain the MS-DOS Supplemental disks. The default LANMAN.DOS directory, type the following at the MS-DOS commandĬopy c:\lanman.dos\redir\redir.500 c:\lanman.dos\basic\redir.exe Need to copy REDIR.500 instead of NETWKSTA.500. The above information is true for LAN Manager 2.1 and 2.2 Basic except that you You should not need SETVER for the network if you have NETWKSTA in the SETVER This copies (and renames) the MS-DOS 5 NETWKSTA redirector (which works correctlyįor MS-DOS 6) over the NETWKSTA redirector you are currently using. On one line at the MS-DOS command prompt and then press ENTER:Ĭopy c:\lanman.dos\netwksta\netwksta.500 c:\lanman.dos\netprog ForĮxample, if you are using the default LANMAN.DOS directory, type the following To correct this situation, copy and rename the NETWKSTA.500 redirector. ToĬorrect this error, use the procedure below appropriate to your version of LAN If you use the incorrect redirector, you receiveĪn error message stating that you are using an incorrect version of MS-DOS. Microsoft LAN Manager version 2.1 or 2.2, you must copy the correct redirector
#LANMAN REDIRECTOR UPGRADE#
If you upgrade to MS-DOS 6.0 or later from MS-DOS version 3.x and you are using

Microsoft Network Client for MS-DOS version 3.0 Microsoft MS-DOS operating system versions 6.0, 6.2, 6.21, 6.22 The information in this article applies to:
#LANMAN REDIRECTOR WINDOWS#
+ eryksun, paul.moore, tim.golden, zach.ware, steve.Product(s): Windows for Workgroups and Windows NT Networking Issues If we omit the explicit redirector name, then MUP tries prefix resolution, and the error is instead ERROR_BAD_NET_NAME (67): > try: os.stat('// LanmanRedirector/localhos/C$') When we misspell the server name as "localhos", we see that the error for an explicit redirector path, as is used in a mapped drive, is ERROR_BAD_NETPATH (53): ERROR_BAD_PATHNAME, 161) if the redirector name is unknown: The following shows that MUP fails an open with STATUS_OBJECT_PATH_INVALID (i.e. > try: os.stat('// WebDavRedirector/localhost/C$') This open fails because there's no WebDAV server on localhost. The following shows that an explicit redirector path does not use prefix resolution. > os.path.samefile('//localhost/C$', '// LanmanRedirector/localhost/C$') The following shows that MUP parses " LanmanRedirector" as the redirector name, not the "server" component.

they are not included in the final path.) Nothing stops us from using this undocumented feature manually in a UNC path, as demonstrated by the examples below. These reserved components are removed from the parsed path, i.e. It also supports an optional second reserved component, with the drive name and logon session ID, such as " Z:0000000000001234". (A valid server name cannot begin with a semicolon, so this syntax is reserved by MUP. "\Device\LanmanRedirector" -> "\Device\Mup\ LanmanRedirector". The provider's device name nowadays is an object SymbolicLink that targets MUP, but with a reserved component that indicates the redirector to use, e.g. It has a sneaky way of implementing this. Since Vista, all redirected create/open requests are routed through MUP, but it doesn't use prefix resolution in this case. Prior to Vista, this used to be a top-level named device such as "\Device\LanmanRedirector" (SMB). A mapped drive sends the request directly to the provider that created the drive.

That said, MUP prefix resolution isn't used for mapped drives. As far as I can tell, post-Vista MUP prefix resolution returns STATUS_BAD_NETWORK_NAME even if all providers return STATUS_BAD_NETWORK_PATH. However, since the request is to MUP, the final status is whatever MUP returns. If the "share" component isn't found, it returns STATUS_BAD_NETWORK_NAME. Typically, if the "server" component isn't found, a provider returns STATUS_BAD_NETWORK_PATH.

Typically a provider claims the server/share prefix, but the claimed prefix can be just the server, or a variable path length. "Microsoft Windows Network" for SMB) by checking all providers in a registered order until one claims to handle the path. "\?\UNC" -> "\Device\Mup") resolves a UNC path prefix to a network provider (e.g. It would succeed if we changed _getfinalpathname to fall back on getting the final name as opened, which skips expanding short component names.)
#LANMAN REDIRECTOR CODE#
A WebDAV share fails the internal request to get a normalized name, as expected for most network providers, but with an unexpected error code that's not handled by the API. (Not that this case would normally succeed. Whereas if I access the underlying UNC path directly the error in this case is ERROR_BAD_NET_NAME (67): For example, I have drive "M:" mapped to WebDAV "///tools", and I see this error if I disconnect the network: Sorry, I mistakenly left out ERROR_BAD_NETPATH (53). Eryksun, iamsav, miss-islington, paul.moore, steve.dower, tim.golden, zach.ware
