Commit graph

54514 commits

Author SHA1 Message Date
Alex Ionescu a30fba55c1 Enable the C_ASSERT that validates our CONSRV structure matches the expected size.
svn path=/trunk/; revision=59906
2013-08-30 17:32:10 +00:00
Alex Ionescu 2e04ff140b [NTOSKRNL]: 903 was not supposed to have this change.
svn path=/trunk/; revision=59905
2013-08-30 17:28:45 +00:00
Alex Ionescu d9289eb230 [CONSRV]: Reorganize/rename/add some fields to CONSRV_API_CONNECTINFO, partially based on an MSDN page, and a little bit of RE, which makes it closer to the Windows structure. No behavioral change should have happened as a result of these changes.
svn path=/trunk/; revision=59904
2013-08-30 17:14:41 +00:00
Alex Ionescu 0da3197b71 [RTL]: Make RtlUnhandledExceptionFilter show a stack trace, so at least we can see where the exception came from.
svn path=/trunk/; revision=59903
2013-08-30 15:37:10 +00:00
Amine Khaldi 3d4f9a8c5a [KERNEL32]
* Fix yet another buggy DPRINT.

svn path=/trunk/; revision=59902
2013-08-30 14:16:47 +00:00
Hermès Bélusca-Maïto 4f73c42009 [CONSRV]: Add some DPRINT1 information.
svn path=/trunk/; revision=59901
2013-08-30 11:36:22 +00:00
Hermès Bélusca-Maïto 27d8aa3aa9 [USERSRV]: Stubplement all the APIs needed for Windows kernel32.
svn path=/trunk/; revision=59900
2013-08-30 11:33:25 +00:00
Amine Khaldi d4931ab70e [GDI32]
* Fix some print specifiers.

svn path=/trunk/; revision=59899
2013-08-30 10:51:12 +00:00
Amine Khaldi 8e8e30befe [USER32]
* Fix some print specifiers.

svn path=/trunk/; revision=59898
2013-08-30 10:25:16 +00:00
Amine Khaldi baeeaa9cf5 [PSDK]
* Annotate sspi.h.

svn path=/trunk/; revision=59897
2013-08-30 10:17:22 +00:00
Amine Khaldi fbf42a5901 [CMAKE]
* Set the subsystem version as 5.01 for recent MSVC toolchains.

svn path=/trunk/; revision=59896
2013-08-30 10:09:56 +00:00
Alex Ionescu 7fc15017b3 [BASESRV]: Fix critical bug in BaseSrvNlsGetUserInfo.
svn path=/trunk/; revision=59895
2013-08-30 06:53:07 +00:00
Alex Ionescu 34ae4aafae [NTDLL/RTL]: Stub and export all the routines that Kernel32 needs.
svn path=/trunk/; revision=59894
2013-08-30 06:34:16 +00:00
Hermès Bélusca-Maïto 3b0c3f4ee4 [NTOS]
buzdelabuz2 !! We've unveiled who you are !!
Fix header information.

svn path=/trunk/; revision=59893
2013-08-29 22:24:46 +00:00
Aleksey Bragin a484270b02 [NTOS]
- Implement two types of FsRtl locking functions: exclusive lock and Cc flushing lock, along with their releasing counterparts, without the filter callbacks support. These functions are unused in trunk now but would be needed by proper Cc/Mm/IFS in future.

svn path=/trunk/; revision=59889
2013-08-29 22:07:24 +00:00
Hermès Bélusca-Maïto 7286005d2c [BASESRV]
Fix the "fix" of r59887, i.e. add a stub for the unknown api.

svn path=/trunk/; revision=59888
2013-08-29 21:37:22 +00:00
Hermès Bélusca-Maïto def8f5f442 Here too ;)
svn path=/trunk/; revision=59887
2013-08-29 21:29:33 +00:00
Alex Ionescu 59e1a8cedf [BASESRV]: forgot to update the name table.
svn path=/trunk/; revision=59886
2013-08-29 21:27:18 +00:00
Hermès Bélusca-Maïto abf866eeec Partially revert r59884 because of an enum name collision (which broke build).
svn path=/trunk/; revision=59885
2013-08-29 21:23:46 +00:00
Hermès Bélusca-Maïto bd732acefd [BASESRV]
- Fix nls.c header information.
- Rename BasepUnknown to BasepDebugProcess according to j00ru's http://j00ru.vexillium.org/csrss_list/api_list.html#Windows_2k3 and what Alex_Ionescu committed in r59879 (deprecated api).

svn path=/trunk/; revision=59884
2013-08-29 21:14:49 +00:00
Amine Khaldi 80cb32f995 [NTDLL]
* Fix several print specifiers.
* Add missing Status variable to a DPRINT1.

svn path=/trunk/; revision=59883
2013-08-29 21:12:40 +00:00
Alex Ionescu 103ab26886 [BASESRV]: Fix definition of NLS_USER_INFO so that it matches exactly that of Server 2003 (this now makes BASE_SERVER_STATIC_DATA correct too).
[BASESRV]: Implement BaseSrvNlsGetUserInfo.

svn path=/trunk/; revision=59882
2013-08-29 21:00:54 +00:00
Amine Khaldi 76ac8a4d9d [KERNEL32]
* Fix several print specifiers.

svn path=/trunk/; revision=59881
2013-08-29 20:37:02 +00:00
Alex Ionescu 9fe4035883 [KERNEL32]: Passing flag 0 to QueryActCtx is valid, don't fail.
svn path=/trunk/; revision=59880
2013-08-29 20:14:43 +00:00
Alex Ionescu ca5079dbc5 [BASESRV]: The last few APIs were off-by-one due to an unimplmented (in Windows) or deprecated api.c
[BASESRV]: Implement BaseSrvNlsCreateSection, which is needed by Windows kernel32.dll. Also implement the delay-loading functionality it needs.

svn path=/trunk/; revision=59879
2013-08-29 20:13:31 +00:00
Alex Ionescu b512a67763 [NLS]. Add NLS files.
svn path=/trunk/; revision=59878
2013-08-29 19:07:10 +00:00
Hermès Bélusca-Maïto 89a6f0d487 Formatting fix only.
svn path=/trunk/; revision=59877
2013-08-29 18:13:24 +00:00
Alex Ionescu a20cac9b5d moar failz
svn path=/trunk/; revision=59875
2013-08-29 17:46:26 +00:00
Alex Ionescu 8ed6af6f2a fix a dprint
svn path=/trunk/; revision=59874
2013-08-29 17:44:34 +00:00
Hermès Bélusca-Maïto 4a3ceaec30 Fix variable naming.
svn path=/trunk/; revision=59873
2013-08-29 17:40:21 +00:00
Alex Ionescu 93bba5bf09 [BASESRV]: Stubplement all the APIs so that our IDs match with Windows. Windows kernel32 now dies when calling NLSCreateSection.
svn path=/trunk/; revision=59872
2013-08-29 17:00:10 +00:00
Alex Ionescu b626c99f0b [KERNEL32]: Fix a bug in QueryActCtx
svn path=/trunk/; revision=59871
2013-08-29 16:42:14 +00:00
Hermès Bélusca-Maïto 95ea6a8d77 [KERNEL32]
Use GetSystemDirectoryW for building the path to console.dll

svn path=/trunk/; revision=59870
2013-08-29 14:31:06 +00:00
Hermès Bélusca-Maïto e3a5aaeb41 [KERNEL32]
Fix some headers information.
CORE-7421 #resolve #comment Fixed in revision r59869, thanks :)

svn path=/trunk/; revision=59869
2013-08-29 12:20:29 +00:00
Alex Ionescu 1bc5937959 CORE-6639 #resolve #time 1d #comment Guard pages now work ;-)
[NDK]: Fix definition of a global flag.
[RTL]: RtlpCreateUserStack: 1) If the image is invalid, bail out. 2) If the stack commit is higher than reserve, adjust reserve. 3) After allocating a guard page, the stack limit is now ABOVE the guard page, not BELOW it (stack grows backward!).
[RTL]: Remove the hack which always Commited the "StackReserve" value. Threads now have a 4-64KB stack, instead of a 1MB stack.
[NTOSKRNL]: Implement MiAccessCheck and MiCheckForUserStackOverflow, which handle guard page + stack expansion.
[USER32]: Because threads now correctly run with a smaller stack than usual (and expand as needed), remove some checks in user-mode callbacks which forced larger stacks.

