Skip to content

Commit

Permalink
Merge pull request #288 from apache/coheigea/DIRKRB-767
Browse files Browse the repository at this point in the history
DIRKRB-767 - Some minor thread safety changes to PkinitPreauth
  • Loading branch information
coheigea authored Nov 29, 2023
2 parents c1f1c95 + e263123 commit c1701e9
Showing 1 changed file with 11 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,8 @@
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 {

Expand All @@ -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
Expand Down Expand Up @@ -269,10 +268,7 @@ public boolean verify(KdcRequest kdcRequest, PluginRequestContext requestContext

private PkinitKdcContext findContext(PrincipalName principal) {
String realm = principal.getRealm();
if (pkinitContexts.containsKey(realm)) {
return pkinitContexts.get(realm);
}
return null;
return pkinitContexts.get(realm);
}

/**
Expand Down

0 comments on commit c1701e9

Please sign in to comment.