Commit graph

39334 commits

Author SHA1 Message Date
Dmitry Chapyshev 5325ee5eee - Add samplify runonce.exe utility
svn path=/trunk/; revision=43710
2009-10-24 12:58:07 +00:00
Gregor Schneider 5cb190acc6 [kernel32] Check for valid atom, fixes the remaining eight kernel32 atom winetests
svn path=/trunk/; revision=43709
2009-10-24 11:51:33 +00:00
Sylvain Petreolle 0b487b45aa "<@Christoph_vW> please commit something" -- aye sir
svn path=/trunk/; revision=43707
2009-10-24 09:57:37 +00:00
Stefan Ginsberg 0cc20f2021 "<@Christoph_vW> please commit something" -- aye sir
svn path=/trunk/; revision=43706
2009-10-23 23:29:49 +00:00
Stefan Ginsberg 10bbe664b7 - Replace RtlpGetExceptionAddress by the _ReturnAddress intrinsic and add it to ARM intrin.h as it was missing.
- Simplify RtlpCheckForActiveDebugger: Remove the BOOLEAN parameter as we would always pass it FALSE. Always return FALSE false from kernel mode for simplicity.
- Fix a critical flaw in our exception support: RtlRaiseException and RtlRaiseStatus were implemented in C on x86. This lead to unpredictable register corruption because the compiler could not know that it had to preserve non-volatile registers before calling RtlCaptureContext as the saved context is later used to restore the caller in case the exception is handled and execution is continued. This made the functions unsafe to return from as any non-volatile register could be corrupted. Implement them in assembly for x86 to safely capture the context using only EBP and ESP. The C versions of those routines are still used and shared for the other architectures we support -- needs to be determined if this is safe and correct for those architectures.
- The ntdll exception Wine exposed this issue, and all tests now pass. The remaining failures on the build server are caused by missing or incomplete debug register support in KVM/QEMU. Run the test in another VM or on real hardware and all the tests will pass.
- Implement Debug Prompt (DbgPrompt) support for KD and KDBG. The KDBG implementation reads the prompt from keyboard or serial depending on the mode so that sysreg and rosdbg can support it too.
- Properly implement RtlAssert using DbgPrompt to prompt for the action to take instead of always doing a breakpoint. The new implementation is disabled until sysreg can support this. Also move RtlAssert to its own file as it has nothing to do with the error routines (nor does it belong in exception.c).
- Note that DbgPrompt was already used in PspCatchCriticalBreak, and this would have resulted in a silent hang as BREAKPOINT_PROMPT wasn't handled at all by KDBG.
- Implement KiRaiseAssertion (10 lines of code with the trap macros) and thus support NT_ASSERT. Add partial support for it to KDBG to print out a warning and the address of the failure, but don't do anything else. Also add NT_ASSERT to the DDK headers so that we can use it, but don't use it yet as the ARM method of performing this has not been decided nor implemented.
- KiTrap3 doesn't set STATUS_SUCCESS but BREAKPOINT_BREAK. They have the same numerical value but very different meaning -- BREAKPOINT_BREAK means that the exception is a software breakpoint and not a debug service call. Fix some comments to document that this is what is checked for.
- Fix inverted and broken logic in KdpReport. It would never pass second chance exceptions to the debugger, didn't respect the stop-on-exception flag properly and would always fail to handle some special exceptions in both first and second chance instead of just failing to handle it in first chance. Clean up, reformat and document what is going on.
- The DebugPrint and DebugPrompt support routines only perform a 2D interrupt on x86; use more portable comments.
- Add Alex to the programmer section of x86's kdsup.c -- he wrote KdpGetStateChange, KdpSetContextState and the code that was previously in KdpRead/WriteControlSpace.
- Add my name to the parts of KD where I have made significant work on getting KD/WinDbg support up and running.
- KD debugging is now quite functional and stable. Some bugs and stubs remain to be flushed out, but overall KD is now much better and easier to use than KDBG.

svn path=/trunk/; revision=43705
2009-10-23 22:51:39 +00:00
Johannes Anderwald 9ca2385ce2 - Fix build
- Found by Christoph

svn path=/trunk/; revision=43704
2009-10-23 22:21:03 +00:00
Johannes Anderwald b4018f21e9 - Make sure string is null terminated
- Copy all required fields for WaveIn devices
- Use double of the reported FrameSize to increase audio playback performance

svn path=/trunk/; revision=43703
2009-10-23 21:53:25 +00:00
Christoph von Wittich 75b317922f update kvm virtio driver filenames
svn path=/trunk/; revision=43701
2009-10-23 21:15:55 +00:00
Lucas Suggs 148016a73d First push of nslookup implementation.
svn path=/trunk/; revision=43700
2009-10-23 17:25:05 +00:00
Aleksey Bragin 1e7aa70379 [rtl]
- Fix incorrect leap year days checking condition, spotted by Gabriel Iliardi.
See issue #4917 for more details.

