From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 126572 invoked by alias); 23 Oct 2017 10:34:43 -0000 Mailing-List: contact cygwin-apps-help@cygwin.com; run by ezmlm Precedence: bulk Sender: cygwin-apps-owner@cygwin.com List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Mail-Followup-To: cygwin-apps@cygwin.com Received: (qmail 126559 invoked by uid 89); 23 Oct 2017 10:34:42 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.6 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2 spammy=HANDLE, HX-Junkmail-Premium-Raw:HTML_00_01, D*org.uk, HX-Junkmail-Premium-Raw:sk:__MIME_ X-HELO: rgout02.bt.lon5.cpcloud.co.uk Received: from rgout0206.bt.lon5.cpcloud.co.uk (HELO rgout02.bt.lon5.cpcloud.co.uk) (65.20.0.205) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 23 Oct 2017 10:34:40 +0000 X-OWM-Source-IP: 86.179.113.201 (GB) X-OWM-Env-Sender: jonturney@btinternet.com X-Junkmail-Premium-Raw: score=7/50,refid=2.7.2:2017.10.23.95716:17:7.944,ip=,rules=__HAS_FROM, __TO_MALFORMED_2, __TO_NO_NAME, __HAS_CC_HDR, __CC_NAME, __CC_NAME_DIFF_FROM_ACC, __SUBJ_ALPHA_END, __HAS_MSGID, __SANE_MSGID, __HAS_X_MAILER, __IN_REP_TO, __REFERENCES, __FROM_DOMAIN_IN_ANY_CC1, __ANY_URI, __URI_NO_WWW, __NO_HTML_TAG_RAW, BODYTEXTP_SIZE_3000_LESS, BODY_SIZE_2000_2999, __MIME_TEXT_P1, __MIME_TEXT_ONLY, __URI_NS, HTML_00_01, HTML_00_10, BODY_SIZE_5000_LESS, IN_REP_TO, MSG_THREAD, __FROM_DOMAIN_IN_RCPT, __CC_REAL_NAMES, MULTIPLE_REAL_RCPTS, LEGITIMATE_SIGNS, __MIME_TEXT_P, REFERENCES, NO_URI_HTTPS, BODY_SIZE_7000_LESS Received: from localhost.localdomain (86.179.113.201) by rgout02.bt.lon5.cpcloud.co.uk (9.0.019.13-1) (authenticated as jonturney@btinternet.com) id 59D91D94018A1246; Mon, 23 Oct 2017 11:34:38 +0100 From: Jon Turney To: cygwin-apps@cygwin.com Cc: Jon Turney Subject: [PATCH setup] Add OS version to user-agent string Date: Mon, 23 Oct 2017 10:34:00 -0000 Message-Id: <20171023103417.214992-1-jon.turney@dronecode.org.uk> In-Reply-To: <20171019123520.85040-1-jon.turney@dronecode.org.uk> References: <20171019123520.85040-1-jon.turney@dronecode.org.uk> X-SW-Source: 2017-10/txt/msg00099.txt.bz2 Signed-off-by: Jon Turney --- nio-ie5.cc | 12 ++++++++---- win32.h | 2 ++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/nio-ie5.cc b/nio-ie5.cc index c8f65a9..a649233 100644 --- a/nio-ie5.cc +++ b/nio-ie5.cc @@ -29,6 +29,7 @@ #include "LogSingleton.h" #include "setup_version.h" #include "getopt++/StringOption.h" +#include static StringOption UserAgent ("", '\0', "user-agent", "User agent string for HTTP requests"); @@ -43,19 +44,22 @@ determine_default_useragent(void) if (!default_useragent.empty()) return default_useragent; - std::string token = "Unknown"; + std::stringstream os; + os << "Windows NT " << OSMajorVersion() << "." << OSMinorVersion() << "." << OSBuildNumber(); + + std::string bitness = "Unknown"; #ifdef __x86_64__ - token = "Win64"; + bitness = "Win64"; #else typedef BOOL (WINAPI *PFNISWOW64PROCESS)(HANDLE, PBOOL); PFNISWOW64PROCESS pfnIsWow64Process = (PFNISWOW64PROCESS)GetProcAddress(GetModuleHandle("kernel32"), "IsWow64Process"); if (pfnIsWow64Process) { BOOL bIsWow64 = FALSE; if (pfnIsWow64Process(GetCurrentProcess(), &bIsWow64)) - token = bIsWow64 ? "WoW64" : "Win32"; + bitness = bIsWow64 ? "WoW64" : "Win32"; } #endif - default_useragent = std::string("Cygwin-Setup/") + setup_version + " (" + token + ")"; + default_useragent = std::string("Cygwin-Setup/") + setup_version + " (" + os.str() + ";" + bitness + ")"; return default_useragent; } diff --git a/win32.h b/win32.h index fd4c80c..c866790 100644 --- a/win32.h +++ b/win32.h @@ -166,6 +166,7 @@ class VersionInfo VersionInfo (); DWORD major () const { return v.dwMajorVersion; } DWORD minor () const { return v.dwMinorVersion; } + DWORD buildNumber () const { return v.dwBuildNumber; } private: OSVERSIONINFO v; }; @@ -174,6 +175,7 @@ VersionInfo& GetVer (); #define OSMajorVersion() (GetVer ().major ()) #define OSMinorVersion() (GetVer ().minor ()) +#define OSBuildNumber() (GetVer ().buildNumber ()) static inline void GetDlgItemRect (HWND h, int item, LPRECT r) -- 2.14.2