confium 0.3.3 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +48 -0
- data/Cargo.lock +12 -432
- data/README.adoc +6 -10
- data/ext/confium_native/Cargo.toml +0 -4
- data/ext/confium_native/src/attributes.rs +4 -4
- data/ext/confium_native/src/audit.rs +8 -8
- data/ext/confium_native/src/composite.rs +10 -14
- data/ext/confium_native/src/deployment.rs +7 -6
- data/ext/confium_native/src/ers.rs +7 -11
- data/ext/confium_native/src/lib.rs +0 -2
- data/ext/confium_native/src/path.rs +8 -8
- data/ext/confium_native/src/pki.rs +26 -30
- data/ext/confium_native/src/tc.rs +27 -59
- data/ext/confium_native/src/transparency.rs +16 -57
- data/ext/confium_native/src/util.rs +32 -11
- data/lib/confium/openpgp.rb +138 -16
- data/lib/confium/version.rb +1 -1
- data/lib/confium.rb +7 -0
- metadata +2 -3
- data/ext/confium_native/src/openpgp.rs +0 -55
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 322f29b8f4f4e0ad02bec82cbb5a99ea45852fc618f09344c35fb1d42319afbb
|
|
4
|
+
data.tar.gz: e1050278065503030b8f82dd10047eda3363ac3b875456cfe7b2c2ce17573975
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7cdc24b0b728d4f8afc59d6f5e63e9f4a4c328aab34dca675b51391f340699b33b9d216baf2c433bac7fe6ee29f24aca134323b8cda0c5904b498621debd82ed
|
|
7
|
+
data.tar.gz: 71a1d6c636f88a80f31bcd7682cfc6762d99882a3eeed12ba5315ce81225068e280069a3ab2a3b2378d30abc928842c9561cf451ddfeda2038dda94768525ab7
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,53 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.4.0] — 2026-08-23
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
|
|
7
|
+
- **The native extension is pure Rust — the vendored RNP stack
|
|
8
|
+
(librnp + Botan + json-c, a full C/C++ build) is gone.** It was
|
|
9
|
+
compiled into every install but used only for ASCII armor, which
|
|
10
|
+
is now implemented in pure Ruby (RFC 9580 §6, byte-for-byte
|
|
11
|
+
compatible with the previous output; differential vectors in
|
|
12
|
+
spec/fixtures/openpgp_armor_vectors.json). Source builds now need
|
|
13
|
+
only a Rust toolchain — no C compiler, no cmake, and no network
|
|
14
|
+
fetch of C sources — and compile in ~2 minutes instead of ~15.
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
|
|
18
|
+
- **Windows (`x64-mingw-ucrt`) and musl Linux
|
|
19
|
+
(`x86_64-linux-musl`, `aarch64-linux-musl`) platform gems**,
|
|
20
|
+
unblocked by the dependency removal: pure Rust builds natively
|
|
21
|
+
under mingw and in Alpine containers (aarch64 under QEMU). All
|
|
22
|
+
are install-checked on every supported Ruby before publishing,
|
|
23
|
+
and Windows joins the test matrix.
|
|
24
|
+
- `Confium::OpenPGP.dearmor` now verifies the CRC-24 checksum and
|
|
25
|
+
raises `Confium::ParseError` on malformed blocks (previously a
|
|
26
|
+
bare rnp failure).
|
|
27
|
+
|
|
28
|
+
## [0.3.4] — 2026-08-23
|
|
29
|
+
|
|
30
|
+
### Fixed
|
|
31
|
+
|
|
32
|
+
- **Typed-error sweep completed.** Crypto operation failures
|
|
33
|
+
(FrostP256 sign, ElGamal encapsulate/decrypt/aggregate, composite
|
|
34
|
+
sign) raise `Confium::CryptoError` with the primitive in `details`;
|
|
35
|
+
`PathValidator` DER extraction failures raise `Confium::ParseError`;
|
|
36
|
+
`Manifest#tier_name_at` and `SignedData#certificate_at` out-of-range
|
|
37
|
+
raise the typed `Confium::IndexError` (unifying with the
|
|
38
|
+
transparency proofs — they previously raised Ruby's core
|
|
39
|
+
`IndexError`).
|
|
40
|
+
- **Zero compiler warnings.** All 80 direct
|
|
41
|
+
`magnus::exception::*` constructor sites are centralized into
|
|
42
|
+
`util::runtime`/`util::arg_error` (the deprecated API survives in
|
|
43
|
+
exactly one module whose job is wrapping it); the remaining magnus
|
|
44
|
+
deprecations (`RString::buf_new`, `RArray::each`) and dead imports
|
|
45
|
+
are fixed.
|
|
46
|
+
- **DoS guard now covers every byte input**: the duplicate local
|
|
47
|
+
`bytes_from_value` copies in tc/transparency — one of which
|
|
48
|
+
skipped the 1 MiB size cap — are consolidated onto the util
|
|
49
|
+
version that enforces it.
|
|
50
|
+
|
|
3
51
|
## [0.3.3] — 2026-08-23
|
|
4
52
|
|
|
5
53
|
### Added
|