Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
023084e7
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
3
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_jdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
023084e7
编写于
6月 08, 2018
作者:
R
rpatil
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8200666: Improve LDAP support
Reviewed-by: chegar
上级
55efe603
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
34 addition
and
17 deletion
+34
-17
src/share/classes/com/sun/jndi/ldap/Connection.java
src/share/classes/com/sun/jndi/ldap/Connection.java
+34
-17
未找到文件。
src/share/classes/com/sun/jndi/ldap/Connection.java
浏览文件 @
023084e7
/*
* Copyright (c) 1999, 201
4
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1999, 201
8
, 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
...
...
@@ -27,26 +27,27 @@ package com.sun.jndi.ldap;
import
java.io.BufferedInputStream
;
import
java.io.BufferedOutputStream
;
import
java.io.InterruptedIOException
;
import
java.io.IOException
;
import
java.io.OutputStream
;
import
java.io.InputStream
;
import
java.io.InterruptedIOException
;
import
java.io.OutputStream
;
import
java.lang.reflect.Constructor
;
import
java.lang.reflect.InvocationTargetException
;
import
java.lang.reflect.Method
;
import
java.net.Socket
;
import
javax.net.ssl.SSLSocket
;
import
java.security.AccessController
;
import
java.security.PrivilegedAction
;
import
java.util.Arrays
;
import
javax.naming.CommunicationException
;
import
javax.naming.ServiceUnavailableException
;
import
javax.naming.NamingException
;
import
javax.naming.InterruptedNamingException
;
import
javax.naming.NamingException
;
import
javax.naming.ServiceUnavailableException
;
import
javax.naming.ldap.Control
;
import
javax.net.ssl.SSLParameters
;
import
javax.net.ssl.SSLSocket
;
import
java.lang.reflect.Method
;
import
java.lang.reflect.Constructor
;
import
java.lang.reflect.InvocationTargetException
;
import
java.util.Arrays
;
import
sun.misc.IOUtils
;
//import javax.net.SocketFactory;
/**
* A thread that creates a connection to an LDAP server.
...
...
@@ -159,7 +160,18 @@ public final class Connection implements Runnable {
int
readTimeout
;
int
connectTimeout
;
private
static
final
boolean
IS_HOSTNAME_VERIFICATION_DISABLED
=
hostnameVerificationDisabledValue
();
private
static
boolean
hostnameVerificationDisabledValue
()
{
PrivilegedAction
<
String
>
act
=
()
->
System
.
getProperty
(
"com.sun.jndi.ldap.object.disableEndpointIdentification"
);
String
prop
=
AccessController
.
doPrivileged
(
act
);
if
(
prop
==
null
)
{
return
false
;
}
return
prop
.
isEmpty
()
?
true
:
Boolean
.
parseBoolean
(
prop
);
}
// true means v3; false means v2
// Called in LdapClient.authenticate() (which is synchronized)
// when connection is "quiet" and not shared; no need to synchronize
...
...
@@ -368,15 +380,20 @@ public final class Connection implements Runnable {
// the SSL handshake following socket connection as part of the timeout.
// So explicitly set a socket read timeout, trigger the SSL handshake,
// then reset the timeout.
if
(
connectTimeout
>
0
&&
socket
instanceof
SSLSocket
)
{
if
(
socket
instanceof
SSLSocket
)
{
SSLSocket
sslSocket
=
(
SSLSocket
)
socket
;
int
socketTimeout
=
sslSocket
.
getSoTimeout
();
sslSocket
.
setSoTimeout
(
connectTimeout
);
// reuse full timeout value
if
(!
IS_HOSTNAME_VERIFICATION_DISABLED
)
{
SSLParameters
param
=
sslSocket
.
getSSLParameters
();
param
.
setEndpointIdentificationAlgorithm
(
"LDAPS"
);
sslSocket
.
setSSLParameters
(
param
);
}
if
(
connectTimeout
>
0
)
{
sslSocket
.
setSoTimeout
(
connectTimeout
);
// reuse full timeout value
}
sslSocket
.
startHandshake
();
sslSocket
.
setSoTimeout
(
socketTimeout
);
}
return
socket
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录