secondlife / secondlife/viewer

[SL-20310] viewer - crypto - Update libcurl and openssl versions to acquire support for SSLKEYLOGFILE envvar for https: tracing

Open
#1,668 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

component:viewer project:SL ssl team:viewer
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.