diff options
author | Thomas Wolf <thomas.wolf@paranor.ch> | 2020-12-29 10:15:20 +0100 |
---|---|---|
committer | Thomas Wolf <thomas.wolf@paranor.ch> | 2020-12-29 10:15:20 +0100 |
commit | 8caaaf956a070864b8e700afc76b5ab9e8c12f36 (patch) | |
tree | 6d4bae5005b52dcc33b43ce724e11e75a81e6dec /org.eclipse.jgit.gpg.bc.test/tst/org/eclipse/jgit/gpg/bc/internal | |
parent | 616a7eeaec2e2525001823585f1c44a9124ebb65 (diff) | |
download | jgit-8caaaf956a070864b8e700afc76b5ab9e8c12f36.tar.gz jgit-8caaaf956a070864b8e700afc76b5ab9e8c12f36.zip |
GPG user ID matching: use case-insensitive matching
Although not mentioned in the GPG documentation at [1], GPG uses
case-insensitive matching also for the '<' (exact e-mail) and '@'
(partial e-mail) operators. Matching for '=' (full exact match) is
case-sensitive. Compare [2].
[1] https://www.gnupg.org/documentation/manuals/gnupg/Specify-a-User-ID.html
[2] https://dev.gnupg.org/source/gnupg/browse/master/g10/keyring.c;22f7dddc34446a8c3e9eddf6cb281f16802351d7$890
Bug: 547789
Change-Id: I2f5ab65807d5dde3aa00ff032894701bbd8418c9
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
Diffstat (limited to 'org.eclipse.jgit.gpg.bc.test/tst/org/eclipse/jgit/gpg/bc/internal')
-rw-r--r-- | org.eclipse.jgit.gpg.bc.test/tst/org/eclipse/jgit/gpg/bc/internal/BouncyCastleGpgKeyLocatorTest.java | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/org.eclipse.jgit.gpg.bc.test/tst/org/eclipse/jgit/gpg/bc/internal/BouncyCastleGpgKeyLocatorTest.java b/org.eclipse.jgit.gpg.bc.test/tst/org/eclipse/jgit/gpg/bc/internal/BouncyCastleGpgKeyLocatorTest.java index 744620163d..5f43378705 100644 --- a/org.eclipse.jgit.gpg.bc.test/tst/org/eclipse/jgit/gpg/bc/internal/BouncyCastleGpgKeyLocatorTest.java +++ b/org.eclipse.jgit.gpg.bc.test/tst/org/eclipse/jgit/gpg/bc/internal/BouncyCastleGpgKeyLocatorTest.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019, Thomas Wolf <thomas.wolf@paranor.ch> and others + * Copyright (C) 2019, 2020 Thomas Wolf <thomas.wolf@paranor.ch> and others * * This program and the accompanying materials are made available under the * terms of the Eclipse Distribution License v. 1.0 which is available at @@ -53,7 +53,7 @@ public class BouncyCastleGpgKeyLocatorTest { assertFalse(match(USER_ID, "<heinrichh>")); assertFalse(match(USER_ID, "<uni-duesseldorf>")); assertFalse(match(USER_ID, "<h@u>")); - assertFalse(match(USER_ID, "<HeinrichH@uni-duesseldorf.de>")); + assertTrue(match(USER_ID, "<HeinrichH@uni-duesseldorf.de>")); assertFalse(match(USER_ID.substring(0, USER_ID.length() - 1), "<heinrichh@uni-duesseldorf.de>")); assertFalse(match("", "<>")); @@ -72,8 +72,8 @@ public class BouncyCastleGpgKeyLocatorTest { assertFalse(match(USER_ID, "@ ")); assertFalse(match(USER_ID, "@")); assertFalse(match(USER_ID, "@Heine")); - assertFalse(match(USER_ID, "@HeinrichH")); - assertFalse(match(USER_ID, "@Heinrich")); + assertTrue(match(USER_ID, "@HeinrichH")); + assertTrue(match(USER_ID, "@Heinrich")); assertFalse(match("", "@")); assertFalse(match("", "@h")); } @@ -110,6 +110,7 @@ public class BouncyCastleGpgKeyLocatorTest { public void testExplicitFingerprint() throws Exception { assertFalse(match("John Fade <j.fade@example.com>", "0xfade")); assertFalse(match("John Fade <0xfade@example.com>", "0xfade")); + assertFalse(match("John Fade <0xfade@example.com>", "0xFADE")); assertFalse(match("", "0xfade")); } @@ -128,7 +129,7 @@ public class BouncyCastleGpgKeyLocatorTest { assertTrue(match("John Fade <0xfade@example.com>", "*0xfade")); assertTrue(match("John Fade <0xfade@example.com>", "*0xFADE")); assertTrue(match("John Fade <0xfade@example.com>", "@0xfade")); - assertFalse(match("John Fade <0xfade@example.com>", "@0xFADE")); + assertTrue(match("John Fade <0xfade@example.com>", "@0xFADE")); assertFalse(match("", "0x")); } } |