PatchSet 5844 Date: 2005/01/13 07:15:01 Author: robilad Branch: HEAD Tag: (none) Log: Resynced with GNU Classpath: HTTP connection fixes
2005-01-13 Dalibor Topic <[EMAIL PROTECTED]> Resynced with GNU Classpath. 2005-01-11 Chris Burdess <[EMAIL PROTECTED]> * gnu/java/net/protocol/http/HTTPConnection.java: Use correct form of Host header when using a non-default port number. 2005-01-11 Chris Burdess <[EMAIL PROTECTED]> * javax/net/ssl/HttpsURLConnection.java: Do not request SSLv3 provider during class initialization. Members: ChangeLog:1.3388->1.3389 libraries/javalib/gnu/java/net/protocol/http/HTTPConnection.java:1.3->1.4 libraries/javalib/javax/net/ssl/HttpsURLConnection.java:1.4->1.5 Index: kaffe/ChangeLog diff -u kaffe/ChangeLog:1.3388 kaffe/ChangeLog:1.3389 --- kaffe/ChangeLog:1.3388 Thu Jan 13 07:04:16 2005 +++ kaffe/ChangeLog Thu Jan 13 07:15:01 2005 @@ -1,6 +1,20 @@ 2005-01-13 Dalibor Topic <[EMAIL PROTECTED]> Resynced with GNU Classpath. + + 2005-01-11 Chris Burdess <[EMAIL PROTECTED]> + + * gnu/java/net/protocol/http/HTTPConnection.java: Use correct form of + Host header when using a non-default port number. + + 2005-01-11 Chris Burdess <[EMAIL PROTECTED]> + + * javax/net/ssl/HttpsURLConnection.java: Do not request SSLv3 + provider during class initialization. + +2005-01-13 Dalibor Topic <[EMAIL PROTECTED]> + + Resynced with GNU Classpath. 2005-01-11 Michael Koch <[EMAIL PROTECTED]> Index: kaffe/libraries/javalib/gnu/java/net/protocol/http/HTTPConnection.java diff -u kaffe/libraries/javalib/gnu/java/net/protocol/http/HTTPConnection.java:1.3 kaffe/libraries/javalib/gnu/java/net/protocol/http/HTTPConnection.java:1.4 --- kaffe/libraries/javalib/gnu/java/net/protocol/http/HTTPConnection.java:1.3 Sat Jan 8 21:54:52 2005 +++ kaffe/libraries/javalib/gnu/java/net/protocol/http/HTTPConnection.java Thu Jan 13 07:15:04 2005 @@ -369,7 +369,15 @@ path = "/"; } Request ret = new Request(this, method, path); - ret.setHeader("Host", hostname); + if ((secure && port != HTTPS_PORT) || + (!secure && port != HTTP_PORT)) + { + ret.setHeader("Host", hostname + ":" + port); + } + else + { + ret.setHeader("Host", hostname); + } ret.setHeader("User-Agent", userAgent); ret.setHeader("Connection", "keep-alive"); ret.setHeader("Accept-Encoding", Index: kaffe/libraries/javalib/javax/net/ssl/HttpsURLConnection.java diff -u kaffe/libraries/javalib/javax/net/ssl/HttpsURLConnection.java:1.4 kaffe/libraries/javalib/javax/net/ssl/HttpsURLConnection.java:1.5 --- kaffe/libraries/javalib/javax/net/ssl/HttpsURLConnection.java:1.4 Tue Sep 21 13:08:17 2004 +++ kaffe/libraries/javalib/javax/net/ssl/HttpsURLConnection.java Thu Jan 13 07:15:04 2005 @@ -59,10 +59,18 @@ // Fields. // ------------------------------------------------------------------ - /** The default verifier. */ + /** + * The default verifier. + * This is lazily initialized as required. + * @see #getDefaultHostnameVerifier + */ private static HostnameVerifier defaultVerifier; - /** The default factory. */ + /** + * The default factory. + * This is lazily initialized as required. + * @see #getDefaultSSLSocketFactory + */ private static SSLSocketFactory defaultFactory; /** @@ -75,21 +83,6 @@ */ private SSLSocketFactory factory; - // Static initializer. - // ------------------------------------------------------------------ - - static { - defaultVerifier = new TrivialHostnameVerifier(); - try - { - defaultFactory = (SSLSocketFactory) SSLSocketFactory.getDefault(); - } - catch (Throwable t) - { - t.printStackTrace(); - } - } - // Constructor. // ------------------------------------------------------------------ @@ -102,8 +95,6 @@ protected HttpsURLConnection(URL url) throws IOException { super(url); - hostnameVerifier = defaultVerifier; - factory = defaultFactory; } // Class methods. @@ -112,11 +103,17 @@ /** * Returns the default hostname verifier used in all new * connections. + * If the default verifier has not been set, a new default one will be + * provided by this method. * * @return The default hostname verifier. */ - public static HostnameVerifier getDefaultHostnameVerifier() + public static synchronized HostnameVerifier getDefaultHostnameVerifier() { + if (defaultVerifier == null) + { + defaultVerifier = new TrivialHostnameVerifier(); + } return defaultVerifier; } @@ -137,17 +134,33 @@ SecurityManager sm = System.getSecurityManager(); if (sm != null) sm.checkPermission(new SSLPermission("setHostnameVerifier")); - defaultVerifier = newDefault; + synchronized (HttpsURLConnection.class) + { + defaultVerifier = newDefault; + } } /** * Returns the default SSL socket factory used in all new * connections. + * If the default SSL socket factory has not been set, a new default one + * will be provided by this method. * * @return The default SSL socket factory. */ - public static SSLSocketFactory getDefaultSSLSocketFactory() + public static synchronized SSLSocketFactory getDefaultSSLSocketFactory() { + if (defaultFactory == null) + { + try + { + defaultFactory = (SSLSocketFactory) SSLSocketFactory.getDefault(); + } + catch (Throwable t) + { + t.printStackTrace(); + } + } return defaultFactory; } @@ -168,7 +181,10 @@ SecurityManager sm = System.getSecurityManager(); if (sm != null) sm.checkSetFactory(); - defaultFactory = newDefault; + synchronized (HttpsURLConnection.class) + { + defaultFactory = newDefault; + } } // Instance methods. @@ -181,6 +197,10 @@ */ public HostnameVerifier getHostnameVerifier() { + if (hostnameVerifier == null) + { + hostnameVerifier = getDefaultHostnameVerifier(); + } return hostnameVerifier; } @@ -205,6 +225,10 @@ */ public SSLSocketFactory getSSLSocketFactory() { + if (factory == null) + { + factory = getDefaultSSLSocketFactory(); + } return factory; } _______________________________________________ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe