Commit graph

46954 commits

Author SHA1 Message Date
Alex Ionescu ef16071792 [NTDLL]: Multiple fixes and cleanups to several loader functions in ldrutils.
[NTDLL]: Use original symbolic function names instead of modified ones.
[NTDLL]: Fixup some incorrect flag and typedef definitions with correct ones.
[NTDLL]: Tag functions which seem broken/lacking in functionality/very different from the rest of the code the LDR rewrite was based on.

svn path=/trunk/; revision=52595
2011-07-10 01:34:19 +00:00
Rafal Harabien 4adb49c9cf [NTDLL/LDR]
- Fix build (not sure if its right place for IMAGE_LOADER_FLAGS_*)
- Remove unused label

svn path=/trunk/; revision=52593
2011-07-09 22:26:23 +00:00
Rafal Harabien 2bd7185260 [NTDLL/LDR]
- Fix CMake build
- Don't override failure status in LdrGetDllHandleEx
- Minor improvements
Fixes loading of mshtml.tlb in 2nd stage. Patch by Thomas Faber

svn path=/trunk/; revision=52591
2011-07-09 21:48:59 +00:00
Rafal Harabien 03c817cabf [BZIP2]
- Fix MSVC build

svn path=/trunk/; revision=52590
2011-07-09 21:07:30 +00:00
Rafal Harabien 5cec9ddc0e [FRAMEBUF_NEW]
- Fix MSVC build

svn path=/trunk/; revision=52589
2011-07-09 20:33:47 +00:00
Alex Ionescu d544cad512 [NTDLL]: Fix busted up LdrpCreateDllSection function, checking for the wrong things completely for Safer support, and also messing up the failure/success paths. Based on a find by arty.
svn path=/trunk/; revision=52588
2011-07-09 20:33:29 +00:00
Rafal Harabien 97e63bf1b7 [NORMALIZ]
- Don't build normaliz.dll - it's Win Vista library. It didn't even work because exports was redirected to commented out kernel32 exports. GCC ignored it but MSVC returns error in such case.

svn path=/trunk/; revision=52587
2011-07-09 19:18:49 +00:00
Timo Kreuzer c182d594ae [NTOSKRNL]
Update TRAP_ENTRY macro to generate debugging information. Now WinDbg knows how to deal with the trap functions and also shows the user mode back traces.

svn path=/trunk/; revision=52586
2011-07-09 19:15:34 +00:00
Alex Ionescu 918511d9ea [NTDLL]: Reimplemnt LdrDisableThreadCalloutsForDll using new loader APIS.
[NTDLL]: Fix LdrpInitializeProcess to use new loader relocation API instead of LdrRelocateImage. Warn if an EXE gets relocated since this was never supported in ReactOS.
[NTDLL]: Move APIs into ldrapi.c and delete 3 leftover cruft files.
This is the extent of my review for the moment. There are still many problems with the loader. It should've been tested/put in a branch. I found these 25 bugs in less than a day. Other problems remaining are missing SEH around loader lock, not too sure if the cookie generation is correct, cookies are ULONG_PTR not ULONGs, and haven't checked the PE loading code yet (only reviewed ldrapi.c).

svn path=/trunk/; revision=52585
2011-07-09 16:15:43 +00:00
Alex Ionescu c3743c23c3 [NTDLL]: Some more misc. cleanups and extra output.
svn path=/trunk/; revision=52584
2011-07-09 15:32:36 +00:00
Alex Ionescu a00bcc0821 [NTDLL]: LdrFindEntryForAddress should cehck EntryInProgress first. Also add missing dprint.
[NTDLL]: LdrVerifyImageMatchesCheckSum does not actually do the check if the FileHandle is ORed with 1 (this is an optimization for KnownDLLs). Also, use EndOfFile.LowPart for the checksum, not ViewSize.
[NTDLL]: LdrpGetProcedureAddress: fix overflows, incorrect constants, incorrect memcopy call, and only run init routines if the thunk was actually snapped.

svn path=/trunk/; revision=52583
2011-07-09 14:52:07 +00:00
Timo Kreuzer b5eab2f965 [NTOSKRNL]
In MmDbgCopyMemory do physical memory copy, if the virtual target address is valid, but not writable. Fixes Step-Over on user mode addresses with WinDbg (can write break points now)

svn path=/trunk/; revision=52582
2011-07-09 14:15:47 +00:00
Alex Ionescu 5bf3d7c1d8 [NTDLL]: Fix multiple levels of fail in LdrGetDllHandleEx (returning with lock held, leaking memory, using NULL pointers, using magic flags, missing ASSERTs, buffer overflows, usage of incorrect constants, ignoring status failures, lack of varaible initialization, incorrect string initialization).
svn path=/trunk/; revision=52581
2011-07-09 13:37:47 +00:00
Jérôme Gardou 5d0a090209 [CMAKE]
- fix typo

