- Don't try to load referenced dlls in any other dir than system32. A second attempt would fail on the first dll that was already loaded and the function would bail out before any missing dll could be loaded. This worked only by chance on gcc builds, because the 1st import was bootvid, which was always loaded in the 2nd attempt from system32, and the function failed after that, since hal and kdcom were already loaded.
svn path=/trunk/; revision=52452
- The long awaited LDR rewrite, a commit for testing the new implementation. In case of serious problems it may be reverted (revert should be approved by me).
- Its features include:
* A proper ...everything. Process, thread initialization codes, DLL loading (including compatible path lookup, and compatible/proper loading order of the dependent DLLs, including their initialization) and mapping and section creation, reference counting, relocations, good and understandable PE code for walking import descriptor, snapping, etc etc. Hacks--; GoodCode++;
* Activation contexts operations are now being performed compatible to how Windows performs them (though the actual actctx implementation is still Wine's, it was modified to be compatible). Previously, actctx stuff was added to the ldr code like a pepper is added to the soup: in different places until it starts to work.
* Partial DLL redirection implementation.
* Possibility to support Shim engine and app compat stuff in future.
* More cool stuff, just browse the code.
- I fixed all regressions I could find but one (hang during shutdown of the 3rd stage). The purpose of this commit is to seek and destroy the regressions I couldn't find (if there are any).
- Some of the old rarely called ldr code still remains in startup.c and utils.c. They are subject to be rewritten/removed soon, and every remaining old function is marked with a respective DPRINT1 to see when it's being called.
svn path=/trunk/; revision=52446
- Queue the user-mode connect IRP before calling TdiConnect to avoid a race if the TDI_CONNECT IRP is completed before we get a chance to queue the user-mode IRP to accept the connection
- Change the non-blocking TDI helper functions to always return STATUS_PENDING if the completion function will be called to avoid duplicate handling of IRPs
svn path=/trunk/; revision=52441
* Add a way to use WDK headers (psdk, crt and ddk) instead of ours. To use it, just alter USE_WDK_HEADERS in configure.cmd to be 1 instead of 0.
svn path=/trunk/; revision=52439
- Fail SIO_GET_EXTENSION_FUNCTION_POINTER
- Fixes the crash during ws2_32_winetest sock
- In my testing, "sock: 4374916 tests executed (0 marked as todo, 93 failures), 6 skipped."
svn path=/trunk/; revision=52438
- Fix copying of the remote address when satisfying an accept request
- accept() and WSAAccept() no longer report strange peer addresses
- Fixes a few ws2_32_winetest sock tests
svn path=/trunk/; revision=52437
- Lock the volume before formatting to prevent concurrent access during formatting
- This should (in theory) fix our formatting issue on mounted devices but currently we don't support FSCTL_LOCK_VOLUME in our FS drivers
svn path=/trunk/; revision=52435
Fix mshtml.tlb build with Visual Studio.
With mshtml_tlb and mshtml.tlb targets, the solution contained 2 mshtml_tlb targets.
svn path=/trunk/; revision=52433
Optimize KiSystemCallTrampoline inline assembly for MSVC. save one register, use eax for the handler address and don't assign to an intermediate variable before returning (hint by Alex)
svn path=/trunk/; revision=52430
- Register for asynchronous buffer notifications from oskittcp which will fire when a packet is sent
- Fixes sending pending packets that can't fit in the window and fixes the graceful shutdown hang
svn path=/trunk/; revision=52422
* Skip some modules that do not compile, in MSVC build.
* Welcome, MSVC BootCD. I'm sure ros devs will fix the s.it out of you.. Right ?
svn path=/trunk/; revision=52419
- Wait until the all pending sends are serviced before shutting down the socket on a graceful disconnect
- Cancel pending sends and receives on abortive disconnect
- Remove the nasty hack that was the completion queue and replace it with async completions like the lwIP implementation does
- There is a bug with the graceful disconnects which occurs if the graceful disconnect cannot be serviced immediately (a very rare case in my testing) and results in the shutdown() call stalling forever because oskittcp never indicates that send is possible again (which would allow pending send IRPs to be serviced and the shutdown IRP to be completed)
svn path=/trunk/; revision=52416
- Hold on to the disconnect IRP until all pending sending IRPs are sent to the transport driver if a controlled disconnect was requested
svn path=/trunk/; revision=52415
[NTOSKRNL]: Also, fix locking order such that the current PRCB is only read after the IRQL is raised to SYNCH_LEVEL. I'm too tired to tell if this is a requirement, but the PDF shows it being done that way in Windows, so I've re-ordered the operations to match. Intuition would indicate that this shouldn't matter, as fs:1C shouldn't change from under us in the middle of execution, but why argue with public source code?
vicmarcal said it's okay if this breaks the build (I don't have any way to build ReactOS anymore).
svn path=/trunk/; revision=52412
- Revert part of r52239: Fix support for \r and do not handle backspace
- Simplify it a bit
[NTOSKRNL]
- Add backspace support to KdpScreenPrint
- Do not draw boot text bitmap if InbvDisplayString is called with "" or "." (matches NT behavior)
svn path=/trunk/; revision=52409
Igor Paliychuk:
* Convert UKRAINIAN and RUSSIAN localization files to utf-8 in the dll folder.
* Add UKRAINIAN translation for msports.
* Some Wine modules also were converted (already sent upstream).
svn path=/trunk/; revision=52407
- Don't attempt to service a request if the only flag specified was SEL_FIN
- Handle TDI_DISCONNECT_RELEASE properly
[OSKITTCP]
- Verify that the socket is in a legal state to do a send or receive
- Don't indicate send and receive events when the socket is not connected or has been been closed in that particular direction
- Add a small hack to soshutdown so shutdown in the send direction works correctly (ie. doesn't shutdown receive)
- Fixes the hangs in ws2_32_apitest ioctlsocket and ws2_32_apitest recv
svn path=/trunk/; revision=52405
- Display boot blue bitmap when native application or kernel calls NtDisplayString with string displaying enabled
- Fix drawing order in Phase1InitializationDiscard
svn path=/trunk/; revision=52404
- add assembly version of call_method for MSVC
- fix a syntax error (sizeof(int[3]) is not valid C)
- move definitions to the top of the CMakeLists.txt
svn path=/trunk/; revision=52401