summaryrefslogtreecommitdiff
path: root/security/sslscan/files/patch-sslscan.c
blob: 0a2c77b51e53eab38aa322a7eb00fd160006f80d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
--- sslscan.c.orig	2009-09-01 14:35:59.000000000 +0200
+++ sslscan.c	2015-03-07 23:26:34.286277205 +0100
@@ -41,6 +41,7 @@
 #include <openssl/pkcs12.h>
 #include <openssl/x509.h>
 #include <openssl/x509v3.h>
+#include <netinet/in.h>
 
 // Defines...
 #define false 0
@@ -563,6 +564,7 @@
 					}
 					if (options->xmlOutput != 0)
 						fprintf(options->xmlOutput, " sslversion=\"");
+#ifndef OPENSSL_NO_SSL2
 					if (sslCipherPointer->sslMethod == SSLv2_client_method())
 					{
 						if (options->xmlOutput != 0)
@@ -571,8 +573,11 @@
 							printf("SSLv2 || ");
 						else
 							printf("SSLv2  ");
-					}
-					else if (sslCipherPointer->sslMethod == SSLv3_client_method())
+					} 
+					else
+#endif
+#ifndef OPENSSL_NO_SSL3
+					if (sslCipherPointer->sslMethod == SSLv3_client_method())
 					{
 						if (options->xmlOutput != 0)
 							fprintf(options->xmlOutput, "SSLv3\" bits=\"");
@@ -582,6 +587,7 @@
 							printf("SSLv3  ");
 					}
 					else
+#endif
 					{
 						if (options->xmlOutput != 0)
 							fprintf(options->xmlOutput, "TLSv1\" bits=\"");
@@ -688,6 +694,7 @@
 						cipherStatus = SSL_connect(ssl);
 						if (cipherStatus == 1)
 						{
+#ifndef OPENSSL_NO_SSL2
 							if (sslMethod == SSLv2_client_method())
 							{
 								if (options->xmlOutput != 0)
@@ -697,7 +704,10 @@
 								else
 									printf("    SSLv2  ");
 							}
-							else if (sslMethod == SSLv3_client_method())
+							else 
+#endif
+#ifndef OPENSSL_NO_SSL3
+							if (sslMethod == SSLv3_client_method())
 							{
 								if (options->xmlOutput != 0)
 									fprintf(options->xmlOutput, "  <defaultcipher sslversion=\"SSLv3\" bits=\"");
@@ -707,6 +717,7 @@
 									printf("    SSLv3  ");
 							}
 							else
+#endif
 							{
 								if (options->xmlOutput != 0)
 									fprintf(options->xmlOutput, "  <defaultcipher sslversion=\"TLSv1\" bits=\"");
@@ -1192,18 +1203,26 @@
 		switch (options->sslVersion)
 		{
 			case ssl_all:
+#ifndef OPENSSL_NO_SSL2
 				status = defaultCipher(options, SSLv2_client_method());
 				if (status != false)
+#endif
+#ifndef OPENSSL_NO_SSL3
 					status = defaultCipher(options, SSLv3_client_method());
 				if (status != false)
+#endif
 					status = defaultCipher(options, TLSv1_client_method());
 				break;
+#ifndef OPENSSL_NO_SSL2
 			case ssl_v2:
 				status = defaultCipher(options, SSLv2_client_method());
 				break;
+#endif
+#ifndef OPENSSL_NO_SSL3
 			case ssl_v3:
 				status = defaultCipher(options, SSLv3_client_method());
 				break;
+#endif
 			case tls_v1:
 				status = defaultCipher(options, TLSv1_client_method());
 				break;
@@ -1415,16 +1434,24 @@
 			switch (options.sslVersion)
 			{
 				case ssl_all:
+#ifndef OPENSSL_NO_SSL2
 					populateCipherList(&options, SSLv2_client_method());
+#endif
+#ifndef OPENSSL_NO_SSL3
 					populateCipherList(&options, SSLv3_client_method());
+#endif
 					populateCipherList(&options, TLSv1_client_method());
 					break;
+#ifndef OPENSSL_NO_SSL2
 				case ssl_v2:
 					populateCipherList(&options, SSLv2_client_method());
 					break;
+#endif
+#ifndef OPENSSL_NO_SSL3
 				case ssl_v3:
 					populateCipherList(&options, SSLv3_client_method());
 					break;
+#endif
 				case tls_v1:
 					populateCipherList(&options, TLSv1_client_method());
 					break;