@@ -49,31 +49,34 @@ public class GssConfig implements Cloneable {
4949
5050 public static final GssConfig DEFAULT = new Builder ().build ();
5151 public static final GssConfig LEGACY =
52- new Builder ().setIgnoreMissingToken (true ).setRequestMutualAuth (false ).build ();
52+ new Builder ().setIgnoreMissingToken (true ).setRequireMutualAuth (false ).build ();
5353
5454 private final boolean addPort ;
5555 private final boolean useCanonicalHostname ;
5656 private final boolean requestMutualAuth ;
57+ private final boolean requireMutualAuth ;
5758 private final boolean requestDelegCreds ;
5859 private final boolean ignoreMissingToken ;
5960
6061 /**
6162 * Intended for CDI compatibility
6263 */
6364 protected GssConfig () {
64- this (false , false , true , false , false );
65+ this (false , false , true , true , false , false );
6566 }
6667
6768 GssConfig (
6869 final boolean addPort ,
6970 final boolean useCanonicalHostname ,
7071 final boolean requestMutualAuth ,
72+ final boolean requireMutualAuth ,
7173 final boolean requestDelegCreds ,
7274 final boolean ignoreMissingToken ) {
7375 super ();
7476 this .addPort = addPort ;
7577 this .useCanonicalHostname = useCanonicalHostname ;
7678 this .requestMutualAuth = requestMutualAuth ;
79+ this .requireMutualAuth = requireMutualAuth ;
7780 this .requestDelegCreds = requestDelegCreds ;
7881 this .ignoreMissingToken = ignoreMissingToken ;
7982 }
@@ -94,6 +97,10 @@ public boolean isRequestMutualAuth() {
9497 return requestMutualAuth ;
9598 }
9699
100+ public boolean isRequireMutualAuth () {
101+ return requireMutualAuth ;
102+ }
103+
97104 public boolean isIgnoreMissingToken () {
98105 return ignoreMissingToken ;
99106 }
@@ -111,6 +118,7 @@ public String toString() {
111118 builder .append (", useCanonicalHostname=" ).append (useCanonicalHostname );
112119 builder .append (", requestDelegCreds=" ).append (requestDelegCreds );
113120 builder .append (", requestMutualAuth=" ).append (requestMutualAuth );
121+ builder .append (", requireMutualAuth=" ).append (requireMutualAuth );
114122 builder .append (", ignoreMissingToken=" ).append (ignoreMissingToken );
115123 builder .append ("]" );
116124 return builder .toString ();
@@ -125,6 +133,7 @@ public static GssConfig.Builder copy(final GssConfig config) {
125133 .setAddPort (config .isAddPort ())
126134 .setUseCanonicalHostname (config .isUseCanonicalHostname ())
127135 .setRequestDelegCreds (config .isRequestDelegCreds ())
136+ .setRequireMutualAuth (config .isRequireMutualAuth ())
128137 .setRequestMutualAuth (config .isRequestMutualAuth ())
129138 .setIgnoreMissingToken (config .isIgnoreMissingToken ());
130139 }
@@ -134,6 +143,7 @@ public static class Builder {
134143 private boolean addPort = false ;
135144 private boolean useCanonicalHostname = false ;
136145 private boolean requestMutualAuth = true ;
146+ private boolean requireMutualAuth = true ;
137147 private boolean requestDelegCreds = false ;
138148 private boolean ignoreMissingToken = false ;
139149
@@ -157,6 +167,11 @@ public Builder setRequestMutualAuth(final boolean requestMutualAuth) {
157167 return this ;
158168 }
159169
170+ public Builder setRequireMutualAuth (final boolean requireMutualAuth ) {
171+ this .requireMutualAuth = requireMutualAuth ;
172+ return this ;
173+ }
174+
160175 public Builder setRequestDelegCreds (final boolean requuestDelegCreds ) {
161176 this .requestDelegCreds = requuestDelegCreds ;
162177 return this ;
@@ -168,13 +183,17 @@ public Builder setIgnoreMissingToken(final boolean ignoreMissingToken) {
168183 }
169184
170185 public GssConfig build () {
171- if (requestMutualAuth && ignoreMissingToken ) {
172- throw new IllegalArgumentException ("If requestMutualAuth is set then ignoreMissingToken must not be set" );
186+ if (requireMutualAuth && ignoreMissingToken ) {
187+ throw new IllegalArgumentException ("If requireMutualAuth is set then ignoreMissingToken must not be set" );
188+ }
189+ if (requireMutualAuth && !requestMutualAuth ) {
190+ throw new IllegalArgumentException ("If requireMutualAuth is set then requestMutualAuth must also be set" );
173191 }
174192 return new GssConfig (
175193 addPort ,
176194 useCanonicalHostname ,
177195 requestMutualAuth ,
196+ requireMutualAuth ,
178197 requestDelegCreds ,
179198 ignoreMissingToken
180199 );
0 commit comments