What Eric and Zakir said
Adding radix support to constraints

This allows us to lookup an index -> ip address much faster
(16 seconds for ~3.7 billion addresses with sparse blacklist,
vs 65 sec before radix array).

Setting the PREFIX_LEN to /20, as this appears to give a good tradeoff
between radix population time (<1ms), runtime (16s), and memory footprint (4MB).
add blacklist_lookup_index proto
constraints stores network order; we want to return host order
have cyclic use blacklist_lookup_index
Support multiple cyclic groups for smaller subnets

We will choose the first one in the list that is large enough to support
the number of hosts chosen. This speeds up scanning small networks considerably:
e.g. /16s can be scanned in <200ms (+ cooldown)
demote spurious log_infos to log_debug
Merge branch 'fast-whitelist' of github.com:zmap/zmap
Convert plain Makefile into cmake

The package can be configured with 4 different options:

-DWITH_REDIS=ON

Enable support for Redis DB

-DWITH_JSON=ON

Enable support for JSON based output

-DENABLE_DEVELOPMENT=ON

Enable all warnings and make them fatal

-DENABLE_HARDENING=ON

Compile and link with some hardening

Use the new system by creating a build directory and change into that.
And then call the following

cmake -DWITH_REDIS=OFF -DWITH_JSON=ON -DENABLE_DEVELOPMENT=ON -DENABLE_HARDENING=ON /path/to/source/dir/
make
make DESTDIR="/..." install

Signed-off-by: Justin Lecher <jlec@gentoo.org>

Merged by David Adrian
- Remove src/Makefile
- Updated .gitignore for CMake
Finish moving zmap to CMake

- Generalize libjson support in CMakeLists
- Remove zopt.h, zopt.c from the repository
change INSTALL to document cmake
I care more about users than attacking governments

I'll bet the users would agree with this default as well. Arguably,
this shouldn't even be an option???
testing on 32-bit system
Use a union in fieldset->value

Instead of unreliably casting uint64_t's to (void *)
done testing m32
portable 64-bit output type