svn path=/trunk/; revision=43698
2009-10-23 13:19:36 +00:00
Cameron Gutman 612660aeee - Limit the number of interrupts that are handled per call to MiniportHandleInterrupt to prevent us from staying at DISPATCH_LEVEL for too long
svn path=/trunk/; revision=43693
2009-10-23 00:27:00 +00:00
Cameron Gutman 0fba4d8f11 - Move the DstAddress check above the NCE modification code so we don't use ARP requests that aren't addressed to us
- Fixes bug 4879

svn path=/trunk/; revision=43692
2009-10-22 19:08:02 +00:00
Stefan Ginsberg 80078ade2b - Fix 43192 -- MAXUINT and MAXULONGLONG are only defined for Vista and later.
- Add some leftover MAXULONG.

svn path=/trunk/; revision=43691
2009-10-22 18:27:17 +00:00
Timo Kreuzer aa43316443 revert the KD_CONTEXT change
svn path=/trunk/; revision=43690
2009-10-22 15:25:37 +00:00
Timo Kreuzer 8e9a646867 fix build
svn path=/trunk/; revision=43689
2009-10-22 15:15:07 +00:00
Timo Kreuzer 4d06b94a31 [KDCOM]
- Merge r43682
- Copy new kdcom from amd64 branch. It's only built when _WINKD_ is set to 1 in the config file.
Happy testing.

svn path=/trunk/; revision=43688
2009-10-22 14:58:33 +00:00
Andrew Hill 7a50eb63fc [shell32]
- hKey is already properly closed, don't close it again.

svn path=/trunk/; revision=43679
2009-10-22 02:29:01 +00:00
Cameron Gutman ce81b8dba4 - Send DHCP discover after loading the configuration so we have valid options
- Fixes erratic behavior with certain DHCP servers

svn path=/trunk/; revision=43678
2009-10-22 00:55:45 +00:00
Stefan Ginsberg 3a16c5a061 - Don't use KeBugCheck(0) -- 0 is an invalid bugcode. Use a proper bugcode, DbgBreakPoint or UNIMPLEMENTED instead depending on how the old call was used.
- Remove some unused and deprecated macros from the network stack that did this.
- fastfat_new: Use FAT_FILE_SYSTEM instead of magic 0x23.

svn path=/trunk/; revision=43673
2009-10-21 17:52:11 +00:00
Benedikt Freisen f2e66d0408 [PAINT] cleanup:
- formatting for enhanced readability
- removal of superfluous variables/assignments
- corrected or added header comment in all files
- change if ... else ... to ?-operator where sensible and readable
- small bugfix in mouse.c concerning rectangle drawing
- fixed some possible string buffer overruns

svn path=/trunk/; revision=43671
2009-10-21 15:44:31 +00:00
Johannes Anderwald 9647ae1f0c - Fix download path as file system doesnt support '?' and rapps isnt checking for this
svn path=/trunk/; revision=43670
2009-10-21 10:25:28 +00:00
Johannes Anderwald 67128c15bc - Fix downloard url
svn path=/trunk/; revision=43669
2009-10-21 10:13:23 +00:00
Johannes Anderwald f04194f791 [NTOSKNRL]
- Enhance DebugPrint by Stefan Ginsberg

svn path=/trunk/; revision=43668
2009-10-21 09:11:36 +00:00
Johannes Anderwald f3111fdafd - Fix building on linux
- Patch by Filip Navara

svn path=/trunk/; revision=43667
2009-10-21 07:55:11 +00:00
Johannes Anderwald ad561fc082 - Fix a lock release leak
- By Russel Rice (IRC: Russel) rtc _ marine /@\ hotmail -dot- -com-

svn path=/trunk/; revision=43666
2009-10-21 07:45:33 +00:00
Johannes Anderwald 6793ef9a7c [PORTCLS]
- Implement support for submitting multiple stream headers at once
- Return correct status code on error
[WDMAUD_KERNEL]
- Save correct length

svn path=/trunk/; revision=43665
2009-10-21 06:34:24 +00:00
Cameron Gutman a5f9cb6d11 - Don't allocate a buffer if we don't have any neighbors
svn path=/trunk/; revision=43664
2009-10-21 03:49:44 +00:00
Cameron Gutman 9eeae0e826 - Fix an issue that broke ARP replies because we compared the source address with our address instead of the destination address with our address
- What ended up happening was the router saved our gratuitous ARP hw address which allowed communication until it sent an ARP request which we would discard instead of replying to it, so the network connection would drop unexpectedly. "ipconfig /renew" was a temporary fix because it caused another gratuitous ARP packet to be sent and readded our hw address to the router's cache
 - This should be the last major issue with running in bridged mode

svn path=/trunk/; revision=43663
2009-10-21 02:16:03 +00:00
James Tabor 3d8adae467 - [User32] Rein Klazes : Handle MN_GETHMENU in PopupMenuWndProc.
- [PSDK] Add MN_GETHMENU.

