OpenJDK / jdk / hs
changeset 42705:5163a5964bd7
8171340: HttpNegotiateServer/java test should not use system proxy on Mac
Reviewed-by: chegar
author | weijun |
---|---|
date | Fri, 16 Dec 2016 19:50:35 +0800 |
parents | 42d42181a1aa |
children | 796cf076d69b |
files | jdk/test/sun/security/krb5/auto/HttpNegotiateServer.java |
diffstat | 1 files changed, 37 insertions(+), 24 deletions(-) [+] |
line wrap: on
line diff
--- a/jdk/test/sun/security/krb5/auto/HttpNegotiateServer.java Fri Dec 16 08:17:45 2016 +0000 +++ b/jdk/test/sun/security/krb5/auto/HttpNegotiateServer.java Fri Dec 16 19:50:35 2016 +0800 @@ -23,10 +23,12 @@ /* * @test - * @bug 6578647 6829283 + * @bug 6578647 6829283 8171340 * @run main/othervm HttpNegotiateServer - * @summary Undefined requesting URL in java.net.Authenticator.getPasswordAuthentication() - * @summary HTTP/Negotiate: Authenticator triggered again when user cancels the first one + * @summary Undefined requesting URL in java.net.Authenticator + * .getPasswordAuthentication() + * @summary HTTP/Negotiate: Authenticator triggered again when + * user cancels the first one */ import com.sun.net.httpserver.Headers; @@ -240,16 +242,15 @@ java.net.Authenticator.setDefault(new KnowAllAuthenticator()); reader = new BufferedReader(new InputStreamReader( - webUrl.openConnection().getInputStream())); + webUrl.openConnection(Proxy.NO_PROXY).getInputStream())); if (!reader.readLine().equals(CONTENT)) { throw new RuntimeException("Bad content"); } reader = new BufferedReader(new InputStreamReader( - proxyUrl.openConnection( - new Proxy(Proxy.Type.HTTP, - new InetSocketAddress(PROXY_HOST, proxyPort))) - .getInputStream())); + proxyUrl.openConnection(new Proxy(Proxy.Type.HTTP, + new InetSocketAddress(PROXY_HOST, proxyPort))) + .getInputStream())); if (!reader.readLine().equals(CONTENT)) { throw new RuntimeException("Bad content"); } @@ -260,7 +261,7 @@ java.net.Authenticator.setDefault(new KnowNothingAuthenticator()); try { new BufferedReader(new InputStreamReader( - webUrl.openConnection().getInputStream())); + webUrl.openConnection(Proxy.NO_PROXY).getInputStream())); } catch (IOException ioe) { // Will fail since no username and password is provided. } @@ -274,7 +275,7 @@ try { URL url = webUrl; - URLConnection conn = url.openConnection(); + URLConnection conn = url.openConnection(Proxy.NO_PROXY); conn.connect(); inputStream = conn.getInputStream(); byte[] b = new byte[inputStream.available()]; @@ -285,7 +286,7 @@ System.out.println("Length: " + s.length()); System.out.println(s); } catch (Exception ex) { - throw new RuntimeException(ex); + throw new RuntimeException(ex); } finally { if (inputStream != null) { try { @@ -307,7 +308,8 @@ CallbackHandler callback = new CallbackHandler() { @Override - public void handle(Callback[] pCallbacks) throws IOException, UnsupportedCallbackException { + public void handle(Callback[] pCallbacks) + throws IOException, UnsupportedCallbackException { for (Callback cb : pCallbacks) { if (cb instanceof NameCallback) { NameCallback ncb = (NameCallback)cb; @@ -323,7 +325,8 @@ }; final String jaasConfigName = "oracle.test.kerberos.login"; - final String krb5LoginModule = "com.sun.security.auth.module.Krb5LoginModule"; + final String krb5LoginModule + = "com.sun.security.auth.module.Krb5LoginModule"; Configuration loginConfig = new Configuration() { @Override @@ -347,7 +350,8 @@ // oracle context/subject/login LoginContext context = null; try { - context = new LoginContext("oracle.test.kerberos.login", null, callback, loginConfig); + context = new LoginContext( + "oracle.test.kerberos.login", null, callback, loginConfig); context.login(); } catch (LoginException ex) { @@ -358,29 +362,35 @@ Subject subject = context.getSubject(); - final PrivilegedExceptionAction<Object> test_action = new PrivilegedExceptionAction<Object>() { + final PrivilegedExceptionAction<Object> test_action + = new PrivilegedExceptionAction<Object>() { public Object run() throws Exception { testConnect(); return null; } }; - System.err.println("\n\nExpecting to succeed when executing with the the logged in subject."); + System.err.println("\n\nExpecting to succeed when executing " + + "with the the logged in subject."); try { Subject.doAs(subject, test_action); - System.err.println("\n\nConnection succeed when executing with the the logged in subject."); + System.err.println("\n\nConnection succeed when executing " + + "with the the logged in subject."); } catch (PrivilegedActionException e) { - System.err.println("\n\nFailure unexpected when executing with the the logged in subject."); + System.err.println("\n\nFailure unexpected when executing " + + "with the the logged in subject."); e.printStackTrace(); throw new RuntimeException("Failed to login as subject"); } try { - System.err.println("\n\nExpecting to fail when running with the current user's login."); + System.err.println("\n\nExpecting to fail when running " + + "with the current user's login."); testConnect(); } catch (Exception ex) { - System.err.println("\nConnect failed when running with the current user's login:\n" + ex.getMessage()); + System.err.println("\nConnect failed when running " + + "with the current user's login:\n" + ex.getMessage()); } } @@ -450,8 +460,9 @@ return m.createCredential( null, GSSCredential.INDEFINITE_LIFETIME, - MyServerAuthenticator.this.scheme.equalsIgnoreCase("Negotiate")? - GSSUtil.GSS_SPNEGO_MECH_OID: + MyServerAuthenticator.this.scheme + .equalsIgnoreCase("Negotiate") ? + GSSUtil.GSS_SPNEGO_MECH_OID : GSSUtil.GSS_KRB5_MECH_OID, GSSCredential.ACCEPT_ONLY); } @@ -465,7 +476,8 @@ GSSContext c = null; String auth = exch.getRequestHeaders().getFirst(respHdr); try { - c = (GSSContext)exch.getHttpContext().getAttributes().get("GSSContext"); + c = (GSSContext)exch.getHttpContext() + .getAttributes().get("GSSContext"); if (auth == null) { // First request Headers map = exch.getResponseHeaders(); map.set (reqHdr, scheme); // Challenge! @@ -478,7 +490,8 @@ exch.getHttpContext().getAttributes().put("GSSContext", c); return new com.sun.net.httpserver.Authenticator.Retry(err); } else { // Later requests - byte[] token = Base64.getMimeDecoder().decode(auth.split(" ")[1]); + byte[] token = Base64.getMimeDecoder() + .decode(auth.split(" ")[1]); token = c.acceptSecContext(token, 0, token.length); Headers map = exch.getResponseHeaders(); map.set (reqHdr, scheme + " " + Base64.getMimeEncoder()