Commit graph

46996 commits

Author SHA1 Message Date
Cameron Gutman 4b515463e1 [NTOSKRNL]
- Fix broken handling for duplicate loads in IopLoadUnloadDriver
- Fixes duplicate loading messages being displayed during boot and duplicate legacy device nodes being created for the same driver
- NOTE: These fixes do not affect drivers loaded by FreeLoader which are handled by a separate function IopInitializeBuiltinDriver

svn path=/trunk/; revision=52660
2011-07-12 18:18:13 +00:00
Jérôme Gardou 9a41e5d6ec [APITESTS]
- Add some more tests to NtFreeVirtualMemory

svn path=/trunk/; revision=52659
2011-07-12 17:55:20 +00:00
Jérôme Gardou 68d0db0868 [APITEST]
- add one more test to NtFreeVirtualMemory

svn path=/trunk/; revision=52658
2011-07-12 17:36:52 +00:00
Timo Kreuzer 46d0ab4eb9 [WIN32K]
Fix MIN_SYSCALL_NUMBER and MAX_SYSCALL_NUMBER

svn path=/trunk/; revision=52656
2011-07-12 15:39:24 +00:00
Timo Kreuzer cfbbc68e9f [NTDLL/LDR]
Hey Arch, stop corrupting the stack!

svn path=/trunk/; revision=52654
2011-07-12 12:55:03 +00:00
Timo Kreuzer 0afc11163d [NTOSKRNL]
Align the idt to 16 bytes. Fixes random boot problems on MSVC builds.

svn path=/trunk/; revision=52647
2011-07-12 01:04:20 +00:00
Timo Kreuzer e6a335b92c [USETUP]
Do not add RosDbg section on _WINKD_ builds

svn path=/trunk/; revision=52646
2011-07-12 00:27:22 +00:00
Art Yerkes 2974d5e5d0 [CMAKE] Revert this for now.
svn path=/trunk/; revision=52644
2011-07-11 21:46:54 +00:00
Jérôme Gardou 0a8af6df7c [APITESTS]
- add simple tests for NtFreeVirtualMemory

svn path=/trunk/; revision=52642
2011-07-11 19:31:34 +00:00
Cameron Gutman d309cc3c56 [TCPIP]
- Increase the default and overflow size of the TCP/IP packet pool to allow for periods of very high network load (such as using BitTorrent or hosting high load services on a network) without dropping outgoing or incoming packets
- Increase the size of the TCP/IP buffer pool for the same reason

svn path=/trunk/; revision=52641
2011-07-11 19:18:34 +00:00
Art Yerkes 2ebb206d88 [CMAKE] Fix my mistake returning the original space, rather than the mapped area.
svn path=/trunk/; revision=52629
2011-07-11 07:11:12 +00:00
Timo Kreuzer 93a416ddfd [NTOSKRNL]
Implement the "SLIST hack". It checks whether the access to the Next member of the first list item of an iSList caused the exception, this can happen, when a concurrent thread pops the first entry and frees its memory between the point where the address of the entry is loaded and the access to it. This is done before the call to MmAccessFault to handle the theoretical scenario of a guard page exception being triggered by the fault, which we don't want to be handled.
Currently only kernel mode is handled.

svn path=/trunk/; revision=52628
2011-07-11 03:36:29 +00:00
Cameron Gutman 8aa496d875 [OSKITTCP]
- Fix a crash that occurs during BitTorrent downloads
- The official BitTorrent client works now

svn path=/trunk/; revision=52627
2011-07-11 02:44:32 +00:00
Alex Ionescu 7ef2dcbe22 [NTDLL]: Always compile your code before comitting, like my cat used to say.
svn path=/trunk/; revision=52626
2011-07-11 01:22:01 +00:00
Alex Ionescu 043ba4e228 [NTDLL]: Reimplement RtlGetCurrentDirectory_U... I couldn't even understand what the old version was doing. This one is at least commented and makes more sense.
svn path=/trunk/; revision=52625
2011-07-11 01:13:34 +00:00
Alex Ionescu 67f44266b0 [RTL]: RtlDetermineDosPathNameType_U Path is not optional. Checked build ASSERTs if not present. Also, \\? is valid, not only \\., so this should fix a bunch of incorrect path determinations. Aren't there supposed to be unit tests for these things?!
svn path=/trunk/; revision=52624
2011-07-11 00:47:44 +00:00
Alex Ionescu 2507c181d0 [RTL]: Clarify what RtlGetLongestNtPathLength returns instead of using "+9" as a magic constant.
svn path=/trunk/; revision=52623
2011-07-11 00:38:34 +00:00
Alex Ionescu 642d0d6141 [NTDLL] Merge LdrpResolveFullName and LdrpSearchPath and LdrpAllocateUnicodeString from the LDR Rewrite branch. Not actually used yet since they use Rtl APIs that ReactOS does not implement. Guess what the next commits are going to be about.
svn path=/trunk/; revision=52622
2011-07-11 00:25:26 +00:00
Alex Ionescu 1b775b8d8a [NTDLL]: Cleanup and half-fix LdrpCheckForLoadedDll, including adding comments for where it's broken. This uses RtlImageNtHeaderEx with much stringent checks as well.
svn path=/trunk/; revision=52621
2011-07-11 00:12:33 +00:00
Alex Ionescu f1c4df527e [RTL]: One day, Microsoft is going to stop using flags that are negatives. Fix boot/etc.
svn path=/trunk/; revision=52620
2011-07-11 00:10:27 +00:00
Rafal Harabien f9f36696f9 [WIN32CSR]
- Fix CSR hard error messages. Parameters are now converted to ANSI string which are expected by message format string.

