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
|
--- a/Makefile
+++ b/Makefile
@@ -1,8 +1,8 @@
CC=gcc
#OPT=-Wall -ggdb
-OPT=-O2
-LIB=-lpcap -lssl -lcrypto
-PROGRAM=parasite6 dos-new-ip6 detect-new-ip6 fake_router6 fake_advertise6 fake_mld6 fake_mipv6 redir6 smurf6 alive6 toobig6 rsmurf6 test_implementation6 sendpees6
+OPT=-O2 $(if $(USE_SSL),-DUSE_SSL,)
+LIB=-lpcap $(if $(USE_SSL),-lssl -lcrypto,)
+PROGRAM=parasite6 dos-new-ip6 detect-new-ip6 fake_router6 fake_advertise6 fake_mld6 fake_mipv6 redir6 smurf6 alive6 toobig6 rsmurf6 test_implementation6 $(if $(USE_SSL),sendpees6,)
all: thc-ipv6-lib.o $(PROGRAM)
--- a/thc-ipv6-lib.c
+++ b/thc-ipv6-lib.c
@@ -37,8 +37,10 @@
#include <pcap.h>
#include "thc-ipv6.h"
/* libssl */
+#ifdef USE_SSL
#include <openssl/evp.h>
#include <openssl/sha.h>
+#endif
@@ -1507,7 +1509,7 @@
* 2006/07
*/
-
+#ifdef USE_SSL
thc_key_t *thc_generate_key(int key_len)
{
thc_key_t *key;
@@ -1598,6 +1600,7 @@
return cga_hdr;
}
+#endif
thc_timestamp_hdr *generate_timestamp(void)
{
@@ -1632,6 +1635,7 @@
return nonce;
}
+#ifdef USE_SSL
thc_rsa_hdr *thc_generate_rsa(char *data2sign, int data2sign_len, thc_cga_hdr *cga_hdr, thc_key_t *key)
{
thc_rsa_hdr *rsa_hdr;
@@ -1827,3 +1831,4 @@
return 0;
}
+#endif
--- a/thc-ipv6.h
+++ b/thc-ipv6.h
@@ -10,7 +10,9 @@
#define _THC_IPV6_H
#include <pcap.h>
+#ifdef USE_SSL
#include <openssl/rsa.h>
+#endif
#define VERSION "v0.7"
#define AUTHOR "van Hauser / THC <vh@thc.org>"
@@ -228,10 +230,12 @@
char *pad;
} thc_rsa_hdr;
+#ifdef USE_SSL
typedef struct {
RSA *rsa;
int len;
} thc_key_t;
+#endif
typedef struct {
unsigned char *data;
@@ -239,8 +243,10 @@
int len;
} opt_t;
+#ifdef USE_SSL
extern thc_key_t *thc_generate_key(int key_len);
extern thc_cga_hdr *thc_generate_cga(unsigned char *prefix, thc_key_t *key, unsigned char **cga);
+#endif
#endif
|