svn path=/trunk/; revision=43661
2009-10-21 00:20:00 +00:00
Christoph von Wittich 7ed3595ed8 -sync mapi32 with wine 1.1.31
svn path=/trunk/; revision=43660
2009-10-20 21:40:47 +00:00
Christoph von Wittich 84b898626f -sync mapi32_winetest with wine 1.1.31
svn path=/trunk/; revision=43659
2009-10-20 21:40:20 +00:00
Dmitry Gorbachev 78fe075215 Change base address of User32 DLL to avoid bug #4908.
svn path=/trunk/; revision=43658
2009-10-20 21:03:47 +00:00
Christoph von Wittich 75b56cce43 -sync mshtml_winetest with wine 1.1.31
svn path=/trunk/; revision=43657
2009-10-20 19:28:26 +00:00
Christoph von Wittich ed7ac63c3c -sync mshtml with wine 1.1.31
svn path=/trunk/; revision=43656
2009-10-20 19:28:02 +00:00
Gregor Schneider 59245c6725 [gdi32] Prevent possible buffer overrun in TranslateCharsetInfo, see wine bug 19819 for more info
svn path=/trunk/; revision=43655
2009-10-20 18:34:22 +00:00
Aleksey Bragin 64b8e965ef [fastfat_new]
- Increase FCB's OpenCount when opening existing FCB too.
- Properly compare prefixes in FatInsertName.
- Fix a copypaste bug which resulted in an infinite loop while traversing a splay tree of FCB names.
- Implement FatiQueryFsSizeInfo.

svn path=/trunk/; revision=43654
2009-10-20 17:45:59 +00:00
Stefan Ginsberg ca9d484be7 - Add several missing assertions documented on the MSDN page "Checked Build ASSERTs"
- Fix a typo in MmProbeAndLockPages; assignment within an ASSERT isn't such a good idea! (was harmless though)

svn path=/trunk/; revision=43653
2009-10-20 16:47:01 +00:00
Dmitry Gorbachev fd33db1896 Fix deprecated conversion from string constant to 'wchar_t*'
svn path=/trunk/; revision=43652
2009-10-20 16:37:51 +00:00
Dmitry Gorbachev 30370a4ecf Move the sacred texts of (L)GPL to the proper place.
svn path=/trunk/; revision=43650
2009-10-20 15:19:34 +00:00
Aleksey Bragin fbdbf9adb7 - Fix dgorbachev's copypasta.
svn path=/trunk/; revision=43649
2009-10-20 14:46:02 +00:00
Giannis Adamopoulos d3b95aa689 Fix two user32 resource tests
svn path=/trunk/; revision=43648
2009-10-20 14:42:08 +00:00
Dmitry Gorbachev d1fe1b42ec Fix build.
svn path=/trunk/; revision=43647
2009-10-20 14:33:31 +00:00
Aleksey Bragin c013577df5 [fastfat_new]
- Implement root directory open operation.
- Add OpenCount counter to FCB.

svn path=/trunk/; revision=43646
2009-10-20 12:51:13 +00:00
Andrew Hill dc333c6ad4 [atlnew]
- Initial checkin of minimal atl library
- To prevent conflicts with wine atl dll, this library is named atlnew

svn path=/trunk/; revision=43645
2009-10-20 12:26:51 +00:00
Aleksey Bragin eb5cc63a28 [fastfat_new]
- Fix an incorrectly placed closing bracket which resulted in ignoring almost all actions when performing relative open. This results in a massive reformatting of FatiCreate.

svn path=/trunk/; revision=43644
2009-10-20 12:03:51 +00:00
Aleksey Bragin 108af8baae [fastfat_new]
- When creating a DCB with a known file handle, always build a full file name, because FullFAT opening code always needs a full name.
- Fix debug prints (%Z -> %wZ).

svn path=/trunk/; revision=43643
2009-10-20 10:32:37 +00:00
Aleksey Bragin dc040195a0 [fastfat_new]
- From the moment of statically linking to FullFAT library this driver is infected by GPLv3. Fix headers accordingly.

svn path=/trunk/; revision=43642
2009-10-20 10:12:49 +00:00
Aleksey Bragin 4f4bec88a5 [fastfat_new]
- Cleanup the source code from parts which aren't needed anymore (after switching to FullFAT library usage). About 40kb of source code removed.

svn path=/trunk/; revision=43641
2009-10-20 10:02:27 +00:00
Aleksey Bragin 87f0ae4ac5 [ntoskrnl/mm/ARM3]
- Rewrite MmPageEntireDriver in a better way, fix bugs.

svn path=/trunk/; revision=43640
2009-10-20 09:53:29 +00:00
Michael Martin 65aa515215 ehci_alloc, ohci_alloc, uhci_alloc: Initialize DPC before connecting interrupt as the driver has to already be prepared to handle interrupts when calling IoConnectInterrupt.
svn path=/trunk/; revision=43639
2009-10-20 09:17:09 +00:00