1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package ch.qos.logback.classic.joran.serializedModel;
16
17 import ch.qos.logback.core.model.Model;
18 import ch.qos.logback.core.net.HardenedObjectInputStream;
19
20 import java.io.IOException;
21 import java.io.InputStream;
22 import java.util.ArrayList;
23 import java.util.List;
24
25 public class HardenedModelInputStream extends HardenedObjectInputStream {
26
27
28 static public List<String> getWhilelist() {
29 List<String> whitelist = new ArrayList<String>();
30 whitelist.add(Model.class.getName());
31 whitelist.add(ch.qos.logback.core.model.Model.class.getName());
32 whitelist.add(ch.qos.logback.core.model.IncludeModel.class.getName());
33 whitelist.add(ch.qos.logback.core.model.InsertFromJNDIModel.class.getName());
34 whitelist.add(ch.qos.logback.classic.model.RootLoggerModel.class.getName());
35 whitelist.add(ch.qos.logback.core.model.ImportModel.class.getName());
36 whitelist.add(ch.qos.logback.core.model.AppenderRefModel.class.getName());
37 whitelist.add(ch.qos.logback.core.model.ComponentModel.class.getName());
38 whitelist.add(ch.qos.logback.core.model.StatusListenerModel.class.getName());
39 whitelist.add(ch.qos.logback.core.model.ShutdownHookModel.class.getName());
40 whitelist.add(ch.qos.logback.core.model.NamedComponentModel.class.getName());
41 whitelist.add(ch.qos.logback.core.model.AppenderModel.class.getName());
42 whitelist.add(ch.qos.logback.core.model.EventEvaluatorModel.class.getName());
43 whitelist.add(ch.qos.logback.core.model.DefineModel.class.getName());
44 whitelist.add(ch.qos.logback.core.model.SequenceNumberGeneratorModel.class.getName());
45 whitelist.add(ch.qos.logback.core.model.ImplicitModel.class.getName());
46 whitelist.add(ch.qos.logback.classic.model.ReceiverModel.class.getName());
47 whitelist.add(ch.qos.logback.classic.model.LoggerContextListenerModel.class.getName());
48 whitelist.add(ch.qos.logback.core.model.conditional.ThenModel.class.getName());
49 whitelist.add(ch.qos.logback.core.model.conditional.IfModel.class.getName());
50 whitelist.add(ch.qos.logback.core.model.NamedModel.class.getName());
51 whitelist.add(ch.qos.logback.classic.model.ContextNameModel.class.getName());
52 whitelist.add(ch.qos.logback.core.model.ParamModel.class.getName());
53 whitelist.add(ch.qos.logback.core.model.TimestampModel.class.getName());
54 whitelist.add(ch.qos.logback.core.model.PropertyModel.class.getName());
55 whitelist.add(ch.qos.logback.core.model.conditional.ElseModel.class.getName());
56 whitelist.add(ch.qos.logback.classic.model.ConfigurationModel.class.getName());
57 whitelist.add(ch.qos.logback.core.model.SiftModel.class.getName());
58 whitelist.add(ch.qos.logback.classic.model.LoggerModel.class.getName());
59 whitelist.add(ch.qos.logback.core.model.SerializeModelModel.class.getName());
60
61
62 return whitelist;
63 }
64 public HardenedModelInputStream(InputStream is) throws IOException {
65 super(is, getWhilelist());
66 }
67 }