You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by co...@apache.org on 2023/11/29 10:35:18 UTC
(directory-kerby) 01/01: DIRKRB-767 - Some minor thread safety changes to PkinitPreauth
This is an automated email from the ASF dual-hosted git repository.
coheigea pushed a commit to branch coheigea/DIRKRB-767
in repository https://gitbox.apache.org/repos/asf/directory-kerby.git
commit e26312384dedccd948a1ca0936a50dda0e561d8f
Author: Colm O hEigeartaigh <co...@apache.org>
AuthorDate: Wed Nov 29 10:34:48 2023 +0000
DIRKRB-767 - Some minor thread safety changes to PkinitPreauth
---
.../kerb/server/preauth/pkinit/PkinitPreauth.java | 26 +++++++++-------------
1 file changed, 11 insertions(+), 15 deletions(-)
diff --git a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/preauth/pkinit/PkinitPreauth.java b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/preauth/pkinit/PkinitPreauth.java
index aaf303c7..824787fc 100644
--- a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/preauth/pkinit/PkinitPreauth.java
+++ b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/preauth/pkinit/PkinitPreauth.java
@@ -68,11 +68,8 @@ import java.io.IOException;
import java.math.BigInteger;
import java.nio.ByteBuffer;
import java.security.cert.X509Certificate;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
public class PkinitPreauth extends AbstractPreauthPlugin {
@@ -82,20 +79,22 @@ public class PkinitPreauth extends AbstractPreauthPlugin {
public PkinitPreauth() {
super(new PkinitPreauthMeta());
- pkinitContexts = new HashMap<>(1);
+ pkinitContexts = new ConcurrentHashMap<>(1);
}
@Override
public void initWith(KdcContext kdcContext) {
super.initWith(kdcContext);
- PkinitKdcContext tmp = new PkinitKdcContext();
- tmp.realm = kdcContext.getKdcRealm();
-
String pkinitIdentity = kdcContext.getConfig().getPkinitIdentity();
- tmp.identityOpts.setIdentity(pkinitIdentity);
+ if (pkinitIdentity != null) {
+ PkinitKdcContext tmp = new PkinitKdcContext();
+ tmp.realm = kdcContext.getKdcRealm();
+
+ tmp.identityOpts.setIdentity(pkinitIdentity);
- pkinitContexts.put(kdcContext.getKdcRealm(), tmp);
+ pkinitContexts.put(kdcContext.getKdcRealm(), tmp);
+ }
}
@Override
@@ -269,10 +268,7 @@ public class PkinitPreauth extends AbstractPreauthPlugin {
private PkinitKdcContext findContext(PrincipalName principal) {
String realm = principal.getRealm();
- if (pkinitContexts.containsKey(realm)) {
- return pkinitContexts.get(realm);
- }
- return null;
+ return pkinitContexts.get(realm);
}
/**