Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
LinuxSuRen
jenkins
提交
00a75819
J
jenkins
项目概览
LinuxSuRen
/
jenkins
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jenkins
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
00a75819
编写于
1月 25, 2017
作者:
J
Jesse Glick
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'security-stable-2.19' into security-stable-2.32
上级
53c022d2
a0833ee4
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
19 addition
and
22 deletion
+19
-22
core/src/main/java/hudson/console/ConsoleNote.java
core/src/main/java/hudson/console/ConsoleNote.java
+5
-3
core/src/main/java/jenkins/security/ConfidentialStore.java
core/src/main/java/jenkins/security/ConfidentialStore.java
+2
-4
core/src/test/java/hudson/model/TaskActionTest.java
core/src/test/java/hudson/model/TaskActionTest.java
+2
-8
core/src/test/java/jenkins/security/ConfidentialStoreRule.java
...src/test/java/jenkins/security/ConfidentialStoreRule.java
+5
-2
test/src/test/java/hudson/console/AnnotatedLargeTextTest.java
.../src/test/java/hudson/console/AnnotatedLargeTextTest.java
+5
-5
未找到文件。
core/src/main/java/hudson/console/ConsoleNote.java
浏览文件 @
00a75819
...
@@ -189,9 +189,11 @@ public abstract class ConsoleNote<T> implements Serializable, Describable<Consol
...
@@ -189,9 +189,11 @@ public abstract class ConsoleNote<T> implements Serializable, Describable<Consol
DataOutputStream
dos
=
new
DataOutputStream
(
new
Base64OutputStream
(
buf2
,
true
,-
1
,
null
));
DataOutputStream
dos
=
new
DataOutputStream
(
new
Base64OutputStream
(
buf2
,
true
,-
1
,
null
));
try
{
try
{
buf2
.
write
(
PREAMBLE
);
buf2
.
write
(
PREAMBLE
);
byte
[]
mac
=
MAC
.
mac
(
buf
.
toByteArray
());
if
(
Jenkins
.
getInstanceOrNull
()
!=
null
)
{
// else we are in another JVM and cannot sign; result will be ignored unless INSECURE
dos
.
writeInt
(-
mac
.
length
);
// negative to differentiate from older form
byte
[]
mac
=
MAC
.
mac
(
buf
.
toByteArray
());
dos
.
write
(
mac
);
dos
.
writeInt
(-
mac
.
length
);
// negative to differentiate from older form
dos
.
write
(
mac
);
}
dos
.
writeInt
(
buf
.
size
());
dos
.
writeInt
(
buf
.
size
());
buf
.
writeTo
(
dos
);
buf
.
writeTo
(
dos
);
}
finally
{
}
finally
{
...
...
core/src/main/java/jenkins/security/ConfidentialStore.java
浏览文件 @
00a75819
...
@@ -59,9 +59,7 @@ public abstract class ConfidentialStore {
...
@@ -59,9 +59,7 @@ public abstract class ConfidentialStore {
* Retrieves the currently active singleton instance of {@link ConfidentialStore}.
* Retrieves the currently active singleton instance of {@link ConfidentialStore}.
*/
*/
public
static
@Nonnull
ConfidentialStore
get
()
{
public
static
@Nonnull
ConfidentialStore
get
()
{
if
(
TEST
!=
null
)
{
if
(
TEST
!=
null
)
return
TEST
.
get
();
return
TEST
;
}
Jenkins
j
=
Jenkins
.
getInstance
();
Jenkins
j
=
Jenkins
.
getInstance
();
Lookup
lookup
=
j
.
lookup
;
Lookup
lookup
=
j
.
lookup
;
...
@@ -92,7 +90,7 @@ public abstract class ConfidentialStore {
...
@@ -92,7 +90,7 @@ public abstract class ConfidentialStore {
/**
/**
* Testing only. Used for testing {@link ConfidentialKey} without {@link Jenkins}
* Testing only. Used for testing {@link ConfidentialKey} without {@link Jenkins}
*/
*/
/*package*/
static
ConfidentialStore
TEST
=
null
;
/*package*/
static
ThreadLocal
<
ConfidentialStore
>
TEST
=
null
;
private
static
final
Logger
LOGGER
=
Logger
.
getLogger
(
ConfidentialStore
.
class
.
getName
());
private
static
final
Logger
LOGGER
=
Logger
.
getLogger
(
ConfidentialStore
.
class
.
getName
());
}
}
core/src/test/java/hudson/model/TaskActionTest.java
浏览文件 @
00a75819
package
hudson.model
;
package
hudson.model
;
import
static
org
.
junit
.
Assert
.
*
;
import
static
org
.
junit
.
Assert
.
assertTrue
;
import
java.io.ByteArrayOutputStream
;
import
java.io.ByteArrayOutputStream
;
import
hudson.console.AnnotatedLargeText
;
import
hudson.console.AnnotatedLargeText
;
import
hudson.security.ACL
;
import
hudson.security.ACL
;
import
hudson.security.Permission
;
import
hudson.security.Permission
;
import
jenkins.security.ConfidentialStoreRule
;
import
org.acegisecurity.Authentication
;
import
org.acegisecurity.Authentication
;
import
static
org
.
hamcrest
.
CoreMatchers
.
startsWith
;
import
org.junit.Rule
;
import
org.junit.Test
;
import
org.junit.Test
;
/**
/**
...
@@ -18,9 +15,6 @@ import org.junit.Test;
...
@@ -18,9 +15,6 @@ import org.junit.Test;
*/
*/
public
class
TaskActionTest
{
public
class
TaskActionTest
{
@Rule
public
ConfidentialStoreRule
confidentialStoreRule
=
new
ConfidentialStoreRule
();
private
static
class
MyTaskThread
extends
TaskThread
{
private
static
class
MyTaskThread
extends
TaskThread
{
MyTaskThread
(
TaskAction
taskAction
)
{
MyTaskThread
(
TaskAction
taskAction
)
{
super
(
taskAction
,
ListenerAndText
.
forMemory
(
taskAction
));
super
(
taskAction
,
ListenerAndText
.
forMemory
(
taskAction
));
...
@@ -69,6 +63,6 @@ public class TaskActionTest {
...
@@ -69,6 +63,6 @@ public class TaskActionTest {
}
}
ByteArrayOutputStream
os
=
new
ByteArrayOutputStream
();
ByteArrayOutputStream
os
=
new
ByteArrayOutputStream
();
annotatedText
.
writeLogTo
(
0
,
os
);
annotatedText
.
writeLogTo
(
0
,
os
);
assertT
hat
(
os
.
toString
(
"UTF-8"
),
startsWith
(
"a linkCompleted"
));
assertT
rue
(
os
.
toString
(
"UTF-8"
).
startsWith
(
"a linkCompleted"
));
}
}
}
}
core/src/test/java/jenkins/security/ConfidentialStoreRule.java
浏览文件 @
00a75819
...
@@ -14,13 +14,16 @@ public class ConfidentialStoreRule extends ExternalResource {
...
@@ -14,13 +14,16 @@ public class ConfidentialStoreRule extends ExternalResource {
@Override
@Override
protected
void
before
()
throws
Throwable
{
protected
void
before
()
throws
Throwable
{
tmp
.
create
();
tmp
.
create
();
ConfidentialStore
.
TEST
=
new
DefaultConfidentialStore
(
tmp
.
getRoot
(
));
ConfidentialStore
.
TEST
.
set
(
new
DefaultConfidentialStore
(
tmp
.
getRoot
()
));
}
}
@Override
@Override
protected
void
after
()
{
protected
void
after
()
{
ConfidentialStore
.
TEST
=
null
;
ConfidentialStore
.
TEST
.
set
(
null
)
;
tmp
.
delete
();
tmp
.
delete
();
}
}
static
{
ConfidentialStore
.
TEST
=
new
ThreadLocal
<
ConfidentialStore
>();
}
}
}
core
/src/test/java/hudson/console/AnnotatedLargeTextTest.java
→
test
/src/test/java/hudson/console/AnnotatedLargeTextTest.java
浏览文件 @
00a75819
...
@@ -29,23 +29,23 @@ import java.io.ByteArrayOutputStream;
...
@@ -29,23 +29,23 @@ import java.io.ByteArrayOutputStream;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.io.PrintStream
;
import
java.io.PrintStream
;
import
java.io.StringWriter
;
import
java.io.StringWriter
;
import
jenkins.security.ConfidentialStoreRule
;
import
org.apache.commons.io.Charsets
;
import
org.apache.commons.io.Charsets
;
import
static
org
.
hamcrest
.
CoreMatchers
.*;
import
static
org
.
hamcrest
.
CoreMatchers
.*;
import
static
org
.
junit
.
Assert
.*;
import
static
org
.
junit
.
Assert
.*;
import
org.junit.ClassRule
;
import
org.junit.Test
;
import
org.junit.Test
;
import
org.junit.Rule
;
import
org.jvnet.hudson.test.For
;
import
org.jvnet.hudson.test.For
;
import
org.jvnet.hudson.test.Issue
;
import
org.jvnet.hudson.test.Issue
;
import
org.jvnet.hudson.test.JenkinsRule
;
import
org.kohsuke.stapler.framework.io.ByteBuffer
;
import
org.kohsuke.stapler.framework.io.ByteBuffer
;
@For
({
AnnotatedLargeText
.
class
,
ConsoleNote
.
class
,
ConsoleAnnotationOutputStream
.
class
,
PlainTextConsoleOutputStream
.
class
})
@For
({
AnnotatedLargeText
.
class
,
ConsoleNote
.
class
,
ConsoleAnnotationOutputStream
.
class
,
PlainTextConsoleOutputStream
.
class
})
public
class
AnnotatedLargeTextTest
{
public
class
AnnotatedLargeTextTest
{
@Rule
@
Class
Rule
public
ConfidentialStoreRule
confidentialStoreRule
=
new
ConfidentialStore
Rule
();
public
static
JenkinsRule
r
=
new
Jenkins
Rule
();
/* TODO in
trunk
:
/* TODO in
master
:
@Rule
@Rule
public LoggerRule logging = new LoggerRule().record(ConsoleAnnotationOutputStream.class, Level.FINE).capture(100);
public LoggerRule logging = new LoggerRule().record(ConsoleAnnotationOutputStream.class, Level.FINE).capture(100);
*/
*/
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录