Commit graph

59278 commits

Author SHA1 Message Date
Pierre Schweitzer d22dd7da46 [NTFS]
Addendum to r65112

svn path=/trunk/; revision=65113
2014-10-29 22:40:16 +00:00
Pierre Schweitzer 7f1c752c3a [NTFS]
Implement support for the FSCTL_GET_NTFS_VOLUME_DATA user request in NtfsUserFsRequest().

This makes NTFSInfo capable of working in ReactOS :-). A picture to show it: http://www.heisspiter.net/~Pierre/rostests/NTFS_info.png
Yes, NTFS Zone isn't computed yet. I'll have a look at it later on.

This doesn't fix nfi.exe though. If it can get its data, it cannot continue. It loops forever on a FSCTL we don't handle yet.

CORE-8725

svn path=/trunk/; revision=65112
2014-10-29 22:36:55 +00:00
Sylvain Petreolle d7565e93f7 [NTOSKRNL]
Reapply r65107.
We need fixes, not hacks.
Sorry for being popular^W pressure ;)


svn path=/trunk/; revision=65110
2014-10-29 22:22:24 +00:00
Eric Kohl b87393f170 [NETAPI32]
NetUserModalsGet:
- Return the proper maximum password age.
- Remove dead code.

svn path=/trunk/; revision=65109
2014-10-29 22:17:23 +00:00
Sylvain Petreolle a1baaa2225 [UNIATA]
Update to 0.45c1.

svn path=/trunk/; revision=65108
2014-10-29 21:34:01 +00:00
Pierre Schweitzer a65c5549f9 [NTOSKRNL]
Reenable hack due to popular pressure.
Still better than fixing it, it seems...
So, break again volume opening.

svn path=/trunk/; revision=65107
2014-10-29 21:22:36 +00:00
Pierre Schweitzer 0872193d40 [NTFS]
Finally, move old stuff back from disk.sys to ntfs.sys now it can be properly reached on volume opening:
- Halfplement NtfsUserFsRequest() and add support for IRP_MN_USER_FS_REQUEST in NtfsFsdFileSystemControl()
- Also, use the proper FSCTL code: FSCTL_GET_NTFS_VOLUME_DATA which exists and is documented instead of FSCTL_GET_NTFS_VOLUME_DATA. Spotted by Christoph.

CORE-8725

svn path=/trunk/; revision=65106
2014-10-29 18:42:05 +00:00
Pierre Schweitzer c009666393 [DISK]
Revert r65097 and r65090.
Thanks to r65104, now the FSCTLs go to the right place: the FSDs!

Thanks to Thomas for pointing out that NTFSinfo was really talking with the FSD on Windows and not to disk.sys

CORE-8725

svn path=/trunk/; revision=65105
2014-10-29 18:25:30 +00:00
Pierre Schweitzer 48cddc2fcc [NTOSKRNL]
Disable the IopParseDevice hack. It appears it was triggered on volume opening and thus was breaking volume opening which were then forwarded down to disk.sys.
Not sure how legit it is to have it anylonger.

At least, disabling it reenables volume opening in ReactOS and associated FSCTL!

Alex & Aleksey, can you review please?

CORE-8725

svn path=/trunk/; revision=65104
2014-10-29 18:20:43 +00:00
Kamil Hornicek 34147616fd [NLS]
- fix the code page value
- also fixes intl.cpl showing date format string in the code page list

svn path=/trunk/; revision=65103
2014-10-29 18:20:03 +00:00
Kamil Hornicek c1c1e05803 [KERNEL32]
- remove bunch of stray pragmas
- add a czech translation to stop debug spam reported in CORE-8720

svn path=/trunk/; revision=65102
2014-10-29 16:59:44 +00:00
Kamil Hornicek 08e9098294 [BOOTDATA]
- add metrics to classic themes (the flag 0xb0001 will result in a kinda esoteric value of type REG_QWORD)
- fixes switching from Lautus back to a classic theme
CORE-8718

svn path=/trunk/; revision=65100
2014-10-29 14:27:09 +00:00
Pierre Schweitzer 88ea664a82 [DISK]
Actually, sysinternals used to release the source code of NTFSInfo (thanks Christoph!), so we know a bit more about the interface of the user FS request.
So, implement a bit more of the interface to validate it properly works (and so far, it does!)

CORE-8725

svn path=/trunk/; revision=65097
2014-10-29 11:31:19 +00:00
Timo Kreuzer 54d0920f7e [GDI32]
Improve functions in coord.c:
- Use GdiGetDcAttr() where appropriate
- Fix SetLastError() usage
- Add annotations
- improve variable naming
- Add some comments

svn path=/trunk/; revision=65093
2014-10-28 22:16:24 +00:00
Pierre Schweitzer 7a204076f6 [DISK]
Get ready to enter into the 10th dimension... So:
- Implement support for IRP_MJ_FILE_SYSTEM_CONTROL. Yes... You read well! So, implemented a ScsiDiskFileSystemControl() function. The way it is added to the DriverObject is a big hack, class2 is not supposed to have such requests, so, we do it in its back. Fear!
- Stubplement the NtfsRussinovichism() function. This is the only function we're supposed to call with IRP MJ FSCTRL and with IRP MN USRFSRQST. Its purpose (when its implemented) is to reply back to the M. Russinovich tools (NFI & NTFSInfo) so that they can directly dump NTFS information without going into NTFS driver. They kind of bypass it.
We do all agree this is a ugly hack. But it exists in Windows, as these tools work in Windows. And it would be useful they actually work in ReactOS.
Soon, we'll be able to publish a book "ReactOS Internals" where we speak about undocumented FS controls to dump NTFS information to show how well our NTFS works ;-).

svn path=/trunk/; revision=65090
2014-10-28 21:59:57 +00:00
Eric Kohl 70cb67436c [NET]
Display more password information in the NET USER command.

svn path=/trunk/; revision=65089
2014-10-28 21:57:41 +00:00
Kamil Hornicek b71df11be9 [WIN32K]
- addendum to revision 64877 which slightly changed UserDrawCaption's logic
- fixes window title being drawn over the icon

svn path=/trunk/; revision=65087
2014-10-28 21:38:26 +00:00
Timo Kreuzer 6417d36a41 [GDI32]
- Move functions to the appropriate source files, zap hacks.c, stubs.c, stubsa.c and stubsw.c (sorry for the noise, but this mess had to be cleaned up)

svn path=/trunk/; revision=65086
2014-10-28 21:09:01 +00:00
Pierre Schweitzer aaebdbf9d3 [FASTFAT]
For now, disable the VfatSetRenameInformation() asserts in trunk.
They can be reenabled for testing by commenting "#define NASSERTS_RENAME" out.

CORE-8721 #resolve #comment Fixed with r65085

svn path=/trunk/; revision=65085
2014-10-28 20:39:42 +00:00
Pierre Schweitzer 135e926315 [NTFS]
Finally, implement NtfsGetFreeClusters() which will just read the $Data stream from $BITMAP file record to get the amount of free clusters to allow estimating the free space on a volume.
The implementation is likely under-optimized... But wwell, the rest of the FSD is not better. Who talked about caching?! ;-)

Because pictures are more relevant than words in such case: http://www.heisspiter.net/~Pierre/rostests/NTFS_disksize.png

svn path=/trunk/; revision=65082
2014-10-28 19:17:59 +00:00
Giannis Adamopoulos 2c3bb20acb Merge r65001 from shell-experiments branch:
[user32]
- Properly notify the theme engine that the caption needs to be repainted on WM_SETICON
- Fixes a classic frame appearing when themes are enabled and we navigate to a different folder

