Commit graph

73648 commits

Author SHA1 Message Date
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
Hermès Bélusca-Maïto 2403dea9b4
[README] Now that we got rid of ViewVC (see https://reactos.org/pipermail/ros-dev/2018-November/018970.html), update the SVN archive repo URL. 2018-11-22 01:00:07 +01:00
Stanislav Motylkov c1195f5300 [SYSDM][DXDIAG][SYSTEMINFO] Include only one user-mode DMI library (#1054)
Include only one user-mode DMI library. Addendum to baf2c0c.
2018-11-21 22:07:54 +01:00
Stanislav Motylkov baf2c0cc2d [DRWTSN32] Add SMBIOS data to the system information (#1017)
[DMILIB][UDMIHELP] Allow functions to be linked with C++ code.
2018-11-21 21:49:15 +01:00
Denis Malikov d897e271a2
[KERNEL32] FlsAlloc - fiber local storage list was not initialized before using 2018-11-21 19:18:01 +01:00
William Kent c1b4d51f0b
[MC] Fix syntax errors in errcodes.mc
This was causing the MSVC build to fail.
2018-11-21 00:15:42 +01:00
Adam Stachowicz 3562339a88 Update README.md (#1051)
Powered by markdownlint ;)
2018-11-20 23:59:18 +01:00
Pierre Schweitzer 8a98c85c1f
[IPHLPAPI] Fix checking entity when enumerating TCP/UDP connections
This fixes the API not to return the current TCP connections while
enumerating them (and thus, netstat not displaying them).
It seems we return garbage for now though
2018-11-20 22:14:25 +01:00
William Kent f6f1255cf7 Add support for latest VS2017 (15.0) compiler (#1050)
Latest VS 2017 CL.EXE compiler (version 19.16...) wasn't being correctly detected by the configure.cmd script.
2018-11-19 17:34:08 +01:00
Serge Gautherie 154ed37062 [NETSHELL] Fix '0' typo, in a text 2018-11-19 09:57:42 +02:00
Eric Kohl 634192cccd [MC] Add messages 3710-3790 to netmsg.dll. 2018-11-18 23:58:12 +01:00
Hermès Bélusca-Maïto 70fa2e2eb4
[SETUPLIB][USETUP] Additional partition validity checks.
Always perform the partition validity checks when creating new
primary/extended/logical partitions, and also when a new partition
is automatically created when unpartitioned space is selected for
ReactOS installation.

CORE-12246
2018-11-18 21:13:36 +01:00
Hermès Bélusca-Maïto 2d320f5a8d
[OLE32] The CoDisconnectContext() stub added in 6a2f9673 (PR #1044) is actually Vista+. Caught by Thomas Faber. 2018-11-18 21:06:22 +01:00
Hermès Bélusca-Maïto e77ffe2c72
[FILEBROWSER] Remove a duplicated include. Noticed by Manuel Oppermann (see ros-dev ML). 2018-11-18 21:06:21 +01:00
Hermès Bélusca-Maïto 769280c520
[CHKDSK] Fix italian translation, by Marco Savelli (addendum to cfff74da). 2018-11-18 21:06:19 +01:00
Pierre Schweitzer f29016dabe
[TCPIP] Properly handle listening sockets
We first check if a socket is listening before
checking whether it has connections. This allows
properly returning listening address.
Furthermore, if it's listening, properly return
status so that it displays nice in netstat.

Result: https://twitter.com/HeisSpiter/status/1064245622323200000 :-)
2018-11-18 20:51:54 +01:00