svn path=/trunk/; revision=59868
2013-08-29 07:33:10 +00:00
Alex Ionescu b840c2367f [HIDPARSE]: Stop the HID debug spam.
svn path=/trunk/; revision=59867
2013-08-29 06:09:28 +00:00
Alex Ionescu 098160c171 [NDK]: Add some RTL_ACTIVATION_CONTEXT flags from the ASSERTs in the checked ntdll.dll. Guess some other ones based on what seems to be the naming pattern (can't find them on Google, so who knows).
[RTL]: Make the Wine RtlActivationContext* APIs use the native RTL flags, not the Win32 flags.
[KERNEL32]: Separate Wine-specific ActCtx code from NT-compatible ActCtx code, and reimplement the latter. Now all ActCtx APIs except CreateActCtx (which is a mess on Windows) are compatible with the real NT RtlActivationContext APIs in terms of flags.
[KERNEL32]: Fix the hacks which were sending Win32 flags to the NT Native Rtl* functions.

svn path=/trunk/; revision=59866
2013-08-29 04:34:00 +00:00
Alex Ionescu 34287c50dc [KERNEL32]: Implement BaseProcessInitPostImport. Windows NTDLL now loads much, much further, all the way to lsass.exe now.
svn path=/trunk/; revision=59865
2013-08-29 00:07:00 +00:00
Alex Ionescu 3be526a895 [NTDLL]: Fix CsrpConnectToServer to use the correct CSR_API_CONNECTINFO structure.
[CSRSRV]: Fix definition of CSR_API_CONNECTINFO structure. It is now compatible with Server 2003. Also, set the DebugFlag.

svn path=/trunk/; revision=59864
2013-08-29 00:02:15 +00:00
Amine Khaldi c29aaf5ec8 [WINHLP32]
* Improve resource files layout to make it consistent with the rest of our codebase. By Erdem Ersoy.
CORE-7414 #resolve #comment Committed in r59863. Thanks.

svn path=/trunk/; revision=59863
2013-08-28 23:14:41 +00:00
Alex Ionescu 0ba0d34b5c [NTDLL]: Don't give every process a KernelCallbackTable. Only GUI processes need one.
[USER32]: Initialize the KernelCallbackTable when loaded in GUI process. Also, store it statically instead of requiring a heap allocation (just like Windows).

svn path=/trunk/; revision=59862
2013-08-28 22:35:28 +00:00
Amine Khaldi 74053e9f52 [TRANSLATIONS]
* Turkish translation update and improvements by Erdem Ersoy.
CORE-7408 #resolve #comment Committed in r59861. Thanks.

svn path=/trunk/; revision=59861
2013-08-28 22:06:34 +00:00
Amine Khaldi e3f48f8607 [CMAKE/VS]
* Introduce the support for organizing the solution into a hierarchy of folders that matches our codebase layout.
* You can enable this feature by adding -DUSE_FOLDER_STRUCTURE=1 to your configure phase (the VSSolution one).
* Based on a patch by Yuntian Zhang with my improvements.
CORE-7412

svn path=/trunk/; revision=59860
2013-08-28 21:37:54 +00:00
Alex Ionescu bf493b93af [NDK]: Fix Vista vs Server 2003 definition of SECTION_IMAGE_INFORMATION.
[NTOSKRNL]: Gut out almost all the fields in the ReactOS-specific MM_IMAGE_SECTION, and replace them with the NT SECTION_IMAGE_INFORMATION structure instead. Make NtQuerySection simply return a copy of these fields (as on Windows).
[NTOSKRNL]: Update the PE loader code to now store information in SECTION_IMAGE_INFORMATION. Also store LoaderFlags and DllCharacteristics, which were not stored/returned to users before (in NtQuerySection).
[NTOSKRNL]: An entrypoint of NULL should also set ImageContainsCode to FALSE.
[NTOSKRNL]: Implement MmGetImageInformation, which is used by NtQueryInformationProcess(ProcessImageInformation). Also implement this latter info class.
[NTOSKRNL]: Delete ps_i.h, nobody uses this anymore.

svn path=/trunk/; revision=59859
2013-08-28 21:09:16 +00:00
Hermès Bélusca-Maïto 8453b44a7f Just fix a typo.
svn path=/trunk/; revision=59858
2013-08-28 20:12:35 +00:00
Alex Ionescu 4ca622a65d [RTL]: Correctly read PEB or Kernel Variables for Heap Tuning.
[NTOSKRNL]: MmCreatePeb should correctly fill out the Heap PEB parameters.
[NTOSKRNL]: MmInitSystem and mminit.c should correctly initialize and hold the Heap Tuning Parameters.
[NTOSKRNL]: CmControlVector should read the registry Heap Tuning Parameters into the real Mm variables, instaed of "Dummy".
This removes heap hacks and makes Windows NTDLL happy.

svn path=/trunk/; revision=59857
2013-08-28 18:57:29 +00:00
Hermès Bélusca-Maïto c268c87586 [KERNEL32]
- Add brackets around "case XXX:" so that I'm able to (un)fold regions of code when debugging and reading.
- Temporarily skip AppCompat functionality added by Alex, in order to "fix" (read: hack-fix) launch of .bat/.cmd files. Indeed, when .bat/.cmd files get started with the CreateProcess function, a call to NtCreateSection fails with status STATUS_INVALID_IMAGE_NOT_MZ, as expected (line 2952). But the new AppCompat code (lines 3028 and 3031-3033 and following, and 3114), executed whenever the status code from NtCreateSection is STATUS_SUCCESS or STATUS_INVALID_IMAGE_NOT_MZ or something else, overwrites the status code by other values, so that, after we return to the main code path (lines 3174 and following), the status code isn't STATUS_INVALID_IMAGE_NOT_MZ anymore but STATUS_SUCCESS or whatever, and then, we fail to run the .bat/.cmd file (that should be done at lines 3314-3316 and following).
To Alex_Ionescu: Have a look at this and fix it properly!!

svn path=/trunk/; revision=59855
2013-08-28 13:23:09 +00:00
Amine Khaldi 0a425e697c [CMAKE]
* Add the proper subsystem version when using a recent MSVC toolchain.

svn path=/trunk/; revision=59854
2013-08-28 12:32:09 +00:00
Amine Khaldi 94d5de635f [CRT]
* Annotate timeb_s.h.

svn path=/trunk/; revision=59853
2013-08-28 11:52:25 +00:00
Amine Khaldi 47a9785c7e [PSDK]
* Annotate imm.h.

svn path=/trunk/; revision=59852
2013-08-28 11:25:44 +00:00