Eric Pouech eric.pouech@orange.fr writes:
- if (access & GENERIC_READ) access |= FILE_GENERIC_READ;
- /* FIXME: we add FILE_READ_PROPERTIES access even in write-only mode.
* As tested on Windows, this is not correct (ie GetConsoleMode() on with GENERIC_WRITE only
* access fails).
* But, this is currently needed as part of kernel32/console.c client side code relies on the
* fact that it can read properties: lots of 'set' functions like WriteConsole,
* ScrollConsoleScreenBuffer, SetConsoleCursorPosition (and many others) do call 'get'
* functions.
*/
These should be fixed then.
2010/10/27 Alexandre Julliard julliard@winehq.org
Eric Pouech eric.pouech@orange.fr writes:
- if (access & GENERIC_READ) access |= FILE_GENERIC_READ;
- /* FIXME: we add FILE_READ_PROPERTIES access even in write-only
mode.
* As tested on Windows, this is not correct (ie GetConsoleMode() on
with GENERIC_WRITE only
* access fails).
* But, this is currently needed as part of kernel32/console.c
client side code relies on the
* fact that it can read properties: lots of 'set' functions like
WriteConsole,
* ScrollConsoleScreenBuffer, SetConsoleCursorPosition (and many
others) do call 'get'
* functions.
*/
These should be fixed then.
this will require moving more than half a dozen of operations done client
side to the server so that it does read the attributes that's both: 1/ a tremendous change 2/ will either move most of console handling into the server, or more the access control on the client side. and I'd bet none of those two options you'll like A+
Eric Pouech eric.pouech@orange.fr writes:
2010/10/27 Alexandre Julliard julliard@winehq.org
These should be fixed then.
this will require moving more than half a dozen of operations done client
side to the server so that it does read the attributes that's both: 1/ a tremendous change 2/ will either move most of console handling into the server, or more the access control on the client side. and I'd bet none of those two options you'll like
I think the first step should be to fix the detection of bare console handles by checking for an fd instead of doing a console server call. That should make things faster, and avoid most of the problem already.
Then if the client side really can't be fixed, then it's the client side that should be requesting extra permissions, not the server compensating for the client bugs.