Skip to content

Commit aabc698

Browse files
committed
Merge branch 'jk/gpg-trust-level-fix'
The "%GT" placeholder for the "--format" option of "git log" and friends caused BUG() to trigger on a commit signed with an unknown key, which has been corrected. * jk/gpg-trust-level-fix: gpg-interface: set trust level of missing key to "undefined"
2 parents fc23c39 + 7891e46 commit aabc698

File tree

2 files changed

+15
-8
lines changed

2 files changed

+15
-8
lines changed

gpg-interface.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -650,7 +650,7 @@ int check_signature(struct signature_check *sigc,
650650
gpg_interface_lazy_init();
651651

652652
sigc->result = 'N';
653-
sigc->trust_level = -1;
653+
sigc->trust_level = TRUST_UNDEFINED;
654654

655655
fmt = get_format_by_sig(signature);
656656
if (!fmt)

t/t7510-signed-commit.sh

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -221,84 +221,91 @@ test_expect_success GPG 'amending already signed commit' '
221221
test_expect_success GPG 'show good signature with custom format' '
222222
cat >expect <<-\EOF &&
223223
G
224+
ultimate
224225
13B6F51ECDDE430D
225226
C O Mitter <[email protected]>
226227
73D758744BE721698EC54E8713B6F51ECDDE430D
227228
73D758744BE721698EC54E8713B6F51ECDDE430D
228229
EOF
229-
git log -1 --format="%G?%n%GK%n%GS%n%GF%n%GP" sixth-signed >actual &&
230+
git log -1 --format="%G?%n%GT%n%GK%n%GS%n%GF%n%GP" sixth-signed >actual &&
230231
test_cmp expect actual
231232
'
232233

233234
test_expect_success GPG 'show bad signature with custom format' '
234235
cat >expect <<-\EOF &&
235236
B
237+
undefined
236238
13B6F51ECDDE430D
237239
C O Mitter <[email protected]>
238240
239241
240242
EOF
241-
git log -1 --format="%G?%n%GK%n%GS%n%GF%n%GP" $(cat forged1.commit) >actual &&
243+
git log -1 --format="%G?%n%GT%n%GK%n%GS%n%GF%n%GP" $(cat forged1.commit) >actual &&
242244
test_cmp expect actual
243245
'
244246

245247
test_expect_success GPG 'show untrusted signature with custom format' '
246248
cat >expect <<-\EOF &&
247249
U
250+
undefined
248251
65A0EEA02E30CAD7
249252
Eris Discordia <[email protected]>
250253
F8364A59E07FFE9F4D63005A65A0EEA02E30CAD7
251254
D4BE22311AD3131E5EDA29A461092E85B7227189
252255
EOF
253-
git log -1 --format="%G?%n%GK%n%GS%n%GF%n%GP" eighth-signed-alt >actual &&
256+
git log -1 --format="%G?%n%GT%n%GK%n%GS%n%GF%n%GP" eighth-signed-alt >actual &&
254257
test_cmp expect actual
255258
'
256259

257260
test_expect_success GPG 'show untrusted signature with undefined trust level' '
258261
cat >expect <<-\EOF &&
262+
U
259263
undefined
260264
65A0EEA02E30CAD7
261265
Eris Discordia <[email protected]>
262266
F8364A59E07FFE9F4D63005A65A0EEA02E30CAD7
263267
D4BE22311AD3131E5EDA29A461092E85B7227189
264268
EOF
265-
git log -1 --format="%GT%n%GK%n%GS%n%GF%n%GP" eighth-signed-alt >actual &&
269+
git log -1 --format="%G?%n%GT%n%GK%n%GS%n%GF%n%GP" eighth-signed-alt >actual &&
266270
test_cmp expect actual
267271
'
268272

269273
test_expect_success GPG 'show untrusted signature with ultimate trust level' '
270274
cat >expect <<-\EOF &&
275+
G
271276
ultimate
272277
13B6F51ECDDE430D
273278
C O Mitter <[email protected]>
274279
73D758744BE721698EC54E8713B6F51ECDDE430D
275280
73D758744BE721698EC54E8713B6F51ECDDE430D
276281
EOF
277-
git log -1 --format="%GT%n%GK%n%GS%n%GF%n%GP" sixth-signed >actual &&
282+
git log -1 --format="%G?%n%GT%n%GK%n%GS%n%GF%n%GP" sixth-signed >actual &&
278283
test_cmp expect actual
279284
'
280285

281286
test_expect_success GPG 'show unknown signature with custom format' '
282287
cat >expect <<-\EOF &&
283288
E
289+
undefined
284290
65A0EEA02E30CAD7
285291
286292
287293
288294
EOF
289-
GNUPGHOME="$GNUPGHOME_NOT_USED" git log -1 --format="%G?%n%GK%n%GS%n%GF%n%GP" eighth-signed-alt >actual &&
295+
GNUPGHOME="$GNUPGHOME_NOT_USED" git log -1 --format="%G?%n%GT%n%GK%n%GS%n%GF%n%GP" eighth-signed-alt >actual &&
290296
test_cmp expect actual
291297
'
292298

293299
test_expect_success GPG 'show lack of signature with custom format' '
294300
cat >expect <<-\EOF &&
295301
N
302+
undefined
296303
297304
298305
299306
300307
EOF
301-
git log -1 --format="%G?%n%GK%n%GS%n%GF%n%GP" seventh-unsigned >actual &&
308+
git log -1 --format="%G?%n%GT%n%GK%n%GS%n%GF%n%GP" seventh-unsigned >actual &&
302309
test_cmp expect actual
303310
'
304311

0 commit comments

Comments
 (0)