Skip to content

Commit 02b0f18

Browse files
committed
fixup! fixup! sequoia-chameleon-gnupg: rebuild to fix vulnerabilities in sequoia-wot
1 parent a3e78e4 commit 02b0f18

1 file changed

Lines changed: 71 additions & 0 deletions

File tree

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
From 90e370fef788980e49aa807ac28531264bb9f404 Mon Sep 17 00:00:00 2001
2+
From: Malte Meiboom <malte@sequoia-pgp.org>
3+
Date: Fri, 20 Feb 2026 13:50:40 +0100
4+
Subject: [PATCH] Fix missing time corrections
5+
6+
- `gpg-sq` can set a fake system time via `--faked-system-time`.
7+
- Fixed some occurrences where `None` was used as time instead of the
8+
passed fake time.
9+
- fixes: #156
10+
---
11+
src/decrypt.rs | 2 +-
12+
src/generate_key.rs | 2 +-
13+
src/gpg.rs | 2 +-
14+
tests/gpg/decrypt.rs | 2 +-
15+
4 files changed, 4 insertions(+), 4 deletions(-)
16+
17+
diff --git a/src/decrypt.rs b/src/decrypt.rs
18+
index 2749532..d722389 100644
19+
--- a/src/decrypt.rs
20+
+++ b/src/decrypt.rs
21+
@@ -715,7 +715,7 @@ impl<'a, 'store> DHelper<'a, 'store> {
22+
.filter_map(|cert| cert.to_cert().ok().cloned())
23+
{
24+
if let Some(key) = cert.keys()
25+
- .with_policy(&self.config.de_vs_producer, None)
26+
+ .with_policy(&self.config.de_vs_producer, self.config.now())
27+
.key_handle(recipient.clone()).next()
28+
{
29+
compliant = compliant &&
30+
diff --git a/src/generate_key.rs b/src/generate_key.rs
31+
index 85e41b4..5dd42f9 100644
32+
--- a/src/generate_key.rs
33+
+++ b/src/generate_key.rs
34+
@@ -280,7 +280,7 @@ async fn real_cmd_quick_add_key(config: &mut crate::Config<'_>, args: &[String])
35+
all_expired_or_revoked: false,
36+
})?;
37+
38+
- let vcert = cert.with_policy(config.policy(), None)?;
39+
+ let vcert = cert.with_policy(config.policy(), config.now())?;
40+
let mut primary_signer =
41+
config.get_signer(&vcert, cert.primary_key().role_as_unspecified()).await?;
42+
43+
diff --git a/src/gpg.rs b/src/gpg.rs
44+
index 81d5353..b4e4d38 100644
45+
--- a/src/gpg.rs
46+
+++ b/src/gpg.rs
47+
@@ -721,7 +721,7 @@ impl<'store> Config<'store> {
48+
all_expired_or_revoked: false,
49+
})?;
50+
51+
- if let Ok(vcert) = cert.with_policy(self.policy(), None) {
52+
+ if let Ok(vcert) = cert.with_policy(self.policy(), self.now()) {
53+
for sk in vcert.keys().key_flags(&flags).alive()
54+
.revoked(false)
55+
{
56+
diff --git a/tests/gpg/decrypt.rs b/tests/gpg/decrypt.rs
57+
index 3fefe95..a34f693 100644
58+
--- a/tests/gpg/decrypt.rs
59+
+++ b/tests/gpg/decrypt.rs
60+
@@ -489,7 +489,7 @@ fn encrypt_for(recipient_certs: &[&Cert]) -> Result<Vec<u8>> {
61+
// Make sure we add at least one subkey from every
62+
// certificate.
63+
let mut found_one = false;
64+
- for key in cert.keys().with_policy(p, None)
65+
+ for key in cert.keys().with_policy(p, Experiment::now())
66+
.supported().alive().revoked(false).for_transport_encryption()
67+
{
68+
recipients.push(key);
69+
--
70+
GitLab
71+

0 commit comments

Comments
 (0)