1
There are a number of different possible compile-time options for
2
Deadwood. It can be compiled as follows:
10
The default compile gives no IPv6
12
To compile Deadwood with IPv6 support, add '-DIPV6' to the compile-time
13
flags, e.g. 'cd src/ ; export FLAGS='-O3 -DIPV6'; make'
15
The reason why one may wish IPv6 is to use Deadwood on an IPv6 network.
19
Full list of compile flags Deadwood has:
21
IPV6 (-DIPV6): Adds IPv6 support to Deadwood
23
STRICT_RFC2671_COMPLIANCE (-DSTRICT_RFC2671_COMPLIANCE): Normally, Deadwood
24
handles EDNS (RFC2671) packets by acting like the packet was an
25
ordinary RFC1035 DNS request. This flag conforms to section 5.3 of
26
RFC2671 by having Deadwood instead reply to ENDS packets with a
27
"not implemented" error.
29
MINGW (use the correct Makefile): Used to replace *NIX sockets with Windows
30
sockets and make other changes to make the program a native Windows
31
service. This flag should not be invoked by the end-user compiling
32
Deadwood; instead use the 'Makefile.mingw' file:
33
make -f Makefile.mingw342
35
__CYGWIN__ (no flag to set; Cygwin sets this): It is also possible to
36
compile this program using Cygwin, an environment that fully
37
emulates a *NIX development environment in Windows.
39
Note: The following compile-time flags will only be of interest to developers
42
VALGRIND_NOERRORS (-DVALGRIND_NOERRORS): Normally, Deadwood uses the contents
43
of uninitialized memory as an entropy source for the random number
44
generator. This compile-time flag disables that behavior so that
45
Valgrind (a debugging tool for C programs) does not complain about
46
program behavior affected by uninitizlized data.
48
XTRA_STUFF (-DXTRA_STUFF): Add some routines that allow the printing of
49
debug information to standard output.
51
OTHER_STUFF (-DOTHER_STUFF): Add some routines that aren't actually used
54
HASH_DEBUG (-DHASH_DEBUG): Add information used by the
55
dwood2rc_n_hash_magic_number SQA regression
57
HAVE_MAIN (-DHAVE_MAIN): DwCompress.c, DwHash.c, DwMararc.c, and
58
DwRadioGatun.c all have main() routines that can be enabled with
59
this compile-time flag. This is mainly used for debugging.
60
DwRadioGatun.c, when compiled with
61
'gcc -g -DHAVE_MAIN -o RadioGatun DwRadioGatun.c' makes a program
62
that will output on standard output the RadioGatun[32] sum of the
63
first argument given to the program. We use this in the SQA test
64
(sqa_rg32) to ensure that DwRadioGatun.c makes a RadioGatun[32]
65
implementation that passes all official RadioGatun[32] test vectors.
67
HSCK (-DHSCK): Adds some routines to ensure that DwHash.c is correctly
68
creating a doubly linked list hash and queue. Used with the
69
debug-only Makefile.hsck make file.
71
INFLIGHT_VERBOSE (-DINFLIGHT_VERBOSE): Used by the dwood2rc_n_max_inflights
72
SQA test to ensure multiple inflight merging works
74
MARARC_C: Used internally by DwMararc.c to ensure that it sees some data
75
in DwMararc.h that other program files should not see. Not used
76
as a compile-time flag. We do things this way so a new dwood3rc
77
parameter can be added by only modifying one file (however, we
78
still need to modify DwMararc.c to give said parameter a default
81
NO_INET_PTON: Deadwood uses inet_pton() to convert human-readable IP
82
addresses like "10.1.2.3" in to binary IPs. If a given system
83
doesn't have inet_pton() (Windows doesn't), this creates
84
a inet_pton() using inet_addr() to convert the actual IP (since
85
Windows does have inet_addr() )