Commit graph

63189 commits

Author SHA1 Message Date
Thomas Faber fec1f08cd5 [TCPIP_DRVTEST]
- Handle errors to avoid uninitialized variable usage

svn path=/trunk/; revision=68870
2015-08-30 09:31:23 +00:00
Amine Khaldi 6528e0b9d8 [LIBPNG] Sync up to 1.6.18. CORE-10071
svn path=/trunk/; revision=68869
2015-08-30 09:23:53 +00:00
Giannis Adamopoulos 1bde745c4e [SHELL32]
- Fix copy paste mistake in CDesktopFolder

svn path=/trunk/; revision=68868
2015-08-30 08:51:18 +00:00
Thomas Faber a54882acc1 [ADVAPI32_APITEST]
- Do not call RtlInitUnicodeString on an unterminated string (DPH)

svn path=/trunk/; revision=68867
2015-08-30 08:37:13 +00:00
Thomas Faber 285991f04c [RTL]
- Use the correct busy node pointer in RtlpPageHeapDestroy
CORE-9735 #resolve

svn path=/trunk/; revision=68866
2015-08-30 07:26:26 +00:00
Giannis Adamopoulos af3114c491 [SHELL32]
- When binding to a drive item try to initialize the new CFSFolder using IPersistFolder3. That allows us to get the path of the drive right from the pidl instead of getting a new reference to the CDrivesFolder and using GetDisplayNameOf for the pidl.

svn path=/trunk/; revision=68865
2015-08-29 21:09:29 +00:00
Hermès Bélusca-Maïto 90143b555c [NTOS:KD]: Disable to dprints.
svn path=/trunk/; revision=68864
2015-08-29 16:56:09 +00:00
Thomas Faber a6513f80af [HAL]
- Implement HalStartProfileInterrupt, HalSetProfileInterval, and HalpProfileInterruptHandler
Now kernrate works!
CORE-10066 #resolve

svn path=/trunk/; revision=68863
2015-08-29 16:45:00 +00:00
Eric Kohl 1e34580fd6 [WINLOGON]
- Read notification DLL parameters.
- Use the Enabled value.

svn path=/trunk/; revision=68862
2015-08-29 15:50:02 +00:00
Thomas Faber a7236633f6 [NDK][NTOS]
- Move KeProfileInterrupt[WithSource] declarations to NDK since they're exported
- NtCreateProfile's fourth parameter is SIZE_T
- Add NtCreateProfileEx prototype
CORE-10066

svn path=/trunk/; revision=68861
2015-08-29 15:04:01 +00:00
Thomas Faber 6d331859f3 [NTOS]
- Fix GCC build

svn path=/trunk/; revision=68860
2015-08-29 14:35:02 +00:00
Thomas Faber e693a9b767 [NTOS:KE]
- Fix swapped parameters of KeSetIntervalProfile
- Calculate the correct bucket pointer in KiParseProfileList, and actually increment the counter
CORE-10066

svn path=/trunk/; revision=68859
2015-08-29 14:30:29 +00:00
Thomas Faber a2833fad4b [NTOS:EX]
- Fix MDL leak in NtStopProfile
CORE-10066

svn path=/trunk/; revision=68858
2015-08-29 14:14:43 +00:00
Hermès Bélusca-Maïto 7ac60d428d [HAL]: Addendum for r68856
svn path=/trunk/; revision=68857
2015-08-29 14:09:57 +00:00
Thomas Faber 96a3420464 [HAL]
- IRQ 8 belongs to the slave PIC, so send EOI appropriately
CORE-10066

