thc-ipv6: move to trunk and add myself as maintainer
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 11 Oct 2012 21:17:08 +0000 (21:17 +0000)
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 11 Oct 2012 21:17:08 +0000 (21:17 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33727 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/network/ipv6/thc-ipv6/Makefile [new file with mode: 0644]
package/network/ipv6/thc-ipv6/patches/100-optional-openssl.patch [new file with mode: 0644]

diff --git a/package/network/ipv6/thc-ipv6/Makefile b/package/network/ipv6/thc-ipv6/Makefile
new file mode 100644 (file)
index 0000000..c3192ef
--- /dev/null
@@ -0,0 +1,72 @@
+#
+# Copyright (C) 2009-2011 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=thc-ipv6
+PKG_VERSION:=0.7
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://freeworld.thc.org/releases/
+PKG_MD5SUM:=01715cfa7f5d4a53fe8f142a10c38c78
+
+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
+
+
+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)
+  endef
+
+  define Package/$(1)/description
+    $(3)
+  endef
+
+  define Package/$(1)/install
+       $(INSTALL_DIR) $$(1)/usr/sbin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/$(1) $$(1)/usr/sbin/$(1)
+  endef
+
+  $$(eval $$(call BuildPackage,$(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))
diff --git a/package/network/ipv6/thc-ipv6/patches/100-optional-openssl.patch b/package/network/ipv6/thc-ipv6/patches/100-optional-openssl.patch
new file mode 100644 (file)
index 0000000..96f6ceb
--- /dev/null
@@ -0,0 +1,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