Yay, add more things that the Russians can mock us for in forum posts...

Best regards,
Alex Ionescu


On Mon, Dec 31, 2018 at 5:20 AM Pierre Schweitzer <pierre@reactos.org> wrote:
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d98001de17b9988296e56c223b0344d58686912e

commit d98001de17b9988296e56c223b0344d58686912e
Author:     Pierre Schweitzer <pierre@reactos.org>
AuthorDate: Mon Dec 31 10:21:14 2018 +0100
Commit:     Pierre Schweitzer <pierre@reactos.org>
CommitDate: Mon Dec 31 11:19:35 2018 +0100

    [TCPIP] Save the SubProcessTag when an ADDRESS_FILE is created
---
 drivers/network/tcpip/include/titypes.h | 1 +
 drivers/network/tcpip/tcpip/fileobjs.c  | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/drivers/network/tcpip/include/titypes.h b/drivers/network/tcpip/include/titypes.h
index e63fad2821..3f75976b4e 100644
--- a/drivers/network/tcpip/include/titypes.h
+++ b/drivers/network/tcpip/include/titypes.h
@@ -155,6 +155,7 @@ typedef struct _ADDRESS_FILE {
     IP_ADDRESS AddrCache;                 /* One entry address cache (destination
                                              address of last packet transmitted) */
     HANDLE ProcessId;                     /* Creator process ID */
+    PVOID SubProcessTag;                  /* Creator process tag */
     LARGE_INTEGER CreationTime;           /* Time of creation */

     /* The following members are used to control event notification */
diff --git a/drivers/network/tcpip/tcpip/fileobjs.c b/drivers/network/tcpip/tcpip/fileobjs.c
index 30a3939e2b..400f956034 100644
--- a/drivers/network/tcpip/tcpip/fileobjs.c
+++ b/drivers/network/tcpip/tcpip/fileobjs.c
@@ -10,6 +10,10 @@

 #include "precomp.h"

+/* FIXME: including pstypes.h without ntifs fails */
+#include <ntifs.h>
+#include <ndk/pstypes.h>
+
 /* Uncomment for logging of connections and address files every 10 seconds */
 //#define LOG_OBJECTS

@@ -425,6 +429,7 @@ NTSTATUS FileOpenAddress(
   AddrFile->BCast = 1;
   AddrFile->HeaderIncl = 1;
   AddrFile->ProcessId = PsGetCurrentProcessId();
+  AddrFile->SubProcessTag = ((PTEB)PsGetCurrentThreadTeb())->SubProcessTag;
   KeQuerySystemTime(&AddrFile->CreationTime);

   /* Make sure address is a local unicast address or 0 */