From 293dc49271b59476e49d0952400ca92e9b98d757 Mon Sep 17 00:00:00 2001 From: Jonas Nilson Date: Mon, 17 Jan 2022 11:38:08 +0100 Subject: [PATCH 1/2] Bug fix for signing out Clears client settings `steamMachineAuth` + `steamRememberLogin` when signing out #261 #253 --- Source/IdleMasterExtended/frmMain.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Source/IdleMasterExtended/frmMain.cs b/Source/IdleMasterExtended/frmMain.cs index e042f14..e87d669 100644 --- a/Source/IdleMasterExtended/frmMain.cs +++ b/Source/IdleMasterExtended/frmMain.cs @@ -740,6 +740,8 @@ private void ResetClientStatus() Settings.Default.sessionid = string.Empty; Settings.Default.steamLogin = string.Empty; Settings.Default.steamLoginSecure = string.Empty; + Settings.Default.steamMachineAuth = string.Empty; + Settings.Default.steamRememberLogin = string.Empty; Settings.Default.myProfileURL = string.Empty; Settings.Default.steamparental = string.Empty; Settings.Default.Save(); From 09097389e194a55a1afa6e27fc36f14a6a0daaa0 Mon Sep 17 00:00:00 2001 From: Jonas Nilson Date: Sat, 26 Mar 2022 21:58:44 +0100 Subject: [PATCH 2/2] Suppress cookies in login browser https://stackoverflow.com/questions/912741/how-to-delete-cookies-from-windows-form --- Source/IdleMasterExtended/frmBrowser.cs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/Source/IdleMasterExtended/frmBrowser.cs b/Source/IdleMasterExtended/frmBrowser.cs index 5dd5453..620339a 100644 --- a/Source/IdleMasterExtended/frmBrowser.cs +++ b/Source/IdleMasterExtended/frmBrowser.cs @@ -9,11 +9,14 @@ namespace IdleMasterExtended { public partial class frmBrowser : Form { + const int INTERNET_OPTION_END_BROWSER_SESSION = 42; + const int INTERNET_OPTION_SUPPRESS_BEHAVIOR = 81; + const int INTERNET_SUPPRESS_COOKIE_PERSIST = 3; public int SecondsWaiting = 300; [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)] - private static extern bool InternetSetOption(int hInternet, int dwOption, string lpBuffer, int dwBufferLength); + private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, in int flag, int dwBufferLength); [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)] private static extern bool InternetSetCookie(string lpszUrlName, string lpszCookieName, string lpszCookieData); @@ -32,7 +35,12 @@ private void frmBrowser_Load(object sender, EventArgs e) browserBarVisibility(false); // Remove any existing session state data - InternetSetOption(0, 42, null, 0); + if (!InternetSetOption(IntPtr.Zero, INTERNET_OPTION_END_BROWSER_SESSION, 0, 0) + || !InternetSetOption(IntPtr.Zero, INTERNET_OPTION_SUPPRESS_BEHAVIOR, INTERNET_SUPPRESS_COOKIE_PERSIST, sizeof(int))) + { + var ex = Marshal.GetExceptionForHR(Marshal.GetHRForLastWin32Error()); + Logger.Exception(ex, "Browser session data could not be reset."); + } // Localize form this.Text = localization.strings.please_login; @@ -45,7 +53,7 @@ private void frmBrowser_Load(object sender, EventArgs e) InternetSetCookie("https://steamcommunity.com", "steamRememberLogin", ";expires=Mon, 01 Jan 0001 00:00:00 GMT"); // When the form is loaded, navigate to the Steam login page using the web browser control - webBrowserAuthentication.Navigate("https://steamcommunity.com/login/home/?goto=my/profile", "_self", null, "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"); + webBrowserAuthentication.Navigate("https://steamcommunity.com/login/home/?goto=my/profile", "_self", null, "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"); this.BackColor = Settings.Default.customTheme ? Settings.Default.colorBgd : Settings.Default.colorBgdOriginal; this.ForeColor = Settings.Default.customTheme ? Settings.Default.colorTxt : Settings.Default.colorTxtOriginal;