19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 * CA 95054 USA or visit www.sun.com if you need additional information or
23 * have any questions.
24 */
25 package sun.net.www.protocol.http;
26
27 import java.net.URL;
28 import java.net.PasswordAuthentication;
29 import java.lang.reflect.Constructor;
30 import java.lang.reflect.Method;
31 import sun.util.logging.PlatformLogger;
32
33 /**
34 * Proxy class for loading NTLMAuthentication, so as to remove static
35 * dependancy.
36 */
37 class NTLMAuthenticationProxy {
38 private static Method supportsTA;
39 private static final String clazzStr = "sun.net.www.protocol.http.NTLMAuthentication";
40 private static final String supportsTAStr = "supportsTransparentAuth";
41
42 static final NTLMAuthenticationProxy proxy = tryLoadNTLMAuthentication();
43 static final boolean supported = proxy != null ? true : false;
44 static final boolean supportsTransparentAuth = supported ? supportsTransparentAuth(supportsTA) : false;
45
46 private final Constructor<? extends AuthenticationInfo> threeArgCtr;
47 private final Constructor<? extends AuthenticationInfo> fiveArgCtr;
48
49 private NTLMAuthenticationProxy(Constructor<? extends AuthenticationInfo> threeArgCtr,
50 Constructor<? extends AuthenticationInfo> fiveArgCtr) {
51 this.threeArgCtr = threeArgCtr;
52 this.fiveArgCtr = fiveArgCtr;
53 }
54
55
56 AuthenticationInfo create(boolean isProxy,
57 URL url,
58 PasswordAuthentication pw) {
59 try {
|
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 * CA 95054 USA or visit www.sun.com if you need additional information or
23 * have any questions.
24 */
25 package sun.net.www.protocol.http;
26
27 import java.net.URL;
28 import java.net.PasswordAuthentication;
29 import java.lang.reflect.Constructor;
30 import java.lang.reflect.Method;
31 import sun.util.logging.PlatformLogger;
32
33 /**
34 * Proxy class for loading NTLMAuthentication, so as to remove static
35 * dependancy.
36 */
37 class NTLMAuthenticationProxy {
38 private static Method supportsTA;
39 private static final String clazzStr = "sun.net.www.protocol.http.ntlm.NTLMAuthentication";
40 private static final String supportsTAStr = "supportsTransparentAuth";
41
42 static final NTLMAuthenticationProxy proxy = tryLoadNTLMAuthentication();
43 static final boolean supported = proxy != null ? true : false;
44 static final boolean supportsTransparentAuth = supported ? supportsTransparentAuth(supportsTA) : false;
45
46 private final Constructor<? extends AuthenticationInfo> threeArgCtr;
47 private final Constructor<? extends AuthenticationInfo> fiveArgCtr;
48
49 private NTLMAuthenticationProxy(Constructor<? extends AuthenticationInfo> threeArgCtr,
50 Constructor<? extends AuthenticationInfo> fiveArgCtr) {
51 this.threeArgCtr = threeArgCtr;
52 this.fiveArgCtr = fiveArgCtr;
53 }
54
55
56 AuthenticationInfo create(boolean isProxy,
57 URL url,
58 PasswordAuthentication pw) {
59 try {
|