Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
e8cf47d0
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,体验更适合开发者的 AI 搜索 >>
提交
e8cf47d0
编写于
3月 05, 2009
作者:
V
valeriep
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
c60a1e96
6174ce52
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
113 addition
and
24 deletion
+113
-24
src/share/classes/java/lang/Class.java
src/share/classes/java/lang/Class.java
+2
-4
src/share/classes/java/lang/reflect/Constructor.java
src/share/classes/java/lang/reflect/Constructor.java
+1
-3
src/share/classes/java/lang/reflect/Field.java
src/share/classes/java/lang/reflect/Field.java
+1
-3
src/share/classes/java/lang/reflect/Method.java
src/share/classes/java/lang/reflect/Method.java
+1
-3
src/share/classes/java/net/SocketPermission.java
src/share/classes/java/net/SocketPermission.java
+0
-1
src/share/classes/java/util/ArrayList.java
src/share/classes/java/util/ArrayList.java
+0
-1
src/share/classes/sun/misc/ClassLoaderUtil.java
src/share/classes/sun/misc/ClassLoaderUtil.java
+0
-2
src/share/classes/sun/reflect/annotation/AnnotationParser.java
...hare/classes/sun/reflect/annotation/AnnotationParser.java
+12
-0
src/share/classes/sun/security/provider/SeedGenerator.java
src/share/classes/sun/security/provider/SeedGenerator.java
+25
-5
src/share/classes/sun/security/tools/KeyTool.java
src/share/classes/sun/security/tools/KeyTool.java
+6
-2
test/sun/security/tools/keytool/NoExtNPE.sh
test/sun/security/tools/keytool/NoExtNPE.sh
+65
-0
未找到文件。
src/share/classes/java/lang/Class.java
浏览文件 @
e8cf47d0
...
...
@@ -3059,14 +3059,12 @@ public final
}
private
static
Annotation
[]
EMPTY_ANNOTATIONS_ARRAY
=
new
Annotation
[
0
];
/**
* @since 1.5
*/
public
Annotation
[]
getAnnotations
()
{
initAnnotationsIfNecessary
();
return
annotations
.
values
().
toArray
(
EMPTY_ANNOTATIONS_ARRAY
);
return
AnnotationParser
.
toArray
(
annotations
);
}
/**
...
...
@@ -3074,7 +3072,7 @@ public final
*/
public
Annotation
[]
getDeclaredAnnotations
()
{
initAnnotationsIfNecessary
();
return
declaredAnnotations
.
values
().
toArray
(
EMPTY_ANNOTATIONS_ARRAY
);
return
AnnotationParser
.
toArray
(
declaredAnnotations
);
}
// Annotations cache
...
...
src/share/classes/java/lang/reflect/Constructor.java
浏览文件 @
e8cf47d0
...
...
@@ -626,13 +626,11 @@ public final
return
(
T
)
declaredAnnotations
().
get
(
annotationClass
);
}
private
static
final
Annotation
[]
EMPTY_ANNOTATION_ARRAY
=
new
Annotation
[
0
];
/**
* @since 1.5
*/
public
Annotation
[]
getDeclaredAnnotations
()
{
return
declaredAnnotations
().
values
().
toArray
(
EMPTY_ANNOTATION_ARRAY
);
return
AnnotationParser
.
toArray
(
declaredAnnotations
()
);
}
private
transient
Map
<
Class
,
Annotation
>
declaredAnnotations
;
...
...
src/share/classes/java/lang/reflect/Field.java
浏览文件 @
e8cf47d0
...
...
@@ -1018,13 +1018,11 @@ class Field extends AccessibleObject implements Member {
return
(
T
)
declaredAnnotations
().
get
(
annotationClass
);
}
private
static
final
Annotation
[]
EMPTY_ANNOTATION_ARRAY
=
new
Annotation
[
0
];
/**
* @since 1.5
*/
public
Annotation
[]
getDeclaredAnnotations
()
{
return
declaredAnnotations
().
values
().
toArray
(
EMPTY_ANNOTATION_ARRAY
);
return
AnnotationParser
.
toArray
(
declaredAnnotations
()
);
}
private
transient
Map
<
Class
,
Annotation
>
declaredAnnotations
;
...
...
src/share/classes/java/lang/reflect/Method.java
浏览文件 @
e8cf47d0
...
...
@@ -705,13 +705,11 @@ public final
return
(
T
)
declaredAnnotations
().
get
(
annotationClass
);
}
private
static
final
Annotation
[]
EMPTY_ANNOTATION_ARRAY
=
new
Annotation
[
0
];
/**
* @since 1.5
*/
public
Annotation
[]
getDeclaredAnnotations
()
{
return
declaredAnnotations
().
values
().
toArray
(
EMPTY_ANNOTATION_ARRAY
);
return
AnnotationParser
.
toArray
(
declaredAnnotations
()
);
}
private
transient
Map
<
Class
,
Annotation
>
declaredAnnotations
;
...
...
src/share/classes/java/net/SocketPermission.java
浏览文件 @
e8cf47d0
...
...
@@ -113,7 +113,6 @@ import sun.security.util.SecurityConstants;
* <p>Similarly, if the following permission:
*
* <pre>
* p1 = new SocketPermission("puffin.eng.sun.com:7777", "connect,accept");
* p2 = new SocketPermission("localhost:1024-", "accept,connect,listen");
* </pre>
*
...
...
src/share/classes/java/util/ArrayList.java
浏览文件 @
e8cf47d0
...
...
@@ -179,7 +179,6 @@ public class ArrayList<E> extends AbstractList<E>
modCount
++;
int
oldCapacity
=
elementData
.
length
;
if
(
minCapacity
>
oldCapacity
)
{
Object
oldData
[]
=
elementData
;
int
newCapacity
=
(
oldCapacity
*
3
)/
2
+
1
;
if
(
newCapacity
<
minCapacity
)
newCapacity
=
minCapacity
;
...
...
src/share/classes/sun/misc/ClassLoaderUtil.java
浏览文件 @
e8cf47d0
...
...
@@ -77,8 +77,6 @@ public class ClassLoaderUtil {
jarsClosed
.
clear
();
}
System
.
out
.
println
(
"classLoader = "
+
classLoader
);
System
.
out
.
println
(
"SharedSecrets.getJavaNetAccess()="
+
SharedSecrets
.
getJavaNetAccess
());
URLClassPath
ucp
=
SharedSecrets
.
getJavaNetAccess
()
.
getURLClassPath
(
classLoader
);
ArrayList
loaders
=
ucp
.
loaders
;
...
...
src/share/classes/sun/reflect/annotation/AnnotationParser.java
浏览文件 @
e8cf47d0
...
...
@@ -788,4 +788,16 @@ public class AnnotationParser {
for
(
int
i
=
0
;
i
<
length
;
i
++)
skipMemberValue
(
buf
);
}
/*
* This method converts the annotation map returned by the parseAnnotations()
* method to an array. It is called by Field.getDeclaredAnnotations(),
* Method.getDeclaredAnnotations(), and Constructor.getDeclaredAnnotations().
* This avoids the reflection classes to load the Annotation class until
* it is needed.
*/
private
static
final
Annotation
[]
EMPTY_ANNOTATION_ARRAY
=
new
Annotation
[
0
];
public
static
Annotation
[]
toArray
(
Map
<
Class
,
Annotation
>
annotations
)
{
return
annotations
.
values
().
toArray
(
EMPTY_ANNOTATION_ARRAY
);
}
}
src/share/classes/sun/security/provider/SeedGenerator.java
浏览文件 @
e8cf47d0
/*
* Copyright 1996-200
6
Sun Microsystems, Inc. All Rights Reserved.
* Copyright 1996-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
...
...
@@ -68,6 +68,9 @@ import java.io.*;
import
java.util.Properties
;
import
java.util.Enumeration
;
import
java.net.*
;
import
java.nio.file.DirectoryStream
;
import
java.nio.file.Path
;
import
java.util.Random
;
import
sun.security.util.Debug
;
abstract
class
SeedGenerator
{
...
...
@@ -180,10 +183,27 @@ abstract class SeedGenerator {
// The temporary dir
File
f
=
new
File
(
p
.
getProperty
(
"java.io.tmpdir"
));
String
[]
sa
=
f
.
list
();
for
(
int
i
=
0
;
i
<
sa
.
length
;
i
++)
md
.
update
(
sa
[
i
].
getBytes
());
int
count
=
0
;
DirectoryStream
<
Path
>
ds
=
f
.
toPath
().
newDirectoryStream
();
try
{
// We use a Random object to choose what file names
// should be used. Otherwise on a machine with too
// many files, the same first 1024 files always get
// used. Any, We make sure the first 512 files are
// always used.
Random
r
=
new
Random
();
for
(
Path
path:
ds
)
{
if
(
count
<
512
||
r
.
nextBoolean
())
{
md
.
update
(
path
.
getName
().
toString
().
getBytes
());
}
if
(
count
++
>
1024
)
{
break
;
}
}
}
finally
{
ds
.
close
();
}
}
catch
(
Exception
ex
)
{
md
.
update
((
byte
)
ex
.
hashCode
());
}
...
...
src/share/classes/sun/security/tools/KeyTool.java
浏览文件 @
e8cf47d0
...
...
@@ -1910,7 +1910,9 @@ public final class KeyTool {
ObjectIdentifier
oid
=
attr
.
getAttributeId
();
if
(
oid
.
equals
(
PKCS9Attribute
.
EXTENSION_REQUEST_OID
))
{
CertificateExtensions
exts
=
(
CertificateExtensions
)
attr
.
getAttributeValue
();
printExtensions
(
rb
.
getString
(
"Extension Request:"
),
exts
,
out
);
if
(
exts
!=
null
)
{
printExtensions
(
rb
.
getString
(
"Extension Request:"
),
exts
,
out
);
}
}
else
{
out
.
println
(
attr
.
getAttributeId
());
out
.
println
(
attr
.
getAttributeValue
());
...
...
@@ -2495,7 +2497,9 @@ public final class KeyTool {
X509CertImpl
.
INFO
);
CertificateExtensions
exts
=
(
CertificateExtensions
)
certInfo
.
get
(
X509CertInfo
.
EXTENSIONS
);
printExtensions
(
rb
.
getString
(
"Extensions: "
),
exts
,
out
);
if
(
exts
!=
null
)
{
printExtensions
(
rb
.
getString
(
"Extensions: "
),
exts
,
out
);
}
}
}
...
...
test/sun/security/tools/keytool/NoExtNPE.sh
0 → 100644
浏览文件 @
e8cf47d0
#
# 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 6813402
# @summary keytool cannot -printcert entries without extensions
#
# @run shell NoExtNPE.sh
# set a few environment variables so that the shell-script can run stand-alone
# in the source directory
if
[
"
${
TESTSRC
}
"
=
""
]
;
then
TESTSRC
=
"."
fi
if
[
"
${
TESTJAVA
}
"
=
""
]
;
then
echo
"TESTJAVA not set. Test cannot execute."
echo
"FAILED!!!"
exit
1
fi
# set platform-dependent variables
OS
=
`
uname
-s
`
case
"
$OS
"
in
SunOS
)
FILESEP
=
"/"
;;
Linux
)
FILESEP
=
"/"
;;
Windows
*
)
FILESEP
=
"
\\
"
;;
*
)
echo
"Unrecognized system!"
exit
1
;
;;
esac
${
TESTJAVA
}${
FILESEP
}
bin
${
FILESEP
}
keytool
\
-list
-v
\
-keystore
${
TESTSRC
}${
FILESEP
}
CloneKeyAskPassword.jks
\
-storepass
test123
exit
$?
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录