Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
6d31bb0e
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看板
提交
6d31bb0e
编写于
8月 18, 2009
作者:
W
weijun
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
6829785: TextCallbackHandler does not honor PasswordCallback.isEchoOn()
Reviewed-by: mullan
上级
293e67d4
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
58 addition
and
3 deletion
+58
-3
src/share/classes/com/sun/security/auth/callback/TextCallbackHandler.java
...s/com/sun/security/auth/callback/TextCallbackHandler.java
+1
-1
src/share/classes/sun/security/util/Password.java
src/share/classes/sun/security/util/Password.java
+10
-2
test/com/sun/security/auth/callback/TextCallbackHandler/Password.java
.../security/auth/callback/TextCallbackHandler/Password.java
+47
-0
未找到文件。
src/share/classes/com/sun/security/auth/callback/TextCallbackHandler.java
浏览文件 @
6d31bb0e
...
...
@@ -129,7 +129,7 @@ public class TextCallbackHandler implements CallbackHandler {
System
.
err
.
print
(
pc
.
getPrompt
());
System
.
err
.
flush
();
pc
.
setPassword
(
Password
.
readPassword
(
System
.
in
));
pc
.
setPassword
(
Password
.
readPassword
(
System
.
in
,
pc
.
isEchoOn
()
));
}
else
if
(
callbacks
[
i
]
instanceof
ConfirmationCallback
)
{
confirmation
=
(
ConfirmationCallback
)
callbacks
[
i
];
...
...
src/share/classes/sun/security/util/Password.java
浏览文件 @
6d31bb0e
/*
* Copyright 2003-200
6
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 2003-200
9
Sun Microsystems, Inc. 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
...
...
@@ -37,6 +37,14 @@ import java.util.Arrays;
public
class
Password
{
/** Reads user password from given input stream. */
public
static
char
[]
readPassword
(
InputStream
in
)
throws
IOException
{
return
readPassword
(
in
,
false
);
}
/** Reads user password from given input stream.
* @param isEchoOn true if the password should be echoed on the screen
*/
public
static
char
[]
readPassword
(
InputStream
in
,
boolean
isEchoOn
)
throws
IOException
{
char
[]
consoleEntered
=
null
;
byte
[]
consoleBytes
=
null
;
...
...
@@ -44,7 +52,7 @@ public class Password {
try
{
// Use the new java.io.Console class
Console
con
=
null
;
if
(
in
==
System
.
in
&&
((
con
=
System
.
console
())
!=
null
))
{
if
(
!
isEchoOn
&&
in
==
System
.
in
&&
((
con
=
System
.
console
())
!=
null
))
{
consoleEntered
=
con
.
readPassword
();
// readPassword returns "" if you just print ENTER,
// to be compatible with old Password class, change to null
...
...
test/com/sun/security/auth/callback/TextCallbackHandler/Password.java
0 → 100644
浏览文件 @
6d31bb0e
/*
* Copyright 2009 Sun Microsystems, Inc. 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
/*
* @test
* @bug 6825240
* @summary Password.readPassword() echos the input when System.Console is null
* @ignore run these by hand
*/
import
com.sun.security.auth.callback.TextCallbackHandler
;
import
javax.security.auth.callback.*
;
public
class
Password
{
public
static
void
main
(
String
args
[])
throws
Exception
{
TextCallbackHandler
h
=
new
TextCallbackHandler
();
PasswordCallback
nc
=
new
PasswordCallback
(
"Invisible: "
,
false
);
PasswordCallback
nc2
=
new
PasswordCallback
(
"Visible: "
,
true
);
System
.
out
.
println
(
"Two passwords will be prompted for. The first one "
+
"should have echo off, the second one on. Otherwise, this test fails"
);
Callback
[]
callbacks
=
{
nc
,
nc2
};
h
.
handle
(
callbacks
);
System
.
out
.
println
(
"You input "
+
new
String
(
nc
.
getPassword
())
+
" and "
+
new
String
(
nc2
.
getPassword
()));
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录