From d8bc8410b02b53ea119193f32522a63678fdf999 Mon Sep 17 00:00:00 2001 From: Jeremy Andrews Date: Tue, 14 Nov 2023 23:47:34 -0600 Subject: Issue #1312 - Switch to X-Mailer, and pull from AppInfo instead of HTTP headers. I've been thinking about this issue, and ultimately it's just correcting a mistake Mozilla made that no consumer of UXP's MailNews ever complained about before, so I think it's reasonable to fix the default behavior first, and then let others complain before I start worrying about prefs or ifdefs. One thing at a time. --- mailnews/compose/src/nsMsgCompUtils.cpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/mailnews/compose/src/nsMsgCompUtils.cpp b/mailnews/compose/src/nsMsgCompUtils.cpp index 6632e3257c..403b3c444d 100644 --- a/mailnews/compose/src/nsMsgCompUtils.cpp +++ b/mailnews/compose/src/nsMsgCompUtils.cpp @@ -9,7 +9,7 @@ #include "prmem.h" #include "nsMsgSend.h" #include "nsIIOService.h" -#include "nsIHttpProtocolHandler.h" +#include "nsIXULAppInfo.h" #include "nsMailHeaders.h" #include "nsMsgI18N.h" #include "nsINntpService.h" @@ -357,14 +357,21 @@ nsresult mime_generate_headers(nsIMsgCompFields *fields, finalHeaders->SetRawHeader(HEADER_X_MOZILLA_DRAFT_INFO, draftInfo, nullptr); } - nsCOMPtr pHTTPHandler = do_GetService(NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "http", &rv); - if (NS_SUCCEEDED(rv) && pHTTPHandler) - { - nsAutoCString userAgentString; - pHTTPHandler->GetUserAgent(userAgentString); + nsCOMPtr appInfo = do_GetService("@mozilla.org/xre/app-info;1"); + if (appInfo) { + nsAutoCString userAgentString; + nsAutoCString userAgentName; + nsAutoCString userAgentVersion; + appInfo->GetName(userAgentName); + appInfo->GetVersion(userAgentVersion); + if (!userAgentName.IsEmpty() && !userAgentVersion.IsEmpty()) { + userAgentString += userAgentName; + userAgentString += '/'; + userAgentString += userAgentVersion; + } if (!userAgentString.IsEmpty()) - finalHeaders->SetUnstructuredHeader("User-Agent", + finalHeaders->SetUnstructuredHeader("X-Mailer", NS_ConvertUTF8toUTF16(userAgentString)); } -- cgit v1.2.3