secondlife / secondlife/viewer
[SL-20310] viewer - crypto - Update libcurl and openssl versions to acquire support for SSLKEYLOGFILE envvar for https: tracing
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 299
- Forks
- 146
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 88
Description
From jira-archive-internal created by sl-service-account: secondlife/jira-archive-internal#70664
With TLS 1.3 and ephemeral DH ciphers, the old hack of supplying the server private x.509 key to Wireshark no longer enables https: decryption. The 'modern' approach is to get a key log file generated out of the crypto package. The current version of the viewer's libraries does not support this but it is available in commonly-installed 'curl' packages right now. So, time to update and give the security aspects of this feature some thought.
Background: https://daniel.haxx.se/blog/2018/01/15/inspect-curls-tls-traffic/
[ Note: This is almost certainly dependent on getting http/2 support working to free up the libcurl version we use. ]
Links
In epic
Original Jira Fields
| Field | Value |
|---|---|
| Issue | SL-20310 |
| Summary | viewer - crypto - Update libcurl and openssl versions to acquire support for SSLKEYLOGFILE envvar for https: tracing |
| Type | New Feature |
| Priority | Major |
| Status | Open |
| Resolution | Unresolved |
| Components | Viewer |
| Labels | ssl |
| Reporter | Monty Linden (monty.linden) |
| Created at | 2023-09-19T16:29:03Z |
| Updated at | 2023-09-22T18:04:36Z |
{
'Build Id': 'unset',
'Business Unit': ['Platform'],
'Epic Link': 'SL-12606',
'ReOpened Count': 0.0,
'Severity': 'Unset',
'Target Viewer Version': 'viewer-development',
}
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 how the viewer currently builds and packages libcurl and OpenSSL, then verify the HTTP/2 prerequisite mentioned in the issue. Determine the required library versions and review the security implications of enabling SSLKEYLOGFILE for HTTPS tracing. Done means the supported versions provide this capability and the security treatment is documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- networking, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100