svn path=/trunk/; revision=52580
2011-07-09 11:17:12 +00:00
Eric Kohl 752c88cdbd [WLANSVC]
Set status SERVICE_STOPPED when the service has been stopped.

svn path=/trunk/; revision=52579
2011-07-09 10:41:55 +00:00
Art Yerkes 720358902c [CMAKE] Sidesetup overloading nonpaged pool with big slabs of dwarf data.
svn path=/trunk/; revision=52578
2011-07-09 09:58:02 +00:00
Aleksey Bragin 289a5f8d37 [NTDLL/LDR]
- Comment out the actctx redirection check because it's placed wrongly. This should fix cases when a DLL is being loaded twice or more times for the same process. Spotted by Rafal Harabien.

svn path=/trunk/; revision=52577
2011-07-08 22:32:48 +00:00
Alex Ionescu 9fb0ac1448 [NTDLL]: Simplify LdrLockLoaderLock, fix its prototype, add an ASSERT, move cookie generation into its own inline.
svn path=/trunk/; revision=52576
2011-07-08 21:19:38 +00:00
Alex Ionescu d6358dd51e [NTDLL]: Fix LdrUnlockLoaderLock bugs. 4x10000$.
svn path=/trunk/; revision=52575
2011-07-08 21:07:31 +00:00
Rafal Harabien dbe1886186 [NTDLL/LDR]
- Use \\KnownDlls\\KnownDllPath instead of \\KnownDlls\\KnownDlls to check known dlls patch (spotted by Thomas Faber)
- Assume known dlls are in system32 if \\KnownDlls exists but KnownDllPath not

svn path=/trunk/; revision=52574
2011-07-08 19:42:53 +00:00
Cameron Gutman 820aba4e5a [IP]
- Complete waiting requests upon socket error
- Fixes connect() stall forever if the remote side is not listening

svn path=/trunk/; revision=52572
2011-07-08 16:34:49 +00:00
Amine Khaldi 31ee5fc3a7 [CMAKE]
* Add yet another awesome rossym/kdbg feature: struct printing using the command "dt". Brought to you by the Arty.

svn path=/trunk/; revision=52571
2011-07-08 11:16:26 +00:00
Amine Khaldi 81a39fdab6 [CMAKE]
* Disable stdcall fixup for executables.

svn path=/trunk/; revision=52570
2011-07-08 11:14:10 +00:00
Timo Kreuzer 2c426dbf82 [CMAKE]
Improve configure.cmd

svn path=/trunk/; revision=52569
2011-07-08 10:01:43 +00:00
Timo Kreuzer 493a3b43ad [NDK]
Fix LPCP_PORT_OBJECT definition

svn path=/trunk/; revision=52568
2011-07-08 09:25:50 +00:00
Timo Kreuzer ef38234ab9 [URLMON]
Fix build with MSVC and add it to MSVC bootcd

svn path=/trunk/; revision=52566
2011-07-08 01:50:27 +00:00
Timo Kreuzer 511c936bf4 [CMAKE]
Improve generation of rpc proxy files with midl (dependency handling)

svn path=/trunk/; revision=52564
2011-07-08 01:48:51 +00:00
Cameron Gutman 62cbe9d8f0 [AFD]
- Fix a desired access bug that totally broke event select
- FILE_ALL_ACCESS is NOT equal to EVENT_ALL_ACCESS

svn path=/trunk/; revision=52563
2011-07-07 23:17:23 +00:00
Cameron Gutman 31774f263a [AFD]
- Signal the event immediately if the select triggers have already been satisfied
- This fixes hangs with applications that wait on the select event before performing any socket operations

svn path=/trunk/; revision=52562
2011-07-07 22:43:35 +00:00
Cameron Gutman fff1ab8feb [AFD]
- Implement IOCTL_AFD_RECV for connection-less sockets
- Fix a parameter check
- Fixes recv() on datagram sockets

svn path=/trunk/; revision=52561
2011-07-07 20:44:47 +00:00
Cameron Gutman 2ee824a900 [MSAFD]
- Let WSPSend handle WSPSendTo on a non-datagram socket (mswsock_new does this)
- Fixes sendto on connection-oriented sockets

svn path=/trunk/; revision=52560
2011-07-07 20:16:28 +00:00
Cameron Gutman 6a6e263c86 [IP]
- Return the amount of data sent in XXXSendDatagram() functions
- Fixes send() and sendto() return values for datagram sockets (bug exposed by the AFD send user-mode IRP rewrite)

svn path=/trunk/; revision=52559
2011-07-07 20:02:52 +00:00
Dmitry Gorbachev d573717e00 Fix failed rel build.
svn path=/trunk/; revision=52558
2011-07-07 19:50:52 +00:00
Dmitry Gorbachev 2a66163177 [FREELDR]
- Move read-only data into data section (allows to boot with GRUB again).
- Discard .drectve sections.
- Silence "set but not used" warnings.

