From f86fabe9d21c60376b638bfcf15019e85b4bbc47 Mon Sep 17 00:00:00 2001 From: Nate McMaster Date: Thu, 23 Aug 2018 12:56:36 -0700 Subject: [PATCH 1/5] Bumping version from 2.1.1 to 2.1.2 --- version.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.props b/version.props index 6c0ef915f0..3d298cd263 100644 --- a/version.props +++ b/version.props @@ -1,6 +1,6 @@  - 2.1.1 + 2.1.2 rtm $(VersionPrefix) $(VersionPrefix)-$(VersionSuffix)-final From 338af6f07d29d9e34ae1eb8b901632cad6edb06f Mon Sep 17 00:00:00 2001 From: Justin Kotalik Date: Tue, 28 Aug 2018 09:34:10 -0700 Subject: [PATCH 2/5] Reduce probability of startup port collisions (#1273) --- src/AspNetCoreModuleV1/AspNetCore/Inc/serverprocess.h | 6 +++++- .../AspNetCore/src/serverprocess.cxx | 10 ++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/AspNetCoreModuleV1/AspNetCore/Inc/serverprocess.h b/src/AspNetCoreModuleV1/AspNetCore/Inc/serverprocess.h index 4d6bf6c145..0eebdb9d69 100644 --- a/src/AspNetCoreModuleV1/AspNetCore/Inc/serverprocess.h +++ b/src/AspNetCoreModuleV1/AspNetCore/Inc/serverprocess.h @@ -3,6 +3,8 @@ #pragma once +#include + #define MIN_PORT 1025 #define MAX_PORT 48000 #define MAX_RETRY 10 @@ -294,6 +296,8 @@ private: volatile BOOL m_fReady; mutable LONG m_cRefs; + std::mt19937 m_randomGenerator; + DWORD m_dwPort; DWORD m_dwStartupTimeLimitInMS; DWORD m_dwShutdownTimeLimitInMS; @@ -322,4 +326,4 @@ private: PROCESS_MANAGER *m_pProcessManager; ENVIRONMENT_VAR_HASH *m_pEnvironmentVarTable ; -}; \ No newline at end of file +}; diff --git a/src/AspNetCoreModuleV1/AspNetCore/src/serverprocess.cxx b/src/AspNetCoreModuleV1/AspNetCore/src/serverprocess.cxx index a64b6cae28..f7fc15e3e9 100644 --- a/src/AspNetCoreModuleV1/AspNetCore/src/serverprocess.cxx +++ b/src/AspNetCoreModuleV1/AspNetCore/src/serverprocess.cxx @@ -88,13 +88,15 @@ SERVER_PROCESS::GetRandomPort BOOL fPortInUse = FALSE; DWORD dwActualProcessId = 0; + std::uniform_int_distribution<> dist(MIN_PORT, MAX_PORT); + if (g_fNsiApiNotSupported) { // // the default value for optional parameter dwExcludedPort is 0 which is reserved // a random number between MIN_PORT and MAX_PORT // - while ((*pdwPickedPort = (rand() % (MAX_PORT - MIN_PORT)) + MIN_PORT + 1) == dwExcludedPort); + while ((*pdwPickedPort = dist(m_randomGenerator)) == dwExcludedPort); } else { @@ -106,7 +108,7 @@ SERVER_PROCESS::GetRandomPort // determing whether the randomly generated port is // in use by any other process. // - while ((*pdwPickedPort = (rand() % (MAX_PORT - MIN_PORT)) + MIN_PORT + 1) == dwExcludedPort); + while ((*pdwPickedPort = dist(m_randomGenerator)) == dwExcludedPort); hr = CheckIfServerIsUp(*pdwPickedPort, &dwActualProcessId, &fPortInUse); } while (fPortInUse && ++cRetry < MAX_RETRY); @@ -1901,10 +1903,10 @@ SERVER_PROCESS::SERVER_PROCESS() : m_pForwarderConnection( NULL ), m_dwListeningProcessId( 0 ), m_hListeningProcessHandle( NULL ), - m_hShutdownHandle( NULL ) + m_hShutdownHandle( NULL ), + m_randomGenerator( std::random_device()() ) { InterlockedIncrement(&g_dwActiveServerProcesses); - srand(GetTickCount()); for(INT i=0;i Date: Tue, 28 Aug 2018 09:34:54 -0700 Subject: [PATCH 3/5] Remove early dereference of ASPNETCORE_PORT env var (#1274) --- src/AspNetCoreModuleV1/AspNetCore/src/serverprocess.cxx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/AspNetCoreModuleV1/AspNetCore/src/serverprocess.cxx b/src/AspNetCoreModuleV1/AspNetCore/src/serverprocess.cxx index f7fc15e3e9..be5e250df5 100644 --- a/src/AspNetCoreModuleV1/AspNetCore/src/serverprocess.cxx +++ b/src/AspNetCoreModuleV1/AspNetCore/src/serverprocess.cxx @@ -131,7 +131,6 @@ SERVER_PROCESS::SetupListenPort( pEnvironmentVarTable->FindKey(ASPNETCORE_PORT_ENV_STR, &pEntry); if (pEntry != NULL) { - pEntry->Dereference(); if (pEntry->QueryValue() != NULL || pEntry->QueryValue()[0] != L'\0') { m_dwPort = (DWORD)_wtoi(pEntry->QueryValue()); From 5f20f2a2dd44ae82a07a81a3a658f6dba09a099f Mon Sep 17 00:00:00 2001 From: Justin Kotalik Date: Tue, 28 Aug 2018 09:35:49 -0700 Subject: [PATCH 4/5] Update schema for ANCMv1 (#1276) --- .../AspNetCore/aspnetcore_schema.xml | 60 +++++++++++-------- 1 file changed, 34 insertions(+), 26 deletions(-) diff --git a/src/AspNetCoreModuleV1/AspNetCore/aspnetcore_schema.xml b/src/AspNetCoreModuleV1/AspNetCore/aspnetcore_schema.xml index c1590816b7..d65be07195 100644 --- a/src/AspNetCoreModuleV1/AspNetCore/aspnetcore_schema.xml +++ b/src/AspNetCoreModuleV1/AspNetCore/aspnetcore_schema.xml @@ -11,29 +11,37 @@ --> - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 037482829de69dfbb442a690295df80c5e86dfe6 Mon Sep 17 00:00:00 2001 From: Justin Kotalik Date: Tue, 28 Aug 2018 09:36:21 -0700 Subject: [PATCH 5/5] Add commit hash to V1 description (#1281) --- src/AspNetCoreModuleV1/AspNetCore/aspnetcoremodule.rc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/AspNetCoreModuleV1/AspNetCore/aspnetcoremodule.rc b/src/AspNetCoreModuleV1/AspNetCore/aspnetcoremodule.rc index fc9f40f623..8e06cd04f5 100644 --- a/src/AspNetCoreModuleV1/AspNetCore/aspnetcoremodule.rc +++ b/src/AspNetCoreModuleV1/AspNetCore/aspnetcoremodule.rc @@ -9,6 +9,8 @@ #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#define FileDescription "IIS AspNetCore Module. Commit: " CommitHash + ///////////////////////////////////////////////////////////////////////////// // // 11 @@ -74,7 +76,7 @@ BEGIN BLOCK "040904b0" BEGIN VALUE "CompanyName", "Microsoft" - VALUE "FileDescription", "IIS ASP.NET Core Module" + VALUE "FileDescription", FileDescription VALUE "FileVersion", FileVersionStr VALUE "InternalName", "aspnetcore.dll" VALUE "LegalCopyright", "Copyright (C) 2016"