Page MenuHomePhabricator

Parse unusual Subversion protocol frames which contain extra whitespace
ClosedPublic

Authored by epriestley on May 15 2018, 10:58 PM.
Tags
None
Referenced Files
F15525575: D19451.id46532.diff
Mon, Apr 21, 3:24 PM
F15503617: D19451.id46528.diff
Mon, Apr 14, 11:24 AM
F15485453: D19451.id46532.diff
Wed, Apr 9, 11:48 PM
F15474062: D19451.id.diff
Sun, Apr 6, 5:03 AM
F15472077: D19451.diff
Sat, Apr 5, 10:50 AM
F15442729: D19451.id46532.diff
Mar 27 2025, 12:10 AM
F15442727: D19451.id.diff
Mar 27 2025, 12:09 AM
F15438172: D19451.diff
Mar 25 2025, 11:39 PM
Subscribers
None

Details

Summary

Fixes T13140. See PHI660.

Recent versions of Subversion can send a (get-file true false false ) protocol frame with extra space between "false" and "false". This is allowed by the protocol spec, but never normally happens, and we do not parse it correctly.

Instead, parse it correctly.

Test Plan
  • Added unit tests.
  • Ran svn proplist svn+ssh://.../diffusion/X/file.c under SVN 1.10 before and after the change.
    • Before: indefinite hang.
    • After: completed in finite time.

Diff Detail

Repository
rP Phabricator
Branch
svn1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 20336
Build 27617: Run Core Tests
Build 27616: arc lint + arc unit