Thomas Faber [Mon, 3 Nov 2014 16:16:26 +0000 (16:16 +0000)]
[PCI]
- Addendum to r65181: fix a stray debug print
svn path=/trunk/; revision=65227
Jérôme Gardou [Mon, 3 Nov 2014 12:55:59 +0000 (12:55 +0000)]
[IPHLPAPI]
- Start implementing GetAdaptersAddresses.
For now it noly gives interface names and DNS servers IP, but that's already more than 'UNIMPLEMENTED'.
svn path=/trunk/; revision=65220
Jérôme Gardou [Mon, 3 Nov 2014 12:55:54 +0000 (12:55 +0000)]
[PSDK]
- Add missing GAA_FLAG_* flags for GetAdaptersAddresses function
svn path=/trunk/; revision=65219
Jérôme Gardou [Mon, 3 Nov 2014 12:55:45 +0000 (12:55 +0000)]
[TCPIP]
- Use the structure defined in the public headers instead of some strange internal thing.
Uppercase is not so fashionable after all.
svn path=/trunk/; revision=65218
Jérôme Gardou [Mon, 3 Nov 2014 09:52:08 +0000 (09:52 +0000)]
[NTOS/PS]
- Do not leak a reference to the process object when setting quotas.
svn path=/trunk/; revision=65210
Pierre Schweitzer [Sun, 2 Nov 2014 23:11:22 +0000 (23:11 +0000)]
[DISK]
Add a hack to forcibly set sector size in case of weird input. This is noisy on purpose.
Also, be more informative in case of read rejection. Are we reading beyond partition or do we have invalid sector size?
With the hack, the invalid sector size should disappear.
This is to help debugging the recent errors with the removal of IopParseDevice() hack
svn path=/trunk/; revision=65205
Hervé Poussineau [Sun, 2 Nov 2014 22:56:53 +0000 (22:56 +0000)]
[NTFS] Implement IRP_MJ_QUERY_INFORMATION/FileNetworkOpenInformation:
We are now able to execute some binaries on a NTFS partition.
svn path=/trunk/; revision=65204
Hervé Poussineau [Sun, 2 Nov 2014 22:56:47 +0000 (22:56 +0000)]
[NTFS] Fix IRP_MJ_QUERY_INFORMATION/FileNameInformation, which should handle buffers not big enough
svn path=/trunk/; revision=65203
Hervé Poussineau [Sun, 2 Nov 2014 22:56:38 +0000 (22:56 +0000)]
[NTFS] Update headers
svn path=/trunk/; revision=65202
Pierre Schweitzer [Sun, 2 Nov 2014 21:50:40 +0000 (21:50 +0000)]
[NTFS]
Update headers.
Hervé, feel free to copy :-P
svn path=/trunk/; revision=65198
Hervé Poussineau [Sun, 2 Nov 2014 20:18:34 +0000 (20:18 +0000)]
[NTFS] Hack fix duplicate directory entries for files having a short name and a long name
svn path=/trunk/; revision=65196
Hervé Poussineau [Sun, 2 Nov 2014 20:18:27 +0000 (20:18 +0000)]
[NTFS] Optimize directory search initialization
svn path=/trunk/; revision=65195
Pierre Schweitzer [Sun, 2 Nov 2014 19:55:22 +0000 (19:55 +0000)]
[NTFS]
Quickly implement NtfsReadFile().
By quickly, I mean that it works but is under optimal in many ways, and also doesn't support any caching. So, don't expect breaking performances.
BUUUUUUT... This implements reading a file on a NTFS volume on ReactOS! And it works!
Here is a picture of all the achievements of ReactOS with NTFS lately: http://www.heisspiter.net/~Pierre/rostests/NTFS_all.png
-> Volume information
-> Displaying files in explorer
-> Moving across directories
-> Reading a file (with more here)
That's all folks! (for now ;-))
svn path=/trunk/; revision=65192
Pierre Schweitzer [Sun, 2 Nov 2014 19:27:58 +0000 (19:27 +0000)]
[NTFS]
Don't attempt to uninitialize cache map with a spin lock held.
svn path=/trunk/; revision=65191
Hervé Poussineau [Sun, 2 Nov 2014 18:58:16 +0000 (18:58 +0000)]
[NTFS] Fix directory listing with search pattern
This fixes name completion in command prompt.
svn path=/trunk/; revision=65190
Hervé Poussineau [Sun, 2 Nov 2014 18:58:09 +0000 (18:58 +0000)]
[NTOS:CM] Remove some debug prints
svn path=/trunk/; revision=65189
Hervé Poussineau [Sun, 2 Nov 2014 18:58:04 +0000 (18:58 +0000)]
[FDC] Remove some debug prints
svn path=/trunk/; revision=65188
Hervé Poussineau [Sun, 2 Nov 2014 18:57:56 +0000 (18:57 +0000)]
[SYSSETUP] Disable debug prints (incidentally enabled in r65128)
svn path=/trunk/; revision=65187
Pierre Schweitzer [Sun, 2 Nov 2014 17:53:18 +0000 (17:53 +0000)]
[NTFS]
Fix a really nasty bug in NTFS: it was possible to perform a buffer overflow when reading the bitmap data.
svn path=/trunk/; revision=65186
Thomas Faber [Sun, 2 Nov 2014 15:41:20 +0000 (15:41 +0000)]
[NTOS:SE]
- Call SeAssignSecurityEx from SeAssignSecurity
- Fix a FIXME
svn path=/trunk/; revision=65183
Timo Kreuzer [Sun, 2 Nov 2014 11:30:14 +0000 (11:30 +0000)]
[HAMMERTIMESTFU]
Silence "a few" DPRINTs
svn path=/trunk/; revision=65181
Eric Kohl [Sun, 2 Nov 2014 09:56:18 +0000 (09:56 +0000)]
[NET]
Net user command:
- Fix typos in the /ACTIVE option.
- Implement the /COUNTRYCODE, /PASSWORDCHG and /PASSWORDREQ options.
svn path=/trunk/; revision=65179
Thomas Faber [Sun, 2 Nov 2014 07:17:39 +0000 (07:17 +0000)]
[SACDRV]
- Silence debug prints
- Avoid magic numbers
svn path=/trunk/; revision=65178
Pierre Schweitzer [Sat, 1 Nov 2014 21:13:16 +0000 (21:13 +0000)]
[USETUP]
Make commented out code build (if ever uncommented ;-))
svn path=/trunk/; revision=65175
Pierre Schweitzer [Sat, 1 Nov 2014 21:09:10 +0000 (21:09 +0000)]
[EXT2LIB]
Whatever happened during format, always unmount the volume.
This allows switching FS in usetup after formating an ext2 volume.
As a record, before (read, with the IopParseDevice) hack, this wasn't possible and if formating with ext2 was possible, kernel would have written with either RawFS or FastFAT driver. Which is not exactly what we want ;-).
But no joy guys... The Ext2Fsd needs to work in ReactOS first before we can effectively install ReactOS on ext2 volumes.
In any case, that's a clear step forward :-)
svn path=/trunk/; revision=65174
Pierre Schweitzer [Sat, 1 Nov 2014 20:19:52 +0000 (20:19 +0000)]
[FASTFAT]
Implement some kind of volume dismount in FastFAT (ie, implement VfatDismountVolume())
This is not fully perfect situation, but it does most of the job (+ leaking a few things). So far, this is not dramatic as its main use is for 1st stage. This will have to be improved later on.
CORE-8732 #comment Can you retest please?
svn path=/trunk/; revision=65173
Eric Kohl [Sat, 1 Nov 2014 19:24:44 +0000 (19:24 +0000)]
[NET]
Display user group memberships.
svn path=/trunk/; revision=65172
Thomas Faber [Sat, 1 Nov 2014 18:00:15 +0000 (18:00 +0000)]
[FASTFAT]
- The volume FCB is not reference counted, so don't dereference it on close.
svn path=/trunk/; revision=65171
Hermès Bélusca-Maïto [Sat, 1 Nov 2014 17:51:39 +0000 (17:51 +0000)]
[BASESRV]
- Correctly set the VdmPower flag when the process being started is a NT VDM
- Return a correct status code if VDM access is forbidden.
svn path=/trunk/; revision=65170
Hermès Bélusca-Maïto [Sat, 1 Nov 2014 15:35:45 +0000 (15:35 +0000)]
[KERNEL32]
- Mark almost all of the exported console APIs hotpatchable (normally on windows 2k3, all the exports of kernel32 are hotpatchable...)
- Version check mismatch is not a ReactOS error by itself so adjust the DPRINT a bit.
svn path=/trunk/; revision=65169
Kamil Hornicek [Sat, 1 Nov 2014 12:43:45 +0000 (12:43 +0000)]
[RAPPS]
- don't resize the richedit window on minimize
CORE-6116
svn path=/trunk/; revision=65168
Eric Kohl [Sat, 1 Nov 2014 12:32:01 +0000 (12:32 +0000)]
[NET]
- Display workstations.
- Implement the /ACTIVATE option to enable/disable user accounts.
svn path=/trunk/; revision=65167
Pierre Schweitzer [Sat, 1 Nov 2014 10:02:08 +0000 (10:02 +0000)]
[NTFS]
Simplify buffer size management in GetNtfsFileRecord(). As tests shown, Windows doesn't care about the real size of the file record and expects the caller to pass the complete size of the record and returns it fully.
CORE-8725
svn path=/trunk/; revision=65166
Pierre Schweitzer [Sat, 1 Nov 2014 09:56:33 +0000 (09:56 +0000)]
[NTFS_TEST]
Add a simple application (à la NTFSInfo & nfi) to dump the data about a NTFS volume using the FSCTL control codes.
This is for both demonstrating how it works and to assess our driver behavior against Windows behavior of these FSCTL.
CORE-8725
svn path=/trunk/; revision=65165
Pierre Schweitzer [Sat, 1 Nov 2014 08:58:41 +0000 (08:58 +0000)]
[PSDK]
Add yet another missing NTFS define
svn path=/trunk/; revision=65164
Pierre Schweitzer [Sat, 1 Nov 2014 08:03:57 +0000 (08:03 +0000)]
[PSDK]
Add missing NTFS defines
svn path=/trunk/; revision=65163
Kamil Hornicek [Fri, 31 Oct 2014 22:39:19 +0000 (22:39 +0000)]
[EVENTLOG]
- fix a possible null dereference
svn path=/trunk/; revision=65162
Amine Khaldi [Fri, 31 Oct 2014 18:46:27 +0000 (18:46 +0000)]
[SHELL32]
* Apply Wine commit
a2c90524 by Aric Stewart: Improve the FO_MOVE operation.
* More shell32:shlfileop tests run, less fail.
CORE-8540
svn path=/trunk/; revision=65159
Kamil Hornicek [Fri, 31 Oct 2014 18:13:36 +0000 (18:13 +0000)]
[KERNEL32]
- rewrite the GEO_FRIENDLYNAME case of GetGeoInfoW which was completely wrong, intl.cpl now shows a valid list of locations
- note: The geo location resource strings have an arbitrary offset so that they don't collide with the nls resources (which shouldn't be there). Once these are moved out of kernel32 into locale.nls this offset alongside with the hack already present in GetLocalisedText can be removed.
svn path=/trunk/; revision=65157
Thomas Faber [Fri, 31 Oct 2014 18:02:52 +0000 (18:02 +0000)]
[SHELL32]
- Fix a use after free in COpenWithMenu::Initialize. Powered by DPH.
svn path=/trunk/; revision=65156
Thomas Faber [Fri, 31 Oct 2014 17:35:38 +0000 (17:35 +0000)]
[NEWDEV]
- Fix buffer overflow in PopulateCustomPathCombo. Powered by DPH.
- Fix a signed vs unsigned comparison
svn path=/trunk/; revision=65154
Thomas Faber [Fri, 31 Oct 2014 17:05:30 +0000 (17:05 +0000)]
[MSGINA]
- pszEnvironment is a multi-sz string so make sure to double-null terminate it. Fixes a buffer overrun in winlogon; powered by DPH.
svn path=/trunk/; revision=65153
Kamil Hornicek [Fri, 31 Oct 2014 16:32:23 +0000 (16:32 +0000)]
[KERNEL32]
- fall back to english if a localized resource is not found in GetLocalisedText
- this prevents debug spam and loss of functionality (see CORE-8720) for languages that don't have kernel32 translated
svn path=/trunk/; revision=65152
Kamil Hornicek [Fri, 31 Oct 2014 15:57:09 +0000 (15:57 +0000)]
[WIN32K]
- don't access user mode buffers directly in the Freetype code
svn path=/trunk/; revision=65150
Amine Khaldi [Fri, 31 Oct 2014 15:16:51 +0000 (15:16 +0000)]
[SHELL32]
* Rename shellstring.cpp to shellstring.c and update it against Wine 1.7.27.
CORE-8540
svn path=/trunk/; revision=65147
Amine Khaldi [Fri, 31 Oct 2014 14:29:26 +0000 (14:29 +0000)]
[SHELL32]
* Move TRASH_CanTrashFile and TRASH_TrashFile declarations to recyclebin.h.
* Do not include xdg.h in shlfileop.cpp anymore.
* Remove the now unneeded xdg.h.
svn path=/trunk/; revision=65146
Pierre Schweitzer [Fri, 31 Oct 2014 14:21:35 +0000 (14:21 +0000)]
[NTFS]
- Move FSCTL_GET_NTFS_VOLUME_DATA implementation in its own function GetNfsVolumeData(), so remove it from NtfsUserFsRequest()
- Add support for FSCTL_GET_NTFS_FILE_RECORD in NtfsUserFsRequest()
- Implement GetNtfsFileRecord() which returns a file record. Not fully sure about its implementation, this is to be checked.
This does not really improve the nfi situation in any kind yet...
CORE-8725
svn path=/trunk/; revision=65145
Pierre Schweitzer [Fri, 31 Oct 2014 14:16:15 +0000 (14:16 +0000)]
[NTOSKRNL]
Testman confirms that IopParseDevice() hack is no longer required.
So, this is the end of this 8y old hack.
Now ReactOS is able to properly use its storage stack (who said, amazing?)
Bisous IopParseDevice() hack :-)
svn path=/trunk/; revision=65144
Jérôme Gardou [Fri, 31 Oct 2014 11:35:32 +0000 (11:35 +0000)]
[OPENGL32]
- Do not crash if thread data was not allocated
svn path=/trunk/; revision=65143
Pierre Schweitzer [Fri, 31 Oct 2014 11:22:26 +0000 (11:22 +0000)]
[NTOSKRNL]
Revert r65120...
Which was reverting r65119...
Which was reverting r65117...
Which was reverting r65110...
Which was reverting r65107...
Which was reverting r65104!
To make it short? Fuck you IopParseDevice() hack!
And this time, I hope this is the right one!
I couldn't reproduce any of the previous issues in my WC.
svn path=/trunk/; revision=65142
Pierre Schweitzer [Fri, 31 Oct 2014 11:17:43 +0000 (11:17 +0000)]
[NTOSKRNL]
Some fixes and missing implementations in RawFS:
- Remove some magic values for VCB state
- Add a local VPB in our VCB. This will allow diverting the IO VPB with ours in case of dismount (and thus, will fix dismount)
- Implement support for said VPB in both RawCheckForDismount() and RawInitializeVcb()
- Now, dismount is handled in RawCheckForDismount() directly, and not in functions calling it
- Handle streams in RawClose
- Handle VCB being dismounted in RawCreate()
- Handle dismount also in RawCleanup() (not only in RawClose())
This fixes volume locking and dismounting in RawFS. And thus, allows FS swap in case of raw volume formating in first stage :-).
More to follow!
svn path=/trunk/; revision=65141
Jérôme Gardou [Fri, 31 Oct 2014 11:04:12 +0000 (11:04 +0000)]
[FASTFAT]
- Fix renaming files in case the target file already exists.
- Plug a few reference count leaks on FCBs.
CORE-8660 #comment fixed in r65140 #resolve
CORE-8633 #comment fixed in r65140 #resolve
CORE-4758 #comment fixed in r65140 #resolve
svn path=/trunk/; revision=65140
Jérôme Gardou [Fri, 31 Oct 2014 11:03:56 +0000 (11:03 +0000)]
[NTOS/SE]
- Allocate the new ACL for the token with the right pool.
Fixes google chrome BAD_POOL_CALLER bugcheck.
svn path=/trunk/; revision=65139
Amine Khaldi [Fri, 31 Oct 2014 10:40:48 +0000 (10:40 +0000)]
[FTP]
* Plug a leak. CID 513875.
CORE-7975
svn path=/trunk/; revision=65138
Amine Khaldi [Fri, 31 Oct 2014 10:24:48 +0000 (10:24 +0000)]
[LOGOFF]
* LocalFree should only be executed if AllocAndLoadString() succeeds. Spotted by Thomas Faber.
svn path=/trunk/; revision=65137
Amine Khaldi [Fri, 31 Oct 2014 10:20:55 +0000 (10:20 +0000)]
[IPCONFIG]
* Plug some leaks. CIDs 716301 => 716305.
CORE-7975
svn path=/trunk/; revision=65136
Amine Khaldi [Fri, 31 Oct 2014 09:53:18 +0000 (09:53 +0000)]
[FINGER]
* Addendum to r37084.
* Really fixes CIDs 500624 and 500625 which were marked as fixed.
CORE-7975
svn path=/trunk/; revision=65135
Amine Khaldi [Fri, 31 Oct 2014 09:43:48 +0000 (09:43 +0000)]
[FINGER]
* Plug a leak. CID
1102406.
CORE-7975
svn path=/trunk/; revision=65134
Amine Khaldi [Fri, 31 Oct 2014 09:22:59 +0000 (09:22 +0000)]
[LOGOFF]
* Plug some leaks. CIDs 716284 and 716285.
CORE-7975
svn path=/trunk/; revision=65133
Amine Khaldi [Fri, 31 Oct 2014 09:08:43 +0000 (09:08 +0000)]
[SHELL32]
* Plug a leak. CID 716474.
CORE-7975
svn path=/trunk/; revision=65132
Kamil Hornicek [Fri, 31 Oct 2014 00:21:03 +0000 (00:21 +0000)]
[WIN32K]
- check for an attached surface a bit earlier in GreExtTextOutW
- fixes Foobar 2000
CORE-7425
svn path=/trunk/; revision=65131
Pierre Schweitzer [Thu, 30 Oct 2014 21:12:38 +0000 (21:12 +0000)]
[VFATLIB]
When we're done with formatting, attempt to umount the volume, so that it can be remounted properly by FastFAT.
svn path=/trunk/; revision=65130
Pierre Schweitzer [Thu, 30 Oct 2014 20:56:40 +0000 (20:56 +0000)]
[FASTFAT]
On the road for getting rid of IopParseDevice() hack....
- Add support for FSCTL_LOCK_VOLUME, FSCTL_UNLOCK_VOLUME, FSCTL_DISMOUNT_VOLUME in VfatFileSystemControl()
- Implement VfatLockOrUnlockVolume(). This brings some kind of volume locking to FastFAT FSD. It's likely not fully accurate and welcome to race conditions. But, its main purpose is to be used in usetup. So, this is fine for now.
- Stubplement VfatDismountVolume(). This will be implemented later on, but should be relatively straightforward as it requires volume to be locked (so, we're the last ones on it :-)).
svn path=/trunk/; revision=65129
Sylvain Petreolle [Thu, 30 Oct 2014 20:50:30 +0000 (20:50 +0000)]
[APPWIZ][SYSSETUP]
Enforce focus of the Wine Gecko download prompt in second stage.
Patch by Ismael Ferreras Morezuelas (swyter)
svn path=/trunk/; revision=65128
Hervé Poussineau [Thu, 30 Oct 2014 20:22:57 +0000 (20:22 +0000)]
[FREELDR] Move down the requirement of highest usable address
This fixes PXE boot in QEMU, where highest usable address is 0x9c400.
svn path=/trunk/; revision=65127
Amine Khaldi [Thu, 30 Oct 2014 13:29:44 +0000 (13:29 +0000)]
[BOOTDATA]
* Romanian translation update by Ștefan Fulea.
CORE-8630 #resolve #comment Committed in r65123. Thanks!
svn path=/trunk/; revision=65123
Kamil Hornicek [Thu, 30 Oct 2014 12:15:11 +0000 (12:15 +0000)]
[INTL]
- don't display garbage in the location combo box
svn path=/trunk/; revision=65122
Pierre Schweitzer [Thu, 30 Oct 2014 08:39:03 +0000 (08:39 +0000)]
[NTOSKRNL]
Actually enable again the hack...
For whatever reason, it works with my WC but not with clean trunk...
Where are the you, magic and silent patch that fixes it? :-(
svn path=/trunk/; revision=65120
Pierre Schweitzer [Thu, 30 Oct 2014 07:49:37 +0000 (07:49 +0000)]
[NTOSKRNL]
Finally, disable again the IopParseDevice hack.
Just for the record, opening a volume with FILE_READ_EA or FILE_READ_DATA is legal and works in Windows (NTFS Info for instance opens it with GENERIC_READ).
Let's hope we can rid of this hack forever now... It's been with us since 2006!
svn path=/trunk/; revision=65119
Pierre Schweitzer [Thu, 30 Oct 2014 07:46:25 +0000 (07:46 +0000)]
[FASTFAT]
Don't over-reference our FCB in case of volume opening (vfatAttachFCBToFileObject() already references it).
This fixes 1st stage and beyond with IopParseDevice hack off
svn path=/trunk/; revision=65118
Pierre Schweitzer [Wed, 29 Oct 2014 23:28:15 +0000 (23:28 +0000)]
[NTOSKRNL]
Reenable IopParseDevice hack for now.
Out of fixes for tonight.
svn path=/trunk/; revision=65117
Pierre Schweitzer [Wed, 29 Oct 2014 23:10:31 +0000 (23:10 +0000)]
[FASTFAT]
Now that we start to honor the storage stack (ie, without the IopParseDevice hack ;-)), we have to let FSDs forward device IOCTLs.
This allows back copying files on 1st stage
svn path=/trunk/; revision=65116
Pierre Schweitzer [Wed, 29 Oct 2014 22:51:16 +0000 (22:51 +0000)]
[FASTFAT]
Don't attempt to mount any partition just because we have a valid partition table...
Restrict this to them being marked as FAT or compatible.
svn path=/trunk/; revision=65115
Pierre Schweitzer [Wed, 29 Oct 2014 22:40:16 +0000 (22:40 +0000)]
[NTFS]
Addendum to r65112
svn path=/trunk/; revision=65113
Pierre Schweitzer [Wed, 29 Oct 2014 22:36:55 +0000 (22:36 +0000)]
[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
Sylvain Petreolle [Wed, 29 Oct 2014 22:22:24 +0000 (22:22 +0000)]
[NTOSKRNL]
Reapply r65107.
We need fixes, not hacks.
Sorry for being popular^W pressure ;)
svn path=/trunk/; revision=65110
Eric Kohl [Wed, 29 Oct 2014 22:17:23 +0000 (22:17 +0000)]
[NETAPI32]
NetUserModalsGet:
- Return the proper maximum password age.
- Remove dead code.
svn path=/trunk/; revision=65109
Sylvain Petreolle [Wed, 29 Oct 2014 21:34:01 +0000 (21:34 +0000)]
[UNIATA]
Update to 0.45c1.
svn path=/trunk/; revision=65108
Pierre Schweitzer [Wed, 29 Oct 2014 21:22:36 +0000 (21:22 +0000)]
[NTOSKRNL]
Reenable hack due to popular pressure.
Still better than fixing it, it seems...
So, break again volume opening.
svn path=/trunk/; revision=65107
Pierre Schweitzer [Wed, 29 Oct 2014 18:42:05 +0000 (18:42 +0000)]
[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
Pierre Schweitzer [Wed, 29 Oct 2014 18:25:30 +0000 (18:25 +0000)]
[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
Pierre Schweitzer [Wed, 29 Oct 2014 18:20:43 +0000 (18:20 +0000)]
[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
Kamil Hornicek [Wed, 29 Oct 2014 18:20:03 +0000 (18:20 +0000)]
[NLS]
- fix the code page value
- also fixes intl.cpl showing date format string in the code page list
svn path=/trunk/; revision=65103
Kamil Hornicek [Wed, 29 Oct 2014 16:59:44 +0000 (16:59 +0000)]
[KERNEL32]
- remove bunch of stray pragmas
- add a czech translation to stop debug spam reported in CORE-8720
svn path=/trunk/; revision=65102
Kamil Hornicek [Wed, 29 Oct 2014 14:27:09 +0000 (14:27 +0000)]
[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
Pierre Schweitzer [Wed, 29 Oct 2014 11:31:19 +0000 (11:31 +0000)]
[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
Timo Kreuzer [Tue, 28 Oct 2014 22:16:24 +0000 (22:16 +0000)]
[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
Pierre Schweitzer [Tue, 28 Oct 2014 21:59:57 +0000 (21:59 +0000)]
[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
Eric Kohl [Tue, 28 Oct 2014 21:57:41 +0000 (21:57 +0000)]
[NET]
Display more password information in the NET USER command.
svn path=/trunk/; revision=65089
Kamil Hornicek [Tue, 28 Oct 2014 21:38:26 +0000 (21:38 +0000)]
[WIN32K]
- addendum to revision 64877 which slightly changed UserDrawCaption's logic
- fixes window title being drawn over the icon
svn path=/trunk/; revision=65087
Timo Kreuzer [Tue, 28 Oct 2014 21:09:01 +0000 (21:09 +0000)]
[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
Pierre Schweitzer [Tue, 28 Oct 2014 20:39:42 +0000 (20:39 +0000)]
[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
Pierre Schweitzer [Tue, 28 Oct 2014 19:17:59 +0000 (19:17 +0000)]
[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
Giannis Adamopoulos [Tue, 28 Oct 2014 17:32:01 +0000 (17:32 +0000)]
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
Ged Murphy [Tue, 28 Oct 2014 17:07:47 +0000 (17:07 +0000)]
[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
Pierre Schweitzer [Tue, 28 Oct 2014 10:26:47 +0000 (10:26 +0000)]
[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
Timo Kreuzer [Tue, 28 Oct 2014 09:06:33 +0000 (09:06 +0000)]
[GDI32]
Implement separate functions for all SelectObject cases.
svn path=/trunk/; revision=65067
Christoph von Wittich [Tue, 28 Oct 2014 08:15:49 +0000 (08:15 +0000)]
[DRIVERS]
don't use uninitialized variables
svn path=/trunk/; revision=65066
Timo Kreuzer [Tue, 28 Oct 2014 00:55:22 +0000 (00:55 +0000)]
[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
Aleksandar Andrejevic [Tue, 28 Oct 2014 00:53:02 +0000 (00:53 +0000)]
[FAST486]
Fix a typo in r65061.
svn path=/trunk/; revision=65062