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 2019/01/03 12:33:20 UTC
directory-kerby git commit: Allow ApOption flags to be set for an
ApRequest. This closes #32.
Repository: directory-kerby
Updated Branches:
refs/heads/trunk 8a0f393dd -> 30e553284
Allow ApOption flags to be set for an ApRequest. This closes #32.
Project: http://git-wip-us.apache.org/repos/asf/directory-kerby/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-kerby/commit/30e55328
Tree: http://git-wip-us.apache.org/repos/asf/directory-kerby/tree/30e55328
Diff: http://git-wip-us.apache.org/repos/asf/directory-kerby/diff/30e55328
Branch: refs/heads/trunk
Commit: 30e553284dbab60089fa137297f41e4663c66498
Parents: 8a0f393
Author: David Walluck <dw...@redhat.com>
Authored: Fri Jul 27 10:37:42 2018 -0400
Committer: Colm O hEigeartaigh <co...@apache.org>
Committed: Thu Jan 3 12:27:59 2019 +0000
----------------------------------------------------------------------
.../kerby/kerberos/kerb/request/ApRequest.java | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-kerby/blob/30e55328/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/request/ApRequest.java
----------------------------------------------------------------------
diff --git a/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/request/ApRequest.java b/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/request/ApRequest.java
index 44f5b47..563a5b3 100644
--- a/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/request/ApRequest.java
+++ b/kerby-kerb/kerb-common/src/main/java/org/apache/kerby/kerberos/kerb/request/ApRequest.java
@@ -37,6 +37,7 @@ import org.apache.kerby.kerberos.kerb.type.ticket.SgtTicket;
import org.apache.kerby.kerberos.kerb.type.ticket.Ticket;
import java.net.InetAddress;
+import java.util.EnumSet;
/**
* A wrapper for ApReq request
@@ -47,10 +48,16 @@ public class ApRequest {
private PrincipalName clientPrincipal;
private SgtTicket sgtTicket;
private ApReq apReq;
+ private EnumSet<ApOption> flags;
public ApRequest(PrincipalName clientPrincipal, SgtTicket sgtTicket) {
+ this(clientPrincipal, sgtTicket, EnumSet.of(ApOption.USE_SESSION_KEY));
+ }
+
+ public ApRequest(PrincipalName clientPrincipal, SgtTicket sgtTicket, EnumSet<ApOption> flags) {
this.clientPrincipal = clientPrincipal;
this.sgtTicket = sgtTicket;
+ this.flags = flags;
}
public ApReq getApReq() throws KrbException {
@@ -75,7 +82,9 @@ public class ApRequest {
apReq.setAuthenticator(authenticator);
apReq.setTicket(sgtTicket.getTicket());
ApOptions apOptions = new ApOptions();
- apOptions.setFlag(ApOption.USE_SESSION_KEY);
+ for (ApOption flag : flags) {
+ apOptions.setFlag(flag);
+ }
apReq.setApOptions(apOptions);
return apReq;
@@ -94,7 +103,9 @@ public class ApRequest {
millis -= millis % 1000;
authenticator.setCtime(new KerberosTime(millis));
authenticator.setCusec(usec);
- authenticator.setSubKey(sgtTicket.getSessionKey());
+ if (flags.contains(ApOption.USE_SESSION_KEY)) {
+ authenticator.setSubKey(sgtTicket.getSessionKey());
+ }
return authenticator;
}