Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
210ffe56
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
4
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看板
提交
210ffe56
编写于
10月 24, 2013
作者:
S
smarks
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8023862: deprecate HTTP proxying from RMI
Reviewed-by: mchung
上级
3e61072f
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
90 addition
and
10 deletion
+90
-10
src/share/classes/java/rmi/server/RMISocketFactory.java
src/share/classes/java/rmi/server/RMISocketFactory.java
+9
-1
src/share/classes/java/rmi/server/package.html
src/share/classes/java/rmi/server/package.html
+5
-1
src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java
...asses/sun/rmi/transport/proxy/RMIMasterSocketFactory.java
+8
-8
test/sun/rmi/transport/proxy/DisableHttpDefaultValue.java
test/sun/rmi/transport/proxy/DisableHttpDefaultValue.java
+68
-0
未找到文件。
src/share/classes/java/rmi/server/RMISocketFactory.java
浏览文件 @
210ffe56
...
@@ -41,7 +41,15 @@ import java.net.*;
...
@@ -41,7 +41,15 @@ import java.net.*;
* (due to a firewall), the runtime uses HTTP with the explicit port
* (due to a firewall), the runtime uses HTTP with the explicit port
* number of the server. If the firewall does not allow this type of
* number of the server. If the firewall does not allow this type of
* communication, then HTTP to a cgi-bin script on the server is used
* communication, then HTTP to a cgi-bin script on the server is used
* to POST the RMI call.
* to POST the RMI call. The HTTP tunneling mechanisms are disabled by
* default. This behavior is controlled by the {@code java.rmi.server.disableHttp}
* property, whose default value is {@code true}. Setting this property's
* value to {@code false} will enable the HTTP tunneling mechanisms.
*
* <p><strong>Deprecated: HTTP Tunneling.</strong> <em>The HTTP tunneling mechanisms
* described above, specifically HTTP with an explicit port and HTTP to a
* cgi-bin script, are deprecated. These HTTP tunneling mechanisms are
* subject to removal in a future release of the platform.</em>
*
*
* <p>The default socket factory implementation creates server sockets that
* <p>The default socket factory implementation creates server sockets that
* are bound to the wildcard address, which accepts requests from all network
* are bound to the wildcard address, which accepts requests from all network
...
...
src/share/classes/java/rmi/server/package.html
浏览文件 @
210ffe56
<!--
<!--
Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
Copyright (c) 1998,
2013,
Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
This code is free software; you can redistribute it and/or modify it
This code is free software; you can redistribute it and/or modify it
...
@@ -32,6 +32,10 @@ side of RMI. A group of classes are used by the stubs and skeletons
...
@@ -32,6 +32,10 @@ side of RMI. A group of classes are used by the stubs and skeletons
generated by the rmic stub compiler. Another group of classes
generated by the rmic stub compiler. Another group of classes
implements the RMI Transport protocol and HTTP tunneling.
implements the RMI Transport protocol and HTTP tunneling.
<p><strong>
Deprecated: HTTP Tunneling.
</strong>
<em>
The HTTP tunneling
mechanism has been deprecated. See {@link java.rmi.server.RMISocketFactory} for
further information.
</em>
<!--
<!--
<h2>Package Specification</h2>
<h2>Package Specification</h2>
...
...
src/share/classes/sun/rmi/transport/proxy/RMIMasterSocketFactory.java
浏览文件 @
210ffe56
...
@@ -34,6 +34,7 @@ import sun.rmi.runtime.Log;
...
@@ -34,6 +34,7 @@ import sun.rmi.runtime.Log;
import
sun.rmi.runtime.NewThreadAction
;
import
sun.rmi.runtime.NewThreadAction
;
import
sun.security.action.GetBooleanAction
;
import
sun.security.action.GetBooleanAction
;
import
sun.security.action.GetLongAction
;
import
sun.security.action.GetLongAction
;
import
sun.security.action.GetPropertyAction
;
/**
/**
* RMIMasterSocketFactory attempts to create a socket connection to the
* RMIMasterSocketFactory attempts to create a socket connection to the
...
@@ -103,22 +104,21 @@ public class RMIMasterSocketFactory extends RMISocketFactory {
...
@@ -103,22 +104,21 @@ public class RMIMasterSocketFactory extends RMISocketFactory {
try
{
try
{
String
proxyHost
;
String
proxyHost
;
proxyHost
=
java
.
security
.
AccessController
.
doPrivileged
(
proxyHost
=
java
.
security
.
AccessController
.
doPrivileged
(
new
sun
.
security
.
action
.
GetPropertyAction
(
"http.proxyHost"
));
new
GetPropertyAction
(
"http.proxyHost"
));
if
(
proxyHost
==
null
)
if
(
proxyHost
==
null
)
proxyHost
=
java
.
security
.
AccessController
.
doPrivileged
(
proxyHost
=
java
.
security
.
AccessController
.
doPrivileged
(
new
sun
.
security
.
action
.
GetPropertyAction
(
"proxyHost"
));
new
GetPropertyAction
(
"proxyHost"
));
Boolean
tmp
=
java
.
security
.
AccessController
.
doPrivileged
(
boolean
disable
=
java
.
security
.
AccessController
.
doPrivileged
(
new
sun
.
security
.
action
.
GetBooleanAction
(
"java.rmi.server.disableHttp"
));
new
GetPropertyAction
(
"java.rmi.server.disableHttp"
,
"true"
))
.
equalsIgnoreCase
(
"true"
);
if
(!
tmp
.
booleanValue
()
&&
if
(!
disable
&&
proxyHost
!=
null
&&
proxyHost
.
length
()
>
0
)
{
(
proxyHost
!=
null
&&
proxyHost
.
length
()
>
0
))
{
setFactories
=
true
;
setFactories
=
true
;
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
// unable to obtain the properties, so assume default behavior.
// unable to obtain the properties, so use the default behavior.
setFactories
=
true
;
}
}
if
(
setFactories
)
{
if
(
setFactories
)
{
...
...
test/sun/rmi/transport/proxy/DisableHttpDefaultValue.java
0 → 100644
浏览文件 @
210ffe56
/*
* Copyright (c) 2013, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/* @test
* @bug 8023862
* @summary Verify that the default value of the java.rmi.server.disableHttp
* has been changed from false to true.
* @compile -XDignore.symbol.file DisableHttpDefaultValue.java
*
* @run main/othervm DisableHttpDefaultValue true
* @run main/othervm -Djava.rmi.server.disableHttp DisableHttpDefaultValue false
* @run main/othervm -Djava.rmi.server.disableHttp=false DisableHttpDefaultValue false
* @run main/othervm -Djava.rmi.server.disableHttp=xyzzy DisableHttpDefaultValue false
* @run main/othervm -Djava.rmi.server.disableHttp=true DisableHttpDefaultValue true
*/
import
sun.rmi.transport.proxy.RMIMasterSocketFactory
;
public
class
DisableHttpDefaultValue
{
/**
* Subclass RMIMasterSocketFactory to get access to
* protected field altFactoryList. This list has a
* zero size if proxying is disabled.
*/
static
class
SocketFactory
extends
RMIMasterSocketFactory
{
boolean
proxyDisabled
()
{
return
altFactoryList
.
size
()
==
0
;
}
}
/**
* Takes a single arg, which is the expected boolean value of
* java.rmi.server.disableHttp.
*/
public
static
void
main
(
String
[]
args
)
throws
Exception
{
// Force there to be a proxy host, so that we are able to
// tell whether proxying is enabled or disabled.
System
.
setProperty
(
"http.proxyHost"
,
"proxy.example.com"
);
String
propval
=
System
.
getProperty
(
"java.rmi.server.disableHttp"
);
String
propdisp
=
(
propval
==
null
)
?
"null"
:
(
"\""
+
propval
+
"\""
);
boolean
expected
=
Boolean
.
parseBoolean
(
args
[
0
]);
boolean
actual
=
new
SocketFactory
().
proxyDisabled
();
System
.
out
.
printf
(
"### prop=%s exp=%s act=%s%n"
,
propdisp
,
expected
,
actual
);
if
(
expected
!=
actual
)
throw
new
AssertionError
();
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录