My bot on Toolforge (tool name is "tools.mbh") connects to ruwiki's DB replica. Bot written on C#, running through mono, uses MySql.Data library. Several days earlier it worked fine, now it can't connect to database due to TLS-related failure. Error report:
Unhandled Exception: System.IO.IOException: The authentication or decryption has failed. ---> System.IO.IOException: The authentication or decryption has failed. ---> Mono.Security.Protocol.Tls.TlsException: The authentication or decryption has failed. at Mono.Security.Protocol.Tls.RecordProtocol.EndReceiveRecord (System.IAsyncResult asyncResult) [0x00040] in <4d95459e5c814a5dad6816d7b3a5a54b>:0 at Mono.Security.Protocol.Tls.SslClientStream.SafeEndReceiveRecord (System.IAsyncResult ar, System.Boolean ignoreEmpty) [0x00000] in <4d95459e5c814a5dad6816d7b3a5a54b>:0 at Mono.Security.Protocol.Tls.SslClientStream.NegotiateAsyncWorker (System.IAsyncResult result) [0x00071] in <4d95459e5c814a5dad6816d7b3a5a54b>:0 --- End of inner exception stack trace --- at Mono.Security.Protocol.Tls.SslClientStream.EndNegotiateHandshake (System.IAsyncResult result) [0x0003b] in <4d95459e5c814a5dad6816d7b3a5a54b>:0 at Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback (System.IAsyncResult asyncResult) [0x0000c] in <4d95459e5c814a5dad6816d7b3a5a54b>:0 --- End of inner exception stack trace --- at Mono.Security.Protocol.Tls.SslStreamBase.EndRead (System.IAsyncResult asyncResult) [0x00057] in <4d95459e5c814a5dad6816d7b3a5a54b>:0 at Mono.Net.Security.Private.LegacySslStream.EndAuthenticateAsClient (System.IAsyncResult asyncResult) [0x00011] in <55b24190fabd4b3fae27ef5b276a5ac0>:0 at Mono.Net.Security.Private.LegacySslStream.AuthenticateAsClient (System.String targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, System.Security.Authentication.SslProtocols enabledSslProtocols, System.Boolean checkCertificateRevocation) [0x0000e] in <55b24190fabd4b3fae27ef5b276a5ac0>:0 at Mono.Net.Security.Private.MonoSslStreamImpl.AuthenticateAsClient (System.String targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, System.Security.Authentication.SslProtocols enabledSslProtocols, System.Boolean checkCertificateRevocation) [0x00006] in <55b24190fabd4b3fae27ef5b276a5ac0>:0 at System.Net.Security.SslStream.AuthenticateAsClient (System.String targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, System.Security.Authentication.SslProtocols enabledSslProtocols, System.Boolean checkCertificateRevocation) [0x00006] in <55b24190fabd4b3fae27ef5b276a5ac0>:0 at MySql.Data.MySqlClient.NativeDriver.StartSSL () [0x0005d] in <0a135c8e4d604d948724bf6960583b7f>:0 at MySql.Data.MySqlClient.NativeDriver.Open () [0x002ce] in <0a135c8e4d604d948724bf6960583b7f>:0 at MySql.Data.MySqlClient.Driver.Open () [0x0000b] in <0a135c8e4d604d948724bf6960583b7f>:0 at MySql.Data.MySqlClient.Driver.Create (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings) [0x0003f] in <0a135c8e4d604d948724bf6960583b7f>:0 [ERROR] FATAL UNHANDLED EXCEPTION: System.IO.IOException: The authentication or decryption has failed. ---> System.IO.IOException: The authentication or decryption has failed. ---> Mono.Security.Protocol.Tls.TlsException: The authentication or decryption has failed. at Mono.Security.Protocol.Tls.RecordProtocol.EndReceiveRecord (System.IAsyncResult asyncResult) [0x00040] in <4d95459e5c814a5dad6816d7b3a5a54b>:0 at Mono.Security.Protocol.Tls.SslClientStream.SafeEndReceiveRecord (System.IAsyncResult ar, System.Boolean ignoreEmpty) [0x00000] in <4d95459e5c814a5dad6816d7b3a5a54b>:0 at Mono.Security.Protocol.Tls.SslClientStream.NegotiateAsyncWorker (System.IAsyncResult result) [0x00071] in <4d95459e5c814a5dad6816d7b3a5a54b>:0 --- End of inner exception stack trace --- at Mono.Security.Protocol.Tls.SslClientStream.EndNegotiateHandshake (System.IAsyncResult result) [0x0003b] in <4d95459e5c814a5dad6816d7b3a5a54b>:0 at Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback (System.IAsyncResult asyncResult) [0x0000c] in <4d95459e5c814a5dad6816d7b3a5a54b>:0 --- End of inner exception stack trace --- at Mono.Security.Protocol.Tls.SslStreamBase.EndRead (System.IAsyncResult asyncResult) [0x00057] in <4d95459e5c814a5dad6816d7b3a5a54b>:0 at Mono.Net.Security.Private.LegacySslStream.EndAuthenticateAsClient (System.IAsyncResult asyncResult) [0x00011] in <55b24190fabd4b3fae27ef5b276a5ac0>:0 at Mono.Net.Security.Private.LegacySslStream.AuthenticateAsClient (System.String targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, System.Security.Authentication.SslProtocols enabledSslProtocols, System.Boolean checkCertificateRevocation) [0x0000e] in <55b24190fabd4b3fae27ef5b276a5ac0>:0 at Mono.Net.Security.Private.MonoSslStreamImpl.AuthenticateAsClient (System.String targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, System.Security.Authentication.SslProtocols enabledSslProtocols, System.Boolean checkCertificateRevocation) [0x00006] in <55b24190fabd4b3fae27ef5b276a5ac0>:0 at System.Net.Security.SslStream.AuthenticateAsClient (System.String targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, System.Security.Authentication.SslProtocols enabledSslProtocols, System.Boolean checkCertificateRevocation) [0x00006] in <55b24190fabd4b3fae27ef5b276a5ac0>:0 at MySql.Data.MySqlClient.NativeDriver.StartSSL () [0x0005d] in <0a135c8e4d604d948724bf6960583b7f>:0 at MySql.Data.MySqlClient.NativeDriver.Open () [0x002ce] in <0a135c8e4d604d948724bf6960583b7f>:0 at MySql.Data.MySqlClient.Driver.Open () [0x0000b] in <0a135c8e4d604d948724bf6960583b7f>:0 at MySql.Data.MySqlClient.Driver.Create (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings) [0x0003f] in <0a135c8e4d604d948724bf6960583b7f>:0