questdb / questdb/c-questdb-client
Improve misleading TLS misconfiguration error messages
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 73
- Forks
- 30
- Avg merge
- 4d 17h
- Merged PRs (30d)
- 8
Description
Overview
When sniffing the protocol version as part of c-questdb-client v.3.0.0, if TLS is misconfigured it's reported as "Could not detect server's line protocol version". While technically correct, this is misleading as it obfuscates the core issue.
These are two specific usability reports on where we can be clearer:
Issue 1 - Connecting to HTTPS server as HTTP
When using latest client (python) if I am sending to a https host but I mistakenly pass http, the error message is misleading
questdb.ingress.IngressError: Could not detect server's line protocol version, settings url: http://localhost:9000/settings, status code: 400 Bad Request.
Issue 2 - Bad credentials
and when https but self signed cert
questdb.ingress.IngressError: Could not detect server's line protocol version, settings url: https://localhost:9000/settings, err: io: invalid peer certificate: Other(OtherError(UnsupportedCertVersion)).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the protocol-version sniffing path and the TLS-related error handling described in the issue. Compare the HTTP-to-HTTPS and self-signed-certificate cases, then verify that each reports a clear TLS or configuration problem instead of the generic line-protocol detection message.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 40/100