commit 1439c6cd98ea52035f7bb3f54e62a55090543066
parent 00b03f80d8d71f802061a8af9d041c6891b87660
Author: Jared Tobin <jared@jtobin.io>
Date: Sat, 31 Oct 2026 11:44:10 +0400
release: v0.3.7
Diffstat:
3 files changed, 24 insertions(+), 10 deletions(-)
diff --git a/CHANGELOG b/CHANGELOG
@@ -1,5 +1,13 @@
# Changelog
+- 0.3.7 (2026-10-31)
+ * Bumps the ppad-poly1305 dependency to 0.4.7, which picks up
+ ppad-fixed 0.2.1. Under the llvm flag on x86_64, both are compiled
+ with LLVM's x86 cmov converter off
+ (-optlc=-x86-cmov-converter=false). This library is compiled
+ likewise, as ppad-fixed's constant-time arithmetic can be inlined
+ into it.
+
- 0.3.6 (2026-09-06)
* Merely bumps the ppad-chacha dependency.
diff --git a/flake.lock b/flake.lock
@@ -119,11 +119,11 @@
]
},
"locked": {
- "lastModified": 1785603497,
- "narHash": "sha256-rF8KdVJ+VwUT2bEfCLZMPc05rUclr0wN2uOTYvd3z7g=",
+ "lastModified": 1793121974,
+ "narHash": "sha256-kw5niq662nriUKNS71Opf+pe8E1NjfbcRX7Jpq/7fSQ=",
"ref": "master",
- "rev": "e303bda7578385f488c2f23baa2e1a6a2b0b2aaf",
- "revCount": 305,
+ "rev": "cc87b097fdf31b2cab66104e9e09dcfe21e82678",
+ "revCount": 308,
"type": "git",
"url": "git://git.ppad.tech/fixed.git"
},
@@ -174,11 +174,11 @@
]
},
"locked": {
- "lastModified": 1785621286,
- "narHash": "sha256-5Ft6ejGg9kIXGtgWzvq+YXh0r7sQBwA7hPnwDqvjKbo=",
+ "lastModified": 1793432316,
+ "narHash": "sha256-MNbcsGH5gSGepFSQisa6NgnVCCSjolRnQQr637PXUsc=",
"ref": "master",
- "rev": "173e478290ecf9d639f0c85ae625da474a62a6b2",
- "revCount": 48,
+ "rev": "541e883fc36426224a149b058fa20b70e195aa13",
+ "revCount": 50,
"type": "git",
"url": "git://git.ppad.tech/poly1305.git"
},
diff --git a/ppad-aead.cabal b/ppad-aead.cabal
@@ -1,6 +1,6 @@
cabal-version: 3.0
name: ppad-aead
-version: 0.3.6
+version: 0.3.7
synopsis: A pure AEAD-ChaCha20-Poly1305 construction
license: MIT
license-file: LICENSE
@@ -31,6 +31,12 @@ library
-Wall
if flag(llvm)
ghc-options: -fllvm -O2
+ -- LLVM's x86 backend rewrites a cmov whose operand is a load as a
+ -- branch (its cmov converter), which would make the borrow-masked
+ -- correction of ppad-fixed's sub_mod# (inlinable here) a branch on
+ -- the borrow; keep the cmov.
+ if flag(llvm) && arch(x86_64)
+ ghc-options: -optlc=-x86-cmov-converter=false
exposed-modules:
Crypto.AEAD.ChaCha20Poly1305
other-modules:
@@ -39,7 +45,7 @@ library
base >= 4.9 && < 5
, bytestring >= 0.9 && < 0.13
, ppad-chacha >= 0.3 && < 0.4
- , ppad-poly1305 >= 0.4.6 && < 0.5
+ , ppad-poly1305 >= 0.4.7 && < 0.5
test-suite aead-tests
type: exitcode-stdio-1.0