Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 2e7764d

Browse filesBrowse files
authored
Do not leak AuthConfig into CreateContainerCmd's JSON (docker-java#1807)
1 parent 554acf6 commit 2e7764d
Copy full SHA for 2e7764d

3 files changed

+32-10Lines changed: 32 additions & 10 deletions

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎docker-java-core/src/main/java/com/github/dockerjava/core/command/CreateContainerCmdImpl.java‎

Copy file name to clipboardExpand all lines: docker-java-core/src/main/java/com/github/dockerjava/core/command/CreateContainerCmdImpl.java
+8-9Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.github.dockerjava.core.command;
22

3-
import com.fasterxml.jackson.annotation.JsonIgnore;
3+
import com.fasterxml.jackson.annotation.JsonAutoDetect;
44
import com.fasterxml.jackson.annotation.JsonProperty;
55
import com.github.dockerjava.api.command.CreateContainerCmd;
66
import com.github.dockerjava.api.command.CreateContainerResponse;
@@ -30,6 +30,13 @@
3030
* Creates a new container.
3131
* `/containers/create`
3232
*/
33+
@JsonAutoDetect(
34+
fieldVisibility = JsonAutoDetect.Visibility.NONE,
35+
setterVisibility = JsonAutoDetect.Visibility.NONE,
36+
getterVisibility = JsonAutoDetect.Visibility.NONE,
37+
isGetterVisibility = JsonAutoDetect.Visibility.NONE,
38+
creatorVisibility = JsonAutoDetect.Visibility.NONE
39+
)
3340
public class CreateContainerCmdImpl extends AbstrDockerCmd<CreateContainerCmd, CreateContainerResponse> implements
3441
CreateContainerCmd {
3542

@@ -122,13 +129,10 @@ public class CreateContainerCmdImpl extends AbstrDockerCmd<CreateContainerCmd, C
122129
@JsonProperty("NetworkingConfig")
123130
private NetworkingConfig networkingConfig;
124131

125-
@JsonIgnore
126132
private String ipv4Address = null;
127133

128-
@JsonIgnore
129134
private String ipv6Address = null;
130135

131-
@JsonIgnore
132136
private List<String> aliases = null;
133137

134138
private AuthConfig authConfig;
@@ -151,7 +155,6 @@ public CreateContainerCmd withAuthConfig(AuthConfig authConfig) {
151155
}
152156

153157
@Override
154-
@JsonIgnore
155158
public List<String> getAliases() {
156159
return aliases;
157160
}
@@ -256,7 +259,6 @@ public CreateContainerCmd withEnv(List<String> env) {
256259
}
257260

258261
@Override
259-
@JsonIgnore
260262
public ExposedPort[] getExposedPorts() {
261263
return exposedPorts.getExposedPorts();
262264
}
@@ -277,7 +279,6 @@ public CreateContainerCmd withExposedPorts(List<ExposedPort> exposedPorts) {
277279
/**
278280
* @see #stopSignal
279281
*/
280-
@JsonIgnore
281282
@Override
282283
public String getStopSignal() {
283284
return stopSignal;
@@ -326,7 +327,6 @@ public CreateContainerCmd withImage(String image) {
326327
}
327328

328329
@Override
329-
@JsonIgnore
330330
public Map<String, String> getLabels() {
331331
return labels;
332332
}
@@ -430,7 +430,6 @@ public CreateContainerCmd withAttachStdout(Boolean attachStdout) {
430430
}
431431

432432
@Override
433-
@JsonIgnore
434433
public Volume[] getVolumes() {
435434
return volumes.getVolumes();
436435
}
Collapse file

‎docker-java/src/test/java/com/github/dockerjava/cmd/CreateContainerCmdIT.java‎

Copy file name to clipboardExpand all lines: docker-java/src/test/java/com/github/dockerjava/cmd/CreateContainerCmdIT.java
+17Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package com.github.dockerjava.cmd;
22

3+
import com.fasterxml.jackson.databind.ObjectMapper;
4+
import com.fasterxml.jackson.databind.node.ObjectNode;
35
import com.github.dockerjava.api.async.ResultCallback;
6+
import com.github.dockerjava.api.command.CreateContainerCmd;
47
import com.github.dockerjava.api.command.CreateContainerResponse;
58
import com.github.dockerjava.api.command.CreateNetworkResponse;
69
import com.github.dockerjava.api.command.CreateVolumeResponse;
@@ -70,6 +73,7 @@
7073
import static org.hamcrest.Matchers.emptyString;
7174
import static org.hamcrest.Matchers.not;
7275
import static org.hamcrest.Matchers.notNullValue;
76+
import static org.hamcrest.Matchers.nullValue;
7377
import static org.hamcrest.Matchers.startsWith;
7478
import static org.junit.Assert.assertNotNull;
7579
import static org.junit.Assert.assertSame;
@@ -1108,4 +1112,17 @@ public void overrideHostConfigWithRawValues() {
11081112

11091113
assertThat(inspectContainerResponse.getHostConfig().getNanoCPUs(), is(500_000_000L));
11101114
}
1115+
1116+
@Test
1117+
public void shouldNotEncodeAuth() {
1118+
CreateContainerCmd cmd = dockerRule.getClient().createContainerCmd(DEFAULT_IMAGE)
1119+
.withAuthConfig(new AuthConfig().withEmail("test@test.com"))
1120+
.withCmd("sleep", "9999");
1121+
1122+
ObjectMapper objectMapper = dockerRule.getConfig().getObjectMapper();
1123+
1124+
ObjectNode jsonNode = objectMapper.valueToTree(cmd);
1125+
1126+
assertThat(jsonNode.get("authConfig"), nullValue());
1127+
}
11111128
}
Collapse file

‎docker-java/src/test/java/com/github/dockerjava/core/DockerRule.java‎

Copy file name to clipboardExpand all lines: docker-java/src/test/java/com/github/dockerjava/core/DockerRule.java
+7-1Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,10 @@ public class DockerRule extends ExternalResource {
3737

3838
private final Set<String> createdVolumeNames = new HashSet<>();
3939

40+
private final DefaultDockerClientConfig config = config();
41+
4042
public DockerClient newClient() {
41-
DockerClientImpl dockerClient = CmdIT.createDockerClient(config());
43+
DockerClientImpl dockerClient = CmdIT.createDockerClient(config);
4244

4345
dockerClient.withDockerCmdExecFactory(
4446
new DockerCmdExecFactoryDelegate(dockerClient.dockerCmdExecFactory) {
@@ -82,6 +84,10 @@ protected DockerClient getDockerClient() {
8284
};
8385
}
8486

87+
public DefaultDockerClientConfig getConfig() {
88+
return config;
89+
}
90+
8591
public DockerClient getClient() {
8692
if (dockerClient != null) {
8793
return dockerClient;

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.