Commit graph

54254 commits

Author SHA1 Message Date
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
Amine Khaldi 9aa6a42782 [SVCHOST]
* Fix a typo.

svn path=/trunk/; revision=59851
2013-08-28 11:08:28 +00:00
Hermès Bélusca-Maïto 13fa3680e5 [SVCHOST]
Fix debug prints.

svn path=/trunk/; revision=59850
2013-08-28 10:19:54 +00:00
Hermès Bélusca-Maïto b96d93332b [KERNEL32]
Cut a very loong DPRINT1 into pieces, to workaround the length limitation of debug strings I get.

svn path=/trunk/; revision=59849
2013-08-28 10:08:41 +00:00
Alex Ionescu 08dac57791 [SVCHOST]: Use ReactOS Linux-build compatible cases in the header files, which are incompatible with Windows, and don't even matter on Windows, but hey, <3 Reactos + Linux.
svn path=/trunk/; revision=59848
2013-08-28 08:34:41 +00:00
Alex Ionescu 3acd542293 [SVCHOST]: Implement a Windows-compatible (5.2 SP1) SvcHost.exe process, which can load Windows services according to the information at http://www.geoffchappell.com/studies/windows/win32/services/svchost/index.htm, using the same callbacks and registry settings, including support for RPC over NPIPE, NetBIOS and COM, with correct handling of Security, Threading, Locking and Stop Callbacks. Tested with the current BITS and DHCP services, which still work (although they don't take advantage of the new functionality).
svn path=/trunk/; revision=59847
2013-08-28 08:32:27 +00:00
Alex Ionescu bbf30d28f7 It wants an EOF?
svn path=/trunk/; revision=59846
2013-08-28 07:42:09 +00:00
Alex Ionescu 7e7db0b831 [UUID]: Add IID_IGlobalOptions and CLSID_GlobalOptions.
svn path=/trunk/; revision=59845
2013-08-28 07:39:58 +00:00
Alex Ionescu a66ef80e54 [IDL]: Sync Objidl with http://www.winehq.org/pipermail/wine-patches/2012-November/120299.html, which adds IGlobalOptions.
svn path=/trunk/; revision=59844
2013-08-28 07:15:12 +00:00
Alex Ionescu d78172a8cd [ADVAPI32/SERVICES]: Windows services (as per MSDN and testing) must always get at least one parameter -- the service name, in the argument vector. However, in ReactOS, unless optional custom parameters were sent (when starting a service), services got 0 parameters and a NULL argument vector. Since services on Windows know this is impossible, many dereference the vector without checking for NULL (including Windows Svchost.exe). Either way, it's bogus for us not ever sending the name as the first parameter. So I fixed ScBuildUnicodeArgsVector to always either pre-pend the service name (if the caller gave us some parameters already), or do use the name as the sole parameter (if the caller sent none). This now works as on Windows, and should greately help with 3rd party service compatibility.
***NOTE THAT I ONLY DID THIS FOR UNICODE. I DID NOT BOTHER TO FIX THE ANSI VERSION. ERIC KOHL, PLEASE REVIEW & FIX AS APPROPRIATE***

svn path=/trunk/; revision=59843
2013-08-28 05:04:36 +00:00
Eric Kohl 05f3a7e599 [ADVAPI32]
GetSidSubAuthority and GetSidSubAuthorityCount: Set last error code to ERROR_SUCCESS before calling the Rtl function.

svn path=/trunk/; revision=59842
2013-08-27 20:58:29 +00:00