Fossil

View Ticket
Login
2021-02-10
23:53 Fixed ticket [15d04de574]: Manifest parsing does not validate sort order plus 4 other changes artifact: 79e7d85c40 user: drh
23:53
Do a better job of detecting misformatted structural artifacts and reporting the error. Ticket [15d04de574383d61]. check-in: 023fddeec4 user: drh tags: trunk
23:34
Modify the out-of-order card detection in the structural artifact parser to allow N and P cards of a technote to be in the wrong order. [15d04de574383d61|Ticket 15d04de574383d61]. check-in: 36620b74a4 user: drh tags: manifest-sort-check
23:19 Ticket [5e67a7f404] Editing technote result in invalid control artifact: mis-ordered P/N cards status still Closed with 3 other changes artifact: dfc07b752d user: stephan
23:16 New ticket [15d04de574] Manifest parsing does not validate sort order. artifact: d4e2c1f343 user: stephan

Ticket Hash: 15d04de574383d61570649bc0b567cf3d7115a5c
Title: Manifest parsing does not validate sort order
Status: Fixed Type: Code_Defect
Severity: Critical Priority: Immediate
Subsystem: Resolution: Fixed
Last Modified: 2021-02-10 23:53:34
5.14 years ago
Created: 2021-02-10 23:16:21
5.14 years ago
Version Found In: 1cd6c545ca3a9c62
User Comments:
stephan added on 2021-02-10 23:16:21:

manifest_parse() is not properly validating the sort order of its cards. Certain cards, namely F-cards and T-cards, handle their own sort checks, but the overall "is the current card equal to or greater than the previous one" precondition is not being properly tested.

Discovered in 1cd6c545ca3a9c62, and it's currently unknown how far back that error goes. It was discovered in the context of technote edits, as detailed in:

https://fossil-scm.org/forum/forumpost/74fd8dac3a

and reported in ticket [5e67a7f4041a36a].

A basic minimal fix was checked in to /info/manifest-sort-check, but implementing it will mean that the invalid control artifacts which were previously allowed through will be invalidated (ignored as artifacts) after the next rebuild if that fix is employed. Insofar as we currently know, edited technotes are the only artifacts affected.