Repository navigation
Fix/schema rules and hardening - #40
Merged
Merged
Conversation
chacha20poly1305 and blake2 0.11 only zeroize behind a feature the workspace never enabled, so their copies of the keys stayed in freed memory. A compile-time test now catches the feature going missing. Rewrap also returns an error instead of panicking when the random source fails, and two comments that described the wrong mechanism are fixed.
parquet reserves column metadata for every schema leaf, so an 8 MB footer with a flat schema of a million leaves made it hold over 400 MB before refusing the file. Ours has a dozen elements. parquet 60 no longer panics on the old fixtures, which left the read-path and readiness panic boundaries untested. A new malformed file and a fault point reach them again, and a file with no page index at all is covered.
The prune walked the record's subject once per statement, so a catalog of 3,000 datasets took seconds to render. It now visits each node once, and also removes a named node that a drop has cut loose.
The render fixture left these fields empty, so a min/max swap would only have shown up as a changed snapshot.
The manifest and overlay schemas now state what the validator enforces: the contact point's fields and e-mail pattern, the age cap, the bounds on localized text and the closed vocabularies. A test checks that the schemas and the node refuse the same values. A closed list now also refuses a value listed twice, and lint and validate share one list of recommended fields, so lint flags a missing health theme too.
A remembered contact point is checked before it is offered, so a hand-edited mailto: prefix no longer ends up doubled. The fix-up prompts follow the new-package rules: an e-mail with or without mailto:, the length caps, and an upper-cased org.
The error now carries its cause chain, so a refused connection, an unknown host and a bad certificate read differently. A 502, 503 or 504 from an ingress is treated like a node that is still starting.
The suggested chmod command broke on a path with a space, and the credentials error blamed an empty [profiles.<name>.s3] block when the block was missing altogether.
The agreement test dropped the age range, provenance and health theme on the way to the rendered record. It now destructures the package in full, so a new field can't be skipped, and the fixtures carry those fields.
Two fault tests shared dataset ids with tests that run beside them under cargo test, and the serial-key guard missed arm_panic and arm_io; it now reads the arming functions from faults.rs. The shared stored manifest is valid again, an s3 assertion that could never fail now can, and overlay_change is checked field by field.
The source stripper miscounted braces in '{' and /* } */, and the
run-full needle guard missed a wait_log after until, while, elif, {,
time or an env prefix.
With CARGO_TARGET_DIR set, cargo built elsewhere and the harness ran the stale binary in target/release.
Like the e2e scripts, the chaos harness now checks the ports its stack publishes before compose up, reading them from the rendered config.
GDI_TOOL__* overrides are now dropped along with the config dir, and coverage and mutants run isolated too. The fuzz runs also set a per-input timeout: libFuzzer's default of 1,200 s never fires in a 60 s run.
The publisher isn't verified, so the tag alone could be re-pushed.
The release step's version grep, the fuzz lockfile scan, the README's downloads and wait loop, the harness rebuild note, the localised overlay fields and a few doc comments.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.