Commit graph

55729 commits

Author SHA1 Message Date
Amine Khaldi
0758b647e2 [GLU32]
* Improve the resource file.
CORE-7637

svn path=/trunk/; revision=61136
2013-11-28 22:27:12 +00:00
Amine Khaldi
01a1c3e723 [NTDLL]
* Improve the resource file.
CORE-7637

svn path=/trunk/; revision=61135
2013-11-28 22:26:13 +00:00
Amine Khaldi
ae11c75668 [WIN32SS/*]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61134
2013-11-28 22:24:33 +00:00
Amine Khaldi
a5b8bfaae6 [BASESRV][CSRSRV][CSRSS][NTVDM]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61133
2013-11-28 22:22:24 +00:00
Amine Khaldi
a645e8a623 [DRIVERS]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61132
2013-11-28 22:19:35 +00:00
Amine Khaldi
bbcf00a9ed [WIN32DLLS]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61131
2013-11-28 22:18:05 +00:00
Amine Khaldi
78cb403847 [SHELLEXTS]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61130
2013-11-28 22:15:21 +00:00
Amine Khaldi
7172e9f721 [KEYBOARDS]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61129
2013-11-28 22:14:03 +00:00
Amine Khaldi
bbf5081c69 [CPLS]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61128
2013-11-28 22:12:52 +00:00
Amine Khaldi
98a97ec484 [FDEBUG]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61127
2013-11-28 22:11:26 +00:00
Amine Khaldi
b67b1e2caf [BASE/SYSTEM]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61126
2013-11-28 22:09:27 +00:00
Amine Khaldi
3690b7acd8 [BASE/SHELL]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61125
2013-11-28 22:07:56 +00:00
Amine Khaldi
2d69844819 [BASE/SETUP]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61124
2013-11-28 22:06:38 +00:00
Amine Khaldi
951f0f0909 [SERVICES]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61123
2013-11-28 22:04:59 +00:00
Amine Khaldi
72f576f3c4 [APPLICATIONS]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61122
2013-11-28 22:04:03 +00:00
Amine Khaldi
dfc4c1754c [SCREENSAVERS]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61121
2013-11-28 22:00:38 +00:00
Amine Khaldi
94223619fd [APPS/NETWORK]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61120
2013-11-28 21:59:13 +00:00
Amine Khaldi
fc05cbf624 [MSCUTILS]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61119
2013-11-28 21:57:21 +00:00
Amine Khaldi
70a054144e [GAMES]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61118
2013-11-28 21:56:11 +00:00
Amine Khaldi
c5e13cf799 [CMDUTILS]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61117
2013-11-28 21:52:17 +00:00
Eric Kohl
b6c0091383 [FDC]
Enumerate all BIOS-detected floppy drives which are attached to the current controller.

svn path=/trunk/; revision=61116
2013-11-28 20:32:37 +00:00
Eric Kohl
fa67f52657 [FDC]
10 Build before commit!
20 goto 10

svn path=/trunk/; revision=61115
2013-11-28 15:50:42 +00:00
Eric Kohl
6e7bfcab4e [FDC]
- Add a floppy disk controller driver. The driver is WIP.

svn path=/trunk/; revision=61114
2013-11-28 15:47:18 +00:00
Thomas Faber
48f677b66a [SERIAL]
- Fix a race condition

svn path=/trunk/; revision=61113
2013-11-28 14:32:04 +00:00
Thomas Faber
1aa6d29ccb [SHELL32]
- Remove unused (and unavailable) std namespace reference
CORE-6672

svn path=/trunk/; revision=61112
2013-11-28 10:37:04 +00:00
Timo Kreuzer
d9d49c89bd [NTOSKRNL]
Undo unwanted change. Noticed by Hermes.

svn path=/trunk/; revision=61111
2013-11-27 00:11:06 +00:00
Timo Kreuzer
4019985115 [NTOSKRNL]
- Get rid of MmZeroPte and instead implement MI_ERASE_PTE. Use this and only this to make a PTE zero. The other functions will not allow to do this.
- Add MI_UPDATE_VALID_PTE to update a valid PTE with another valid PTE
- Add 2 additional protection mask constants: MM_PROTECT_ACCESS for the lower 3 bits and MM_PROTECT_SPECIAL for the higher 2 bits. Make use of the latter when dealing with guard pages and caching.
- Deduplicate some code in MmArmAccessFault
- Move code in MiDeleteSystemPageableVm to where it belongs (it was in the wrong else case!)
- Wse MiQueryPageTableReferences instead of manipulating MmWorkingSetList->UsedPageTableEntries

svn path=/trunk/; revision=61110
2013-11-27 00:04:26 +00:00
Timo Kreuzer
5ab8592b44 [NTOSKRNL]
- Implement SepAdjustPrivileges, which does both the counting of (changed) privileges as well as applying them, when requested. Use it in NtAdjustPrivilegesToken twice instead of duplicating the code there.
- Fix return value of NtAdjustPrivilegesToken by making sure to properly count the found privileges and check against the provided ones
- Lock the Token, while messing with the privileges
- Add support for SE_PRIVILEGE_REMOVED
- Proplery (re)calculate Token flags after changing privileges
- Improve failure pathes by using a common cleanup label
- Don't free the allocations atatched to the token in SepCreateToken on failure, since ObDereferenceObject will already do that.
- Make priviliges constants instead of initializing them.

svn path=/trunk/; revision=61109
2013-11-26 23:28:37 +00:00
Timo Kreuzer
543797fee3 [NTOSKRNL]
- Remove the BoundaryAddressMultiple parameter from MmCreateMemoryArea (wasn't used) and give it instead a Granularity parameter
- Use the Granularity parameter in MmMapViewOfSegment to make sure that full sections are allocated on a MM_ALLOCATION_GRANULARITY aligned address.
- Check for overflow and unaligned image base in MmMapViewOfSection when mapping image sections
- Return proper status code on failure

svn path=/trunk/; revision=61108
2013-11-26 21:38:02 +00:00
Eric Kohl
ac56ce2849 [NETAPI32]
BuildUserInfoBuffer: Set the UF_PASSWD_CANT_CHANGE account control flag if the user does not have the USER_CHANGE_PASSWORD access right for his own account data.

svn path=/trunk/; revision=61103
2013-11-26 16:56:33 +00:00
Eric Kohl
40ff0c70f0 [NTOSKRNL]
- Create the Security directory and the LSA_AUTHENTICATION_INITIALIZED event in SepInitializationPhase1().
- Get rid of SeInitSRM().

svn path=/trunk/; revision=61102
2013-11-26 15:27:48 +00:00
Thomas Faber
60dda8ace4 [KERNEL32]
- Fix wrong check for realtime priority class in CreateProcessInternalW
- Fix double free in GetEnvironmentVariable[AW]
- Fix broken sizeof usage ('X' is of type int!)
- Remove redundant casts and comparisons

svn path=/trunk/; revision=61101
2013-11-26 15:09:21 +00:00
Thomas Faber
dcf715c76b [POWRPROF]
- Fix a warning

svn path=/trunk/; revision=61100
2013-11-26 15:00:06 +00:00
Thomas Faber
1485fd938e [KMTESTS:RTL]
- Fix a warning

svn path=/trunk/; revision=61099
2013-11-26 14:26:31 +00:00
Thomas Faber
f9209a2045 [NTOS]
- FORCEINLINE belongs before the return type (-Wold-style-declaration)

svn path=/trunk/; revision=61098
2013-11-26 13:45:33 +00:00
Eric Kohl
84852426dd [NETAPI32]
Refactor BuildUserInfoBuffer: Move the user info buffer inside of BuildUserInfoBuffer. This simplifies its callers.

svn path=/trunk/; revision=61097
2013-11-25 16:00:40 +00:00
Thomas Faber
205bebdd7f [CMAKE]
- Enable -Wtype-limits in GCC builds

svn path=/trunk/; revision=61096
2013-11-25 12:30:03 +00:00
Timo Kreuzer
3d5b732f52 [NTOSKRNL]
Windows / ReactOS uses a software protection field called protection mask, which is stored inside invalid (Software) PTEs to provide information about the desired protection, when a page is made valid by the page fault handler. The mask consists of the values 0-7 specifying the read/write/execute rights, 0 being inaccessible aka MM_ZERO_ACCESS, plus 2 flag-like bits, for uncached and writecombine memory respectively. Both flags together don't make sense, so this combination is used to mark guard pages. Since all these flags only make sense when used together with a proper access (i.e. not MM_ZERO_ACCESS), the combination of these flags together with MM_ZERO_ACCESS was given special meaning: MM_DECOMMIT, which equals MM_GUARDPAGE | MM_ZERO_ACCESS is for decommitted pages, that are not yet erased to zero, MM_NOACCESS, which is the mask for pages that are mapped with PAGE_NOACCESS (this is to make sure that a software PTE of a committed page is never completely 0, which it could be, when MM_ZERO_ACCESS was used), and finally MM_OUTSWAPPED_KSTACK for outswapped kernel stacks. See also https://www.reactos.org/wiki/Techwiki:Memory_Protection_constants.
The next thing to know is that the number of PTEs that are not null is counted for each PDE. So once a page gets committed, a software PTE is written and the reference count is incremented. When the page is made valid by the fault handler, the count is not changed, when the page is decommitted, the MM_DECOMMIT software PTE is written and again the PTE stays non-null and nothing is changed. Only when the range is cleaned up totally, the PTEs get erased and the reference count is decremented. Now it happened that our page fault handler missed to validate the access rights of protection constants. The problem that came up with this is a major one: since a decommitted page is a software PTE with MM_DECOMMIT as the protection mask (which we remember has the MM_GUARDPAGE bit set), the fault handler considered faults on decommitted PTEs as faults on guard pages and simply removed the guard page flag, leaving a completely empty PTE behind! So the decommitted page got erased without decrementing the reference count. This lead to CORE-7445.
- Add protection flags (MM_GUARDPAGE, MM_WRITECOMBINE, MM_OUTSWAPPED_KSTACK)
- Instead of writing 0 to a PTE, use MI_WRITE_INVALID_PTE with MmZeroPte
- Implement MiIsAccessAllowed that checks for read/write/execute access and use it in MiAccessCheck
- Add some more ASSERTs
CORE-7445 #resolve

svn path=/trunk/; revision=61095
2013-11-25 00:18:33 +00:00
Giannis Adamopoulos
a24db78920 [shell32]
- define STR_FILE_SYS_BIND_DATA in the public headers and use it in IFileSystemBindDataImpl and CFSFolder. Now we use the same string to store the IFileSystemBindDataImpl in the bind context. 
- Fix CFSFolder::ParseDisplayName to properly parse paths with a IBindCtx
- Should fix creating pidls that represent files that don't exist and fix SHChangeNotify tests that hanged for a whole minute in our test suite

svn path=/trunk/; revision=61094
2013-11-24 21:42:28 +00:00
Thomas Faber
c61dbc2626 [RTL]
- Allow parsing manifest files larger than 32 kB. Fix a DPRINT. Patch by David Quintana.
CORE-7642 #resolve

svn path=/trunk/; revision=61093
2013-11-24 20:04:45 +00:00
Eric Kohl
2f87b89094 [MSGINA]
- Add a disabled "Change Password" button to the Security dialog.
- Add the "Change Password" dialog and a basic dialog function.

svn path=/trunk/; revision=61092
2013-11-24 17:24:44 +00:00
Thomas Faber
0aec7507d5 [NPFS]
- Fix a use after free in NpFsdCreate

svn path=/trunk/; revision=61091
2013-11-24 16:22:17 +00:00
Timo Kreuzer
3f0ef714a4 [NTOSKRNL]
Remove deprecated and unused functions MmDisableVirtualMapping and MmRawDeleteVirtualMapping

svn path=/trunk/; revision=61090
2013-11-24 16:18:50 +00:00
Timo Kreuzer
0973b7e223 [NTOSKRNL]
Try to fix the failed assertions in testbot

svn path=/trunk/; revision=61089
2013-11-24 15:54:03 +00:00
Timo Kreuzer
1fb03001db [NTOSKRNL]
Make use of MiQueryPageTableReferences

svn path=/trunk/; revision=61088
2013-11-24 12:51:45 +00:00
Thomas Faber
fee89c7617 [NTOS:MM]
- Add missing \n to DPRINT in MmGetPhysicalAddress

svn path=/trunk/; revision=61087
2013-11-24 09:26:24 +00:00
Timo Kreuzer
d059077864 [NTOSKRNL]
- Use MI_IS_MAPPED_PTE instead of unportable bit fiddling
- Use MiDecrementPageTableReferences instead of manually messing with MmWorkingSetList, which is not portable
- Make MmGetPhysicalAddress portable

svn path=/trunk/; revision=61086
2013-11-23 22:34:20 +00:00
Eric Kohl
f09cfef7f5 [FORMATTING]
Fix indentation. No code changes!

svn path=/trunk/; revision=61085
2013-11-23 22:08:48 +00:00
Eric Kohl
e5769b0d38 [FORMATTING]
Fix indentation. No code changes!

svn path=/trunk/; revision=61084
2013-11-23 18:36:05 +00:00
Timo Kreuzer
41ccb2555a Revert a change from the previous version. MI_WRITE_VALID_PTE only works on invalid PTEs. Thanks to Thomas for noticing.
svn path=/trunk/; revision=61083
2013-11-23 01:42:33 +00:00