Skip to content

Commit 6d4de77

Browse files
authored
Merge pull request #448 from RUB-NDS/new_modvarversion
Updated the Version of the ModifiableVariable Package
2 parents 2d00998 + b3078cc commit 6d4de77

17 files changed

+292
-296
lines changed

TLS-Core/src/main/java/de/rub/nds/tlsattacker/core/config/ConfigIO.java

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,38 @@
88
*/
99
package de.rub.nds.tlsattacker.core.config;
1010

11+
import de.rub.nds.modifiablevariable.util.XMLPrettyPrinter;
1112
import de.rub.nds.tlsattacker.core.config.filter.ConfigDisplayFilter;
1213
import java.io.*;
14+
import java.util.logging.Level;
15+
import java.util.logging.Logger;
1316
import javax.xml.bind.JAXB;
17+
import javax.xml.parsers.ParserConfigurationException;
18+
import javax.xml.transform.TransformerException;
19+
import javax.xml.xpath.XPathExpressionException;
20+
import javax.xml.xpath.XPathFactoryConfigurationException;
21+
import org.xml.sax.SAXException;
1422

1523
public class ConfigIO {
24+
1625
public static void write(Config config, File f) {
17-
JAXB.marshal(config, f);
26+
try {
27+
write(config, new FileOutputStream(f));
28+
} catch (FileNotFoundException ex) {
29+
throw new RuntimeException(ex);
30+
}
1831
}
1932

2033
public static void write(Config config, OutputStream os) {
21-
JAXB.marshal(config, os);
34+
ByteArrayOutputStream tempStream = new ByteArrayOutputStream();
35+
36+
JAXB.marshal(config, tempStream);
37+
try {
38+
os.write(XMLPrettyPrinter.prettyPrintXML(new String(tempStream.toByteArray())).getBytes());
39+
} catch (IOException | TransformerException | XPathExpressionException | XPathFactoryConfigurationException
40+
| ParserConfigurationException | SAXException ex) {
41+
throw new RuntimeException("Could not format XML");
42+
}
2243
}
2344

2445
public static void write(Config config, File f, ConfigDisplayFilter filter) {

TLS-Core/src/main/java/de/rub/nds/tlsattacker/core/workflow/WorkflowTraceSerializer.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import de.rub.nds.modifiablevariable.ModifiableVariable;
1212
import de.rub.nds.modifiablevariable.ModificationFilter;
1313
import de.rub.nds.modifiablevariable.VariableModification;
14+
import de.rub.nds.modifiablevariable.util.XMLPrettyPrinter;
1415
import de.rub.nds.tlsattacker.core.protocol.message.ProtocolMessage;
1516
import de.rub.nds.tlsattacker.core.protocol.message.extension.ExtensionMessage;
1617
import de.rub.nds.tlsattacker.core.workflow.action.ReceiveAction;
@@ -26,15 +27,22 @@
2627
import java.io.OutputStream;
2728
import java.util.ArrayList;
2829
import java.util.List;
30+
import java.util.logging.Level;
2931
import javax.xml.bind.JAXBContext;
3032
import javax.xml.bind.JAXBException;
3133
import javax.xml.bind.Marshaller;
3234
import javax.xml.bind.Unmarshaller;
35+
import javax.xml.parsers.ParserConfigurationException;
3336
import javax.xml.stream.XMLInputFactory;
3437
import javax.xml.stream.XMLStreamException;
3538
import javax.xml.stream.XMLStreamReader;
39+
import javax.xml.transform.TransformerConfigurationException;
40+
import javax.xml.transform.TransformerException;
41+
import javax.xml.xpath.XPathExpressionException;
42+
import javax.xml.xpath.XPathFactoryConfigurationException;
3643
import org.apache.logging.log4j.LogManager;
3744
import org.apache.logging.log4j.Logger;
45+
import org.xml.sax.SAXException;
3846

3947
public class WorkflowTraceSerializer {
4048

@@ -107,8 +115,16 @@ public static void write(OutputStream outputStream, WorkflowTrace workflowTrace)
107115
context = getJAXBContext();
108116
Marshaller m = context.createMarshaller();
109117
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
110-
111-
m.marshal(workflowTrace, outputStream);
118+
ByteArrayOutputStream tempStream = new ByteArrayOutputStream();
119+
120+
m.marshal(workflowTrace, tempStream);
121+
try {
122+
outputStream.write(XMLPrettyPrinter.prettyPrintXML(new String(tempStream.toByteArray())).getBytes());
123+
} catch (TransformerException | XPathExpressionException | XPathFactoryConfigurationException
124+
| ParserConfigurationException | SAXException ex) {
125+
throw new RuntimeException("Could not format XML");
126+
}
127+
tempStream.close();
112128
outputStream.close();
113129
}
114130

TLS-Core/src/main/resources/default_config.xml

Lines changed: 240 additions & 241 deletions
Large diffs are not rendered by default.

TLS-Core/src/test/java/de/rub/nds/tlsattacker/core/workflow/WorkflowTraceSerializerTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ public void serializeWithSingleConnectionTest() {
121121
action = new SendAction(new ClientHelloMessage(config));
122122
trace.addTlsAction(action);
123123

124-
StringBuilder sb = new StringBuilder("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n");
124+
StringBuilder sb = new StringBuilder();
125125
sb.append("<workflowTrace>\n");
126126
sb.append(" <Send>\n");
127127
sb.append(" <messages>\n");
@@ -164,7 +164,7 @@ public void serializeWithSingleCustomConnectionTest() {
164164
action.setConnectionAlias(con.getAlias());
165165
trace.addTlsAction(action);
166166

167-
StringBuilder sb = new StringBuilder("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n");
167+
StringBuilder sb = new StringBuilder("");
168168
sb.append("<workflowTrace>\n");
169169
sb.append(" <OutboundConnection>\n");
170170
sb.append(" <alias>theAlias</alias>\n");
@@ -214,7 +214,7 @@ public void serializeWithMultipleCustomConnectionTest() {
214214
action = new SendAction(con3.getAlias(), new ClientHelloMessage(config));
215215
trace.addTlsAction(action);
216216

217-
StringBuilder sb = new StringBuilder("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n");
217+
StringBuilder sb = new StringBuilder("");
218218
sb.append("<workflowTrace>\n");
219219
sb.append(" <OutboundConnection>\n");
220220
sb.append(" <alias>alias1</alias>\n");

TLS-Core/src/test/java/de/rub/nds/tlsattacker/core/workflow/action/ActionTestUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public static <T extends TlsAction> void marshalingEmptyActionYieldsMinimalOutpu
8383
logger.warn("The action under test does not follow naming convention. " + xmlName
8484
+ " does not end with string 'Action'");
8585
}
86-
StringBuilder sb = new StringBuilder("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n");
86+
StringBuilder sb = new StringBuilder("");
8787
sb.append("<workflowTrace>\n");
8888
sb.append(" <").append(xmlName).append("/>\n");
8989
sb.append("</workflowTrace>\n");

TLS-Core/src/test/java/de/rub/nds/tlsattacker/core/workflow/action/ForwardActionTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ public void marshalingEmptyActionYieldsMinimalOutput() {
146146
try {
147147
action = new ForwardAction(ctx1Alias, ctx2Alias);
148148
trace.addTlsAction(action);
149-
StringBuilder sb = new StringBuilder("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n");
149+
StringBuilder sb = new StringBuilder("");
150150
sb.append("<workflowTrace>\n");
151151
sb.append(" <OutboundConnection>\n");
152152
sb.append(" <alias>ctx1</alias>\n");
Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
11
# Given this config:
2-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
32
<config>
43
</config>
54

65
# And this input trace
7-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
86
<workflowTrace>
97
</workflowTrace>
108

119
# We expect this normalized trace
12-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
1310
<workflowTrace>
1411
<OutboundConnection>
1512
<alias>client</alias>
@@ -21,5 +18,4 @@
2118
</workflowTrace>
2219

2320
# And this after default filter application:
24-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2521
<workflowTrace/>

TLS-Core/src/test/resources/workflow_trace_serialization_tests-positive/test_workflow_trace_handling-positive-1.xml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
# Given this config:
2-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
32
<config>
43
</config>
54

65
# And this input trace
7-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
86
<workflowTrace>
97
<Send>
108
<messages>
@@ -14,7 +12,6 @@
1412
</workflowTrace>
1513

1614
# We expect this normalized trace
17-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
1815
<workflowTrace>
1916
<OutboundConnection>
2017
<alias>client</alias>
@@ -33,11 +30,10 @@
3330
</workflowTrace>
3431

3532
# And this after default filter application:
36-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
3733
<workflowTrace>
3834
<Send>
3935
<messages>
4036
<ClientHello/>
4137
</messages>
4238
</Send>
43-
</workflowTrace>
39+
</workflowTrace>

TLS-Core/src/test/resources/workflow_trace_serialization_tests-positive/test_workflow_trace_handling-positive-2.xml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
# Given this config:
2-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
32
<config>
43
<defaulRunningMode>CLIENT</defaulRunningMode>
54
<defaultClientConnection>
@@ -19,12 +18,10 @@
1918
</config>
2019

2120
# And this input trace
22-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2321
<workflowTrace>
2422
</workflowTrace>
2523

2624
# We expect this normalized trace
27-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2825
<workflowTrace>
2926
<OutboundConnection>
3027
<alias>client</alias>
@@ -36,5 +33,4 @@
3633
</workflowTrace>
3734

3835
# And this after default filter application:
39-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
4036
<workflowTrace/>

TLS-Core/src/test/resources/workflow_trace_serialization_tests-positive/test_workflow_trace_handling-positive-3.xml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
# Given this config:
2-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
32
<config>
43
<defaultRunningMode>CLIENT</defaultRunningMode>
54
<defaultClientConnection>
@@ -19,7 +18,6 @@
1918
</config>
2019

2120
# And this input trace
22-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2321
<workflowTrace>
2422
<Send>
2523
<messages>
@@ -29,7 +27,6 @@
2927
</workflowTrace>
3028

3129
# We expect this normalized trace
32-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
3330
<workflowTrace>
3431
<OutboundConnection>
3532
<alias>client</alias>
@@ -48,7 +45,6 @@
4845
</workflowTrace>
4946

5047
# And this after default filter application:
51-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
5248
<workflowTrace>
5349
<Send>
5450
<messages>

0 commit comments

Comments
 (0)