Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
6aa1ad5b
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看板
提交
6aa1ad5b
编写于
1月 13, 2011
作者:
M
michaelm
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
4e6f3462
fdb14079
变更
33
隐藏空白更改
内联
并排
Showing
33 changed file
with
359 addition
and
109 deletion
+359
-109
src/share/back/debugInit.c
src/share/back/debugInit.c
+49
-16
src/share/back/eventFilter.c
src/share/back/eventFilter.c
+39
-5
src/share/classes/sun/security/krb5/Config.java
src/share/classes/sun/security/krb5/Config.java
+10
-11
src/share/classes/sun/security/krb5/KdcComm.java
src/share/classes/sun/security/krb5/KdcComm.java
+3
-3
src/share/classes/sun/security/krb5/PrincipalName.java
src/share/classes/sun/security/krb5/PrincipalName.java
+2
-2
src/share/classes/sun/security/krb5/Realm.java
src/share/classes/sun/security/krb5/Realm.java
+2
-2
src/share/classes/sun/security/krb5/internal/Authenticator.java
...are/classes/sun/security/krb5/internal/Authenticator.java
+1
-1
src/share/classes/sun/security/krb5/internal/AuthorizationData.java
...classes/sun/security/krb5/internal/AuthorizationData.java
+1
-2
src/share/classes/sun/security/krb5/internal/EncAPRepPart.java
...hare/classes/sun/security/krb5/internal/EncAPRepPart.java
+1
-1
src/share/classes/sun/security/krb5/internal/HostAddresses.java
...are/classes/sun/security/krb5/internal/HostAddresses.java
+2
-3
src/share/classes/sun/security/krb5/internal/KDCReq.java
src/share/classes/sun/security/krb5/internal/KDCReq.java
+1
-1
src/share/classes/sun/security/krb5/internal/KDCReqBody.java
src/share/classes/sun/security/krb5/internal/KDCReqBody.java
+3
-3
src/share/classes/sun/security/krb5/internal/KRBCred.java
src/share/classes/sun/security/krb5/internal/KRBCred.java
+1
-1
src/share/classes/sun/security/krb5/internal/KRBError.java
src/share/classes/sun/security/krb5/internal/KRBError.java
+1
-1
src/share/classes/sun/security/krb5/internal/KrbCredInfo.java
...share/classes/sun/security/krb5/internal/KrbCredInfo.java
+1
-1
src/share/classes/sun/security/krb5/internal/LastReq.java
src/share/classes/sun/security/krb5/internal/LastReq.java
+1
-1
src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java
...n/security/krb5/internal/ccache/FileCredentialsCache.java
+1
-1
src/share/classes/sun/security/krb5/internal/crypto/EType.java
...hare/classes/sun/security/krb5/internal/crypto/EType.java
+1
-1
src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java
...share/classes/sun/security/krb5/internal/ktab/KeyTab.java
+2
-2
src/share/classes/sun/security/tools/JarSigner.java
src/share/classes/sun/security/tools/JarSigner.java
+11
-14
src/share/classes/sun/security/tools/KeyTool.java
src/share/classes/sun/security/tools/KeyTool.java
+9
-10
src/share/classes/sun/security/tools/policytool/PolicyTool.java
...are/classes/sun/security/tools/policytool/PolicyTool.java
+4
-6
src/share/instrument/JPLISAgent.c
src/share/instrument/JPLISAgent.c
+2
-2
src/share/javavm/export/jvmti.h
src/share/javavm/export/jvmti.h
+16
-2
test/com/sun/jdi/NativeInstanceFilter.java
test/com/sun/jdi/NativeInstanceFilter.java
+122
-0
test/com/sun/jdi/NativeInstanceFilterTarg.java
test/com/sun/jdi/NativeInstanceFilterTarg.java
+56
-0
test/sun/security/krb5/IPv6.java
test/sun/security/krb5/IPv6.java
+2
-2
test/sun/security/krb5/auto/CleanState.java
test/sun/security/krb5/auto/CleanState.java
+2
-2
test/sun/security/krb5/auto/Context.java
test/sun/security/krb5/auto/Context.java
+3
-3
test/sun/security/krb5/auto/HttpNegotiateServer.java
test/sun/security/krb5/auto/HttpNegotiateServer.java
+2
-2
test/sun/security/krb5/auto/KDC.java
test/sun/security/krb5/auto/KDC.java
+5
-5
test/sun/security/krb5/auto/LoginModuleOptions.java
test/sun/security/krb5/auto/LoginModuleOptions.java
+2
-2
test/sun/security/krb5/tools/KtabCheck.java
test/sun/security/krb5/tools/KtabCheck.java
+1
-1
未找到文件。
src/share/back/debugInit.c
浏览文件 @
6aa1ad5b
/*
* Copyright (c) 1998, 20
05
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1998, 20
10
, 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
...
...
@@ -133,27 +133,60 @@ set_event_notification(jvmtiEventMode mode, EventIndex ei)
return
error
;
}
typedef
struct
{
int
major
;
int
minor
;
}
version_type
;
typedef
struct
{
version_type
runtime
;
version_type
compiletime
;
}
compatible_versions_type
;
/*
* List of explicitly compatible JVMTI versions, specified as
* { runtime version, compile-time version } pairs. -1 is a wildcard.
*/
static
int
nof_compatible_versions
=
3
;
static
compatible_versions_type
compatible_versions_list
[]
=
{
/*
* FIXUP: Allow version 0 to be compatible with anything
* Special check for FCS of 1.0.
*/
{
{
0
,
-
1
},
{
-
1
,
-
1
}
},
{
{
-
1
,
-
1
},
{
0
,
-
1
}
},
/*
* 1.2 is runtime compatible with 1.1 -- just make sure to check the
* version before using any new 1.2 features
*/
{
{
1
,
1
},
{
1
,
2
}
}
};
/* Logic to determine JVMTI version compatibility */
static
jboolean
compatible_versions
(
jint
major_runtime
,
jint
minor_runtime
,
jint
major_compiletime
,
jint
minor_compiletime
)
{
#if 1
/* FIXUP: We allow version 0 to be compatible with anything */
/* Special check for FCS of 1.0. */
if
(
major_runtime
==
0
||
major_compiletime
==
0
)
{
return
JNI_TRUE
;
}
#endif
/* Runtime major version must match. */
if
(
major_runtime
!=
major_compiletime
)
{
return
JNI_FALSE
;
}
/* Runtime minor version must be >= the version compiled with. */
if
(
minor_runtime
<
minor_compiletime
)
{
return
JNI_FALSE
;
/*
* First check to see if versions are explicitly compatible via the
* list specified above.
*/
int
i
;
for
(
i
=
0
;
i
<
nof_compatible_versions
;
++
i
)
{
version_type
runtime
=
compatible_versions_list
[
i
].
runtime
;
version_type
comptime
=
compatible_versions_list
[
i
].
compiletime
;
if
((
major_runtime
==
runtime
.
major
||
runtime
.
major
==
-
1
)
&&
(
minor_runtime
==
runtime
.
minor
||
runtime
.
minor
==
-
1
)
&&
(
major_compiletime
==
comptime
.
major
||
comptime
.
major
==
-
1
)
&&
(
minor_compiletime
==
comptime
.
minor
||
comptime
.
minor
==
-
1
))
{
return
JNI_TRUE
;
}
}
/* Assumed compatible */
return
JNI_TRUE
;
return
major_runtime
==
major_compiletime
&&
minor_runtime
>=
minor_compiletime
;
}
/* OnLoad startup:
...
...
src/share/back/eventFilter.c
浏览文件 @
6aa1ad5b
/*
* Copyright (c) 2001, 20
08
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2001, 20
10
, 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
...
...
@@ -39,6 +39,7 @@
#include "stepControl.h"
#include "threadControl.h"
#include "SDE.h"
#include "jvmti.h"
typedef
struct
ClassFilter
{
jclass
clazz
;
...
...
@@ -275,6 +276,24 @@ patternStringMatch(char *classname, const char *pattern)
}
}
static
jboolean
isVersionGte12x
()
{
jint
version
;
jvmtiError
err
=
JVMTI_FUNC_PTR
(
gdata
->
jvmti
,
GetVersionNumber
)(
gdata
->
jvmti
,
&
version
);
if
(
err
==
JVMTI_ERROR_NONE
)
{
jint
major
,
minor
;
major
=
(
version
&
JVMTI_VERSION_MASK_MAJOR
)
>>
JVMTI_VERSION_SHIFT_MAJOR
;
minor
=
(
version
&
JVMTI_VERSION_MASK_MINOR
)
>>
JVMTI_VERSION_SHIFT_MINOR
;
return
(
major
>
1
||
major
==
1
&&
minor
>=
2
);
}
else
{
return
JNI_FALSE
;
}
}
/* Return the object instance in which the event occurred */
/* Return NULL if static or if an error occurs */
static
jobject
...
...
@@ -286,6 +305,14 @@ eventInstance(EventInfo *evinfo)
jint
modifiers
=
0
;
jvmtiError
error
;
static
jboolean
got_version
=
JNI_FALSE
;
static
jboolean
is_version_gte_12x
=
JNI_FALSE
;
if
(
!
got_version
)
{
is_version_gte_12x
=
isVersionGte12x
();
got_version
=
JNI_TRUE
;
}
switch
(
evinfo
->
ei
)
{
case
EI_SINGLE_STEP
:
case
EI_BREAKPOINT
:
...
...
@@ -314,11 +341,18 @@ eventInstance(EventInfo *evinfo)
/* fail if error or static (0x8) */
if
(
error
==
JVMTI_ERROR_NONE
&&
thread
!=
NULL
&&
(
modifiers
&
0x8
)
==
0
)
{
FrameNumber
fnum
=
0
;
/* get slot zero object "this" */
error
=
JVMTI_FUNC_PTR
(
gdata
->
jvmti
,
GetLocalObject
)
(
gdata
->
jvmti
,
thread
,
fnum
,
0
,
&
object
);
if
(
error
!=
JVMTI_ERROR_NONE
)
if
(
is_version_gte_12x
)
{
/* Use new 1.2.x function, GetLocalInstance */
error
=
JVMTI_FUNC_PTR
(
gdata
->
jvmti
,
GetLocalInstance
)
(
gdata
->
jvmti
,
thread
,
fnum
,
&
object
);
}
else
{
/* get slot zero object "this" */
error
=
JVMTI_FUNC_PTR
(
gdata
->
jvmti
,
GetLocalObject
)
(
gdata
->
jvmti
,
thread
,
fnum
,
0
,
&
object
);
}
if
(
error
!=
JVMTI_ERROR_NONE
)
{
object
=
NULL
;
}
}
return
object
;
...
...
src/share/classes/sun/security/krb5/Config.java
浏览文件 @
6aa1ad5b
...
...
@@ -528,7 +528,7 @@ public class Config {
}
})));
String
Line
;
Vector
<
String
>
v
=
new
Vector
<
String
>
();
Vector
<
String
>
v
=
new
Vector
<
>
();
String
previous
=
null
;
while
((
Line
=
br
.
readLine
())
!=
null
)
{
// ignore comments and blank line in the configuration file.
...
...
@@ -589,7 +589,7 @@ public class Config {
throw
new
KrbException
(
"I/O error while reading"
+
" configuration file."
);
}
Hashtable
<
String
,
Object
>
table
=
new
Hashtable
<
String
,
Object
>
();
Hashtable
<
String
,
Object
>
table
=
new
Hashtable
<
>
();
for
(
int
i
=
0
;
i
<
v
.
size
();
i
++)
{
String
line
=
v
.
elementAt
(
i
).
trim
();
if
(
line
.
equalsIgnoreCase
(
"[realms]"
))
{
...
...
@@ -598,7 +598,7 @@ public class Config {
if
((
count
==
v
.
size
())
||
(
v
.
elementAt
(
count
).
startsWith
(
"["
)))
{
Hashtable
<
String
,
Hashtable
<
String
,
Vector
<
String
>>>
temp
=
new
Hashtable
<
String
,
Hashtable
<
String
,
Vector
<
String
>>
>();
new
Hashtable
<>();
temp
=
parseRealmField
(
v
,
i
+
1
,
count
);
table
.
put
(
"realms"
,
temp
);
i
=
count
-
1
;
...
...
@@ -611,7 +611,7 @@ public class Config {
if
((
count
==
v
.
size
())
||
(
v
.
elementAt
(
count
).
startsWith
(
"["
)))
{
Hashtable
<
String
,
Hashtable
<
String
,
Vector
<
String
>>>
temp
=
new
Hashtable
<
String
,
Hashtable
<
String
,
Vector
<
String
>>
>();
new
Hashtable
<>();
temp
=
parseRealmField
(
v
,
i
+
1
,
count
);
table
.
put
(
"capaths"
,
temp
);
i
=
count
-
1
;
...
...
@@ -729,7 +729,7 @@ public class Config {
* Parses key-value pairs under a stanza name.
*/
private
Hashtable
<
String
,
String
>
parseField
(
Vector
<
String
>
v
,
int
start
,
int
end
)
{
Hashtable
<
String
,
String
>
table
=
new
Hashtable
<
String
,
String
>
();
Hashtable
<
String
,
String
>
table
=
new
Hashtable
<
>
();
String
line
;
for
(
int
i
=
start
;
i
<
end
;
i
++)
{
line
=
v
.
elementAt
(
i
);
...
...
@@ -751,7 +751,7 @@ public class Config {
* information for the realm given within a pair of braces.
*/
private
Hashtable
<
String
,
Hashtable
<
String
,
Vector
<
String
>>>
parseRealmField
(
Vector
<
String
>
v
,
int
start
,
int
end
)
{
Hashtable
<
String
,
Hashtable
<
String
,
Vector
<
String
>>>
table
=
new
Hashtable
<
String
,
Hashtable
<
String
,
Vector
<
String
>>>
();
Hashtable
<
String
,
Hashtable
<
String
,
Vector
<
String
>>>
table
=
new
Hashtable
<
>
();
String
line
;
for
(
int
i
=
start
;
i
<
end
;
i
++)
{
line
=
v
.
elementAt
(
i
).
trim
();
...
...
@@ -791,10 +791,9 @@ public class Config {
* Parses key-value pairs within each braces under [realms].
*/
private
Hashtable
<
String
,
Vector
<
String
>>
parseRealmFieldEx
(
Vector
<
String
>
v
,
int
start
,
int
end
)
{
Hashtable
<
String
,
Vector
<
String
>>
table
=
new
Hashtable
<
String
,
Vector
<
String
>>
();
Vector
<
String
>
keyVector
=
new
Vector
<
String
>
();
Vector
<
String
>
nameVector
=
new
Vector
<
String
>
();
Hashtable
<
String
,
Vector
<
String
>>
table
=
new
Hashtable
<>();
Vector
<
String
>
keyVector
=
new
Vector
<>();
Vector
<
String
>
nameVector
=
new
Vector
<>();
String
line
=
""
;
String
key
;
for
(
int
i
=
start
;
i
<
end
;
i
++)
{
...
...
@@ -899,7 +898,7 @@ public class Config {
}
st
=
new
StringTokenizer
(
default_enctypes
,
delim
);
int
len
=
st
.
countTokens
();
ArrayList
<
Integer
>
ls
=
new
ArrayList
<
Integer
>
(
len
);
ArrayList
<
Integer
>
ls
=
new
ArrayList
<
>
(
len
);
int
type
;
for
(
int
i
=
0
;
i
<
len
;
i
++)
{
type
=
getType
(
st
.
nextToken
());
...
...
src/share/classes/sun/security/krb5/KdcComm.java
浏览文件 @
6aa1ad5b
...
...
@@ -462,7 +462,7 @@ public final class KdcComm {
*/
static
class
KdcAccessibility
{
// Known bad KDCs
private
static
Set
<
String
>
bads
=
new
HashSet
<
String
>();
private
static
Set
<
String
>
bads
=
new
HashSet
<>();
private
static
synchronized
void
addBad
(
String
kdc
)
{
if
(
DEBUG
)
{
...
...
@@ -492,9 +492,9 @@ public final class KdcComm {
// Returns a preferred KDC list by putting the bad ones at the end
private
static
synchronized
String
[]
list
(
String
kdcList
)
{
StringTokenizer
st
=
new
StringTokenizer
(
kdcList
);
List
<
String
>
list
=
new
ArrayList
<
String
>();
List
<
String
>
list
=
new
ArrayList
<>();
if
(
badPolicy
==
BpType
.
TRY_LAST
)
{
List
<
String
>
badkdcs
=
new
ArrayList
<
String
>();
List
<
String
>
badkdcs
=
new
ArrayList
<>();
while
(
st
.
hasMoreTokens
())
{
String
t
=
st
.
nextToken
();
if
(
bads
.
contains
(
t
))
badkdcs
.
add
(
t
);
...
...
src/share/classes/sun/security/krb5/PrincipalName.java
浏览文件 @
6aa1ad5b
...
...
@@ -244,7 +244,7 @@ public class PrincipalName
if
(
subDer
.
getTag
()
!=
DerValue
.
tag_SequenceOf
)
{
throw
new
Asn1Exception
(
Krb5
.
ASN1_BAD_ID
);
}
Vector
<
String
>
v
=
new
Vector
<
String
>
();
Vector
<
String
>
v
=
new
Vector
<
>
();
DerValue
subSubDer
;
while
(
subDer
.
getData
().
available
()
>
0
)
{
subSubDer
=
subDer
.
getData
().
getDerValue
();
...
...
@@ -299,7 +299,7 @@ public class PrincipalName
// Code repetition, realm parsed again by class Realm
protected
static
String
[]
parseName
(
String
name
)
{
Vector
<
String
>
tempStrings
=
new
Vector
<
String
>
();
Vector
<
String
>
tempStrings
=
new
Vector
<
>
();
String
temp
=
name
;
int
i
=
0
;
int
componentStart
=
0
;
...
...
src/share/classes/sun/security/krb5/Realm.java
浏览文件 @
6aa1ad5b
...
...
@@ -359,12 +359,12 @@ public class Realm implements Cloneable {
}
String
tempTarget
=
null
,
tempRealm
=
null
;
Stack
<
String
>
iStack
=
new
Stack
<
String
>
();
Stack
<
String
>
iStack
=
new
Stack
<
>
();
/*
* I don't expect any more than a handful of intermediaries.
*/
Vector
<
String
>
tempList
=
new
Vector
<
String
>
(
8
,
8
);
Vector
<
String
>
tempList
=
new
Vector
<
>
(
8
,
8
);
/*
* The initiator at first location.
...
...
src/share/classes/sun/security/krb5/internal/Authenticator.java
浏览文件 @
6aa1ad5b
...
...
@@ -176,7 +176,7 @@ public class Authenticator {
* @exception IOException if an I/O error occurs while reading encoded data.
*/
public
byte
[]
asn1Encode
()
throws
Asn1Exception
,
IOException
{
Vector
<
DerValue
>
v
=
new
Vector
<
DerValue
>();
Vector
<
DerValue
>
v
=
new
Vector
<>();
DerOutputStream
temp
=
new
DerOutputStream
();
temp
.
putInteger
(
BigInteger
.
valueOf
(
authenticator_vno
));
v
.
addElement
(
new
DerValue
(
DerValue
.
createTag
(
DerValue
.
TAG_CONTEXT
,
true
,
(
byte
)
0x00
),
temp
.
toByteArray
()));
...
...
src/share/classes/sun/security/krb5/internal/AuthorizationData.java
浏览文件 @
6aa1ad5b
...
...
@@ -99,8 +99,7 @@ public class AuthorizationData implements Cloneable {
* @exception IOException if an I/O error occurs while reading encoded data.
*/
public
AuthorizationData
(
DerValue
der
)
throws
Asn1Exception
,
IOException
{
Vector
<
AuthorizationDataEntry
>
v
=
new
Vector
<
AuthorizationDataEntry
>();
Vector
<
AuthorizationDataEntry
>
v
=
new
Vector
<>();
if
(
der
.
getTag
()
!=
DerValue
.
tag_Sequence
)
{
throw
new
Asn1Exception
(
Krb5
.
ASN1_BAD_ID
);
}
...
...
src/share/classes/sun/security/krb5/internal/EncAPRepPart.java
浏览文件 @
6aa1ad5b
...
...
@@ -133,7 +133,7 @@ public class EncAPRepPart {
* @exception IOException if an I/O error occurs while reading encoded data.
*/
public
byte
[]
asn1Encode
()
throws
Asn1Exception
,
IOException
{
Vector
<
DerValue
>
v
=
new
Vector
<
DerValue
>();
Vector
<
DerValue
>
v
=
new
Vector
<>();
DerOutputStream
temp
=
new
DerOutputStream
();
v
.
addElement
(
new
DerValue
(
DerValue
.
createTag
(
DerValue
.
TAG_CONTEXT
,
true
,
(
byte
)
0x00
),
ctime
.
asn1Encode
()));
...
...
src/share/classes/sun/security/krb5/internal/HostAddresses.java
浏览文件 @
6aa1ad5b
...
...
@@ -179,7 +179,7 @@ public class HostAddresses implements Cloneable {
*/
public
HostAddresses
(
DerValue
encoding
)
throws
Asn1Exception
,
IOException
{
Vector
<
HostAddress
>
tempAddresses
=
new
Vector
<
HostAddress
>
();
Vector
<
HostAddress
>
tempAddresses
=
new
Vector
<
>
();
DerValue
der
=
null
;
while
(
encoding
.
getData
().
available
()
>
0
)
{
der
=
encoding
.
getData
().
getDerValue
();
...
...
@@ -265,8 +265,7 @@ public class HostAddresses implements Cloneable {
if
(
addresses
==
null
||
addresses
.
length
==
0
)
return
null
;
ArrayList
<
InetAddress
>
ipAddrs
=
new
ArrayList
<
InetAddress
>
(
addresses
.
length
);
ArrayList
<
InetAddress
>
ipAddrs
=
new
ArrayList
<>(
addresses
.
length
);
for
(
int
i
=
0
;
i
<
addresses
.
length
;
i
++)
{
try
{
...
...
src/share/classes/sun/security/krb5/internal/KDCReq.java
浏览文件 @
6aa1ad5b
...
...
@@ -150,7 +150,7 @@ public class KDCReq {
if
(
subsubDer
.
getTag
()
!=
DerValue
.
tag_SequenceOf
)
{
throw
new
Asn1Exception
(
Krb5
.
ASN1_BAD_ID
);
}
Vector
<
PAData
>
v
=
new
Vector
<
PAData
>();
Vector
<
PAData
>
v
=
new
Vector
<>();
while
(
subsubDer
.
getData
().
available
()
>
0
)
{
v
.
addElement
(
new
PAData
(
subsubDer
.
getData
().
getDerValue
()));
}
...
...
src/share/classes/sun/security/krb5/internal/KDCReqBody.java
浏览文件 @
6aa1ad5b
...
...
@@ -158,7 +158,7 @@ public class KDCReqBody {
throw
new
Asn1Exception
(
Krb5
.
ASN1_BAD_ID
);
}
der
=
encoding
.
getData
().
getDerValue
();
Vector
<
Integer
>
v
=
new
Vector
<
Integer
>
();
Vector
<
Integer
>
v
=
new
Vector
<
>
();
if
((
der
.
getTag
()
&
(
byte
)
0x1F
)
==
(
byte
)
0x08
)
{
subDer
=
der
.
getData
().
getDerValue
();
...
...
@@ -183,7 +183,7 @@ public class KDCReqBody {
encAuthorizationData
=
EncryptedData
.
parse
(
encoding
.
getData
(),
(
byte
)
0x0A
,
true
);
}
if
(
encoding
.
getData
().
available
()
>
0
)
{
Vector
<
Ticket
>
tempTickets
=
new
Vector
<
Ticket
>
();
Vector
<
Ticket
>
tempTickets
=
new
Vector
<
>
();
der
=
encoding
.
getData
().
getDerValue
();
if
((
der
.
getTag
()
&
(
byte
)
0x1F
)
==
(
byte
)
0x0B
)
{
subDer
=
der
.
getData
().
getDerValue
();
...
...
@@ -216,7 +216,7 @@ public class KDCReqBody {
*
*/
public
byte
[]
asn1Encode
(
int
msgType
)
throws
Asn1Exception
,
IOException
{
Vector
<
DerValue
>
v
=
new
Vector
<
DerValue
>
();
Vector
<
DerValue
>
v
=
new
Vector
<
>
();
v
.
addElement
(
new
DerValue
(
DerValue
.
createTag
(
DerValue
.
TAG_CONTEXT
,
true
,
(
byte
)
0x00
),
kdcOptions
.
asn1Encode
()));
if
(
msgType
==
Krb5
.
KRB_AS_REQ
)
{
if
(
cname
!=
null
)
{
...
...
src/share/classes/sun/security/krb5/internal/KRBCred.java
浏览文件 @
6aa1ad5b
...
...
@@ -134,7 +134,7 @@ public class KRBCred {
if
(
subsubDer
.
getTag
()
!=
DerValue
.
tag_SequenceOf
)
{
throw
new
Asn1Exception
(
Krb5
.
ASN1_BAD_ID
);
}
Vector
<
Ticket
>
v
=
new
Vector
<
Ticket
>();
Vector
<
Ticket
>
v
=
new
Vector
<>();
while
(
subsubDer
.
getData
().
available
()
>
0
)
{
v
.
addElement
(
new
Ticket
(
subsubDer
.
getData
().
getDerValue
()));
}
...
...
src/share/classes/sun/security/krb5/internal/KRBError.java
浏览文件 @
6aa1ad5b
...
...
@@ -260,7 +260,7 @@ public class KRBError implements java.io.Serializable {
private
void
parsePAData
(
byte
[]
data
)
throws
IOException
,
Asn1Exception
{
DerValue
derPA
=
new
DerValue
(
data
);
List
<
PAData
>
paList
=
new
ArrayList
<
PAData
>();
List
<
PAData
>
paList
=
new
ArrayList
<>();
while
(
derPA
.
data
.
available
()
>
0
)
{
// read the PA-DATA
DerValue
tmp
=
derPA
.
data
.
getDerValue
();
...
...
src/share/classes/sun/security/krb5/internal/KrbCredInfo.java
浏览文件 @
6aa1ad5b
...
...
@@ -157,7 +157,7 @@ public class KrbCredInfo {
* @exception IOException if an I/O error occurs while reading encoded data.
*/
public
byte
[]
asn1Encode
()
throws
Asn1Exception
,
IOException
{
Vector
<
DerValue
>
v
=
new
Vector
<
DerValue
>
();
Vector
<
DerValue
>
v
=
new
Vector
<
>
();
v
.
addElement
(
new
DerValue
(
DerValue
.
createTag
(
DerValue
.
TAG_CONTEXT
,
true
,
(
byte
)
0x00
),
key
.
asn1Encode
()));
if
(
prealm
!=
null
)
v
.
addElement
(
new
DerValue
(
DerValue
.
createTag
(
DerValue
.
TAG_CONTEXT
,
true
,
(
byte
)
0x01
),
prealm
.
asn1Encode
()));
...
...
src/share/classes/sun/security/krb5/internal/LastReq.java
浏览文件 @
6aa1ad5b
...
...
@@ -77,7 +77,7 @@ public class LastReq {
*/
public
LastReq
(
DerValue
encoding
)
throws
Asn1Exception
,
IOException
{
Vector
<
LastReqEntry
>
v
=
new
Vector
<
LastReqEntry
>
();
Vector
<
LastReqEntry
>
v
=
new
Vector
<
>
();
if
(
encoding
.
getTag
()
!=
DerValue
.
tag_Sequence
)
{
throw
new
Asn1Exception
(
Krb5
.
ASN1_BAD_ID
);
}
...
...
src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java
浏览文件 @
6aa1ad5b
...
...
@@ -490,7 +490,7 @@ public class FileCredentialsCache extends CredentialsCache
private
static
String
exec
(
String
c
)
{
StringTokenizer
st
=
new
StringTokenizer
(
c
);
Vector
<
String
>
v
=
new
Vector
<
String
>
();
Vector
<
String
>
v
=
new
Vector
<
>
();
while
(
st
.
hasMoreTokens
())
{
v
.
addElement
(
st
.
nextToken
());
}
...
...
src/share/classes/sun/security/krb5/internal/crypto/EType.java
浏览文件 @
6aa1ad5b
...
...
@@ -257,7 +257,7 @@ public abstract class EType {
+
configName
);
}
List
<
Integer
>
list
=
new
ArrayList
<
Integer
>
(
answer
.
length
);
List
<
Integer
>
list
=
new
ArrayList
<
>
(
answer
.
length
);
for
(
int
i
=
0
;
i
<
answer
.
length
;
i
++)
{
if
(
EncryptionKey
.
findKey
(
answer
[
i
],
keys
)
!=
null
)
{
list
.
add
(
answer
[
i
]);
...
...
src/share/classes/sun/security/krb5/internal/ktab/KeyTab.java
浏览文件 @
6aa1ad5b
...
...
@@ -57,7 +57,7 @@ public class KeyTab implements KeyTabConstants {
private
static
KeyTab
singleton
=
null
;
private
static
final
boolean
DEBUG
=
Krb5
.
DEBUG
;
private
static
String
name
;
private
Vector
<
KeyTabEntry
>
entries
=
new
Vector
<
KeyTabEntry
>
();
private
Vector
<
KeyTabEntry
>
entries
=
new
Vector
<
>
();
private
KeyTab
(
String
filename
)
throws
IOException
,
RealmException
{
init
(
filename
);
...
...
@@ -240,7 +240,7 @@ public class KeyTab implements KeyTabConstants {
KeyTabEntry
entry
;
EncryptionKey
key
;
int
size
=
entries
.
size
();
ArrayList
<
EncryptionKey
>
keys
=
new
ArrayList
<
EncryptionKey
>
(
size
);
ArrayList
<
EncryptionKey
>
keys
=
new
ArrayList
<
>
(
size
);
for
(
int
i
=
size
-
1
;
i
>=
0
;
i
--)
{
entry
=
entries
.
elementAt
(
i
);
...
...
src/share/classes/sun/security/tools/JarSigner.java
浏览文件 @
6aa1ad5b
...
...
@@ -123,19 +123,19 @@ public class JarSigner {
// or the default keystore, never null
String
keystore
;
// key store file
List
<
String
>
crlfiles
=
new
ArrayList
<
String
>();
// CRL files to add
List
<
String
>
crlfiles
=
new
ArrayList
<>();
// CRL files to add
boolean
nullStream
=
false
;
// null keystore input stream (NONE)
boolean
token
=
false
;
// token-based keystore
String
jarfile
;
// jar files to sign or verify
String
alias
;
// alias to sign jar with
List
<
String
>
ckaliases
=
new
ArrayList
<
String
>();
// aliases in -verify
List
<
String
>
ckaliases
=
new
ArrayList
<>();
// aliases in -verify
char
[]
storepass
;
// keystore password
boolean
protectedPath
;
// protected authentication path
String
storetype
;
// keystore type
String
providerName
;
// provider name
Vector
<
String
>
providers
=
null
;
// list of providers
// arguments for provider constructors
HashMap
<
String
,
String
>
providerArgs
=
new
HashMap
<
String
,
String
>();
HashMap
<
String
,
String
>
providerArgs
=
new
HashMap
<>();
char
[]
keypass
;
// private key password
String
sigfile
;
// name of .SF file
String
sigalg
;
// name of signature algorithm
...
...
@@ -236,7 +236,7 @@ public class JarSigner {
if
(
crlfiles
.
size
()
>
0
||
autoCRL
)
{
CertificateFactory
fac
=
CertificateFactory
.
getInstance
(
"X509"
);
List
<
CRL
>
list
=
new
ArrayList
<
CRL
>();
List
<
CRL
>
list
=
new
ArrayList
<>();
for
(
String
file:
crlfiles
)
{
Collection
<?
extends
CRL
>
tmp
=
KeyTool
.
loadCRLs
(
file
);
for
(
CRL
crl:
tmp
)
{
...
...
@@ -606,7 +606,7 @@ public class JarSigner {
try
{
jf
=
new
JarFile
(
jarName
,
true
);
Vector
<
JarEntry
>
entriesVec
=
new
Vector
<
JarEntry
>();
Vector
<
JarEntry
>
entriesVec
=
new
Vector
<>();
byte
[]
buffer
=
new
byte
[
8192
];
Enumeration
<
JarEntry
>
entries
=
jf
.
entries
();
...
...
@@ -633,8 +633,7 @@ public class JarSigner {
// The map to record display info, only used when -verbose provided
// key: signer info string
// value: the list of files with common key
Map
<
String
,
List
<
String
>>
output
=
new
LinkedHashMap
<
String
,
List
<
String
>>();
Map
<
String
,
List
<
String
>>
output
=
new
LinkedHashMap
<>();
if
(
man
!=
null
)
{
if
(
verbose
!=
null
)
System
.
out
.
println
();
...
...
@@ -1000,8 +999,7 @@ public class JarSigner {
.
append
(
signTimeForm
.
format
(
source
)).
append
(
"]"
).
toString
();
}
private
Map
<
CodeSigner
,
Integer
>
cacheForInKS
=
new
IdentityHashMap
<
CodeSigner
,
Integer
>();
private
Map
<
CodeSigner
,
Integer
>
cacheForInKS
=
new
IdentityHashMap
<>();
private
int
inKeyStoreForOneSigner
(
CodeSigner
signer
)
{
if
(
cacheForInKS
.
containsKey
(
signer
))
{
...
...
@@ -1044,8 +1042,7 @@ public class JarSigner {
return
result
;
}
Hashtable
<
Certificate
,
String
>
storeHash
=
new
Hashtable
<
Certificate
,
String
>();
Hashtable
<
Certificate
,
String
>
storeHash
=
new
Hashtable
<>();
int
inKeyStore
(
CodeSigner
[]
signers
)
{
...
...
@@ -1175,7 +1172,7 @@ public class JarSigner {
* generated one. (This may invalidate existing signatures!)
*/
BASE64Encoder
encoder
=
new
JarBASE64Encoder
();
Vector
<
ZipEntry
>
mfFiles
=
new
Vector
<
ZipEntry
>();
Vector
<
ZipEntry
>
mfFiles
=
new
Vector
<>();
boolean
wasSigned
=
false
;
...
...
@@ -1531,7 +1528,7 @@ public class JarSigner {
return
false
;
}
Map
<
CodeSigner
,
String
>
cacheForSignerInfo
=
new
IdentityHashMap
<
CodeSigner
,
String
>();
Map
<
CodeSigner
,
String
>
cacheForSignerInfo
=
new
IdentityHashMap
<>();
/**
* Returns a string of singer info, with a newline at the end
...
...
@@ -1655,7 +1652,7 @@ public class JarSigner {
}
}
}
Set
<
TrustAnchor
>
tas
=
new
HashSet
<
TrustAnchor
>();
Set
<
TrustAnchor
>
tas
=
new
HashSet
<>();
try
{
KeyStore
caks
=
KeyTool
.
getCacertsKeyStore
();
if
(
caks
!=
null
)
{
...
...
src/share/classes/sun/security/tools/KeyTool.java
浏览文件 @
6aa1ad5b
...
...
@@ -153,11 +153,11 @@ public final class KeyTool {
private
KeyStore
caks
=
null
;
// "cacerts" keystore
private
char
[]
srcstorePass
=
null
;
private
String
srcstoretype
=
null
;
private
Set
<
char
[]>
passwords
=
new
HashSet
<
char
[]>
();
private
Set
<
char
[]>
passwords
=
new
HashSet
<
>
();
private
String
startDate
=
null
;
private
List
<
String
>
ids
=
new
ArrayList
<
String
>
();
// used in GENCRL
private
List
<
String
>
v3ext
=
new
ArrayList
<
String
>
();
private
List
<
String
>
ids
=
new
ArrayList
<>
();
// used in GENCRL
private
List
<
String
>
v3ext
=
new
ArrayList
<>
();
enum
Command
{
CERTREQ
(
"Generates.a.certificate.request"
,
...
...
@@ -2091,7 +2091,7 @@ public final class KeyTool {
*/
public
static
List
<
CRL
>
readCRLsFromCert
(
X509Certificate
cert
)
throws
Exception
{
List
<
CRL
>
crls
=
new
ArrayList
<
CRL
>();
List
<
CRL
>
crls
=
new
ArrayList
<>();
CRLDistributionPointsExtension
ext
=
X509CertImpl
.
toImpl
(
cert
).
getCRLDistributionPointsExtension
();
if
(
ext
==
null
)
return
crls
;
...
...
@@ -2258,7 +2258,7 @@ public final class KeyTool {
if
(
jarfile
!=
null
)
{
JarFile
jf
=
new
JarFile
(
jarfile
,
true
);
Enumeration
<
JarEntry
>
entries
=
jf
.
entries
();
Set
<
CodeSigner
>
ss
=
new
HashSet
<
CodeSigner
>();
Set
<
CodeSigner
>
ss
=
new
HashSet
<>();
byte
[]
buffer
=
new
byte
[
8192
];
int
pos
=
0
;
while
(
entries
.
hasMoreElements
())
{
...
...
@@ -3347,7 +3347,7 @@ public final class KeyTool {
}
// start building chain
Vector
<
Certificate
>
chain
=
new
Vector
<
Certificate
>(
2
);
Vector
<
Certificate
>
chain
=
new
Vector
<>(
2
);
if
(
buildChain
((
X509Certificate
)
certToVerify
,
chain
,
certs
))
{
Certificate
[]
newChain
=
new
Certificate
[
chain
.
size
()];
// buildChain() returns chain with self-signed root-cert first and
...
...
@@ -3873,8 +3873,7 @@ public final class KeyTool {
break
;
case
2
:
// EKU
if
(
value
!=
null
)
{
Vector
<
ObjectIdentifier
>
v
=
new
Vector
<
ObjectIdentifier
>();
Vector
<
ObjectIdentifier
>
v
=
new
Vector
<>();
for
(
String
s:
value
.
split
(
","
))
{
int
p
=
oneOf
(
s
,
"anyExtendedKeyUsage"
,
...
...
@@ -3944,7 +3943,7 @@ public final class KeyTool {
}
if
(
value
!=
null
)
{
List
<
AccessDescription
>
accessDescriptions
=
new
ArrayList
<
AccessDescription
>();
new
ArrayList
<>();
String
[]
ps
=
value
.
split
(
","
);
for
(
String
item:
ps
)
{
colonpos
=
item
.
indexOf
(
':'
);
...
...
@@ -4228,7 +4227,7 @@ class Pair<A, B> {
}
public
static
<
A
,
B
>
Pair
<
A
,
B
>
of
(
A
a
,
B
b
)
{
return
new
Pair
<
A
,
B
>(
a
,
b
);
return
new
Pair
<>(
a
,
b
);
}
}
src/share/classes/sun/security/tools/policytool/PolicyTool.java
浏览文件 @
6aa1ad5b
...
...
@@ -643,7 +643,7 @@ public class PolicyTool {
Class
<?>
pc
=
Class
.
forName
(
type
,
true
,
Thread
.
currentThread
().
getContextClassLoader
());
Constructor
<?>
c
=
null
;
Vector
<
String
>
objects
=
new
Vector
<
String
>(
2
);
Vector
<
String
>
objects
=
new
Vector
<>(
2
);
if
(
name
!=
null
)
objects
.
add
(
name
);
if
(
actions
!=
null
)
objects
.
add
(
actions
);
switch
(
objects
.
size
())
{
...
...
@@ -1722,8 +1722,7 @@ class ToolDialog extends Dialog {
new
PolicyParser
.
GrantEntry
(
signedby
,
codebase
);
// get the new Principals
LinkedList
<
PolicyParser
.
PrincipalEntry
>
prins
=
new
LinkedList
<
PolicyParser
.
PrincipalEntry
>();
LinkedList
<
PolicyParser
.
PrincipalEntry
>
prins
=
new
LinkedList
<>();
TaggedList
prinList
=
(
TaggedList
)
getComponent
(
PE_PRIN_LIST
);
for
(
int
i
=
0
;
i
<
prinList
.
getItemCount
();
i
++)
{
prins
.
add
((
PolicyParser
.
PrincipalEntry
)
prinList
.
getObject
(
i
));
...
...
@@ -1731,8 +1730,7 @@ class ToolDialog extends Dialog {
ge
.
principals
=
prins
;
// get the new Permissions
Vector
<
PolicyParser
.
PermissionEntry
>
perms
=
new
Vector
<
PolicyParser
.
PermissionEntry
>();
Vector
<
PolicyParser
.
PermissionEntry
>
perms
=
new
Vector
<>();
TaggedList
permList
=
(
TaggedList
)
getComponent
(
PE_PERM_LIST
);
for
(
int
i
=
0
;
i
<
permList
.
getItemCount
();
i
++)
{
perms
.
addElement
((
PolicyParser
.
PermissionEntry
)
permList
.
getObject
(
i
));
...
...
@@ -3649,7 +3647,7 @@ class NoDisplayException extends RuntimeException {
* This is a java.awt.List that bind an Object to each String it holds.
*/
class
TaggedList
extends
List
{
private
java
.
util
.
List
<
Object
>
data
=
new
LinkedList
<
Object
>();
private
java
.
util
.
List
<
Object
>
data
=
new
LinkedList
<>();
public
TaggedList
(
int
i
,
boolean
b
)
{
super
(
i
,
b
);
}
...
...
src/share/instrument/JPLISAgent.c
浏览文件 @
6aa1ad5b
...
...
@@ -209,7 +209,7 @@ createNewJPLISAgent(JavaVM * vm, JPLISAgent **agent_ptr) {
*
agent_ptr
=
NULL
;
jnierror
=
(
*
vm
)
->
GetEnv
(
vm
,
(
void
**
)
&
jvmtienv
,
JVMTI_VERSION
);
JVMTI_VERSION
_1_1
);
if
(
jnierror
!=
JNI_OK
)
{
initerror
=
JPLIS_INIT_ERROR_CANNOT_CREATE_NATIVE_AGENT
;
}
else
{
...
...
@@ -990,7 +990,7 @@ retransformableEnvironment(JPLISAgent * agent) {
}
jnierror
=
(
*
agent
->
mJVM
)
->
GetEnv
(
agent
->
mJVM
,
(
void
**
)
&
retransformerEnv
,
JVMTI_VERSION
);
JVMTI_VERSION
_1_1
);
if
(
jnierror
!=
JNI_OK
)
{
return
NULL
;
}
...
...
src/share/javavm/export/jvmti.h
浏览文件 @
6aa1ad5b
/*
* Copyright (c) 2003, 20
06
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 20
10
, 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
...
...
@@ -41,8 +41,9 @@ enum {
JVMTI_VERSION_1
=
0x30010000
,
JVMTI_VERSION_1_0
=
0x30010000
,
JVMTI_VERSION_1_1
=
0x30010100
,
JVMTI_VERSION_1_2
=
0x30010200
,
JVMTI_VERSION
=
0x30000000
+
(
1
*
0x10000
)
+
(
1
*
0x100
)
+
102
/* version: 1.1.102
*/
JVMTI_VERSION
=
0x30000000
+
(
1
*
0x10000
)
+
(
2
*
0x100
)
+
1
/* version: 1.2.1
*/
};
JNIEXPORT
jint
JNICALL
...
...
@@ -1774,6 +1775,12 @@ typedef struct jvmtiInterface_1_ {
jobject
object
,
jlong
*
size_ptr
);
/* 155 : Get Local Instance */
jvmtiError
(
JNICALL
*
GetLocalInstance
)
(
jvmtiEnv
*
env
,
jthread
thread
,
jint
depth
,
jobject
*
value_ptr
);
}
jvmtiInterface_1
;
struct
_jvmtiEnv
{
...
...
@@ -2031,6 +2038,12 @@ struct _jvmtiEnv {
return
functions
->
GetLocalObject
(
this
,
thread
,
depth
,
slot
,
value_ptr
);
}
jvmtiError
GetLocalInstance
(
jthread
thread
,
jint
depth
,
jobject
*
value_ptr
)
{
return
functions
->
GetLocalInstance
(
this
,
thread
,
depth
,
value_ptr
);
}
jvmtiError
GetLocalInt
(
jthread
thread
,
jint
depth
,
jint
slot
,
...
...
@@ -2518,3 +2531,4 @@ struct _jvmtiEnv {
#endif
/* __cplusplus */
#endif
/* !_JAVA_JVMTI_H_ */
test/com/sun/jdi/NativeInstanceFilter.java
0 → 100644
浏览文件 @
6aa1ad5b
/*
* Copyright (c) 2010, 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 6426034
* @summary Instance filter doesn't filter event if it occurs in native method
*
* @author Keith McGuigan
*
* @library scaffold
* @run build JDIScaffold VMConnection
* @compile -XDignore.symbol.file NativeInstanceFilterTarg.java
* @run main/othervm NativeInstanceFilter
*/
/*
* This test tests instance filters for events generated from a native method
*/
import
java.util.*
;
import
com.sun.jdi.*
;
import
com.sun.jdi.event.*
;
import
com.sun.jdi.request.*
;
public
class
NativeInstanceFilter
extends
JDIScaffold
{
static
int
unfilteredEvents
=
0
;
public
static
void
main
(
String
args
[])
throws
Exception
{
new
NativeInstanceFilter
().
startTests
();
}
public
NativeInstanceFilter
()
{
super
();
}
static
EventRequestManager
requestManager
=
null
;
static
MethodExitRequest
request
=
null
;
private
void
listen
()
{
TargetAdapter
adapter
=
new
TargetAdapter
()
{
EventSet
set
=
null
;
ObjectReference
instance
=
null
;
public
boolean
eventSetReceived
(
EventSet
set
)
{
this
.
set
=
set
;
return
false
;
}
public
boolean
methodExited
(
MethodExitEvent
event
)
{
String
name
=
event
.
method
().
name
();
if
(
instance
==
null
&&
name
.
equals
(
"latch"
))
{
// Grab the instance (return value) and set up as filter
System
.
out
.
println
(
"Setting up instance filter"
);
instance
=
(
ObjectReference
)
event
.
returnValue
();
requestManager
.
deleteEventRequest
(
request
);
request
=
requestManager
.
createMethodExitRequest
();
request
.
addInstanceFilter
(
instance
);
request
.
enable
();
}
else
if
(
instance
!=
null
&&
name
.
equals
(
"intern"
))
{
// If not for the filter, this will be called twice
System
.
out
.
println
(
"method exit event (String.intern())"
);
++
unfilteredEvents
;
}
set
.
resume
();
return
false
;
}
};
addListener
(
adapter
);
}
protected
void
runTests
()
throws
Exception
{
String
[]
args
=
new
String
[
2
];
args
[
0
]
=
"-connect"
;
args
[
1
]
=
"com.sun.jdi.CommandLineLaunch:main=NativeInstanceFilterTarg"
;
connect
(
args
);
waitForVMStart
();
// VM has started, but hasn't started running the test program yet.
requestManager
=
vm
().
eventRequestManager
();
ReferenceType
referenceType
=
resumeToPrepareOf
(
"NativeInstanceFilterTarg"
).
referenceType
();
request
=
requestManager
.
createMethodExitRequest
();
request
.
enable
();
listen
();
vm
().
resume
();
waitForVMDeath
();
if
(
unfilteredEvents
!=
1
)
{
throw
new
Exception
(
"Failed: Event from native frame not filtered out."
);
}
System
.
out
.
println
(
"Passed: Event filtered out."
);
}
}
test/com/sun/jdi/NativeInstanceFilterTarg.java
0 → 100644
浏览文件 @
6aa1ad5b
/*
* Copyright (c) 2010, 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.
*/
import
sun.misc.Version
;
public
class
NativeInstanceFilterTarg
{
public
static
void
main
(
String
args
[])
{
boolean
runTest
=
jvmSupportsJVMTI_12x
();
String
s1
=
"abc"
;
String
s2
=
"def"
;
latch
(
s1
);
s1
.
intern
();
if
(
runTest
)
{
s2
.
intern
();
// this is the call that generates events that ought
// to be filtered out.
}
else
{
System
.
out
.
println
(
"Neutering test since JVMTI 1.2 not supported"
);
}
}
// Used by debugger to get an instance to filter with
public
static
String
latch
(
String
s
)
{
return
s
;
}
public
static
boolean
jvmSupportsJVMTI_12x
()
{
// This fix requires the JVM to support JVMTI 1.2, which doesn't
// happen until HSX 20.0, build 05.
int
major
=
Version
.
jvmMajorVersion
();
int
minor
=
Version
.
jvmMinorVersion
();
int
micro
=
Version
.
jvmMicroVersion
();
int
build
=
Version
.
jvmBuildNumber
();
return
(
major
>
20
||
major
==
20
&&
(
minor
>
0
||
micro
>
0
||
build
>=
5
));
}
}
test/sun/security/krb5/IPv6.java
浏览文件 @
6aa1ad5b
...
...
@@ -78,8 +78,8 @@ public class IPv6 {
try
{
Subject
subject
=
new
Subject
();
Krb5LoginModule
krb5
=
new
Krb5LoginModule
();
Map
<
String
,
String
>
map
=
new
HashMap
<
String
,
String
>();
Map
<
String
,
Object
>
shared
=
new
HashMap
<
String
,
Object
>();
Map
<
String
,
String
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
shared
=
new
HashMap
<>();
map
.
put
(
"debug"
,
"true"
);
map
.
put
(
"doNotPrompt"
,
"true"
);
...
...
test/sun/security/krb5/auto/CleanState.java
浏览文件 @
6aa1ad5b
...
...
@@ -49,11 +49,11 @@ public class CleanState {
final
char
[]
password
=
OneKDC
.
PASS
;
char
[]
badpassword
=
"hellokitty"
.
toCharArray
();
Map
<
String
,
String
>
map
=
new
HashMap
<
String
,
String
>();
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"useTicketCache"
,
"false"
);
map
.
put
(
"doNotPrompt"
,
"false"
);
map
.
put
(
"tryFirstPass"
,
"true"
);
Map
<
String
,
Object
>
shared
=
new
HashMap
<
String
,
Object
>();
Map
<
String
,
Object
>
shared
=
new
HashMap
<>();
shared
.
put
(
"javax.security.auth.login.name"
,
name
);
shared
.
put
(
"javax.security.auth.login.password"
,
badpassword
);
...
...
test/sun/security/krb5/auto/Context.java
浏览文件 @
6aa1ad5b
...
...
@@ -117,8 +117,8 @@ public class Context {
out
.
name
=
user
;
out
.
s
=
new
Subject
();
Krb5LoginModule
krb5
=
new
Krb5LoginModule
();
Map
<
String
,
String
>
map
=
new
HashMap
<
String
,
String
>();
Map
<
String
,
Object
>
shared
=
new
HashMap
<
String
,
Object
>();
Map
<
String
,
String
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
shared
=
new
HashMap
<>();
if
(
pass
!=
null
)
{
map
.
put
(
"useFirstPass"
,
"true"
);
...
...
@@ -151,7 +151,7 @@ public class Context {
out
.
name
=
user
;
out
.
s
=
new
Subject
();
Krb5LoginModule
krb5
=
new
Krb5LoginModule
();
Map
<
String
,
String
>
map
=
new
HashMap
<
String
,
String
>();
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"doNotPrompt"
,
"true"
);
map
.
put
(
"useTicketCache"
,
"false"
);
...
...
test/sun/security/krb5/auto/HttpNegotiateServer.java
浏览文件 @
6aa1ad5b
...
...
@@ -297,8 +297,8 @@ public class HttpNegotiateServer {
}
Krb5LoginModule
krb5
=
new
Krb5LoginModule
();
Map
<
String
,
String
>
map
=
new
HashMap
<
String
,
String
>();
Map
<
String
,
Object
>
shared
=
new
HashMap
<
String
,
Object
>();
Map
<
String
,
String
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
shared
=
new
HashMap
<>();
map
.
put
(
"storeKey"
,
"true"
);
map
.
put
(
"isInitiator"
,
"false"
);
...
...
test/sun/security/krb5/auto/KDC.java
浏览文件 @
6aa1ad5b
...
...
@@ -132,7 +132,7 @@ public class KDC {
// Principal db. principal -> pass. A case-insensitive TreeMap is used
// so that even if the client provides a name with different case, the KDC
// can still locate the principal and give back correct salt.
private
TreeMap
<
String
,
char
[]>
passwords
=
new
TreeMap
<
String
,
char
[]
>
private
TreeMap
<
String
,
char
[]>
passwords
=
new
TreeMap
<>
(
String
.
CASE_INSENSITIVE_ORDER
);
// Realm name
...
...
@@ -142,9 +142,9 @@ public class KDC {
// Service port number
private
int
port
;
// The request/response job queue
private
BlockingQueue
<
Job
>
q
=
new
ArrayBlockingQueue
<
Job
>(
100
);
private
BlockingQueue
<
Job
>
q
=
new
ArrayBlockingQueue
<>(
100
);
// Options
private
Map
<
Option
,
Object
>
options
=
new
HashMap
<
Option
,
Object
>();
private
Map
<
Option
,
Object
>
options
=
new
HashMap
<>();
private
Thread
thread1
,
thread2
,
thread3
;
DatagramSocket
u1
=
null
;
...
...
@@ -537,7 +537,7 @@ public class KDC {
}
}
private
Map
<
String
,
String
>
policies
=
new
HashMap
<
String
,
String
>();
private
Map
<
String
,
String
>
policies
=
new
HashMap
<>();
public
void
setPolicy
(
String
rule
,
String
value
)
{
if
(
value
==
null
)
{
...
...
@@ -760,7 +760,7 @@ public class KDC {
private
byte
[]
processAsReq
(
byte
[]
in
)
throws
Exception
{
ASReq
asReq
=
new
ASReq
(
in
);
int
[]
eTypes
=
null
;
List
<
PAData
>
outPAs
=
new
ArrayList
<
PAData
>();
List
<
PAData
>
outPAs
=
new
ArrayList
<>();
try
{
System
.
out
.
println
(
realm
+
"> "
+
asReq
.
reqBody
.
cname
+
...
...
test/sun/security/krb5/auto/LoginModuleOptions.java
浏览文件 @
6aa1ad5b
...
...
@@ -135,8 +135,8 @@ public class LoginModuleOptions {
throws
Exception
{
Krb5LoginModule
krb5
=
new
Krb5LoginModule
();
Subject
subject
=
new
Subject
();
Map
<
String
,
String
>
map
=
new
HashMap
<
String
,
String
>();
Map
<
String
,
Object
>
shared
=
new
HashMap
<
String
,
Object
>();
Map
<
String
,
String
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
shared
=
new
HashMap
<>();
int
count
=
options
.
length
/
2
;
for
(
int
i
=
0
;
i
<
count
;
i
++)
{
...
...
test/sun/security/krb5/tools/KtabCheck.java
浏览文件 @
6aa1ad5b
...
...
@@ -39,7 +39,7 @@ public class KtabCheck {
public
static
void
main
(
String
[]
args
)
throws
Exception
{
System
.
out
.
println
(
"Checking "
+
Arrays
.
toString
(
args
));
KeyTab
ktab
=
KeyTab
.
getInstance
(
args
[
0
]);
Set
<
String
>
expected
=
new
HashSet
<
String
>();
Set
<
String
>
expected
=
new
HashSet
<>();
for
(
int
i
=
1
;
i
<
args
.
length
;
i
+=
2
)
{
expected
.
add
(
args
[
i
]+
":"
+
args
[
i
+
1
]);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录