Commit graph

73413 commits

Author SHA1 Message Date
Mark Jansen da02cc337a
[APISETS] Update from wine-3.20-144-g2ef62f9085 2018-11-25 19:06:29 +01:00
Mark Jansen a95afd562e
[APISETS] Teach update.py how to generate a manifest 2018-11-25 19:06:29 +01:00
Mark Jansen 6121df7321
[APISETS] Stubplement versioned forwarders 2018-11-25 19:06:16 +01:00
Pierre Schweitzer 1a964b5139
[IPHLPAPI] In GetAdaptersAddresses(), return friendly name if asked for 2018-11-25 18:04:13 +01:00
Hermès Bélusca-Maïto 94d8194376
[HAL] Update the PCI hardware IDs database.
Extracted from the pci.ids database at https://pci-ids.ucw.cz/ from 2018-11-21 03:15:02 .
Maintained by Albert Pool, Martin Mares, Michal Vaner, and other volunteers from the PCI ID Project.
2018-11-25 17:21:00 +01:00
Hermès Bélusca-Maïto f8d3f9de29
[FREELDR] Check for any user keypress in menu even when the timeout is zero.
Before taking any default action if there is no timeout, check whether
the supplied key filter callback function may handle a specific user
keypress. If it does, the menu timeout is cancelled.

This allows e.g. handling F8 press for displaying boot options even when
the timeout is zero.

