Skip to content

Make TLS errors more descriptive #1970

@jonatan-ivanov

Description

@jonatan-ivanov

I got a TLS protocol version mismatch error for a link but according to sslscan, the site uses TLSv1.3 and there are not much details in the error message about what the exact issue is.

Command to repro the error:

 ❯ lychee <(echo 'https://duc.zevv.nl')
1/1 ━━━━━━━━━━━━━━━━━━━━ Finished extracting links
Issues found in 1 input. Find details below.

[/dev/fd/20]:
   [ERROR] https://duc.zevv.nl/ | Network error: TLS protocol version mismatch. The client and server cannot agree on a TLS version. This is often due to outdated system TLS libraries or the server TLS settings. (error sending request for url (https://duc.zevv.nl/)): TLS protocol version mismatch. The client and server cannot agree on a TLS version. This is often due to outdated system TLS libraries or the server TLS settings.

🔍 1 Total (in 0s) ✅ 0 OK 🚫 1 Error

sslscan says the supported protocols are:

SSLv2     disabled
SSLv3     disabled
TLSv1.0   disabled
TLSv1.1   disabled
TLSv1.2   disabled
TLSv1.3   enabled

Supported ciphers:

Preferred TLSv1.3  128 bits  TLS_AES_128_GCM_SHA256        Curve 25519 DHE 253
Accepted  TLSv1.3  256 bits  TLS_AES_256_GCM_SHA384        Curve 25519 DHE 253
Accepted  TLSv1.3  256 bits  TLS_CHACHA20_POLY1305_SHA256  Curve 25519 DHE 253

Setting

verbose = "trace"
format = "detailed"

doesn't give much extra info either, except the detailed format also says Unsupported in the summary.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions