If the SSL certificate isn't valid (i.e. stock v4 cert connecting to a v5 dialer), a hard crash is encountered, with no apparent way for the application to handle the error. This is basically the same issue as #5, though in this case it would be helpful if some useful error could be thrown to indicate why it failed.
As it stands today, anything that goes wrong in ConnectCallback will cause a hard crash, and there's nothing the end user can do about it.
Application: <redacted>.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: OpenSSL.Core.OpenSslException
Stack:
at OpenSSL.SslStreamBase.EndWrite(System.IAsyncResult)
at OpenSSL.SslStream.EndWrite(System.IAsyncResult)
at OpenSSL.SslStream.EndAuthenticateAsClient(System.IAsyncResult)
at OpenSSL.SslStream.AuthenticateAsClient(System.String, OpenSSL.X509.X509List, OpenSSL.X509.X509Chain, OpenSSL.SslProtocols, OpenSSL.SslStrength, Boolean)
at AvayaMoagentClient.MoagentClient.ConnectCallback(System.IAsyncResult)
at System.Net.LazyAsyncResult.Complete(IntPtr)
at System.Net.ContextAwareResult.CompleteCallback(System.Object)
at System.Threading.ExecutionContext.runTryCode(System.Object)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode, CleanupCode, System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Net.ContextAwareResult.Complete(IntPtr)
at System.Net.LazyAsyncResult.ProtectedInvokeCallback(System.Object, IntPtr)
at System.Net.Sockets.Socket.ConnectCallback()
at System.Net.Sockets.Socket.RegisteredWaitCallback(System.Object, Boolean)
at System.Threading._ThreadPoolWaitOrTimerCallback.PerformWaitOrTimerCallback(System.Object, Boolean)
If the SSL certificate isn't valid (i.e. stock v4 cert connecting to a v5 dialer), a hard crash is encountered, with no apparent way for the application to handle the error. This is basically the same issue as #5, though in this case it would be helpful if some useful error could be thrown to indicate why it failed.
As it stands today, anything that goes wrong in
ConnectCallback
will cause a hard crash, and there's nothing the end user can do about it.