[TCPIP] Save the SubProcessTag when an ADDRESS_FILE is created
authorPierre Schweitzer <pierre@reactos.org>
Mon, 31 Dec 2018 09:21:14 +0000 (10:21 +0100)
committerPierre Schweitzer <pierre@reactos.org>
Mon, 31 Dec 2018 10:19:35 +0000 (11:19 +0100)
drivers/network/tcpip/include/titypes.h
drivers/network/tcpip/tcpip/fileobjs.c

index e63fad2..3f75976 100644 (file)
@@ -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 */
index 30a3939..400f956 100644 (file)
 
 #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 */