Minifilter for network file systems

Hi all,

I’m developing a minifilter driver which should filter network file systems.
It works graet on Lanman and Rdpdr, but the InstanceSetupCallback is not
called
for Citrix CdmRedirector. Anything special with this redirector? Is this not
supported
by FilterManager? If so, how could one write a virus scanner as minifilter?
If it is supported,
has anyone an idea why the minifilters InstanceSetupCallback is not called
for this device?

Thank you,

Bernd

I suspect (someone from Citrix familiar with the product should be able
to confirm this) that they just don’t register as a file system. Such a
file system is not going to be detected using the standard techniques;
assuming mini-filter is using only these mechanisms then of course your
mini-filter will only filter those file systems. Another example here
is the exchange file system, which is also not filtered by the
mini-filter (nor by most legacy file system filters - you have to
explicitly look for it and attach by name).

That’s a limitation of the mini-filter model. If you wish to filter
file systems that mini-filter doesn’t filter, you can’t use a
mini-filter because you don’t fit in the model. That is true of ALL the
mini-driver models in Windows, so this should not come as a surprise.

Regards,

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Bernd
Sent: Thursday, June 02, 2005 8:04 AM
To: ntfsd redirect
Subject: [ntfsd] Minifilter for network file systems

Hi all,

I’m developing a minifilter driver which should filter network file
systems.
It works graet on Lanman and Rdpdr, but the InstanceSetupCallback is not

called
for Citrix CdmRedirector. Anything special with this redirector? Is this
not
supported
by FilterManager? If so, how could one write a virus scanner as
minifilter?
If it is supported,
has anyone an idea why the minifilters InstanceSetupCallback is not
called
for this device?

Thank you,

Bernd


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@osr.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

I am guessing that Tony is correct; this redirector is not registering
as a file system which is why filter manager does not attach to it.

NetWare is another redirector that does not register as a file system.
I modified the filter manager to support it by looking explicitly for it
by name. If someone will provide the name of this redirectors control
device object I will add it to filter managers list of names to poll
for.

I have thought about defining a registry key which would allow you to
define file system (local or remote) that filter manager would look for
by name which are not properly registering themselves with the system.

Neal Christiansen
Microsoft File System Filter Group Lead
This posting is provided “AS IS” with no warranties, and confers no
Rights

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Tony Mason
Sent: Thursday, June 02, 2005 5:28 AM
To: Windows File Systems Devs Interest List
Subject: RE: [ntfsd] Minifilter for network file systems

I suspect (someone from Citrix familiar with the product should be able
to confirm this) that they just don’t register as a file system. Such a
file system is not going to be detected using the standard techniques;
assuming mini-filter is using only these mechanisms then of course your
mini-filter will only filter those file systems. Another example here
is the exchange file system, which is also not filtered by the
mini-filter (nor by most legacy file system filters - you have to
explicitly look for it and attach by name).

That’s a limitation of the mini-filter model. If you wish to filter
file systems that mini-filter doesn’t filter, you can’t use a
mini-filter because you don’t fit in the model. That is true of ALL the
mini-driver models in Windows, so this should not come as a surprise.

Regards,

Tony

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Bernd
Sent: Thursday, June 02, 2005 8:04 AM
To: ntfsd redirect
Subject: [ntfsd] Minifilter for network file systems

Hi all,

I’m developing a minifilter driver which should filter network file
systems.
It works graet on Lanman and Rdpdr, but the InstanceSetupCallback is not

called
for Citrix CdmRedirector. Anything special with this redirector? Is this
not
supported
by FilterManager? If so, how could one write a virus scanner as
minifilter?
If it is supported,
has anyone an idea why the minifilters InstanceSetupCallback is not
called
for this device?

Thank you,

Bernd


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@osr.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com

> I have thought about defining a registry key which would allow you to

define file system (local or remote) that filter manager would look for
by name which are not properly registering themselves with the system.

Maybe it would be a better idea to say “Well, from now,
every network redirector must register as file system”.

IMHO the rules in the FS world are too vague anyway,
and making much problems. The less “ifs”, “mays”
and “must-nots” rules will exist, the less problems with
writing FSD filters will filter writers have.

L.

Ladislav,

I appreciate the feedback and tend to agree with you.

Sometimes it is hard to get some of these old file systems fixed. I
have been talking to Novell for 2 years about fixing their redirector to
properly register as a file system and to support stream contexts. As a
former Novell employee who personally knows some of these people I
thought I had a chance. They have been incredibly unresponsive.

Neal Christiansen
Microsoft File System Filter Group Lead
This posting is provided “AS IS” with no warranties, and confers no
Rights

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Ladislav Zezula
Sent: Tuesday, June 14, 2005 1:24 AM
To: Windows File Systems Devs Interest List
Subject: Re: [ntfsd] Minifilter for network file systems

I have thought about defining a registry key which would allow you to
define file system (local or remote) that filter manager would look
for
by name which are not properly registering themselves with the system.

Maybe it would be a better idea to say “Well, from now,
every network redirector must register as file system”.

IMHO the rules in the FS world are too vague anyway,
and making much problems. The less “ifs”, “mays”
and “must-nots” rules will exist, the less problems with
writing FSD filters will filter writers have.

L.


Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17

You are currently subscribed to ntfsd as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Neal,

I have done the following (for testing purposes):

RtlInitUnicodeString( &nameString, L"\Device\CDMRedirector" );
status = IoGetDeviceObjectPointer(&nameString, FILE_READ_ATTRIBUTES,
&fileObject, &IcaDeviceObject);
if(NT_SUCCESS(status))
{
DbgPrint(“Try to register filesystem CDMRedirector\n”);
IoRegisterFileSystem(IcaDeviceObject);
ObDereferenceObject(fileObject);
}

Well, this makes the filter manager aware of the redirector and everything
seems to
work fine. However I’m not sure if this has effects I’m not aware of. Is it
(technically)
OK to register a device object as a file system which does not belong to my
driver? How
about calling IoRegisterFileSystem more than once with the same device
object?
When to unregister?
In other words: Should one do this or should one wait for either an updated
filter manager
or an updated filesystem driver?
Maybe Citrix or Novell have reasons (that I’m not aware of) to not register
as filesystem?

Regards,

Bernd

IoRegisterFileSystem for a redirector has the only effect of sending the FS
registration change notification to FS filters. The FS filters will be able to
attach to your module.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----
From: “Bernd” <bernd.windolph>
Newsgroups: ntfsd
To: “Windows File Systems Devs Interest List”
Sent: Wednesday, June 15, 2005 11:55 AM
Subject: Re:[ntfsd] Minifilter for network file systems

> Neal,
>
> I have done the following (for testing purposes):
> …
> RtlInitUnicodeString( &nameString, L"\Device\CDMRedirector" );
> status = IoGetDeviceObjectPointer(&nameString, FILE_READ_ATTRIBUTES,
> &fileObject, &IcaDeviceObject);
> if(NT_SUCCESS(status))
> {
> DbgPrint(“Try to register filesystem CDMRedirector\n”);
> IoRegisterFileSystem(IcaDeviceObject);
> ObDereferenceObject(fileObject);
> }
> …
> Well, this makes the filter manager aware of the redirector and everything
> seems to
> work fine. However I’m not sure if this has effects I’m not aware of. Is it
> (technically)
> OK to register a device object as a file system which does not belong to my
> driver? How
> about calling IoRegisterFileSystem more than once with the same device
> object?
> When to unregister?
> In other words: Should one do this or should one wait for either an updated
> filter manager
> or an updated filesystem driver?
> Maybe Citrix or Novell have reasons (that I’m not aware of) to not register
> as filesystem?
>
>
> Regards,
>
> Bernd
>
>
>
>
>
> —
> Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17
>
> You are currently subscribed to ntfsd as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com</bernd.windolph>