Pipe names are case sensitive.

Rob Shearman rob at codeweavers.com
Tue Apr 19 02:19:04 CDT 2005


Troy Rollo wrote:

>Pipe names are currently case sensitive. This affects instmsiw.exe since the 
>service is created as "MSIService" and connected to as "MsiService". 
>
>[a solution] would be to have find_object and create_object take a flag 
>that forces case insensitivity even in a case sensitive namespace.
>  
>

Yes, this is the correct approach. As you correctly noted, the namespace 
currently determines whether a find is case sensitive or not. There are 
two problems:
1. The caller of find_object currently cannot tell the function if a 
case insensitive search is required.
2. The namespace object should really be an NT directory object, which 
has no notion of case sensitivity.

I plan to address (1) with a rewrite of the way the OBJECT_ATTRIBUTES 
structure is marshaled to the server. This will include making shared 
marshaling, sizing, unmarshaling and freeing routines for the structure 
and it contains the information about whether or not the find_object 
call should be case insensitive. The approach will also include 
marshaling of the SECURITY_DESCRIPTOR structure for the start of more 
NT-like access checks in the object manager. However, I have already 
spotted numerous places that are not correctly setting the 
OBJ_CASE_INSENSITIVE in the OBJECT_ATTRIBUTES structure when they 
should, so these will need to be fixed.

Alexandre, before I start on the marshaling of the OBJECT_ATTRIBUTES 
structure, is this acceptable with you?

Rob



More information about the wine-devel mailing list