From 885315f8b4eb5e670aedec00f1f7e853b96ab84b Mon Sep 17 00:00:00 2001
From: jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Thu, 11 Oct 2012 21:57:56 +0000
Subject: thc-ipv6: update to v2.0, package all available utilities

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33728 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 package/network/ipv6/thc-ipv6/Makefile             | 71 +++++++----------
 .../network/ipv6/thc-ipv6/patches/100-no-ssl.patch | 11 +++
 .../thc-ipv6/patches/100-optional-openssl.patch    | 93 ----------------------
 3 files changed, 40 insertions(+), 135 deletions(-)
 create mode 100644 package/network/ipv6/thc-ipv6/patches/100-no-ssl.patch
 delete mode 100644 package/network/ipv6/thc-ipv6/patches/100-optional-openssl.patch

(limited to 'package/network')

diff --git a/package/network/ipv6/thc-ipv6/Makefile b/package/network/ipv6/thc-ipv6/Makefile
index c3192ef98..c5bbe6187 100644
--- a/package/network/ipv6/thc-ipv6/Makefile
+++ b/package/network/ipv6/thc-ipv6/Makefile
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2009-2011 OpenWrt.org
+# Copyright (C) 2009-2012 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,65 +8,52 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=thc-ipv6
-PKG_VERSION:=0.7
+PKG_VERSION:=2.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://freeworld.thc.org/releases/
-PKG_MD5SUM:=01715cfa7f5d4a53fe8f142a10c38c78
+PKG_MD5SUM:=5c9be9ad38ac15c368bb5140d031c051
 
 PKG_MAINTAINER:=Jo-Philipp Wich <jow@openwrt.org>
 
 include $(INCLUDE_DIR)/package.mk
 
-define Package/thc-ipv6/Default
-  SECTION:=ipv6
-  CATEGORY:=IPv6
-  DEPENDS:=+libpcap
-  URL:=http://freeworld.thc.org/
-endef
-
-define Build/Compile
-	$(MAKE) -C $(PKG_BUILD_DIR) \
-		CC="$(TARGET_CC)" \
-		OPT="$(TARGET_CFLAGS) -L$(STAGING_DIR)/usr/lib -I$(PKG_BUILD_DIR) -I$(STAGING_DIR)/usr/include" all
-endef
-
+THC_APPLETS := \
+	address6 alive6 covert_send6 covert_send6d denial6 detect-new-ip6     \
+	detect_sniffer6 dnsdict6 dnsrevenum6 dos-new-ip6                      \
+	dump_router6 exploit6 fake_advertise6 fake_dhcps6 fake_dns6d          \
+	fake_dnsupdate6 fake_mipv6 fake_mld26 fake_mld6 fake_mldrouter6       \
+	fake_router26 fake_router6 fake_solicitate6 flood_advertise6          \
+	flood_dhcpc6 flood_mld26 flood_mld6 flood_mldrouter6 flood_router26   \
+	flood_router6 flood_solicitate6 fragmentation6 fuzz_ip6               \
+	implementation6 implementation6d inverse_lookup6 kill_router6         \
+	ndpexhaust6 node_query6 parasite6 passive_discovery6 randicmp6        \
+	redir6 rsmurf6 sendpees6 sendpeesmp6 smurf6 thcping6 toobig6 trace6
+
+THC_DEPENDS_dnsdict6 := +libpthread
+THC_DEPENDS_thcping6 := +librt
 
 define BuildTool
-
-  PKG_CONFIG_DEPENDS+=CONFIG_PACKAGE_$(1)
-
-  define Package/$(1)
-  $$(call Package/thc-ipv6/Default)
-    TITLE:=$(2)
-    SUBMENU:=IPv6 attack and analyzing toolset (thc-ipv6)
+  define Package/thc-ipv6-$(subst _,-,$(1))
+    TITLE:=THC-IPv6 $(1) utility
+    SECTION:=ipv6
+    CATEGORY:=IPv6
+    DEPENDS:=+libpcap $(THC_DEPENDS_$(1))
+    URL:=http://freeworld.thc.org/
+    SUBMENU:=THC-IPv6 attack and analyzing toolkit
   endef
 
