Skip to content

chore: backlog from the v0.8.1 pre-tag scan (3 MAJOR + minors in pre-existing code) #361

Description

@ajianaz

Findings from the scoped pre-tag cora scan of the Rust sources changed since v0.8.0. None are in 0.8.1 code and none block the release; tole-cli/src/main.rs could not be scanned (gateway 502) and should be rescanned.

MAJOR (pre-existing code)

  • tole-core/src/turn.rs:323 — replay_intent ignores the cancel token (cancel is mapped to ApprovalRequired); the path still settles the intent as failed, so the session stays resumable.
  • tole-cli/src/serve.rs:176 — no Expect: 100-continue handling (curl stalls ~1s on POST bodies > 1KB).
  • tole-cli/src/serve.rs:114 — per-read timeout lets slow-trickle clients hold all 32 connection slots.

Notable minors

  • serve.rs: non-constant-time bearer compare (301), case-sensitive Authorization header (203), wrong reason phrase for 202/429/503 (233), oversized body drops the connection instead of 413 (208), expect() on the auth_failures mutex (272), duplicate Content-Length / Transfer-Encoding ignored (199).
  • session_tools.rs:145 workspace-jail TOCTOU (canonical cwd validated, raw string used); :174 session file created before the capacity check.
  • read_file.rs:145 TOCTOU between jail check and open; error strings expose canonical paths.
  • mission.rs:130 run_verify reports any subprocess error as a timeout; :262 budgets enforced only between turns.
  • openai.rs:268 global 120s timeout caps long streams.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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