46
46
import de .rub .nds .tlsscanner .report .after .Sweet32AfterProbe ;
47
47
import java .util .LinkedList ;
48
48
import java .util .List ;
49
+ import org .apache .logging .log4j .LogManager ;
50
+ import org .apache .logging .log4j .Logger ;
49
51
50
52
/**
51
53
*
52
54
* @author Robert Merget - [email protected]
53
55
*/
54
56
public class TlsScanner {
55
57
58
+ private final Logger LOGGER = LogManager .getLogger ();
59
+
56
60
private final ScanJobExecutor executor ;
57
61
private final ParallelExecutor parallelExecutor ;
58
62
private final ScannerConfig config ;
@@ -140,16 +144,20 @@ private void fillDefaultProbeLists() {
140
144
}
141
145
142
146
public SiteReport scan () {
143
- if (prechecks ()) {
144
- ScanJob job = new ScanJob (phaseOneTestList , phaseTwoTestList , afterList );
145
- SiteReport report = executor .execute (config , job );
146
- if (closeAfterFinish ) {
147
- executor .shutdown ();
148
- }
149
- if (closeAfterFinishParallel ) {
150
- parallelExecutor .shutdown ();
147
+ if (isConnectable ()) {
148
+ LOGGER .debug (config .getClientDelegate ().getHost () + " is connectable" );
149
+ if (speaksTls ()) {
150
+ LOGGER .debug (config .getClientDelegate ().getHost () + " is connectable" );
151
+ ScanJob job = new ScanJob (phaseOneTestList , phaseTwoTestList , afterList );
152
+ SiteReport report = executor .execute (config , job );
153
+ if (closeAfterFinish ) {
154
+ executor .shutdown ();
155
+ }
156
+ if (closeAfterFinishParallel ) {
157
+ parallelExecutor .shutdown ();
158
+ }
159
+ return report ;
151
160
}
152
- return report ;
153
161
}
154
162
SiteReport report = new SiteReport (config .getClientDelegate ().getHost (), new LinkedList <ProbeType >(), config .isNoColor ());
155
163
report .setServerIsAlive (false );
@@ -162,9 +170,15 @@ public SiteReport scan() {
162
170
return report ;
163
171
}
164
172
165
- public boolean prechecks () {
173
+ public boolean isConnectable () {
166
174
Config tlsConfig = config .createConfig ();
167
175
ConnectivityChecker checker = new ConnectivityChecker (tlsConfig .getDefaultClientConnection ());
168
176
return checker .isConnectable ();
169
177
}
178
+
179
+ private boolean speaksTls () {
180
+ Config tlsConfig = config .createConfig ();
181
+ ConnectivityChecker checker = new ConnectivityChecker (tlsConfig .getDefaultClientConnection ());
182
+ return checker .speaksTls (tlsConfig );
183
+ }
170
184
}
0 commit comments