svn path=/trunk/; revision=65077
2014-10-28 17:32:01 +00:00
Ged Murphy f5ca079e13 [WINLOGON]
- Stop the log from being spammed when the session is idle and no screensaver is set
- Also checking if my login still works :)

svn path=/trunk/; revision=65076
2014-10-28 17:07:47 +00:00
Pierre Schweitzer d6fa9e7094 [NTFS]
ReleaseAttributeContext() is to be used out of mft.c
I believe that at some point, we're leaking memory...

svn path=/trunk/; revision=65068
2014-10-28 10:26:47 +00:00
Timo Kreuzer 1bc1ae75f3 [GDI32]
Implement separate functions for all SelectObject cases.

svn path=/trunk/; revision=65067
2014-10-28 09:06:33 +00:00
Christoph von Wittich 27b8f91dbd [DRIVERS]
don't use uninitialized variables

svn path=/trunk/; revision=65066
2014-10-28 08:15:49 +00:00
Timo Kreuzer c8e18b66a9 [GDI32]
- Use GdiGetDcAttr instead of GdiGetHandleUserData where appropriate
- Add a few missing SetLastError()
- Fix return failure return value of GetBkColor()
- Improve order of operations in SelectObject (needs more fixing)

svn path=/trunk/; revision=65063
2014-10-28 00:55:22 +00:00
Aleksandar Andrejevic 891d638347 [FAST486]
Fix a typo in r65061.


svn path=/trunk/; revision=65062
2014-10-28 00:53:02 +00:00
Aleksandar Andrejevic f1a3c93e07 [FAST486][NTVDM]
Get rid of Fast486Interrupt, since it's not used anywhere. Also we can now remove
workarounds for all of the bugs that it caused.
Implement the "single-instruction interrupt delay" for instructions that load the
stack segment only.


svn path=/trunk/; revision=65061
2014-10-28 00:33:03 +00:00
James Tabor 14c0c3cbce [NtUser]
- Revert 64363. See CORE-7797.

svn path=/trunk/; revision=65060
2014-10-28 00:26:22 +00:00
Hermès Bélusca-Maïto af80d3517d [FAST486]: We should invalidate the prefetch buffer *after* having fetched the BOP byte (but before calling its handler), not before fetching the byte :)
svn path=/trunk/; revision=65059
2014-10-28 00:19:48 +00:00
Timo Kreuzer bd446bbb01 [GDI32]
- Handle GDILoObjType_LO_ALTDC_TYPE in GdiGetDcAttr
- Rewrite GdiGetLDC using GdiGetDcAttr
- Implement GdiSetLDC

svn path=/trunk/; revision=65058
2014-10-28 00:16:18 +00:00
Timo Kreuzer a12507355a [GDI32]
Forgot to commit this...

svn path=/trunk/; revision=65056
2014-10-27 23:39:21 +00:00
Timo Kreuzer 2d1292ebbe [GDI32]
- Improve formatting
- Use more consistent variable names
- Remove unnecessary casts
- Add some annotations
- No intended code changes

svn path=/trunk/; revision=65055
2014-10-27 23:37:05 +00:00
Jérôme Gardou 207b88eaf1 [KERNEL32]
- Do not try to open memory events under the process object root directory.
CORE-8600 #resolve

svn path=/trunk/; revision=65054
2014-10-27 22:05:51 +00:00
Timo Kreuzer 18134c10db [GDI32]
Add Support routines for client objects. Will be used later. You might wonder why the code uses a lame hash table to link the client object handles to the user mode pointer, when it should be clear that a *client* object should have a user mode attribute, like other objects, that we can use, especially since that is the only real purpose of that object. Well, tell that the MS developer, who implemented client objects without a user mode attribute...

svn path=/trunk/; revision=65053
2014-10-27 20:53:59 +00:00
Timo Kreuzer 8ab78d931a [WIN32K]
- Fail in NtGdiCreateClientObj, when the object type is not valid.
This is based on Windows behavior, only more strict. Windows allows to set the stock bit and reuse count, which is probably not what we want.

