Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
34f8f8bb
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看板
提交
34f8f8bb
编写于
8月 18, 2009
作者:
A
asaha
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
e0410d97
6d31bb0e
变更
8
显示空白变更内容
内联
并排
Showing
8 changed file
with
97 addition
and
39 deletion
+97
-39
src/share/classes/com/sun/security/auth/callback/TextCallbackHandler.java
...s/com/sun/security/auth/callback/TextCallbackHandler.java
+1
-1
src/share/classes/sun/nio/cs/ext/ISO2022.java
src/share/classes/sun/nio/cs/ext/ISO2022.java
+3
-3
src/share/classes/sun/nio/cs/ext/ISO2022_CN_CNS.java
src/share/classes/sun/nio/cs/ext/ISO2022_CN_CNS.java
+9
-0
src/share/classes/sun/security/util/Password.java
src/share/classes/sun/security/util/Password.java
+10
-2
src/windows/classes/sun/nio/fs/WindowsFileSystem.java
src/windows/classes/sun/nio/fs/WindowsFileSystem.java
+4
-14
test/com/sun/security/auth/callback/TextCallbackHandler/Password.java
.../security/auth/callback/TextCallbackHandler/Password.java
+47
-0
test/java/nio/file/PathMatcher/Basic.java
test/java/nio/file/PathMatcher/Basic.java
+21
-15
test/sun/nio/cs/FindCanEncodeBugs.java
test/sun/nio/cs/FindCanEncodeBugs.java
+2
-4
未找到文件。
src/share/classes/com/sun/security/auth/callback/TextCallbackHandler.java
浏览文件 @
34f8f8bb
...
@@ -129,7 +129,7 @@ public class TextCallbackHandler implements CallbackHandler {
...
@@ -129,7 +129,7 @@ public class TextCallbackHandler implements CallbackHandler {
System
.
err
.
print
(
pc
.
getPrompt
());
System
.
err
.
print
(
pc
.
getPrompt
());
System
.
err
.
flush
();
System
.
err
.
flush
();
pc
.
setPassword
(
Password
.
readPassword
(
System
.
in
));
pc
.
setPassword
(
Password
.
readPassword
(
System
.
in
,
pc
.
isEchoOn
()
));
}
else
if
(
callbacks
[
i
]
instanceof
ConfirmationCallback
)
{
}
else
if
(
callbacks
[
i
]
instanceof
ConfirmationCallback
)
{
confirmation
=
(
ConfirmationCallback
)
callbacks
[
i
];
confirmation
=
(
ConfirmationCallback
)
callbacks
[
i
];
...
...
src/share/classes/sun/nio/cs/ext/ISO2022.java
浏览文件 @
34f8f8bb
...
@@ -388,9 +388,9 @@ abstract class ISO2022
...
@@ -388,9 +388,9 @@ abstract class ISO2022
protected
static
class
Encoder
extends
CharsetEncoder
{
protected
static
class
Encoder
extends
CharsetEncoder
{
private
final
Surrogate
.
Parser
sgp
=
new
Surrogate
.
Parser
();
private
final
Surrogate
.
Parser
sgp
=
new
Surrogate
.
Parser
();
p
rivate
final
byte
SS2
=
(
byte
)
0x8e
;
p
ublic
static
final
byte
SS2
=
(
byte
)
0x8e
;
p
rivate
final
byte
PLANE2
=
(
byte
)
0xA2
;
p
ublic
static
final
byte
PLANE2
=
(
byte
)
0xA2
;
p
rivate
final
byte
PLANE3
=
(
byte
)
0xA3
;
p
ublic
static
final
byte
PLANE3
=
(
byte
)
0xA3
;
private
final
byte
MSB
=
(
byte
)
0x80
;
private
final
byte
MSB
=
(
byte
)
0x80
;
protected
final
byte
maximumDesignatorLength
=
4
;
protected
final
byte
maximumDesignatorLength
=
4
;
...
...
src/share/classes/sun/nio/cs/ext/ISO2022_CN_CNS.java
浏览文件 @
34f8f8bb
...
@@ -76,6 +76,15 @@ public class ISO2022_CN_CNS extends ISO2022 implements HistoricallyNamedCharset
...
@@ -76,6 +76,15 @@ public class ISO2022_CN_CNS extends ISO2022 implements HistoricallyNamedCharset
}
catch
(
Exception
e
)
{
}
}
catch
(
Exception
e
)
{
}
}
}
private
byte
[]
bb
=
new
byte
[
4
];
public
boolean
canEncode
(
char
c
)
{
int
n
=
0
;
return
(
c
<=
'\u007f'
||
(
n
=
((
EUC_TW
.
Encoder
)
ISOEncoder
).
toEUC
(
c
,
bb
))
==
2
||
(
n
==
4
&&
bb
[
0
]
==
SS2
&&
(
bb
[
1
]
==
PLANE2
||
bb
[
1
]
==
PLANE3
)));
}
/*
/*
* Since ISO2022-CN-CNS possesses a CharsetEncoder
* Since ISO2022-CN-CNS possesses a CharsetEncoder
* without the corresponding CharsetDecoder half the
* without the corresponding CharsetDecoder half the
...
...
src/share/classes/sun/security/util/Password.java
浏览文件 @
34f8f8bb
/*
/*
* 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.
* 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
...
@@ -37,6 +37,14 @@ import java.util.Arrays;
...
@@ -37,6 +37,14 @@ import java.util.Arrays;
public
class
Password
{
public
class
Password
{
/** Reads user password from given input stream. */
/** Reads user password from given input stream. */
public
static
char
[]
readPassword
(
InputStream
in
)
throws
IOException
{
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
;
char
[]
consoleEntered
=
null
;
byte
[]
consoleBytes
=
null
;
byte
[]
consoleBytes
=
null
;
...
@@ -44,7 +52,7 @@ public class Password {
...
@@ -44,7 +52,7 @@ public class Password {
try
{
try
{
// Use the new java.io.Console class
// Use the new java.io.Console class
Console
con
=
null
;
Console
con
=
null
;
if
(
in
==
System
.
in
&&
((
con
=
System
.
console
())
!=
null
))
{
if
(
!
isEchoOn
&&
in
==
System
.
in
&&
((
con
=
System
.
console
())
!=
null
))
{
consoleEntered
=
con
.
readPassword
();
consoleEntered
=
con
.
readPassword
();
// readPassword returns "" if you just print ENTER,
// readPassword returns "" if you just print ENTER,
// to be compatible with old Password class, change to null
// to be compatible with old Password class, change to null
...
...
src/windows/classes/sun/nio/fs/WindowsFileSystem.java
浏览文件 @
34f8f8bb
...
@@ -283,25 +283,15 @@ class WindowsFileSystem
...
@@ -283,25 +283,15 @@ class WindowsFileSystem
}
}
}
}
// match in uppercase
// match in unicode_case_insensitive
StringBuilder
sb
=
new
StringBuilder
(
expr
.
length
());
final
Pattern
pattern
=
Pattern
.
compile
(
expr
,
for
(
int
i
=
0
;
i
<
expr
.
length
();
i
++)
{
Pattern
.
CASE_INSENSITIVE
|
Pattern
.
UNICODE_CASE
);
sb
.
append
(
Character
.
toUpperCase
(
expr
.
charAt
(
i
)));
}
expr
=
sb
.
toString
();
// return matcher
// return matcher
final
Pattern
pattern
=
Pattern
.
compile
(
expr
);
return
new
PathMatcher
()
{
return
new
PathMatcher
()
{
@Override
@Override
public
boolean
matches
(
Path
path
)
{
public
boolean
matches
(
Path
path
)
{
// match in uppercase
return
pattern
.
matcher
(
path
.
toString
()).
matches
();
String
s
=
path
.
toString
();
StringBuilder
sb
=
new
StringBuilder
(
s
.
length
());
for
(
int
i
=
0
;
i
<
s
.
length
();
i
++)
{
sb
.
append
(
Character
.
toUpperCase
(
s
.
charAt
(
i
))
);
}
return
pattern
.
matcher
(
sb
).
matches
();
}
}
};
};
}
}
...
...
test/com/sun/security/auth/callback/TextCallbackHandler/Password.java
0 → 100644
浏览文件 @
34f8f8bb
/*
* 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
()));
}
}
test/java/nio/file/PathMatcher/Basic.java
浏览文件 @
34f8f8bb
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
*/
*/
/* @test
/* @test
* @bug 4313887
* @bug 4313887
6866397
* @summary Unit test for java.nio.file.PathMatcher
* @summary Unit test for java.nio.file.PathMatcher
*/
*/
...
@@ -68,6 +68,20 @@ public class Basic {
...
@@ -68,6 +68,20 @@ public class Basic {
}
}
}
}
static
void
assertRegExMatch
(
String
path
,
String
pattern
)
{
System
.
out
.
format
(
"Test regex pattern: %s"
,
pattern
);
Path
file
=
Paths
.
get
(
path
);
boolean
matched
=
file
.
getFileSystem
()
.
getPathMatcher
(
"regex:"
+
pattern
).
matches
(
file
);
if
(
matched
)
{
System
.
out
.
println
(
" OKAY"
);
}
else
{
System
.
out
.
println
(
" ==> UNEXPECTED RESULT!"
);
failures
++;
}
}
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
// basic
// basic
assertMatch
(
"foo.html"
,
"foo.html"
);
assertMatch
(
"foo.html"
,
"foo.html"
);
...
@@ -140,21 +154,13 @@ public class Basic {
...
@@ -140,21 +154,13 @@ public class Basic {
assertMatch
(
"one*two"
,
"one\\*two"
);
assertMatch
(
"one*two"
,
"one\\*two"
);
}
}
// regex syntax
// regex syntax
{
assertRegExMatch
(
"foo.html"
,
".*\\.html"
);
String
pattern
=
".*\\.html"
;
System
.
out
.
format
(
"Test regex pattern: %s"
,
pattern
);
if
(
System
.
getProperty
(
"os.name"
).
startsWith
(
"Windows"
))
{
Path
file
=
Paths
.
get
(
"foo.html"
);
assertRegExMatch
(
"foo012"
,
"foo\\d+"
);
boolean
matched
=
file
.
getFileSystem
()
assertRegExMatch
(
"fo o"
,
"fo\\so"
);
.
getPathMatcher
(
"regex:"
+
pattern
).
matches
(
file
);
assertRegExMatch
(
"foo"
,
"\\w+"
);
if
(
matched
)
{
System
.
out
.
println
(
" OKAY"
);
}
else
{
System
.
out
.
println
(
" ==> UNEXPECTED RESULT!"
);
failures
++;
}
}
}
// unknown syntax
// unknown syntax
...
...
test/sun/nio/cs/FindCanEncodeBugs.java
浏览文件 @
34f8f8bb
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
*/
*/
/* @test
/* @test
@bug 5066863 5066867 5066874 5066879 5066884 5066887 5065777
@bug 5066863 5066867 5066874 5066879 5066884 5066887 5065777
6730652
@summary canEncode() false iff encode() throws CharacterCodingException
@summary canEncode() false iff encode() throws CharacterCodingException
@run main/timeout=1200 FindCanEncodeBugs
@run main/timeout=1200 FindCanEncodeBugs
@author Martin Buchholz
@author Martin Buchholz
...
@@ -52,9 +52,7 @@ public class FindCanEncodeBugs {
...
@@ -52,9 +52,7 @@ public class FindCanEncodeBugs {
String
csn
=
e
.
getKey
();
String
csn
=
e
.
getKey
();
Charset
cs
=
e
.
getValue
();
Charset
cs
=
e
.
getValue
();
if
(!
cs
.
canEncode
()
||
if
(!
cs
.
canEncode
()
||
csn
.
matches
(
"x-COMPOUND_TEXT"
))
csn
.
matches
(
"x-COMPOUND_TEXT"
)
||
csn
.
matches
(
"x-ISO-2022-CN-CNS"
))
// ISO2022_CN_CNS supports less
continue
;
continue
;
//System.out.println(csn);
//System.out.println(csn);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录