svn path=/trunk/; revision=68856
2015-08-29 14:04:57 +00:00
Hermès Bélusca-Maïto 3946e15eeb [i8042prt]
Improve debugging experience when pressing Tab+k, at least with WinDBG, by breaking with a suitable control code (adopt the SysRq one even if we don't use SysRq key for breaking, but instead, Tab+k).

svn path=/trunk/; revision=68855
2015-08-29 13:53:55 +00:00
Hermès Bélusca-Maïto d328dc16b4 [NTOS]
Addendum to r68851:
- Reset the state of the worker thread *after* having captured the data, not before.
- Fix the explanations given in comments.

svn path=/trunk/; revision=68854
2015-08-29 12:53:08 +00:00
Thomas Faber f0aeab590d [FUSION]
- Add missing psdk dependency to fusion_common

svn path=/trunk/; revision=68853
2015-08-29 07:41:52 +00:00
Thomas Faber f917e6193e [NTOS:EX]
- Remove superfluous dereference in NtCreateProfile
- Allocate the right size for KPROFILE object
- Don't leak the KPROFILE when deleting an EPROFILE
- Avoid some casts
CORE-10066

svn path=/trunk/; revision=68852
2015-08-29 07:35:59 +00:00
Hermès Bélusca-Maïto dd088b28fc [NTOS]
Implement the WinDBG Debugger Worker Thread, which is created inside a target process whenever one uses the ".process /i <addr>" (invasive debugging) command using WinDBG in kernel-mode debugging.
See https://www.microsoftpressstore.com/articles/article.aspx?p=2201303&seqNum=2 section "Switching the Current Process Context" (from the book "Inside Windows Debugging" by Tarik Soulami, pp.101-102) for more details.
The names of the variables must be kept as they are, because WinDBG (more exactly, dbgeng.dll) searches for them within the kernel symbols and retrieves their addresses (since those variables are not publicly exported).

svn path=/trunk/; revision=68851
2015-08-29 02:03:56 +00:00
Hermès Bélusca-Maïto a0a1967e8e [NTDLL]
Make its version information compatible with the one of NTOSKRNL (and accessorily its resource file). Addendum to r25937.

svn path=/trunk/; revision=68850
2015-08-29 01:56:11 +00:00
Giannis Adamopoulos c932cb9d3a [SHELL32]
- Only return the flags that the caller asked for in SHELL32_GetFSItemAttributes. Allows us to get rid of a hell lot of calls to CFSFolder::BindToChild which lead to many calls to FindFirstFile.

svn path=/trunk/; revision=68849
2015-08-28 15:08:19 +00:00
Hermès Bélusca-Maïto a39b4f51b9 [NTOS]
Fix x64 compilation:
- Some KDBG symbols for win32k debugging are defined only in x86 platform when _WINKD_ is disabled.
- KdSetOwedBreakpoints is defined only if _WINKD_ is enabled, addendum for x64 to r68842.

svn path=/trunk/; revision=68848
2015-08-28 14:01:58 +00:00
Thomas Faber 5ff109f0b3 [CMD]
- Avoid statically importing FindFirstStreamW/FindNextStreamW so that our cmd.exe can work on WinXP.
- Accept lowercase /r switch

svn path=/trunk/; revision=68847
2015-08-28 11:39:45 +00:00
Thomas Faber 4e5f69d4d1 [CMD]
- In DirList, initialize stInfo.ptrHead of the dummy node to avoid invalid memory access. Fixes regression in cmd:batch

svn path=/trunk/; revision=68846
2015-08-28 10:51:10 +00:00
Giannis Adamopoulos 2f9a846dcf [SHELL32]
- Sync control.c from wine and disable a large part of it that is not needed. Also update the definition of CPlApplet to match wine.
- Make CControlPanel use the new definition of CPlApplet which lets us simplify loading the applets.
- Make CControlPanel to only use unicode and use the new helper functions.
- Simplify the code for the context menu of cpl items.

svn path=/trunk/; revision=68845
2015-08-28 10:36:35 +00:00
Giannis Adamopoulos 73a3fd8b3c [SHELLUTILS]
- Add a helper function SHSetStrRet that will simplify setting the contents of a STRRET.

svn path=/trunk/; revision=68844
2015-08-28 10:32:02 +00:00
Amine Khaldi e950972731 [CMAKE] Fix broken PCH handling since r67483.
svn path=/trunk/; revision=68843
2015-08-28 09:24:39 +00:00
Pierre Schweitzer 5777e8100c [NTOSKRNL]
Fix build

svn path=/trunk/; revision=68842
2015-08-28 06:19:31 +00:00
Hermès Bélusca-Maïto a7d4979a10 [NTOS:KD]
- Fix the condition check when setting twice (or more) the same breakpoint.
- Implement support for deferred breakpoints. For more information, see: http://www.osronline.com/article.cfm?article=541 (which also exposes an interesting problem about them).

svn path=/trunk/; revision=68841
2015-08-28 03:03:26 +00:00
Amine Khaldi 17228d9d3e [CMAKE] Introduce a way to use auto generation using bison and flex. Dedicated to Eric Kohl. CORE-10055
svn path=/trunk/; revision=68840
2015-08-27 23:00:49 +00:00
Amine Khaldi 6c6dae8b30 [CMAKE] Add and use baseaddress_msvc.cmake.
svn path=/trunk/; revision=68839
2015-08-27 22:35:06 +00:00
Amine Khaldi a9a2119c0c [CMAKE] Update baseaddress.cmake.
svn path=/trunk/; revision=68838
2015-08-27 22:33:07 +00:00
Pierre Schweitzer 78128d23f0 [NTFS]
Return proper status

svn path=/trunk/; revision=68836
2015-08-27 21:02:52 +00:00
Pierre Schweitzer b3ec3aeb5a [NTFS]
It seems that our disk.sys returns "unknown" media type when performing IOCTL_DISK_GET_DRIVE_GEOMETRY on an extended partition.
Not sure how Windows handles this (if any volunteer for a test :-)), in the meantime, forcibly sector size to 512B to allow NTFS driver opening volumes on extended partitions 

svn path=/trunk/; revision=68835
2015-08-27 20:56:08 +00:00
David Quintana ed7c0959c6 [SHELL32]
The desktop.ini file is only meant to be read if the folder has the R (read-only) or S (system) attributes. 
If this causes your favorite folder to stop showing the icon, use "attrib +r <foldername>" or edit it from the properties dialog.
When we add the desktop.ini files, we will also need to add the R attribute to their respective folders.
Followup to CORE-9002

