Skip to content

Commit 4a9e2bf

Browse files
committed
Things needed for the SulWrapperStandard to work, since it needs to
build a timeout symbol
1 parent 3df6a37 commit 4a9e2bf

File tree

4 files changed

+60
-6
lines changed

4 files changed

+60
-6
lines changed

src/main/java/se/uu/it/dtlsfuzzer/components/sul/core/TlsSulBuilderRA.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,15 @@
33
import com.github.protocolfuzzing.protocolstatefuzzer.components.sul.core.AbstractSul;
44
import com.github.protocolfuzzing.protocolstatefuzzer.components.sul.core.SulBuilder;
55
import com.github.protocolfuzzing.protocolstatefuzzer.components.sul.core.config.SulConfig;
6+
import com.github.protocolfuzzing.protocolstatefuzzer.components.sul.mapper.mappers.MapperComposerRA;
67
import com.github.protocolfuzzing.protocolstatefuzzer.utils.CleanupTasks;
78
import de.learnlib.ralib.words.PSymbolInstance;
9+
import se.uu.it.dtlsfuzzer.components.sul.mapper.MockOutputMapperRA;
810
import se.uu.it.dtlsfuzzer.components.sul.mapper.TlsExecutionContextRA;
11+
import se.uu.it.dtlsfuzzer.components.sul.mapper.TlsProtocolMessage;
12+
import se.uu.it.dtlsfuzzer.components.sul.mapper.TlsState;
913
import se.uu.it.dtlsfuzzer.components.sul.mapper.symbols.TlsInputTransformer;
14+
import se.uu.it.dtlsfuzzer.components.sul.mapper.symbols.outputs.TlsOutputBuilderRA;
1015

1116
public class TlsSulBuilderRA
1217
implements
@@ -24,7 +29,12 @@ public TlsSulBuilderRA(TlsInputTransformer inputTransformer) {
2429
PSymbolInstance,
2530
TlsExecutionContextRA
2631
> build(SulConfig sulConfig, CleanupTasks cleanupTasks) {
32+
33+
TlsOutputBuilderRA outputBuilder = new TlsOutputBuilderRA();
34+
MockOutputMapperRA outputMapper = new MockOutputMapperRA(sulConfig.getMapperConfig(), outputBuilder);
35+
MapperComposerRA<PSymbolInstance, TlsProtocolMessage, TlsExecutionContextRA, TlsState> mapperComposer = new MapperComposerRA<>(null, outputMapper);
36+
2737
TlsSul sul = new TlsSulBuilder().build(sulConfig, cleanupTasks);
28-
return new TlsSulRA(sul, inputTransformer);
38+
return new TlsSulRA(sul, inputTransformer, mapperComposer);
2939
}
3040
}

src/main/java/se/uu/it/dtlsfuzzer/components/sul/core/TlsSulRA.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,13 @@
55
import com.github.protocolfuzzing.protocolstatefuzzer.components.sul.core.config.SulConfig;
66
import com.github.protocolfuzzing.protocolstatefuzzer.components.sul.core.sulwrappers.DynamicPortProvider;
77
import com.github.protocolfuzzing.protocolstatefuzzer.components.sul.mapper.Mapper;
8+
import com.github.protocolfuzzing.protocolstatefuzzer.components.sul.mapper.mappers.MapperComposerRA;
89
import com.github.protocolfuzzing.protocolstatefuzzer.utils.CleanupTasks;
910
import de.learnlib.ralib.words.OutputSymbol;
1011
import de.learnlib.ralib.words.PSymbolInstance;
1112
import se.uu.it.dtlsfuzzer.components.sul.mapper.TlsExecutionContextRA;
13+
import se.uu.it.dtlsfuzzer.components.sul.mapper.TlsProtocolMessage;
14+
import se.uu.it.dtlsfuzzer.components.sul.mapper.TlsState;
1215
import se.uu.it.dtlsfuzzer.components.sul.mapper.symbols.TlsInputTransformer;
1316
import se.uu.it.dtlsfuzzer.components.sul.mapper.symbols.inputs.TlsInput;
1417
import se.uu.it.dtlsfuzzer.components.sul.mapper.symbols.outputs.TlsOutput;
@@ -21,9 +24,12 @@ public class TlsSulRA
2124

2225
private TlsInputTransformer inputTransformer;
2326

24-
public TlsSulRA(TlsSul sul, TlsInputTransformer inputTransformer) {
27+
private MapperComposerRA<PSymbolInstance, TlsProtocolMessage, TlsExecutionContextRA, TlsState> mapperComposer;
28+
29+
public TlsSulRA(TlsSul sul, TlsInputTransformer inputTransformer, MapperComposerRA<PSymbolInstance, TlsProtocolMessage, TlsExecutionContextRA, TlsState> mapperComposer) {
2530
this.wrappedSul = sul;
2631
this.inputTransformer = inputTransformer;
32+
this.mapperComposer = mapperComposer;
2733
}
2834

2935
@Override
@@ -75,10 +81,7 @@ public DynamicPortProvider getDynamicPortProvider() {
7581
PSymbolInstance,
7682
TlsExecutionContextRA
7783
> getMapper() {
78-
// TODO Auto-generated method stub
79-
throw new UnsupportedOperationException(
80-
"Unimplemented method 'getMapper'"
81-
);
84+
return mapperComposer;
8285
}
8386

8487
@Override
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package se.uu.it.dtlsfuzzer.components.sul.mapper;
2+
3+
import com.github.protocolfuzzing.protocolstatefuzzer.components.sul.mapper.abstractsymbols.OutputBuilder;
4+
import com.github.protocolfuzzing.protocolstatefuzzer.components.sul.mapper.config.MapperConfig;
5+
import com.github.protocolfuzzing.protocolstatefuzzer.components.sul.mapper.mappers.OutputMapperRA;
6+
import de.learnlib.ralib.words.PSymbolInstance;
7+
import java.util.List;
8+
9+
public class MockOutputMapperRA extends OutputMapperRA<PSymbolInstance, TlsProtocolMessage, TlsExecutionContextRA> {
10+
11+
public MockOutputMapperRA(MapperConfig mapperConfig, OutputBuilder<PSymbolInstance> outputBuilder) {
12+
super(mapperConfig, outputBuilder);
13+
}
14+
15+
@Override
16+
public PSymbolInstance receiveOutput(TlsExecutionContextRA context) {
17+
// TODO Auto-generated method stub
18+
throw new UnsupportedOperationException("Unimplemented method 'receiveOutput'");
19+
}
20+
21+
@Override
22+
protected PSymbolInstance buildOutput(String name, List<TlsProtocolMessage> messages) {
23+
// TODO Auto-generated method stub
24+
throw new UnsupportedOperationException("Unimplemented method 'buildOutput'");
25+
}
26+
27+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package se.uu.it.dtlsfuzzer.components.sul.mapper.symbols.outputs;
2+
3+
import com.github.protocolfuzzing.protocolstatefuzzer.components.sul.mapper.abstractsymbols.OutputBuilder;
4+
import de.learnlib.ralib.words.OutputSymbol;
5+
import de.learnlib.ralib.words.PSymbolInstance;
6+
7+
public class TlsOutputBuilderRA extends OutputBuilder<PSymbolInstance> {
8+
9+
@Override
10+
public PSymbolInstance buildOutputExact(String name) {
11+
return new PSymbolInstance(new OutputSymbol(name));
12+
}
13+
14+
}

0 commit comments

Comments
 (0)