Duplicati 2.1.0.2_beta_2024-11-24

Duplicati 2.1.0.2_beta_2024-11-24

Hello, I have a problem with the options on all os, win, linux, mac

  • –send-http-url=https://192.168.2.228:8080/
  • –send-http-result-output-format=Json
  • –accept-specified-ssl-hash=XXXXXXXXXXXXXXXXXXXXXXXX
  • –accept-any-ssl-certificate=true

a telegraph is working on the host 192.168.2.228:8080 which forwards the JSON to an InfluxDB and is evaluated by Grafana.

After the update to v2.1.0.2_beta_2024-11-29 the Sender JSON no longer works. Settings are the same as in v2.0.8.1_beta.

the log shows this message:

2025-01-08 08:40:35 -05 - [Warning-Duplicati.Library.Modules.Builtin.SendHttpMessage-HttpResponseError]: HTTP Response request failed for: https://192.168.2.228:8080/
System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
 ---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure: RemoteCertificateNameMismatch, RemoteCertificateChainErrors
   at System.Net.Security.SslStream.SendAuthResetSignal(ReadOnlySpan`1 alert, ExceptionDispatchInfo exception)
   at System.Net.Security.SslStream.CompleteHandshake(SslAuthenticationOptions sslAuthenticationOptions)
   at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](Boolean receiveFirst, Byte[] reAuthenticationData, CancellationToken cancellationToken)
   at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(QueueItem queueItem)
   at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
   at Duplicati.Library.Modules.Builtin.SendHttpMessage.SendMessage(HttpClient client, SendRequestType target, String subject, String body)
2025-01-08 08:40:35 -05 - [Warning-Duplicati.Library.Modules.Builtin.ReportHelper-ReportSubmitError]: Failed to send message: System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
--> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure: RemoteCertificateNameMismatch, RemoteCertificateChainErrors

System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
 ---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure: RemoteCertificateNameMismatch, RemoteCertificateChainErrors
   at System.Net.Security.SslStream.SendAuthResetSignal(ReadOnlySpan`1 alert, ExceptionDispatchInfo exception)
   at System.Net.Security.SslStream.CompleteHandshake(SslAuthenticationOptions sslAuthenticationOptions)
   at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](Boolean receiveFirst, Byte[] reAuthenticationData, CancellationToken cancellationToken)
   at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at Duplicati.Library.Modules.Builtin.SendHttpMessage.SendMessage(String subject, String body)
   at Duplicati.Library.Modules.Builtin.ReportHelper.OnFinish(Object result, Exception exception)

Under Duplicali up to 2.0.8.1_beta the JSON are sent. From 2.0.9 and .Net8 no longer.

These were originally introduced due to ServicePointManager being the only way to change certificate verification. The problem with this is that setting options, as you show, affects all operations in the running program, including backend, updater, usage reporter, etc.

We are gradually removing the use of “catch all” and introducing new targeted settings as needed, but this fix was not included in the beta. It is included in Canary build 2.1.0.101 and later and will be part of the next beta release.

For the HTTP report module, you can set these in v2.1.0.101 and later:

  • send-http-accept-any-ssl-certificate
  • send-http-accept-specified-ssl-hash

that is it, thx.
i must change the server-sqlite, then we can provisioning duplicati in filewave