Commit graph

74405 commits

Author SHA1 Message Date
Eric Kohl
0f21a8a6e6 [USERENV] LoadUserProfileW: Check the user for Administators and Guests group membership and set the State value accordingly.
See https://www.pcreview.co.uk/threads/purpose-of-the-state-key-located-in-users-profiles.2939114/post-9722112
2019-03-17 12:44:54 +01:00
Eric Kohl
646ab9286c [NETAPI32] NetUserEnum, NetUserGetInfo: Get the user privileges and auth flags for info levels 1, 2, 3, 4 and 11. 2019-03-17 12:34:49 +01:00
Eric Kohl
cf6a5d6e7c [USERENV] Store the profiles load time, flags and state in the profile list. 2019-03-16 19:13:15 +01:00
Jared Smudde
6707efc534 [SHELL32] Disable the Hardware tab in the properties dialog for Network drives (#1249)
This matches Windows behaviour.
2019-03-16 15:37:56 +01:00
Stanislav Motylkov
c669003418 [MEDIA][INF] Improve network adapter names 2019-03-16 15:35:15 +01:00
Daniele Campione
ee65350fcf [SNDVOL32] Small Italian translation update (#1415) 2019-03-16 15:33:57 +01:00
Serge Gautherie
1631f37404 Merge pull request #1253 from SergeGautherie/SergeGautherie/PRonly_Log2Lines_handle_escape_cmd_Path-LineOut
[LOG2LINES] handle_escape_cmd(): Remove 2 unused parameters
2019-03-16 11:23:27 +01:00
Serge Gautherie
29c9e92c9e [LOG2LINES] Add a TODO, Use a snprintf()
Addendum to c5d8d8d.
2019-03-16 11:22:58 +01:00
Stanislav Motylkov
62595d39a6 [SYSDM] Update SMBIOS parsing code 2019-03-16 11:16:55 +01:00
Eric Kohl
7d28dfd184 [USERENV] Use a reference counter when loading and unloading profiles. Unload the hive only when the reference counter reaches 0. This fixes the remaining bugs in "userenv_apitest LoadUserProfile". 2019-03-16 07:45:30 +01:00
Joachim Henze
e3e173ffaa [COMCTL32] Combobox Implement logic for set and get dropdown height CORE-15833
by import of Wine commit
313c63e194
merged from current Wine head.

Thanks to patches author Fabian Maurer
and also Doug Lyons for tests and adding initial the merge-patch.
2019-03-16 02:11:00 +01:00
Eric Kohl
05886b83e9 [USERENV] Use a mutex to serialize profile loading and unloading. 2019-03-15 21:20:14 +01:00
Katayama Hirofumi MZ
332ca5f572
[OLE32] Implement WS_EX_ACCEPTFILES (#1403)
The window that has WS_EX_ACCEPTFILES extended style, should pretend like a drop target that accepts CF_HDROP data. CORE-11238
2019-03-15 22:31:13 +09:00
Benjamin Aerni
8d75f93cbc Updated release version on readme 2019-03-15 00:05:21 +01:00
Alexander Rechitskiy
fc1c5fa245 [README] Improve the layout of the Quick-Links; add the chat link (#1409) 2019-03-15 00:04:57 +01:00
Eric Kohl
30c501fc9f [USERENV] LoadUserProfileW: If a user profile has already been loaded, just open and return the profile key. 2019-03-14 23:49:16 +01:00
Mark Jansen
ee62837ec0
[SHIMENG] Implement experimental support for multiple hooks on the same function 2019-03-14 20:02:01 +01:00
Mark Jansen
6abe0e50aa
[SDK][SHIMENG] Ensure that module entrypoints are not called while loading the shim engine
This is done by marking everything that is already loaded but not 'processed'.
After the shim engine is done initializing, the original state is restored,
with the exception of the shim engine itself.
CORE-15846
2019-03-14 20:02:01 +01:00
Mark Jansen
a1f6a6bdc3
[LDR] Do not call module entrypoints while loading the shim engine.
Manually call the shim engine entrypoint
CORE-15846
2019-03-14 20:02:01 +01:00
Mark Jansen
cfdb7d564c
[SHIMENG] Don't crash on a shim not found
CORE-15846
2019-03-14 20:02:01 +01:00
Mark Jansen
0ebeced143
[SHIMENG] Find shims case-insensitive
CORE-15845
2019-03-14 20:02:00 +01:00
Mark Jansen
cdc8b721da
[ACLAYERS] Add stubplemented IgnoreLoadLibrary shim
CORE-15845
2019-03-14 20:02:00 +01:00
Mark Jansen
996f559fd7
[APPSHIM_APITEST] Add test for IgnoreLoadLibrary
CORE-15845
2019-03-14 20:02:00 +01:00
Mark Jansen
0fdfdcb1ea
[ACLAYERS] Simplify ForceDXSetupSuccess as suggested by Thomas 2019-03-14 20:01:47 +01:00
James Tabor
b4624f32f3 [GDI32] Fix issue after a Flush
While flushing the DC handle goes down with the flush. This was not a
regression, just untested old code.
2019-03-14 12:00:53 -05:00
Thomas Faber
b91cf860cd
[UNIATA] Update to version 46e8. CORE-15843 2019-03-14 13:16:43 +01:00
Thomas Faber
48870fe35e
[UNIATA] Remove an unnecessary ROS-diff. 2019-03-14 13:16:41 +01:00
Hermès Bélusca-Maïto
0e56ec8892
[WIN32SS:NTGDI] Fix missing text in labels and buttons for .NET apps. CORE-15000
There was a missing break statement in ftGdiGetGlyphOutline().
Found by JIRA contributor 'I_Kill_Bugs' :-)

Add also brackets around 'case's to make code navigation easier.
2019-03-14 01:36:45 +01:00
jimtabor
bc534efbc5 [User32] Support WM_COPYGLOBALDATA
Implement support for WM_COPYGLOBALDATA. Needs more tests.

Tested DropTest from CORE-15836.
2019-03-13 12:16:52 -05:00
Thomas Faber
77e0409ea9
[DOC] Update 3rd party readme file. CORE-15280 2019-03-13 09:52:51 +01:00
Thomas Faber
19f9a973e5
[MAINTAINERS] Add 3rd party library files that I've been syncing.
CORE-15280 CORE-14291 CORE-13739 CORE-13451 ...
2019-03-13 09:52:47 +01:00
Joachim Henze
76118320ea Revert "[FREETYPE] Fix 3 regressions in one patch"
This reverts commit 0.4.12-dev-856-g
98b7ecd280
CORE-15785, CORE-15558, CORE-15755.

As requested by Pierre, we have very strong indication, that it broke
https://build.reactos.org/builders/Test%20KVM and
https://build.reactos.org/builders/Test%20VBox
2019-03-12 18:57:21 +01:00
Hermès Bélusca-Maïto
47a1acedf7
[SETUPLIB][USETUP] Improve disk HW numbering, removable disk support, and "super-floppy" partitioning.
Nowadays more and more people try to install ReactOS from removable
drives (e.g. USB sticks) onto fixed HDDs, or try to install it into
USB sticks too.

Both fixed and removable drives, as well as partitions on these, are
represented in NT using the same device name format:

  \Device\HarddiskM\PartitionN ,

with an increasing disk number M. Using this number for building the
corresponding firmware-specific ARC multi(x)disk(y)rdisk(z) path used
by the NT/ROS loader (FreeLdr, ...) is then prone to error since there
may have  been  removable drives  inserted  and  accounted for in the
calculation  of  the disk number.  These drives must be  correctly
subtracted in order to generate the correct ARC path, valid once all
the removable drives have been ejected (which should also be the
situation seen from the BIOS when booting up, except of course if you
boot on a USB stick).

This problem is now solved. Note that it matters only for the disks
that have also been enumerated by the firmware (BIOS; Int 13h). We
don't have to care about the other drives, since the ARC path will be
of a different format and will not use the disk number (instead, the
SCSI coordinates are used).

We also try to enumerate all the disks found in all the possible disk
adapters and  controllers enumerated  in the Hardware registry tree
(and that are visible by FreeLdr) in order to cover all.

Finally, we detect whether a disk reports as  a "super-floppy",  i.e.
an unpartitioned disk with a valid VBR. This is indeed how a standard
floppy disk looks like, or how USB sticks are partitioned on Windows.
Such disk is reported has having only one single partition starting at
the beginning of the disk, with partition number == 0, its type being
FAT16 non-bootable.
This allows us to forbid creating any new partitions on such disks.
Note that accessing either \Device\HarddiskN\Partition0 or Partition1
on such a disk returns the same data.
Note also that on the contrary, regular MBR-partitioned disks would
report at least four partitions entries, instead of just one.

The other improvements are:

- Do *NOT* write any MBR on a disk partitioned as "super-floppy".
  CORE-13703

- Fix the computed disk identifier, of format: %08x-%08x-%c .
  The numbers are respectively the checksum of the first sector, and
  the disk signature. The terminating letter is A or X, depending
  whether the first sector ends with 0x55AA/0xAA55 or not (see also
  commit 5053f1f5).

- Warn if the user attempts to install ReactOS on a disk that is not
  visible by the  firmware of his computer,  because it may not be
  bootable.
2019-03-12 02:17:11 +01:00
Eric Kohl
85c5d035d9 [NETAPI32] NetUserAdd, NetUserSetInfo: Start to set parm_err in case of invalid parameters. 2019-03-12 01:02:47 +01:00
Eric Kohl
33eb43d6e7 [NETAPI32] NetUserSetInfo: Support the logon hours for level 2, 3, 4, 22 and 1020. Also make sure that we do not leak memory on invalid levels. 2019-03-12 00:20:07 +01:00
Eric Kohl
0425d866bf [NETAPI32] NetUserGetInfo: Build and return the users SID for level 4 and 23. 2019-03-11 22:31:36 +01:00
Joachim Henze
98b7ecd280 [FREETYPE] Fix 3 regressions in one patch
Fixes regression CORE-15785 (Zim Desktop Wiki 0.67 crashed) and
Fixes regression CORE-15755 (NLite 1.4.9.3 used wrong font)

without reintroducing regression CORE-15558 (AbiWord 2.6.8 font enumeration)

This is achieved by partial revert of
0.4.12-dev-320-g
6e4e5a004c
and got ack of Katayama Hirofumi MZ.

Thanks to patches author Doug Lyons.
Test-results: https://reactos.org/testman/compare.php?ids=66264,66267
2019-03-11 20:10:14 +01:00
Arnav Bhatt
c527f72f23 [TRANSLATION] Hindi translation of the shell extensions. (#1405) 2019-03-11 16:52:21 +01:00
Luo Yufan
a0506042a6 Merge pull request #1412 from njlyf2011/improve-zh-translation
[TRANSLATION] Update Traditional Chinese translation
2019-03-11 16:50:17 +01:00
Oleg Dubinskiy
b7850f1078 [EXPLORER] Show the Desktop Russian translation update 2019-03-11 16:49:24 +01:00
Thomas Faber
fc9d5d2f55
[USBUHCI_NEW] Fix an infinite loop. 2019-03-11 08:54:03 +01:00
Thomas Faber
026a12fe39
[USBPORT] Implement interface setting in USBPORT_OpenInterface. 2019-03-11 08:54:01 +01:00
Thomas Faber
ac20ab031c
[USBPORT] Correctly handle alternate settings returned from USBPORT_ParseConfigurationDescriptor.
The last parameter of USBPORT_ParseConfigurationDescriptor is a pointer
to a boolean indicating whether any alternate interface settings were
found for the specified interface.
Interpreting it as an alternate setting value, as we did before,
would always override the alternate setting to '1' (if any alternate
descriptors were present), therefore selecting the wrong interface
setting, and possibly causing a buffer overflow on the InterfaceList's
Pipes array.

Found by Special Pool.
2019-03-11 08:53:55 +01:00
Thomas Faber
36c1cb0910
[USBPORT] Correctly find interface descriptor in USBPORT_ParseConfigurationDescriptor
There can be other descriptors between the config descriptor and the
first interface descriptor, so we specifically need to check for
the interface descriptor type and skip anything before that.
We also need to guard against bLength == 0, which would cause an
infinite loop, instead of doing a second bDescriptorType check.
2019-03-11 08:53:53 +01:00
Thomas Faber
1946f6bb25
[USBPORT] Acquire EndpointSpinLock in addition to MiniportSpinLock in USBPORT_ReopenPipe. 2019-03-11 08:53:52 +01:00
Thomas Faber
e47240fb37
[USBPORT] Release StateChangeSpinLock before acquiring MiniportSpinLock.
Found by Driver Verifier.
2019-03-11 08:53:50 +01:00
Thomas Faber
267f5633ee
[USBPORT] Leave IRP status untouched for unhandled interfaces.
Found by Driver Verifier.
2019-03-11 08:53:49 +01:00
Thomas Faber
12a66769fc
[USBPORT] Don't change the status of IRP_MJ_SYSTEM_CONTROL requests.
Found by Driver Verifier.
2019-03-11 08:53:47 +01:00
Thomas Faber
e10e6a85fb
[USBHUB_NEW] Don't leak IRP_MJ_SYSTEM_CONTROL requests.
Found by Driver Verifier.
2019-03-11 08:53:45 +01:00
Thomas Faber
938f0e469d
[NTOS:IO] Enable privilege check in NtLoadDriver. 2019-03-11 08:30:14 +01:00