svn path=/trunk/; revision=68834
2015-08-27 16:37:13 +00:00
David Quintana 4b901b355e [NTOBJSHEX]
* Fix comment headers.

svn path=/trunk/; revision=68833
2015-08-26 23:35:38 +00:00
David Quintana 73a55f80e1 [NTOBJSHEX]
* Now that we use lazy enumeration instead of keeping a full list of all items, I was able to simplify a few things.

svn path=/trunk/; revision=68832
2015-08-26 23:30:47 +00:00
Hermès Bélusca-Maïto 18183f23d3 [DISKPART]
- Russian translation update by tower.
- Fixup the other translations.

svn path=/trunk/; revision=68831
2015-08-26 22:53:20 +00:00
Pierre Schweitzer 81ce5cdc50 [NTFS]
Fix two memory leaks

svn path=/trunk/; revision=68830
2015-08-26 18:55:53 +00:00
Pierre Schweitzer 74ed7ffd30 [NTFS]
Totally rewrite the way MFT records attributes are handled.
Up to now, we were having really similar loops, only looking at the resident part of the attribute list, not really caring about how the loop was going.

This was leading to some issues:
- In case the attribute we were looking for was stored in the non-resident part of the attribute list, we would miss it (excepted in the case of FindAttribute() which was properly browsing the whole attribute list).
- In the specific case of FindAttribute(), one would have been able to setup a broken MFT record with the resident attribute list pointing on the non resident attribute list which itself would point to the resident attribute list. In such case, the driver would loop forever caught on the loop, allocating tones of memory. It was possible to trigger this by user space, from a non-privileged user, just by browsing the right directory entry.
- In the case of the other loops (non FindAttribute()), another issue (other than missing attributes) was present, one would have been able to setup a broken MFT record with an attribute of null-length. This would have caused the driver to loop forever on the attribute list. This could be triggered from usermode too. And could be triggered by a non-privileged user.

This commit introduces a new set of functions for attributes browsing: FindFirstAttribute(), FindNextAttribute(), FindCloseAttribute(). It allows safely browsing attributes and handles broken cases. It also performs reading of the attribute list when present and makes sure there's only one read. This method should be the only one to use to browse the attributes.
The whole NTFS code base has been converted to use this newly set of functions. This really simplifies the implementation of FindAttribute(), and prevent unsafe code duplication.

CORE-10037 #resolve #comment Fixed with r68829

svn path=/trunk/; revision=68829
2015-08-26 18:20:04 +00:00
David Quintana b4e29c9de9 [SHELL32]
* Fix loading icon info from dekstop.ini. Also took the chance to remove some unnecessary convolution. The old code tried to load the info, but didn't actually make use of the returned string at all.
CORE-9002 #resolve #comment Icon loading should work now. Adding the default desktop.ini files in the right folders will be a followup issue.

svn path=/trunk/; revision=68828
2015-08-26 17:31:42 +00:00
Hermès Bélusca-Maïto be6a6195b6 [NTVDM]
- Towards a complete fix of VGA console attach/detach: a lot of progress is made but few little things need to be checked/adjusted.
- Fix text scroll (at least in text modes) by doing guest-to-guest moves, using the EmulatorCopyMemory function introduced in r68826.
- Fix the computation of the screen rows/columns values stored in the BDA, in graphics modes (in addition to the change of r68090), by dividing the graphics resolution by the character heights & widths. Correct values are indeed needed by some programs, eg. QBasic (I also add a CharacterWidth; normally it should be computable using the CRTC registers, and is always == 8 or 9, but still...).

svn path=/trunk/; revision=68827
2015-08-26 01:26:33 +00:00
Hermès Bélusca-Maïto 91a6866265 [NTVDM]
Introduce a function for doing guest-to-guest memory copies (given here in a temporary implementation until a proper one is developed). It will be used in my next commit.

svn path=/trunk/; revision=68826
2015-08-26 00:37:50 +00:00
Daniel Reimer 3836b30b50 [CMD]
Update German translation by ... ME

svn path=/trunk/; revision=68825
2015-08-25 21:19:30 +00:00
Pierre Schweitzer ec2336a4a6 [CMD]
Remove an useless if

svn path=/trunk/; revision=68824
2015-08-25 20:39:53 +00:00
Pierre Schweitzer 6686b09385 [CMD]
Implement switch /R for dir command.
It allows enumerating alternate data streams of files

Commit dedicated to Ged

svn path=/trunk/; revision=68823
2015-08-25 20:35:51 +00:00
Pierre Schweitzer b72e356c87 [NTFS]
Properly set StreamNameLength (with the length of extra data we append).
This fixes truncated output from FindFirstStreamW/FindNextStreamW

svn path=/trunk/; revision=68822
2015-08-25 20:11:53 +00:00
Benedikt Freisen 51d24b7385 Some fixes to the scf file registry entry; added some missing entries (patch by gonzoMD)
svn path=/trunk/; revision=68821
2015-08-25 14:24:41 +00:00
Benedikt Freisen 3227d6fa06 [PSDK] Add methods to Gdiplus::Color
svn path=/trunk/; revision=68820
2015-08-25 14:13:19 +00:00