Fixes missing bad certificate override in Control Panel

This commit is contained in:
Cyberboss
2017-11-01 16:18:02 -04:00
parent dd13645463
commit e9a9a2e67b
3 changed files with 14 additions and 14 deletions
+11 -12
View File
@@ -97,17 +97,6 @@ namespace TGCommandLine
static void ReplaceInterface(Interface I)
{
if (!interactive)
I.SetBadCertificateHandler((message) =>
{
foreach (var J in Environment.GetCommandLineArgs())
if (J.ToLower() == "--disable-ssl-verification") //im just not even going to document this because i hate it so much
return true;
return false;
});
else
I.SetBadCertificateHandler(BadCertificateInteractive);
currentInterface = I;
ConsoleCommand.Interface = I;
}
@@ -161,10 +150,20 @@ namespace TGCommandLine
ReplaceInterface(new Interface());
Command.OutputProcVar.Value = Console.WriteLine;
if (args.Length != 0)
{
Interface.SetBadCertificateHandler((message) =>
{
foreach (var J in args)
if (J.ToLower() == "--disable-ssl-verification") //im just not even going to document this because i hate it so much
return true;
return false;
});
return (int)RunCommandLine(new List<string>(args));
}
Console.WriteLine("Type 'remote' to connect to a remote service");
//interactive mode
Interface.SetBadCertificateHandler(BadCertificateInteractive);
Console.WriteLine("Type 'remote' to connect to a remote service");
while (true)
{
Console.Write("Enter command: ");
+1
View File
@@ -19,6 +19,7 @@ namespace TGControlPanel
}
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Interface.SetBadCertificateHandler(BadCertificateHandler);
using(var L = new Login())
Application.Run(L);
}
+2 -2
View File
@@ -101,7 +101,7 @@ namespace TGServiceInterface
/// Sets the function called when a remote login fails due to the server having an invalid SSL cert
/// </summary>
/// <param name="handler">The <see cref="Func{T, TResult}"/> to be called when a remote login is attempted while the server posesses a bad certificate. Passed a <see cref="string"/> of error information about the and should return <see langword="true"/> if it the connection should be made anyway</param>
public void SetBadCertificateHandler(Func<string, bool> handler)
public static void SetBadCertificateHandler(Func<string, bool> handler)
{
ServicePointManager.ServerCertificateValidationCallback = (sender, cert, chain, error) =>
{
@@ -123,7 +123,7 @@ namespace TGServiceInterface
ErrorMessage = "An unknown error occurred.";
break;
}
ErrorMessage = String.Format("The certificate failed to verify for {0}:{1}. {2} {3}", HTTPSURL, HTTPSPort, ErrorMessage, cert.ToString());
ErrorMessage = String.Format("The certificate failed to verify! Error: {2} Cert: {3}", ErrorMessage, cert.ToString());
return handler(ErrorMessage);
};
}