svn path=/trunk/; revision=65052
2014-10-27 20:40:11 +00:00
Amine Khaldi 0593e15998 [ADVAPI32]
* Update GetTrusteeForm{A,W}().
CORE-8540

svn path=/trunk/; revision=65050
2014-10-27 17:23:05 +00:00
Amine Khaldi b9febc1490 [ADVAPI32]
* Remove unused MAX_GUID_STRING_LEN and RECORD.
* Remove some unneeded forward declarations.
* Reorder ACEFLAG to reduce difference to Wine.
CORE-8540

svn path=/trunk/; revision=65045
2014-10-27 17:00:41 +00:00
Amine Khaldi 16c90ce222 [ADVAPI32]
* Zap SidTable.

svn path=/trunk/; revision=65044
2014-10-27 16:30:45 +00:00
Pierre Schweitzer af8bee9d61 [FASTFAT]
Don't leak reference in case of share access failure.

svn path=/trunk/; revision=65043
2014-10-27 13:39:03 +00:00
Pierre Schweitzer 8c225a0e59 [FASTFAT]
Add sanity checks in VfatSetRenameInformation() to make sure we don't leak any FCB reference

svn path=/trunk/; revision=65042
2014-10-27 13:38:14 +00:00
Pierre Schweitzer 817dfb57e2 [NTFS]
Bugfixing... Part 10/X:
- Properly compute entry name length in CompareFileName()
- Also, in CompareFileName() properly handle the return of RtlCompareUnicodeString(); this is not RtlEqualUnicodeString()!
- In NtfsLookupFileAt(), don't return an error when we're done walking the path, it's a normal behavior

All these fixes allow our NTFS to go one step farther: it can open directory/files (reading files data remains untested so far) in root and in its subdirs. Which was broken previously.
The said bugfixes in action (and in image): http://www.heisspiter.net/~Pierre/rostests/NTFS_listing_subdir.png

svn path=/trunk/; revision=65041
2014-10-27 12:35:58 +00:00
Thomas Faber 6af614fb4a [ADVAPI32]
- Hackfix CORE-8717 to stop 2nd stage from failing. Proper fix will be submitted to Wine.

svn path=/trunk/; revision=65040
2014-10-27 11:52:44 +00:00
James Tabor f1caf76d48 [NtUser]
- Fix default sizes for desktop resources. See CORE-8659.

svn path=/trunk/; revision=65039
2014-10-27 02:11:08 +00:00
Aleksandar Andrejevic 949c27964d [FAST486]
Don't leave the prefetch cache in a possibly invalid state if Fast486ReadLinearMemory
returns FALSE.


svn path=/trunk/; revision=65037
2014-10-27 00:21:06 +00:00
Aleksandar Andrejevic bc64e37fd1 [FAST486]
Implement an (optional) instruction prefetch cache.
Implement the INVLPG instruction.


svn path=/trunk/; revision=65035
2014-10-26 23:37:54 +00:00
Pierre Schweitzer dd58a72a8b [KERNEL32]
Prevent a use-after-free issue in GetVolumeNameForVolumeMountPointW()

svn path=/trunk/; revision=65034
2014-10-26 21:09:07 +00:00
Pierre Schweitzer a71e1f3760 [FASTFAT]
Make sure the appropriate resource is exclusively acquired when playing with FCB references

svn path=/trunk/; revision=65033
2014-10-26 20:29:00 +00:00
Pierre Schweitzer 4a49b030de [FASTFAT]
s/DeviceObject/DeviceExt/g

svn path=/trunk/; revision=65032
2014-10-26 20:23:07 +00:00
Pierre Schweitzer c9e616ea2b [FASTFAT]
Implement vfatGrabFCB() (which was defined but never implemented) for increasing the reference count on a FCB.
This will make debugging easier.

Dedicated to Thomas :-).

svn path=/trunk/; revision=65031
2014-10-26 20:20:42 +00:00