Skip to content

chore(upstream): pin ET #792 SO_LINGER (skip) - #85

Merged
minpeter merged 1 commit into
mainfrom
cursor/upstream-et-792-linger-d359
Sep 4, 2026
Merged

chore(upstream): pin ET #792 SO_LINGER (skip)#85
minpeter merged 1 commit into
mainfrom
cursor/upstream-et-792-linger-d359

Conversation

@minpeter

@minpeter minpeter commented Sep 4, 2026

Copy link
Copy Markdown
Owner

Summary

Weekday EternalTerminal watch: classify MisterTea/EternalTerminal#792 (584a68b4b54c74de7035e6108f49151ebce6a191, 2026-09-03) as security / skip. Pin ≠ ported.

Upstream C++ set SO_LINGER {l_onoff=1, l_linger=5} on every accepted TCP socket, then held process-wide globalMutex across a blocking ::close(). That froze the whole socket layer for ~5 seconds. The C++ fix only flips l_onoff from 1 to 0 in src/base/TcpSocketHandler.cpp.

et.rs already matches that outcome:

  • full-tree grep: no SO_LINGER / so_linger (never enables linger)
  • sockets are socket2 / TcpStream with nodelay/buffer opts only
  • no process-wide mutex around close like UnixSocketHandler::close
  • default linger-off is already equivalent

Do not add a SO_LINGER setsockopt just to set it off. No C++ merge. No Rust production change. No wire.json edit. PROTOCOL_VERSION stays 6. Tags remain et-v7.0.0 / 7656a32…. No GHSA found.

Pin / ledger

Field Value
Pin tip 584a68b4b54c74de7035e6108f49151ebce6a191
Reviewed 2026-09-04
Release tag et-v7.0.0 @ 7656a32a5bc15c6746726a27a5a4ba1e468fab6e
et.rs / ET wire protocol v6 / protocol v6
7656a32...master ahead_by 16, all classified

Files

  • .github/upstream-ledger.yml — append 584a68b; classified: 2026-09-04
  • .github/upstream-pin.yml — tip + reviewed date
  • docs/upstream-pin.md — table row, tip SHA, dates

Verification

  • python3 scripts/check-upstream-ledger.py --self-test
  • python3 scripts/check-upstream-ledger.py (compare baseline...master has no unclassified SHAs; pin tip == master)
Open in Web Open in Cursor 

Summary by cubic

Classifies EternalTerminal #792 (disable SO_LINGER) as security/skip and updates the upstream pin.

et.rs never sets SO_LINGER and has no process-wide mutex around close, so the default linger-off already matches the C++ fix. No production code changes; PROTOCOL_VERSION stays 6.

Written for commit 32a5d66. Summary will update on new commits.

Review in cubic

Classify 584a68b as security/skip. et.rs never sets SO_LINGER and has no
process-wide mutex around close, so default linger-off already matches.
PROTOCOL_VERSION stays 6.

Co-authored-by: Woonggi Min <minpeterx@gmail.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 3 files

Re-trigger cubic

@minpeter
minpeter merged commit ec679e9 into main Sep 4, 2026
7 checks passed
@minpeter
minpeter deleted the cursor/upstream-et-792-linger-d359 branch September 4, 2026 07:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants