Please review the code changes at http://cr.openjdk.java.net/~weijun/8039853/webrev.00/
If you find it confused, I have mistakenly pushed some code changes in http://hg.openjdk.java.net/jdk9/dev/jdk/rev/ba6e2fcdfa15 and the current code change is trying to fix/enhance it. Altogether, the actual change I want to make is: diff --git a/src/share/classes/sun/security/jgss/krb5/Krb5MechFactory.java b/src/share/classes/sun/security/jgss/krb5/Krb5MechFactory.java --- a/src/share/classes/sun/security/jgss/krb5/Krb5MechFactory.java +++ b/src/share/classes/sun/security/jgss/krb5/Krb5MechFactory.java @@ -86,6 +86,10 @@ return result; } + public Krb5MechFactory() { + this(GSSCaller.CALLER_UNKNOWN); + } + public Krb5MechFactory(GSSCaller caller) { this.caller = caller; } diff --git a/src/share/classes/sun/security/jgss/spnego/SpNegoMechFactory.java b/src/share/classes/sun/security/jgss/spnego/SpNegoMechFactory.java --- a/src/share/classes/sun/security/jgss/spnego/SpNegoMechFactory.java +++ b/src/share/classes/sun/security/jgss/spnego/SpNegoMechFactory.java @@ -96,6 +96,10 @@ return result; } + public SpNegoMechFactory() { + this(GSSCaller.CALLER_UNKNOWN); + } + public SpNegoMechFactory(GSSCaller caller) { manager = new GSSManagerImpl(caller, false); Oid[] mechs = manager.getMechs(); Please note that the previous change made in src/share/classes/java/security/Provider.java is now backed out. Thanks Max