From 1425d4036995953214f102e680e6f8c6bfd467b2 Mon Sep 17 00:00:00 2001 From: Anders Klemets Date: Mon, 9 Dec 2019 09:45:02 -0800 Subject: [PATCH] Remove MessageBoxA UI API call from socket code There is code in socket_adapters.cc that was trying to display UI by invoking the MessageBoxA API. This causes a linker failure when building apps for versions of Windows that do not have the MessageBoxA API. The text message that the socket code tries display also does not seem right. It references Google Talk and provides a HTTP URI that is invalid. The message is only in English instead of being localized in all the languages supported by the app. I am fixing this by replacing the call to MessageBoxA with a call to RTC_LOG(LS_ERROR). I am also attempting to clean up the text of the message by removing the invalid URL and removing references to Google products. I am trying to make the logging message more matter-of-fact about what is going on. As I understand it, the message is displayed when a HTTP proxy sends a Proxy-Authenticate HTTP response header that specifies an unsupported authentication scheme. I changed the text of the logging message to state this. Bug: webrtc:11187 Change-Id: I14df32943b62130ac623f72fe901e8f2bb1e8f24 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161475 Reviewed-by: Tommi Reviewed-by: Karl Wiberg Reviewed-by: Henrik Andreassson Commit-Queue: Tommi Cr-Commit-Position: refs/heads/master@{#30046} --- rtc_base/socket_adapters.cc | 42 +++---------------------------------- 1 file changed, 3 insertions(+), 39 deletions(-) diff --git a/rtc_base/socket_adapters.cc b/rtc_base/socket_adapters.cc index 2bcdcd8b16..dc9d883d58 100644 --- a/rtc_base/socket_adapters.cc +++ b/rtc_base/socket_adapters.cc @@ -12,21 +12,6 @@ #pragma warning(disable : 4786) #endif -#include -#include -#include -#include -#include - -#if defined(WEBRTC_WIN) -#include -#include -#include - -#define SECURITY_WIN32 -#include -#endif - #include #include "absl/strings/match.h" @@ -386,30 +371,9 @@ void AsyncHttpsProxySocket::ProcessLine(char* data, size_t len) { return; } } else { - static bool report = false; - if (!unknown_mechanisms_.empty() && !report) { - report = true; - std::string msg( - "Unable to connect to the Google Talk service due to an " - "incompatibility " - "with your proxy.\r\nPlease help us resolve this issue by " - "submitting the " - "following information to us using our technical issue submission " - "form " - "at:\r\n\r\n" - "http://www.google.com/support/talk/bin/request.py\r\n\r\n" - "We apologize for the inconvenience.\r\n\r\n" - "Information to submit to Google: "); - // std::string msg("Please report the following information to - // foo@bar.com:\r\nUnknown methods: "); - msg.append(unknown_mechanisms_); -#if defined(WEBRTC_WIN) && !defined(WINUWP) - MessageBoxA(0, msg.c_str(), "Oops!", MB_OK); -#endif -#if defined(WEBRTC_POSIX) - // TODO: Raise a signal so the UI can be separated. - RTC_LOG(LS_ERROR) << "Oops!\n\n" << msg; -#endif + if (!unknown_mechanisms_.empty()) { + RTC_LOG(LS_ERROR) << "Unsupported authentication methods: " + << unknown_mechanisms_; } // Unexpected end of headers Error(0);