Windows: afslogon.dll is not a file system interface

Do not return a file system network type that corresponds
to a real file system inter since afslogon is in fact not
associated with a file system interface.  We can't return
WNNC_NET_NONE (0) because that prevents NPLogonNotify()
from being executed.  However, if we return an in use
file system value that can confuse the system when the
actual file system's network provider is also installed.

Change-Id: I845bc633f17f21946ce7de796d66c0bb429005cd
Reviewed-on: http://gerrit.openafs.org/5313
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
This commit is contained in:
Jeffrey Altman 2011-08-26 13:57:15 -04:00 committed by Derrick Brashear
parent 209d59a61b
commit 9052974812

View File

@ -224,8 +224,17 @@ DWORD APIENTRY NPGetCaps(DWORD index)
{
switch (index) {
case WNNC_NET_TYPE:
/* Don't have our own type; use somebody else's. */
return WNNC_NET_OPENAFS;
/*
* The purpose of this response is to let the system
* know which file system the network provider is associated with
* Microsoft issues these values starting from 1 with the exception
* of WNNC_CRED_MANAGER which is 0xFFFF. The provider type is
* stored in the hiword. Pick a value that is unused.
*/
return 0x1FFF0000;
case WNNC_SPEC_VERSION:
return WNNC_SPEC_VERSION51;
case WNNC_START:
/* Say we are already started, even though we might wait after we receive NPLogonNotify */