svn path=/trunk/; revision=52557
2011-07-07 19:19:44 +00:00
Dmitry Gorbachev e462a7a6d3 [NTOSKRNL]
Minas Abrahamyan (minas \dot/ subs \at/ gmail \dot/ com):
- Allow to view already shown, logged debug messages on the screen (bug #6018).

svn path=/trunk/; revision=52556
2011-07-07 19:18:16 +00:00
Sir Richard 5b90950500 Patch by Anton Yarotsky:
[SACDRV]: Implement the SAC Channel Input/Output Interface and Getters/Setters.

svn path=/trunk/; revision=52555
2011-07-07 12:03:56 +00:00
Sir Richard 79f36207fc Patch by Anton Yarotsky:
[SACDRV]: Add type definitions for channel VTABLE.
[SACDRV]: Add channel event macros and flags.
[SACDRV]: Add channal lock macros.
[SACDRV]: Add macros for parameter validation.
[SACDRV]: Add macro for pool allocation.
[SACDRV]: Misc fixes.

svn path=/trunk/; revision=52554
2011-07-07 12:02:32 +00:00
Cameron Gutman 6f052257ab [MSAFD]
- Let WSPRecv handle WSPRecvFrom on a non-datagram socket (mswsock_new does this)
- Fixes recvfrom on connection-oriented sockets

svn path=/trunk/; revision=52553
2011-07-07 11:40:25 +00:00
Cameron Gutman 14f58265d2 [AFD]
- Rewrite user-mode send IRP handling so send errors get returned to the user properly
- Fixes OskitTCP: ESHUTDOWN/EPIPE debug log spam when a chargen telnet session is terminated by the remote side

svn path=/trunk/; revision=52552
2011-07-07 00:29:30 +00:00
Timo Kreuzer d7d9b7ec6c [RPCRT4]
Fix MSVC version of call_server_func

svn path=/trunk/; revision=52551
2011-07-07 00:21:41 +00:00
Timo Kreuzer b92c0d9f52 [NTOSKRNL]
- Fix completely broken code to detect invalid MSR access in KiTrap0DHandler
- Fix MSVC warnings

svn path=/trunk/; revision=52548
2011-07-06 18:23:04 +00:00
Timo Kreuzer 9659a39678 [NPFS]
Fix 2nd stage pool corruption.
CCBs are organized in a linked list in the corresponding Fcb, which is protected by Fcb->CcbListLock. They are also linked together server <-> client. This way they can be referenced without holding the lock. This lead to a race condition where a CCB's link was modified after the CCB was deleted. Fix this by using a reference counter and adding appropriate functions. Also make use of pool tags.

svn path=/trunk/; revision=52547
2011-07-06 18:14:42 +00:00
Rafal Harabien f6630535f2 [CDFS][FASTFAT][NPFS]
- Fix MSVC warnings

svn path=/trunk/; revision=52546
2011-07-05 13:55:39 +00:00
Rafal Harabien 2750bc8ed5 [MSAFD]
- Fix MSVC warning

svn path=/trunk/; revision=52545
2011-07-05 12:21:17 +00:00
Cameron Gutman d9a64c3019 [USETUP]
- Remove formatting and partitioning hacks which are unnecessary after fixing the invalid signature bug in the FAT formatting code

svn path=/trunk/; revision=52540
2011-07-04 19:39:34 +00:00
Cameron Gutman 4e5a783a2f [AFD]
- Move the TdiReceiveDatagram call to WarmSocketForBind like it is done for connects

svn path=/trunk/; revision=52539
2011-07-04 19:13:45 +00:00
Cameron Gutman 54f9acbf0d [AFD]
- Add support for AFD_INFO_INLINING_MODE
- Add support for setting AFD_INFO_RECEIVE_WINDOW_SIZE and AFD_INFO_SEND_WINDOW_SIZE
- None of this is used by our current msafd but mswsock_new uses it

svn path=/trunk/; revision=52538
2011-07-04 18:07:55 +00:00
Cameron Gutman 0e8f87ff82 [MSAFD/AFD]
- Pass the non-blocking information as a boolean (mswsock_new does this too)
[AFD]
- Don't block waiting for a connection to accept on a non-blocking listener

svn path=/trunk/; revision=52537
2011-07-04 17:37:45 +00:00
Timo Kreuzer c19f9ab75c [RTL]
- Fix RtlFindSetBits to search for bits before the HintIndex as well
- Remove a wrong (and commented out) ASSERT
- Fix MSVC warnings

svn path=/trunk/; revision=52536
2011-07-04 16:30:45 +00:00
Timo Kreuzer f3a297daba [NTOSKRNL]
- Initialize an uninitialized variable
- MI_GET_NEXT_COLOR() doesn't have an argument
- Fix a warning on MSVC

svn path=/trunk/; revision=52535
2011-07-04 16:26:52 +00:00