svn path=/trunk/; revision=52619
2011-07-10 22:40:43 +00:00
Alex Ionescu c93b41ab3f [NDK]: Add missing RtlImageNtHeaderEx flags.
[RTL]: Implement RtlImageNtHeaderEx and make RtlImageNtHeader call it. This will result in much stricter (and correct) PE loading by default, and enable a flag which can do even stricter checks.
[NTDLL]: Export RtlImageNtHeaderEx (maybe NTOS should export it too, not sure).

svn path=/trunk/; revision=52618
2011-07-10 21:55:55 +00:00
Rafal Harabien d730393e07 - Add more NT status messages. Few of them are used by new LDR. Contains patch by Thomas Faber.
svn path=/trunk/; revision=52617
2011-07-10 19:47:45 +00:00
Jérôme Gardou c34fe70bfe [NTOSKRNL/MM]
- The initial region does not necessarily begins with the asked address, calculate remaining space acccordingly.

svn path=/trunk/; revision=52616
2011-07-10 19:24:49 +00:00
Cameron Gutman a149b1c33b [RTL]
- Revert r52612
- It came before its time ;)

svn path=/trunk/; revision=52615
2011-07-10 17:46:27 +00:00
Jérôme Gardou 0cb80213de [NTOSKRNL/MM]
- fix broken logic
- simplify calculation of remainig space to alter
- call ExFreePoolWithTag instead of ExFreePool
- return error on failure

svn path=/trunk/; revision=52614
2011-07-10 17:21:38 +00:00
Timo Kreuzer d28438f515 [NTDLL]
add some stubs for amd64

svn path=/trunk/; revision=52613
2011-07-10 16:43:03 +00:00
Cameron Gutman bee9140898 [RTL]
- Enable the proper implementation of RtlActivateActivationContextUnsafeFast

svn path=/trunk/; revision=52612
2011-07-10 16:33:23 +00:00
Cameron Gutman 6ef48aa4b4 [NTDLL]
- Fix memory corruption by reverting part of r52603

svn path=/trunk/; revision=52611
2011-07-10 16:25:42 +00:00
Rafal Harabien ce8c949828 [EVENTLOG]
- Fix MSVC warnings

svn path=/trunk/; revision=52610
2011-07-10 15:39:32 +00:00
Sylvain Petreolle 0685c73a53 [SFC_OS]
Implement SfcFileException, required by VBox Guest additions to install 3D support.

svn path=/trunk/; revision=52609
2011-07-10 15:05:14 +00:00
Rafal Harabien b509f3318b [NTDLL/LDR] - Fix one more USHORT and -1 comparison. Patch by Thomas Faber
svn path=/trunk/; revision=52608
2011-07-10 15:02:00 +00:00
Alex Ionescu ca4263fbf8 [NTDLL]: Fix parsing and buffer overflow in LdrpLoadDll. Add more debug prints, and add some missing code (commented out) for later.
svn path=/trunk/; revision=52607
2011-07-10 13:51:40 +00:00
Rafal Harabien 12bc8ad634 [NTDLL/LDR]
- Fix CMake build
- Minor improvements
Path by Thomas Faber

svn path=/trunk/; revision=52606
2011-07-10 13:44:19 +00:00
Jérôme Gardou ef65e8cc09 [AFD]
- fix MSVC build

svn path=/trunk/; revision=52605
2011-07-10 13:28:47 +00:00
Alex Ionescu f23c2d83be [NTDLL]: Actually delete the file.
svn path=/trunk/; revision=52604
2011-07-10 13:23:54 +00:00
Alex Ionescu 5a7963b7ba [NTDLL]: More fixes to the PE parsing code.
[NTDLL]: Move and fix LdrUnloadDll to ldrapi.c
[NTDLL]: Remove yet another cruft file. 

svn path=/trunk/; revision=52603
2011-07-10 13:23:19 +00:00
Rafal Harabien cc5bf5ecd5 [NTDLL/LDR]
- Don't use -1 for USHORT LDR_DATA_TABLE_ENTRY::LoadCount. When comparing ((USHORT)-1) == 0xFFFF vs (int)-1 it ends in comparison 0xFFFF vs 0xFFFFFFFF with is wrong. Fixes shutdown from shell
See issue #6345 for more details.

svn path=/trunk/; revision=52601
2011-07-10 11:49:52 +00:00
Cameron Gutman 38990db5fd [AFD]
- Fix broken TDI address functions which were causing subtle memory corruptions, wasted memory, and incorrect or uninitialized values of the address length field
- Remove some buggy code that wasn't used anywhere
- General refactoring to reduce code duplication
- Handle an invalid address type properly

svn path=/trunk/; revision=52600
2011-07-10 08:25:31 +00:00
Cameron Gutman 3e44b02671 [KERNEL32]: Fix build
svn path=/trunk/; revision=52598
2011-07-10 07:15:26 +00:00
Cameron Gutman 41406f9697 [AFD]
- Probe and lock pages with the KernelMode access mode instead of Irp->RequestorMode (UserMode) since we're dealing with memory that we allocated in kernel-mode
- Fixes getpeername() and HTTPS browsing in Firefox

svn path=/trunk/; revision=52597
2011-07-10 02:23:12 +00:00
Alex Ionescu dfe6317126 [NTDLL]: More attempts at fixing up the loader, this time in the PE side of things.
svn path=/trunk/; revision=52596
2011-07-10 02:14:29 +00:00
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