-  define Package/$(1)/description
-    $(3)
+  define Package/thc-ipv6-$(subst _,-,$(1))/description
+    This package contains the $(1) utility of the THC-IPv6 toolkit.
   endef
 
-  define Package/$(1)/install
+  define Package/thc-ipv6-$(subst _,-,$(1))/install
 	$(INSTALL_DIR) $$(1)/usr/sbin
 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/$(1) $$(1)/usr/sbin/$(1)
   endef
 
-  $$(eval $$(call BuildPackage,$(1)))
-
+  $$(eval $$(call BuildPackage,thc-ipv6-$(subst _,-,$(1))))
 endef
 
-
-#$(eval $(call BuildTool,NAME,TITLE,DESCRIPTION))
-$(eval $(call BuildTool,parasite6,ARP spoofer for IPv6,Provides false answers to Neighbor Solitication requests))
-$(eval $(call BuildTool,dos-new-ip6,DAD spoofer,Prevents new IPv6 interfaces to come up by spoofing DAD))
-$(eval $(call BuildTool,detect-new-ip6,Host detector,Detects new IPv6 addresses joining the network))
-$(eval $(call BuildTool,fake_router6,Router spoofer,Send Router Advertisements and try to become the default router))
-$(eval $(call BuildTool,fake_advertise6,RA spoofer,Advertise arbitary IPv6 addresses))
-$(eval $(call BuildTool,fake_mld6,Multicast membership spoofer,Advertise local host in arbitary multicast groups))
-$(eval $(call BuildTool,fake_mipv6,MIPv6 update spoofer,Spoof MIPv6 updates to redirect packets directed at the home-address))
-$(eval $(call BuildTool,redir6,Route injector,Inject IPv6 routes to redirect traffic to other routers))
-$(eval $(call BuildTool,smurf6,Local smurfer,Smurf the target or all-nodes multicast group with ICMPv6 echo replies))
-$(eval $(call BuildTool,alive6,Host presence scanner,Find active IPv6 hosts in the network segment))
-$(eval $(call BuildTool,toobig6,MTU injector,Inject MTU values in a IPv6 host))
-$(eval $(call BuildTool,rsmurf6,Remote smurfer,Smurf the local network of a target host by exploiting Linux implementation errors))
+$(foreach a,$(THC_APPLETS),$(eval $(call BuildTool,$(a))))
diff --git a/package/network/ipv6/thc-ipv6/patches/100-no-ssl.patch b/package/network/ipv6/thc-ipv6/patches/100-no-ssl.patch
new file mode 100644
index 000000000..5f87bcd35
--- /dev/null
+++ b/package/network/ipv6/thc-ipv6/patches/100-no-ssl.patch
@@ -0,0 +1,11 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1,7 +1,7 @@
+ CC=gcc
+ #CFLAGS?=-Wall -ggdb
+ CFLAGS?=-O2
+-LDFLAGS+=-lpcap -lssl -lcrypto
++LDFLAGS+=-lpcap
+ PROGRAMS=parasite6 dos-new-ip6 detect-new-ip6 fake_router6 fake_advertise6 fake_solicitate6 fake_mld6 fake_mld26 fake_mldrouter6 flood_mldrouter6 fake_mipv6 redir6 smurf6 alive6 toobig6 rsmurf6 implementation6 implementation6d sendpees6 sendpeesmp6 randicmp6 fuzz_ip6 flood_mld6 flood_mld26 flood_router6 flood_router26 flood_advertise6 flood_solicitate6 trace6 exploit6 denial6 fake_dhcps6 flood_dhcpc6 fake_dns6d fragmentation6 kill_router6 fake_dnsupdate6 ndpexhaust6 detect_sniffer6 dump_router6 fake_router26 passive_discovery6 dnsrevenum6 inverse_lookup6 node_query6 address6 thcping6 covert_send6 covert_send6d
+ LIBS=thc-ipv6-lib.o
+ 
diff --git a/package/network/ipv6/thc-ipv6/patches/100-optional-openssl.patch b/package/network/ipv6/thc-ipv6/patches/100-optional-openssl.patch
deleted file mode 100644
index 96f6ceb70..000000000
--- a/package/network/ipv6/thc-ipv6/patches/100-optional-openssl.patch
+++ /dev/null
@@ -1,93 +0,0 @@
---- 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
- 
-- 
cgit v1.2.3