[Bug 14334] WordPerfect Office 2002: Unable to Install

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Sep 7 17:08:28 CDT 2008


http://bugs.winehq.org/show_bug.cgi?id=14334





--- Comment #9 from Forester <pbronline-wine at yahoo.co.uk>  2008-09-07 17:08:27 ---
(In reply to comment #8)
> Certainly I'll try to help. 

Many thanks

> Working on the wineserver code is not harder than any other places.

No, but I guess if I break it a lot more people will notice.

I find that working out what is wrong is the easy part.  Working out what is
right is harder, knowing when to stop harder sill, testing things properly
hardest of all.

> First thing to investigate would be to find out why server/file.c,file_get_sd() fails for a directory.

It doesn't.  It doesn't get called for a directory.  Neither does the
default_get_sd() referenced in the directory_ops structure in
server/directory.c.  The one we are after is in server/change.c.  In here we
again have an _ops structure that references the default_get_sd() and
default_set_sd().  So that the problem - it's never been implemented.

A first pass might be to implement server/change.c,dir_get_sd() and
dir_set_sd() by analogy.  Actually, server/file.c,sd_to_mode() factors out the
common, hard bit on the set side and after factoring out a mode_to_sd() for the
get side, the implementation by analogy is quite easy.  But is this right ?

A read of the Microsoft web site was its usual illuminating experience.  Back
in Wine, I note that for files that is no attempt to handle POSIX group
membership and until there is, there seems little point in trying to map
between inherited ACEs and the POSIX set-gid for directories so I guess the
implementation by analogy will do as a first fix.

That is where I'd like to stop but even my modest setup has access to
directories and files on server storage controlled by group membership so I
guess this is something someone will have to fix before Wine goes mainstream.

I note also that on the set side of things, there is a FIXME suggesting a call
to fchown is missing.  Should not such calls fail until this is fixed ?  I
can't see fchown working unless root is running Wine.

On the get side of things, what I find curious is:

    ada->Mask |= FILE_GENERIC_WRITE | DELETE;

My recollection of POSIX file systems is that the ability to delete files is
determined by the user's write access to the parent directory.  Write access to
the file itself is irrelevant so the assignment above just wrong to me.

Anyway, what I really wanted to ask is how I go about testing my fix.  How do
you test the server ?  Indirectly by testing the dll API ?  That would be
advapi32 in this case ?  Do I need to be looking a chapter 5 of the Wine
Developer's Guide ?  Is it ethical to install Windows from an old OEM disk on a
new computer even in a virtual machine ?


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list