Go to file
Miikka Heikkinen 49c5c3e5c5 Windows: Fix qt_ntfs_permission_lookup
Specifying qt_ntfs_permission_lookup++ in application code didn't
make qfilesystemengine_win.cpp respect Windows ACL as it was supposed
to. This was because GetTokenInformation for TokenUser failed always in
resolveLibs() function, because the TOKEN_USER struct that was given to
it wasn't large enough to contain both TOKEN_USER and SID structs that
GetTokenInformation wants to return in this case.

Fixed by calling GetTokenInformation twice, first to determine the
required size, and then another time to get the actual token info.
Additionally, the SID returned as part of the token info needs to be
stored for the lifetime of the application, as the TRUSTEE_W struct
has a pointer to it (currentUserTrusteeW).

The worldTrusteeW initialization also required a change to properly
store the SID.

Note: The dynamic resolution of FreeSid and other SID manipulating
functions doesn't appear to be necessary, as they are found on the
same ifdef level (in winbase.h) as the GetTokenInformation, which
already isn't dynamically resolved.

Task-number: QTBUG-247
Change-Id: I0294c85ea903c86d03c2fcd3d801502b378dc0e5
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-01-13 11:30:43 +01:00
bin Revert "Fixed qtmodule-configtests on Windows" 2012-01-13 04:03:59 +01:00
config.tests Remove ICD plugin for bearer. 2012-01-10 07:12:41 +01:00
dist Make QFtp private. 2012-01-12 14:38:55 +01:00
doc/src Make QFtp private. 2012-01-12 14:38:55 +01:00
examples Make QFtp private. 2012-01-12 14:38:55 +01:00
lib Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
mkspecs Fix CONFIG+=declarative_debug if declarative is implicitly added 2012-01-12 08:31:17 +01:00
qmake QMap => QHash 2012-01-10 16:16:34 +01:00
src Windows: Fix qt_ntfs_permission_lookup 2012-01-13 11:30:43 +01:00
tests Added application flags to translate between touch and mouse events. 2012-01-13 09:38:05 +01:00
tools Don't use check as an identifier in the configure app. 2012-01-10 16:12:06 +01:00
util Update copyright year in license headers. 2012-01-05 06:36:56 +01:00
.gitattributes Added .tag file with Git revision. 2011-05-03 16:23:49 +02:00
.gitignore Remove QtV8 library from QtBase 2012-01-09 19:54:07 +01:00
.tag Added .tag file with Git revision. 2011-05-03 16:23:49 +02:00
configure Don't enable V8's snapshot feature when building inside scratchbox for ARM 2012-01-11 15:59:51 +01:00
configure.exe Add a new QT_NO_SSL feature macro. 2012-01-06 11:19:23 +01:00
header.BSD Update copyright year in license headers. 2012-01-05 06:36:56 +01:00
header.FDL Update copyright year in license headers. 2012-01-05 06:36:56 +01:00
header.LGPL Update copyright year in license headers. 2012-01-05 06:36:56 +01:00
header.LGPL-ONLY Update copyright year in license headers. 2012-01-05 06:36:56 +01:00
INSTALL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LGPL_EXCEPTION.txt Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.LGPL Update copyright year in license headers. 2012-01-05 06:36:56 +01:00
LICENSE.PREVIEW.COMMERCIAL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
qtbase.pro Ensure qmodule.pri is installed. 2011-11-23 00:12:03 +01:00
sync.profile Remove QtV8 library from QtBase 2012-01-09 19:54:07 +01:00