CORE-14046
2018-11-25 17:09:19 +01:00
Eric Kohl a94d24fe20 [MC] Add messages 4300-4349 to netmsg.dll. 2018-11-25 15:41:53 +01:00
Hermès Bélusca-Maïto 79bc82206f
[SETUPLIB] Re-enable the filesystem detection code based on recognition by FSDs. 2018-11-25 15:03:52 +01:00
Hermès Bélusca-Maïto 9504a38f52
[SETUPLIB] Dismount a disk partition before deleting it. 2018-11-25 15:03:47 +01:00
Andrew Boyarshin f48eb70af3 [WIN32K][NTUSER] Specify constant name explicitly (#1067)
Reduce confusion by specifying the omitted constant HWND_TOP == 0.
2018-11-25 14:31:23 +01:00
Andrew Boyarshin 62ec69278d [WIN32K][NTUSER] Tiny codestyle fix to NtUserLockWindowUpdate (#1066)
Fix indentation (inconsistent with the rest of the file) and return actual BOOL.
2018-11-25 14:31:04 +01:00
Andrew Boyarshin 1427e0bd2b Add .vscode folder to .gitignore file (#1060)
Matching the existence of Eclipse CDT ignore rules, .vscode should also be added to .gitignore
Visual Studio Code is always eager to create settings.json file there.
2018-11-25 14:28:45 +01:00
Pierre Schweitzer 26415375e3
[IPHLPAPI] Implement AllocateAndGetUdpExTable2FromStack()
CORE-14391
2018-11-25 13:32:52 +01:00
Pierre Schweitzer 0bca12e01f
[IPHLPAPI] Implement AllocateAndGetTcpExTable2FromStack()
CORE-14391
2018-11-25 13:29:26 +01:00
Pierre Schweitzer 291a58951f
[IPHLPAPI] Implement AllocateAndGetUdpExTableFromStack() 2018-11-25 12:23:27 +01:00
Pierre Schweitzer 58799a0ceb
[IPHLPAPI] Implement AllocateAndGetTcpExTableFromStack() 2018-11-25 12:19:44 +01:00
Andrew Boyarshin 198601a101 [NTOS:IO] Tiny improvement to debug message
Add quotes around string, since it is often empty, thus confusing in log.
2018-11-25 11:31:12 +01:00
Bernhard Feichtinger 9cc37704f5 [OPENGL32] Fix wglDescribePixelFormat 2018-11-25 11:29:18 +01:00
Bernhard Feichtinger 8a0495063b [NTOS:MM] Handle unimplemeted case for MiCheckForUserStackOverflow 2018-11-25 11:29:18 +01:00
Pierre Schweitzer cdf47d5254
[VFATLIB] Drop a hack no longer needed after f87d9ca 2018-11-25 10:41:22 +01:00
Eric Kohl 40f066657e [MC] Add messages 5730-5769 to netmsg.dll. 2018-11-25 10:38:54 +01:00
Pierre Schweitzer ce7f9211a0
[TCPIP] In InfoTdiQueryGetConnectionTcpTable(), only return if there's a connection 2018-11-25 09:32:30 +01:00
Hermès Bélusca-Maïto f87d9caf77 [NTOS:IO] Finally remove the dreadful IopParseDevice() hack! \o/ 2018-11-25 09:00:40 +01:00
Hermès Bélusca-Maïto b77824a375 [FASTFAT] Improvements for volume dismount + minor bugfixing.
- Cache the RootFcb so that its cleanup can be handled separately
  during dismounting.

- Force volume dismount at cleanup if the VCB_DISMOUNT_PENDING flag
  is set.

- Actually dismount a volume if its VCB has been flagged as not good,
  or if we force dismounting.

NOTE: In their *CheckForDismount() function, our 3rd-party FS drivers
as well as MS' fastfat, perform a comparison check of the current VCB's
VPB ReferenceCount with some sort of "dangling"/"residual" open count.
It seems to be related to the fact that the volume root directory as
well as auxiliary data stream(s) are still opened, and only these are
allowed to be opened at that moment. After analysis it appears that for
the ReactOS' fastfat, this number is equal to "3".

- On dismounting, cleanup and destroy the RootFcb, VolumeFcb and the
  FATFileObject. Then cleanup the SpareVPB or the IoVPB members, and
  finish by removing the dismounted volume from the VolumeListEntry
  and cleaning up the notify synchronization object and the resources.

- During dismounting, and on shutdown, flush the volume before
  resetting its dirty bit.

- On shutdown, after volume flushing, try to unmount it without forcing.

- Release the VCB resources only when we actually dismount the volume
  in VfatCheckForDismount().

- Initialize first the notify list and the synchronization object,
  before sending the FSRTL_VOLUME_MOUNT notification.

- If we failed at mounting a volume but its VCB's FATFileObject was
  already initialized, first call CcUninitializeCacheMap() on it
  before dereferencing it.

- Send FSRTL_VOLUME_LOCK, FSRTL_VOLUME_LOCK_FAILED and
  FSRTL_VOLUME_UNLOCK notifications during volume locking (and failure)
  and volume unlocking.

- Flush the volume before locking it, and clean its dirty bit if needed.

NOTE: In addition to checking for VCB_CLEAR_DIRTY, we also check for the
presence of the VCB_IS_DIRTY flag before cleaning up the dirty bit: this
allows us to not re-clean the bit if it has been previously cleaned.
This is needed for instance in this scenario:
- The volume is locked (it gets flushed and the dirty bit is possibly cleared);
- The volume then gets formatted with a completely different FS, that
  possibly clears up the first sector (e.g. BTRFS ignores 1st sector);
- The volume is then dismounted: if we didn't check whether VCB_IS_DIRTY
  was set prior to resetting it, we could attempt clearing it again! But
  now that the volume's filesystem has been completely changed, we would
  then try to modify the dirty bit on an erroneous position on disk!
  That's why it should not be touched in this case during dismounting.
- The volume is unlocked (same comment as above), and later can be
  detected as being BTRFS.
2018-11-25 09:00:40 +01:00
Eric Kohl 2410eef6d2 [PSDK] Add missing NELOG_ error codes to lmerrlog.h. 2018-11-24 22:29:02 +01:00
Pierre Schweitzer 0ec92100bc
[TCPIP] Properly display local information for established connections 2018-11-24 22:26:06 +01:00
Eric Kohl 41f991b1be [MC] Add message 5300-5381 to netmsg.dll. 2018-11-24 22:07:28 +01:00
Pierre Schweitzer aac38dfed8
[RDBSS] Fix a typo
Spotted by Hermès
2018-11-24 22:00:09 +01:00
Pierre Schweitzer 29c883e2a5
[NETSTAT] Add support for displaying UDP connections owning process
Our netstat can basically look like this now:
https://twitter.com/HeisSpiter/status/1066430887208919040
2018-11-24 21:41:11 +01:00
Pierre Schweitzer fbdfe7bd40
[SDK] Add GetExtendedUdpTable() 2018-11-24 21:41:10 +01:00
Pierre Schweitzer 370b03b523
[IPHLPAPI] Reimplement GetUdpTable() using GetExtendedUdpTable() 2018-11-24 21:41:10 +01:00
Pierre Schweitzer 58cef01422
[IPHLPAPI] Implement GetExtendedUdpTable()
We only support IPv4 and UDP_TABLE_BASIC, UDP_TABLE_OWNER_PID
for now

CORE-5126
2018-11-24 21:41:10 +01:00
Pierre Schweitzer 6fb6c7b50b
[IPHLPAPI] Implement getOwnerUdoTable(), to get UDP connections with owner PID 2018-11-24 21:41:10 +01:00
Pierre Schweitzer 13de7f08af
[TCPIP] Implement enumerating UDP connections with owner PID 2018-11-24 21:41:10 +01:00
Pierre Schweitzer 2b55073360
[NETSTAT] Add support for displaying TCP connections owning process 2018-11-24 21:41:10 +01:00
Pierre Schweitzer 73c87d5c14
[IPHLPAPI] Reimplement GetTcpTable() using GetExtendedTcpTable() 2018-11-24 21:41:09 +01:00
Pierre Schweitzer d76ac645e8
[IPHLPAPI] Don't leak memory 2018-11-24 21:41:09 +01:00
Pierre Schweitzer c949a12506
[IPHLPAPI] Implement the IPv4 TCP_TABLE_OWNER_PID_* cases in GetExtendedTcpTable() 2018-11-24 21:41:09 +01:00
Pierre Schweitzer dca7e5689f
[IPHLPAPI] Implement getOwnerTcpTable(), to get TCP connections with owner PID 2018-11-24 21:41:09 +01:00
Pierre Schweitzer 411504b5f4
[TCPIP] Implement enumerating TCP connections with owner PID 2018-11-24 21:41:09 +01:00
Pierre Schweitzer 935978ee57
[TCPIP] Store creator PID in ADDRESS_FILE 2018-11-24 21:41:09 +01:00
Pierre Schweitzer 702d44c683
[IPHLPAPI] Implement the IPv4 TCP_TABLE_BASIC_* cases in GetExtendedTcpTable() 2018-11-24 21:41:08 +01:00
Eric Kohl ded2783906 [MC] Add messages 3802-3969 and 5700-5729 to netmsg.dll. 2018-11-24 13:51:50 +01:00
Hermès Bélusca-Maïto a31d2f820a
[SETUPLIB] Improve the Freeldr timeout INI setting hack-fix. Dedicated to Mark Jansen ;-) CORE-15193 2018-11-24 02:45:03 +01:00
Pierre Schweitzer 91b013d387
[TCPIP] When enumerating sockets, retrieve their state and return it
This fixes netstat not having any state when enumerating connections.
Basically, now, our netstat produces stuff like:
https://twitter.com/HeisSpiter/status/1065871999266955264
2018-11-23 22:51:35 +01:00
Pierre Schweitzer 738f327668
[IP] Add a TCPGetSocketStatus() wrapper around LibTCPGetSocketStatus() 2018-11-23 22:51:35 +01:00
Pierre Schweitzer 29c1510423
[LWIP] Implement a LibTCPGetSocketStatus() function in our LwIP glue
It is used to query a socket state (established, closed, and so on).
2018-11-23 22:51:35 +01:00
Luo Yufan a2819679ec [TRANSLATION] Update Simplified Chinese translation. (#1057) 2018-11-23 16:24:47 +01:00
Joachim Henze 432afb4161 [SHELL32] Improve CORE-15295 IDD_FILE_PROPERTIES
addendum to 0.4.11-dev-673-g
04e1263921

Actually this control must not statically consume width of 170.
There are two different versions of that dialog.
One has a "change"-button. In this case the edit must be only 100 wide.
In case we have the version without the change button, we resize it to have
170 width (same as its neighbor).

This commit is shared work of
Stanislav Motylkov, Giannis Adamopoulos and Joachim Henze.

Commit supersedes PR#1056.
2018-11-23 02:25:28 +01:00
Pierre Schweitzer 500a5151ea
[TCPIP] Fix returned IP address when querying TCP connections
This gives something like that now: https://twitter.com/HeisSpiter/status/1065706156331606017 :-)

CORE-15363
2018-11-22 21:52:11 +01:00