8167181: Exported elements referring to inaccessible types in jdk.security.jgss
Reviewed-by: mchung
--- a/jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/ExtendedGSSContext.java Thu Oct 06 23:13:06 2016 +0000
+++ b/jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/ExtendedGSSContext.java Fri Oct 07 07:59:49 2016 +0800
@@ -26,8 +26,6 @@
package com.sun.security.jgss;
import org.ietf.jgss.*;
-import sun.security.jgss.GSSContextImpl;
-import sun.security.krb5.internal.AuthorizationData;
/**
* The extended GSSContext interface for supporting additional
@@ -36,40 +34,6 @@
*/
public interface ExtendedGSSContext extends GSSContext {
- // The impl is almost identical to GSSContextImpl with only 2 differences:
- // 1. It implements the extended interface
- // 2. It translates result to data types here in inquireSecContext
- static class ExtendedGSSContextImpl extends GSSContextImpl
- implements ExtendedGSSContext {
-
- public ExtendedGSSContextImpl(GSSContextImpl old) {
- super(old);
- }
-
- @Override
- public Object inquireSecContext(InquireType type) throws GSSException {
- SecurityManager security = System.getSecurityManager();
- if (security != null) {
- security.checkPermission(
- new InquireSecContextPermission(type.toString()));
- }
- Object output = super.inquireSecContext(type.name());
- if (output != null) {
- if (type == InquireType.KRB5_GET_AUTHZ_DATA) {
- AuthorizationData ad = (AuthorizationData) output;
- AuthorizationDataEntry[] authzData =
- new AuthorizationDataEntry[ad.count()];
- for (int i = 0; i < ad.count(); i++) {
- authzData[i] = new AuthorizationDataEntry(
- ad.item(i).adType, ad.item(i).adData);
- }
- output = authzData;
- }
- }
- return output;
- }
- }
-
/**
* Return the mechanism-specific attribute associated with {@code type}.
* <p>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/ExtendedGSSContextImpl.java Fri Oct 07 07:59:49 2016 +0800
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.security.jgss;
+
+import org.ietf.jgss.*;
+import sun.security.jgss.GSSContextImpl;
+import sun.security.krb5.internal.AuthorizationData;
+
+// The impl is almost identical to GSSContextImpl with only 2 differences:
+// 1. It implements the extended interface
+// 2. It translates result to data types here in inquireSecContext
+class ExtendedGSSContextImpl extends GSSContextImpl
+ implements ExtendedGSSContext {
+
+ public ExtendedGSSContextImpl(GSSContextImpl old) {
+ super(old);
+ }
+
+ @Override
+ public Object inquireSecContext(InquireType type) throws GSSException {
+ SecurityManager security = System.getSecurityManager();
+ if (security != null) {
+ security.checkPermission(
+ new InquireSecContextPermission(type.toString()));
+ }
+ Object output = super.inquireSecContext(type.name());
+ if (output != null) {
+ if (type == InquireType.KRB5_GET_AUTHZ_DATA) {
+ AuthorizationData ad = (AuthorizationData) output;
+ AuthorizationDataEntry[] authzData =
+ new AuthorizationDataEntry[ad.count()];
+ for (int i = 0; i < ad.count(); i++) {
+ authzData[i] = new AuthorizationDataEntry(
+ ad.item(i).adType, ad.item(i).adData);
+ }
+ output = authzData;
+ }
+ }
+ return output;
+ }
+}
--- a/jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/ExtendedGSSCredential.java Thu Oct 06 23:13:06 2016 +0000
+++ b/jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/ExtendedGSSCredential.java Fri Oct 07 07:59:49 2016 +0800
@@ -26,7 +26,6 @@
package com.sun.security.jgss;
import org.ietf.jgss.*;
-import sun.security.jgss.GSSCredentialImpl;
/**
* The extended GSSCredential interface for supporting additional
@@ -35,14 +34,6 @@
*/
public interface ExtendedGSSCredential extends GSSCredential {
- static class ExtendedGSSCredentialImpl extends GSSCredentialImpl
- implements ExtendedGSSCredential {
-
- public ExtendedGSSCredentialImpl(GSSCredentialImpl old) {
- super(old);
- }
- }
-
/**
* Impersonates a principal. In Kerberos, this can be implemented
* using the Microsoft S4U2self extension.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/ExtendedGSSCredentialImpl.java Fri Oct 07 07:59:49 2016 +0800
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package com.sun.security.jgss;
+
+import sun.security.jgss.GSSCredentialImpl;
+
+class ExtendedGSSCredentialImpl extends GSSCredentialImpl
+ implements ExtendedGSSCredential {
+
+ public ExtendedGSSCredentialImpl(GSSCredentialImpl old) {
+ super(old);
+ }
+}
--- a/jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/Extender.java Thu Oct 06 23:13:06 2016 +0000
+++ b/jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/Extender.java Fri Oct 07 07:59:49 2016 +0800
@@ -39,18 +39,18 @@
}
public GSSCredential wrap(GSSCredential cred) {
- if (cred instanceof ExtendedGSSCredential.ExtendedGSSCredentialImpl) {
+ if (cred instanceof ExtendedGSSCredentialImpl) {
return cred;
} else {
- return new ExtendedGSSCredential.ExtendedGSSCredentialImpl((GSSCredentialImpl)cred);
+ return new ExtendedGSSCredentialImpl((GSSCredentialImpl)cred);
}
}
public GSSContext wrap(GSSContext ctxt) {
- if (ctxt instanceof ExtendedGSSContext.ExtendedGSSContextImpl) {
+ if (ctxt instanceof ExtendedGSSContextImpl) {
return ctxt;
} else {
- return new ExtendedGSSContext.ExtendedGSSContextImpl((GSSContextImpl)ctxt);
+ return new ExtendedGSSContextImpl((GSSContextImpl)ctxt);
}
}
}