History

My first initial commit with all of mine experimental changes.

Dmitry Kabak (userdima committed 13 years ago

Commit d37b88d1 parent 3f5b46618352 files · +2598093 −-8690Browse files

Showing the changes to java/pkg/com/sun/net/ssl/internal/www/protocol/https (4 of 18352 files). Show all

Unified · Split

4 files
  1. java/pkg/com/sun/net/ssl/internal/www/protocol/https/DelegateHttpsURLConnection.java +199 −0
  2. java/pkg/com/sun/net/ssl/internal/www/protocol/https/Handler.java +55 −0
  3. java/pkg/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnectionOldImpl.java +507 −0
  4. java/pkg/com/sun/net/ssl/internal/www/protocol/https/mkfile +10 −0
java/pkg/com/sun/net/ssl/internal/www/protocol/https/DelegateHttpsURLConnection.java+199−0
@@ -0,0 +1,199 @@
1/*
2 * Copyright (c) 2001, 2009, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26package com.sun.net.ssl.internal.www.protocol.https;
27
28import java.net.URL;
29import java.net.Proxy;
30import java.io.IOException;
31import java.util.Collection;
32import java.util.List;
33import java.util.Iterator;
34
35import java.security.Principal;
36import java.security.cert.*;
37
38import javax.security.auth.x500.X500Principal;
39
40import sun.security.util.HostnameChecker;
41import sun.security.util.DerValue;
42import sun.security.x509.X500Name;
43
44import sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection;
45
46/**
47 * This class was introduced to provide an additional level of
48 * abstraction between javax.net.ssl.HttpURLConnection and
49 * com.sun.net.ssl.HttpURLConnection objects. <p>
50 *
51 * javax.net.ssl.HttpURLConnection is used in the new sun.net version
52 * of protocol implementation (this one)
53 * com.sun.net.ssl.HttpURLConnection is used in the com.sun version.
54 *
55 */
56public class DelegateHttpsURLConnection extends AbstractDelegateHttpsURLConnection {
57
58 // we need a reference to the HttpsURLConnection to get
59 // the properties set there
60 // we also need it to be public so that it can be referenced
61 // from sun.net.www.protocol.http.HttpURLConnection
62 // this is for ResponseCache.put(URI, URLConnection)
63 // second parameter needs to be cast to javax.net.ssl.HttpsURLConnection
64 // instead of AbstractDelegateHttpsURLConnection
65 public com.sun.net.ssl.HttpsURLConnection httpsURLConnection;
66
67 DelegateHttpsURLConnection(URL url,
68 sun.net.www.protocol.http.Handler handler,
69 com.sun.net.ssl.HttpsURLConnection httpsURLConnection)
70 throws IOException {
71 this(url, null, handler, httpsURLConnection);
72 }
73
74 DelegateHttpsURLConnection(URL url, Proxy p,
75 sun.net.www.protocol.http.Handler handler,
76 com.sun.net.ssl.HttpsURLConnection httpsURLConnection)
77 throws IOException {
78 super(url, p, handler);
79 this.httpsURLConnection = httpsURLConnection;
80 }
81
82 protected javax.net.ssl.SSLSocketFactory getSSLSocketFactory() {
83 return httpsURLConnection.getSSLSocketFactory();
84 }
85
86 protected javax.net.ssl.HostnameVerifier getHostnameVerifier() {
87 // note: getHostnameVerifier() never returns null
88 return new VerifierWrapper(httpsURLConnection.getHostnameVerifier());
89 }
90
91 /*
92 * Called by layered delegator's finalize() method to handle closing
93 * the underlying object.
94 */
95 protected void dispose() throws Throwable {
96 super.finalize();
97 }
98}
99
100class VerifierWrapper implements javax.net.ssl.HostnameVerifier {
101
102 private com.sun.net.ssl.HostnameVerifier verifier;
103
104 VerifierWrapper(com.sun.net.ssl.HostnameVerifier verifier) {
105 this.verifier = verifier;
106 }
107
108 /*
109 * In com.sun.net.ssl.HostnameVerifier the method is defined
110 * as verify(String urlHostname, String certHostname).
111 * This means we need to extract the hostname from the X.509 certificate
112 * or from the Kerberos principal name, in this wrapper.
113 */
114 public boolean verify(String hostname, javax.net.ssl.SSLSession session) {
115 try {
116 String serverName;
117 // Use ciphersuite to determine whether Kerberos is active.
118 if (session.getCipherSuite().startsWith("TLS_KRB5")) {
119 serverName =
120 HostnameChecker.getServerName(getPeerPrincipal(session));
121
122 } else { // X.509
123 Certificate[] serverChain = session.getPeerCertificates();
124 if ((serverChain == null) || (serverChain.length == 0)) {
125 return false;
126 }
127 if (serverChain[0] instanceof X509Certificate == false) {
128 return false;
129 }
130 X509Certificate serverCert = (X509Certificate)serverChain[0];
131 serverName = getServername(serverCert);
132 }
133 if (serverName == null) {
134 return false;
135 }
136 return verifier.verify(hostname, serverName);
137 } catch (javax.net.ssl.SSLPeerUnverifiedException e) {
138 return false;
139 }
140 }
141
142 /*
143 * Get the peer principal from the session
144 */
145 private Principal getPeerPrincipal(javax.net.ssl.SSLSession session)
146 throws javax.net.ssl.SSLPeerUnverifiedException
147 {
148 Principal principal;
149 try {
150 principal = session.getPeerPrincipal();
151 } catch (AbstractMethodError e) {
152 // if the provider does not support it, return null, since
153 // we need it only for Kerberos.
154 principal = null;
155 }
156 return principal;
157 }
158
159 /*
160 * Extract the name of the SSL server from the certificate.
161 *
162 * Note this code is essentially a subset of the hostname extraction
163 * code in HostnameChecker.
164 */
165 private static String getServername(X509Certificate peerCert) {
166 try {
167 // compare to subjectAltNames if dnsName is present
168 Collection subjAltNames = peerCert.getSubjectAlternativeNames();
169 if (subjAltNames != null) {
170 for (Iterator itr = subjAltNames.iterator(); itr.hasNext(); ) {
171 List next = (List)itr.next();
172 if (((Integer)next.get(0)).intValue() == 2) {
173 // compare dNSName with host in url
174 String dnsName = ((String)next.get(1));
175 return dnsName;
176 }
177 }
178 }
179
180 // else check against common name in the subject field
181 X500Name subject = HostnameChecker.getSubjectX500Name(peerCert);
182
183 DerValue derValue = subject.findMostSpecificAttribute
184 (X500Name.commonName_oid);
185 if (derValue != null) {
186 try {
187 String name = derValue.getAsString();
188 return name;
189 } catch (IOException e) {
190 // ignore
191 }
192 }
193 } catch (java.security.cert.CertificateException e) {
194 // ignore
195 }
196 return null;
197 }
198
199}
java/pkg/com/sun/net/ssl/internal/www/protocol/https/Handler.java+55−0
@@ -0,0 +1,55 @@
1/*
2 * Copyright (c) 1996, 2003, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26package com.sun.net.ssl.internal.www.protocol.https;
27
28import java.io.IOException;
29import java.net.URL;
30import java.net.Proxy;
31
32/**
33 * This class exists for compatibility with previous JSSE releases
34 * only. The HTTPS implementation can now be found in
35 * sun.net.www.protocol.https.
36 *
37 */
38public class Handler extends sun.net.www.protocol.https.Handler {
39
40 public Handler() {
41 super();
42 }
43
44 public Handler(String proxy, int port) {
45 super(proxy, port);
46 }
47
48 protected java.net.URLConnection openConnection(URL u) throws IOException {
49 return openConnection(u, (Proxy)null);
50 }
51
52 protected java.net.URLConnection openConnection(URL u, Proxy p) throws IOException {
53 return new HttpsURLConnectionOldImpl(u, p, this);
54 }
55}
java/pkg/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnectionOldImpl.java+507−0
@@ -0,0 +1,507 @@
1/*
2 * Copyright (c) 1996, 2008, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26/*
27 * NOTE: This class lives in the package sun.net.www.protocol.https.
28 * There is a copy in com.sun.net.ssl.internal.www.protocol.https for JSSE
29 * 1.0.2 compatibility. It is 100% identical except the package and extends
30 * lines. Any changes should be made to be class in sun.net.* and then copied
31 * to com.sun.net.*.
32 */
33
34// For both copies of the file, uncomment one line and comment the other
35// package sun.net.www.protocol.https;
36package com.sun.net.ssl.internal.www.protocol.https;
37
38import java.net.URL;
39import java.net.Proxy;
40import java.net.ProtocolException;
41import java.io.*;
42import javax.net.ssl.*;
43import java.security.Permission;
44import java.util.Map;
45import java.util.List;
46import sun.net.www.http.HttpClient;
47
48/**
49 * A class to represent an HTTP connection to a remote object.
50 *
51 * Ideally, this class should subclass and inherit the http handler
52 * implementation, but it can't do so because that class have the
53 * wrong Java Type. Thus it uses the delegate (aka, the
54 * Adapter/Wrapper design pattern) to reuse code from the http
55 * handler.
56 *
57 * Since it would use a delegate to access
58 * sun.net.www.protocol.http.HttpURLConnection functionalities, it
59 * needs to implement all public methods in it's super class and all
60 * the way to Object.
61 *
62 */
63
64// For both copies of the file, uncomment one line and comment the other
65// public class HttpsURLConnectionImpl
66// extends javax.net.ssl.HttpsURLConnection {
67public class HttpsURLConnectionOldImpl
68 extends com.sun.net.ssl.HttpsURLConnection {
69
70 private DelegateHttpsURLConnection delegate;
71
72// For both copies of the file, uncomment one line and comment the other
73// HttpsURLConnectionImpl(URL u, Handler handler) throws IOException {
74 HttpsURLConnectionOldImpl(URL u, Handler handler) throws IOException {
75 this(u, null, handler);
76 }
77
78// For both copies of the file, uncomment one line and comment the other
79// HttpsURLConnectionImpl(URL u, Handler handler) throws IOException {
80 HttpsURLConnectionOldImpl(URL u, Proxy p, Handler handler) throws IOException {
81 super(u);
82 delegate = new DelegateHttpsURLConnection(url, p, handler, this);
83 }
84
85 /**
86 * Create a new HttpClient object, bypassing the cache of
87 * HTTP client objects/connections.
88 *
89 * @param url the URL being accessed
90 */
91 protected void setNewClient(URL url) throws IOException {
92 delegate.setNewClient(url, false);
93 }
94
95 /**
96 * Obtain a HttpClient object. Use the cached copy if specified.
97 *
98 * @param url the URL being accessed
99 * @param useCache whether the cached connection should be used
100 * if present
101 */
102 protected void setNewClient(URL url, boolean useCache)
103 throws IOException {
104 delegate.setNewClient(url, useCache);
105 }
106
107 /**
108 * Create a new HttpClient object, set up so that it uses
109 * per-instance proxying to the given HTTP proxy. This
110 * bypasses the cache of HTTP client objects/connections.
111 *
112 * @param url the URL being accessed
113 * @param proxyHost the proxy host to use
114 * @param proxyPort the proxy port to use
115 */
116 protected void setProxiedClient(URL url, String proxyHost, int proxyPort)
117 throws IOException {
118 delegate.setProxiedClient(url, proxyHost, proxyPort);
119 }
120
121 /**
122 * Obtain a HttpClient object, set up so that it uses per-instance
123 * proxying to the given HTTP proxy. Use the cached copy of HTTP
124 * client objects/connections if specified.
125 *
126 * @param url the URL being accessed
127 * @param proxyHost the proxy host to use
128 * @param proxyPort the proxy port to use
129 * @param useCache whether the cached connection should be used
130 * if present
131 */
132 protected void setProxiedClient(URL url, String proxyHost, int proxyPort,
133 boolean useCache) throws IOException {
134 delegate.setProxiedClient(url, proxyHost, proxyPort, useCache);
135 }
136
137 /**
138 * Implements the HTTP protocol handler's "connect" method,
139 * establishing an SSL connection to the server as necessary.
140 */
141 public void connect() throws IOException {
142 delegate.connect();
143 }
144
145 /**
146 * Used by subclass to access "connected" variable. Since we are
147 * delegating the actual implementation to "delegate", we need to
148 * delegate the access of "connected" as well.
149 */
150 protected boolean isConnected() {
151 return delegate.isConnected();
152 }
153
154 /**
155 * Used by subclass to access "connected" variable. Since we are
156 * delegating the actual implementation to "delegate", we need to
157 * delegate the access of "connected" as well.
158 */
159 protected void setConnected(boolean conn) {
160 delegate.setConnected(conn);
161 }
162
163 /**
164 * Returns the cipher suite in use on this connection.
165 */
166 public String getCipherSuite() {
167 return delegate.getCipherSuite();
168 }
169
170 /**
171 * Returns the certificate chain the client sent to the
172 * server, or null if the client did not authenticate.
173 */
174 public java.security.cert.Certificate []
175 getLocalCertificates() {
176 return delegate.getLocalCertificates();
177 }
178
179 /**
180 * Returns the server's certificate chain, or throws
181 * SSLPeerUnverified Exception if
182 * the server did not authenticate.
183 */
184 public java.security.cert.Certificate []
185 getServerCertificates() throws SSLPeerUnverifiedException {
186 return delegate.getServerCertificates();
187 }
188
189 /**
190 * Returns the server's X.509 certificate chain, or null if
191 * the server did not authenticate.
192 *
193 * NOTE: This method is not necessary for the version of this class
194 * implementing javax.net.ssl.HttpsURLConnection, but provided for
195 * compatibility with the com.sun.net.ssl.HttpsURLConnection version.
196 */
197 public javax.security.cert.X509Certificate[] getServerCertificateChain() {
198 try {
199 return delegate.getServerCertificateChain();
200 } catch (SSLPeerUnverifiedException e) {
201 // this method does not throw an exception as declared in
202 // com.sun.net.ssl.HttpsURLConnection.
203 // Return null for compatibility.
204 return null;
205 }
206 }
207
208 /*
209 * Allowable input/output sequences:
210 * [interpreted as POST/PUT]
211 * - get output, [write output,] get input, [read input]
212 * - get output, [write output]
213 * [interpreted as GET]
214 * - get input, [read input]
215 * Disallowed:
216 * - get input, [read input,] get output, [write output]
217 */
218
219 public synchronized OutputStream getOutputStream() throws IOException {
220 return delegate.getOutputStream();
221 }
222
223 public synchronized InputStream getInputStream() throws IOException {
224 return delegate.getInputStream();
225 }
226
227 public InputStream getErrorStream() {
228 return delegate.getErrorStream();
229 }
230
231 /**
232 * Disconnect from the server.
233 */
234 public void disconnect() {
235 delegate.disconnect();
236 }
237
238 public boolean usingProxy() {
239 return delegate.usingProxy();
240 }
241
242 /**
243 * Returns an unmodifiable Map of the header fields.
244 * The Map keys are Strings that represent the
245 * response-header field names. Each Map value is an
246 * unmodifiable List of Strings that represents
247 * the corresponding field values.
248 *
249 * @return a Map of header fields
250 * @since 1.4
251 */
252 public Map<String,List<String>> getHeaderFields() {
253 return delegate.getHeaderFields();
254 }
255
256 /**
257 * Gets a header field by name. Returns null if not known.
258 * @param name the name of the header field
259 */
260 public String getHeaderField(String name) {
261 return delegate.getHeaderField(name);
262 }
263
264 /**
265 * Gets a header field by index. Returns null if not known.
266 * @param n the index of the header field
267 */
268 public String getHeaderField(int n) {
269 return delegate.getHeaderField(n);
270 }
271
272 /**
273 * Gets a header field by index. Returns null if not known.
274 * @param n the index of the header field
275 */
276 public String getHeaderFieldKey(int n) {
277 return delegate.getHeaderFieldKey(n);
278 }
279
280 /**
281 * Sets request property. If a property with the key already
282 * exists, overwrite its value with the new value.
283 * @param value the value to be set
284 */
285 public void setRequestProperty(String key, String value) {
286 delegate.setRequestProperty(key, value);
287 }
288
289 /**
290 * Adds a general request property specified by a
291 * key-value pair. This method will not overwrite
292 * existing values associated with the same key.
293 *
294 * @param key the keyword by which the request is known
295 * (e.g., "<code>accept</code>").
296 * @param value the value associated with it.
297 * @see #getRequestProperties(java.lang.String)
298 * @since 1.4
299 */
300 public void addRequestProperty(String key, String value) {
301 delegate.addRequestProperty(key, value);
302 }
303
304 /**
305 * Overwrite super class method
306 */
307 public int getResponseCode() throws IOException {
308 return delegate.getResponseCode();
309 }
310
311 public String getRequestProperty(String key) {
312 return delegate.getRequestProperty(key);
313 }
314
315 /**
316 * Returns an unmodifiable Map of general request
317 * properties for this connection. The Map keys
318 * are Strings that represent the request-header
319 * field names. Each Map value is a unmodifiable List
320 * of Strings that represents the corresponding
321 * field values.
322 *
323 * @return a Map of the general request properties for this connection.
324 * @throws IllegalStateException if already connected
325 * @since 1.4
326 */
327 public Map<String,List<String>> getRequestProperties() {
328 return delegate.getRequestProperties();
329 }
330
331 /*
332 * We support JDK 1.2.x so we can't count on these from JDK 1.3.
333 * We override and supply our own version.
334 */
335 public void setInstanceFollowRedirects(boolean shouldFollow) {
336 delegate.setInstanceFollowRedirects(shouldFollow);
337 }
338
339 public boolean getInstanceFollowRedirects() {
340 return delegate.getInstanceFollowRedirects();
341 }
342
343 public void setRequestMethod(String method) throws ProtocolException {
344 delegate.setRequestMethod(method);
345 }
346
347 public String getRequestMethod() {
348 return delegate.getRequestMethod();
349 }
350
351 public String getResponseMessage() throws IOException {
352 return delegate.getResponseMessage();
353 }
354
355 public long getHeaderFieldDate(String name, long Default) {
356 return delegate.getHeaderFieldDate(name, Default);
357 }
358
359 public Permission getPermission() throws IOException {
360 return delegate.getPermission();
361 }
362
363 public URL getURL() {
364 return delegate.getURL();
365 }
366
367 public int getContentLength() {
368 return delegate.getContentLength();
369 }
370
371 public long getContentLengthLong() {
372 return delegate.getContentLengthLong();
373 }
374
375 public String getContentType() {
376 return delegate.getContentType();
377 }
378
379 public String getContentEncoding() {
380 return delegate.getContentEncoding();
381 }
382
383 public long getExpiration() {
384 return delegate.getExpiration();
385 }
386
387 public long getDate() {
388 return delegate.getDate();
389 }
390
391 public long getLastModified() {
392 return delegate.getLastModified();
393 }
394
395 public int getHeaderFieldInt(String name, int Default) {
396 return delegate.getHeaderFieldInt(name, Default);
397 }
398
399 public long getHeaderFieldLong(String name, long Default) {
400 return delegate.getHeaderFieldLong(name, Default);
401 }
402
403 public Object getContent() throws IOException {
404 return delegate.getContent();
405 }
406
407 public Object getContent(Class[] classes) throws IOException {
408 return delegate.getContent(classes);
409 }
410
411 public String toString() {
412 return delegate.toString();
413 }
414
415 public void setDoInput(boolean doinput) {
416 delegate.setDoInput(doinput);
417 }
418
419 public boolean getDoInput() {
420 return delegate.getDoInput();
421 }
422
423 public void setDoOutput(boolean dooutput) {
424 delegate.setDoOutput(dooutput);
425 }
426
427 public boolean getDoOutput() {
428 return delegate.getDoOutput();
429 }
430
431 public void setAllowUserInteraction(boolean allowuserinteraction) {
432 delegate.setAllowUserInteraction(allowuserinteraction);
433 }
434
435 public boolean getAllowUserInteraction() {
436 return delegate.getAllowUserInteraction();
437 }
438
439 public void setUseCaches(boolean usecaches) {
440 delegate.setUseCaches(usecaches);
441 }
442
443 public boolean getUseCaches() {
444 return delegate.getUseCaches();
445 }
446
447 public void setIfModifiedSince(long ifmodifiedsince) {
448 delegate.setIfModifiedSince(ifmodifiedsince);
449 }
450
451 public long getIfModifiedSince() {
452 return delegate.getIfModifiedSince();
453 }
454
455 public boolean getDefaultUseCaches() {
456 return delegate.getDefaultUseCaches();
457 }
458
459 public void setDefaultUseCaches(boolean defaultusecaches) {
460 delegate.setDefaultUseCaches(defaultusecaches);
461 }
462
463 /*
464 * finalize (dispose) the delegated object. Otherwise
465 * sun.net.www.protocol.http.HttpURLConnection's finalize()
466 * would have to be made public.
467 */
468 protected void finalize() throws Throwable {
469 delegate.dispose();
470 }
471
472 public boolean equals(Object obj) {
473 return delegate.equals(obj);
474 }
475
476 public int hashCode() {
477 return delegate.hashCode();
478 }
479
480 public void setConnectTimeout(int timeout) {
481 delegate.setConnectTimeout(timeout);
482 }
483
484 public int getConnectTimeout() {
485 return delegate.getConnectTimeout();
486 }
487
488 public void setReadTimeout(int timeout) {
489 delegate.setReadTimeout(timeout);
490 }
491
492 public int getReadTimeout() {
493 return delegate.getReadTimeout();
494 }
495
496 public void setFixedLengthStreamingMode (int contentLength) {
497 delegate.setFixedLengthStreamingMode(contentLength);
498 }
499
500 public void setFixedLengthStreamingMode(long contentLength) {
501 delegate.setFixedLengthStreamingMode(contentLength);
502 }
503
504 public void setChunkedStreamingMode (int chunklen) {
505 delegate.setChunkedStreamingMode(chunklen);
506 }
507}
java/pkg/com/sun/net/ssl/internal/www/protocol/https/mkfile+10−0
@@ -0,0 +1,10 @@
1<../../../../../../../../../../mkconfig
2
3TARG=\
4 DelegateHttpsURLConnection.dis\
5 Handler.dis\
6 HttpsURLConnectionOldImpl.dis\
7
8DISBIN=$ROOT/java/dis/java/java/com/sun/net/ssl/internal/www/protocol/https
9
10<$ROOT/mkfiles/mkjava

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t