From 09ab4b7cdd7336fa1bb8ccbeb11968fa141abcde Mon Sep 17 00:00:00 2001
From: callum_linden <none@none>
Date: Thu, 14 Apr 2016 11:31:07 -0700
Subject: [PATCH] maint-5711 (fix) profiles and marketplace are asking for a
 login each session

---
 indra/newview/llviewermedia.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp
index 3e027e3d054..a7ad7c80d96 100755
--- a/indra/newview/llviewermedia.cpp
+++ b/indra/newview/llviewermedia.cpp
@@ -1312,6 +1312,13 @@ void LLViewerMedia::getOpenIDCookieCoro(std::string url)
 			if (parseRawCookie(sOpenIDCookie, cookie_name, cookie_value, cookie_path, httponly, secure) &&
                 media_instance->getMediaPlugin())
 			{
+				// MAINT-5711 - inexplicably, the CEF setCookie function will no longer set the cookie if the 
+				// url and domain are not the same. This used to be my.sl.com and id.sl.com respectively and worked.
+				// For now, we use the URL for the OpenID POST request since it will have the same authority
+				// as the domain field.
+				// (Feels like there must be a less dirty way to construct a URL from component LLURL parts)
+				url = std::string(sOpenIDURL.mURI) + "://" + std::string(sOpenIDURL.mAuthority);
+
 				media_instance->getMediaPlugin()->setCookie(url, cookie_name, cookie_value, cookie_host, cookie_path, httponly, secure);
 			}
 		}
-- 
GitLab