summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-analyzer/zmap/files/zmap-9999-cmake.patch')
-rw-r--r--net-analyzer/zmap/files/zmap-9999-cmake.patch178
1 files changed, 178 insertions, 0 deletions
diff --git a/net-analyzer/zmap/files/zmap-9999-cmake.patch b/net-analyzer/zmap/files/zmap-9999-cmake.patch
new file mode 100644
index 000000000000..fe57de933562
--- /dev/null
+++ b/net-analyzer/zmap/files/zmap-9999-cmake.patch
@@ -0,0 +1,178 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+new file mode 100644
+index 0000000..8e2d2b4
+--- /dev/null
++++ b/CMakeLists.txt
+@@ -0,0 +1,72 @@
++cmake_minimum_required (VERSION 2.6)
++project (ZMAP C)
++
++option(WITH_REDIS "Build with support for Redis DB" OFF)
++option(WITH_JSON "Build with support for JSON" OFF)
++option(ENABLE_DEVELOPMENT "Enable development specific compiler and linker flags" OFF)
++option(ENABLE_HARDENING "Add hardening specific compiler and linker flags" OFF)
++
++if(ENABLE_DEVELOPMENT)
++ # Hardening and warnings for building with gcc
++ # Maybe add -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations
++ set(GCCWARNINGS
++ "-Wall -Wformat=2 -Wno-format-nonliteral"
++ "-pedantic -fno-strict-aliasing"
++ "-Wextra"
++ "-Wfloat-equal -Wundef -Wwrite-strings -Wredundant-decls"
++ "-Wnested-externs -Wbad-function-cast -Winit-self"
++ "-Wmissing-noreturn -Wnormalized=id"
++ "-Wstack-protector"
++ "-Werror"
++ )
++
++ # Fix line breaks
++ string(REPLACE ";" " " GCCWARNINGS "${GCCWARNINGS}")
++
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GCCWARNINGS} -g")
++ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -g")
++endif()
++
++if(ENABLE_HARDENING)
++ set(GCCHARDENING "-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-all -fwrapv -fPIC --param ssp-buffer-size=1")
++ set(LDHARDENING "-z relro -z now")
++
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GCCHARDENING}")
++ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LDHARDENING}")
++endif()
++
++if(WITH_REDIS)
++ set(REDIS_LIBS hiredis)
++ add_definitions("-DREDIS")
++endif()
++
++if(WITH_JSON)
++ include(FindPkgConfig)
++ pkg_check_modules(JSON json-c)
++ if(NOT JSON_FOUND)
++ set(JSON_CFLAGS "")
++ set(JSON_LIBS "-ljson-c")
++ include_directories("/usr/local/include/json-c/")
++ endif()
++
++ add_definitions("-DJSON")
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${JSON_CFLAGS}")
++endif()
++
++# Standard FLAGS
++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99")
++set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pthread")
++
++# Extra target FLAGS
++set(CMAKE_C_FLAGS_DEBUG "-O2 -g")
++set(CMAKE_C_FLAGS_RELEASE "-O2")
++
++add_subdirectory(src)
++
++# Install conf files
++FILE(GLOB CONF_FILES "conf/*")
++install(
++ FILES
++ ${CONF_FILES}
++ DESTINATION "/etc/zmap/"
++ )
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+new file mode 100644
+index 0000000..50bf1ee
+--- /dev/null
++++ b/src/CMakeLists.txt
+@@ -0,0 +1,94 @@
++include_directories(
++ "${CMAKE_CURRENT_BINARY_DIR}"
++ ${PROJECT_SOURCE_DIR}/lib
++ ${PROJECT_SOURCE_DIR}/src
++ ${PROJECT_SOURCE_DIR}/src/output_modules
++ )
++
++SET(LIB_SOURCES
++ ${PROJECT_SOURCE_DIR}/lib/blacklist.c
++ ${PROJECT_SOURCE_DIR}/lib/constraint.c
++ ${PROJECT_SOURCE_DIR}/lib/logger.c
++ ${PROJECT_SOURCE_DIR}/lib/random.c
++ ${PROJECT_SOURCE_DIR}/lib/rijndael-alg-fst.c
++)
++
++# ADD YOUR PROBE MODULE HERE
++SET(EXTRA_PROBE_MODULES
++
++ )
++
++# ADD YOUR OUTPUT MODULE HERE
++SET(EXTRA_OUTPUT_MODULES
++
++ )
++
++SET(OUTPUT_MODULE_SOURCES
++# output_modules/module_extended_file.c
++# output_modules/module_simple_file.c
++ output_modules/module_csv.c
++ output_modules/output_modules.c
++ )
++
++SET(PROBE_MODULE_SOURCES
++ probe_modules/module_icmp_echo.c
++ probe_modules/module_tcp_synscan.c
++ probe_modules/module_udp.c
++ probe_modules/packet.c
++ probe_modules/probe_modules.c
++ )
++
++SET(SOURCES
++ aesrand.c
++ cyclic.c
++ fieldset.c
++ get_gateway.c
++ monitor.c
++ recv.c
++ send.c
++ state.c
++ validate.c
++ zmap.c
++ zopt_compat.c
++ "${CMAKE_CURRENT_BINARY_DIR}/zopt.h"
++ ${EXTRA_PROBE_MODULES}
++ ${EXTRA_OUTPUT_MODULES}
++ ${PROBE_MODULE_SOURCES}
++ ${OUTPUT_MODULE_SOURCES}
++ ${LIB_SOURCES}
++ )
++
++if (WITH_JSON)
++ SET(SOURCES ${SOURCES} output_modules/module_json.c)
++endif()
++
++if (WITH_REDIS)
++ SET(SOURCES ${SOURCES} ${PROJECT_SOURCE_DIR}/lib/redis.c output_modules/module_redis.c)
++endif()
++
++add_custom_command(OUTPUT zopt.h
++ COMMAND gengetopt -C --no-help --no-version -i "${CMAKE_CURRENT_SOURCE_DIR}/zopt.ggo" -F "${CMAKE_CURRENT_BINARY_DIR}/zopt"
++ )
++
++add_executable(zmap ${SOURCES})
++
++target_link_libraries(
++ zmap
++ pcap gmp m
++ ${REDIS_LIBS}
++ ${JSON_LIBRARIES}
++ )
++
++# Install binary
++install(
++ TARGETS
++ zmap
++ RUNTIME DESTINATION sbin
++)
++
++# Install Manpages
++install(
++ FILES
++ zmap.1
++ DESTINATION share/man/man1
++ )