# # Copyright (C) 2006 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # # $Id$ include $(TOPDIR)/rules.mk PKG_NAME:=knock PKG_VERSION:=0.5 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://www.zeroflux.org/knock/files/ PKG_MD5SUM:=ca09d61458974cff90a700aba6120891 PKG_CAT:=zcat PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install include $(INCLUDE_DIR)/package.mk define Package/knock/Default SECTION:=net CATEGORY:=Network DEPENDS:=+libpcap TITLE:=Port-knocking DESCRIPTION:=\ It listens to all traffic on an ethernet (or PPP) interface, \\\ looking for special "knock" sequences of port-hits. A client \\\ makes these port-hits by sending a TCP (or UDP) packet to a \\\ port on the server. This port need not be open -- since \\\ knockd listens at the link-layer level, it sees all traffic \\\ even if it's destined for a closed port. When the server \\\ detects a specific sequence of port-hits, it runs a command \\\ defined in its configuration file. This can be used to open \\\ up holes in a firewall for quick access. URL:=http://www.zeroflux.org/cgi-bin/cvstrac/knock/wiki endef define Package/knock $(call Package/knock/Default) TITLE+= client DESCRIPTION+=\\\ \\\ This package contains the port-knocking client. endef define Package/knockd $(call Package/knock/Default) TITLE+= server DESCRIPTION+=\\\ \\\ This package contains the port-knocking server. endef define Package/knockd/conffiles /etc/knockd.conf endef define Build/Configure $(call Build/Configure/Default, \ , \ CFLAGS="$$$$CFLAGS $$$$CPPFLAGS" \ ac_cv_lib_pcap_pcap_open_live=yes \ ) endef define Build/Compile $(MAKE) -C $(PKG_BUILD_DIR) \ DESTDIR="$(PKG_INSTALL_DIR)" \ all install endef define Package/knock/install $(INSTALL_DIR) $(1)/usr/bin $(CP) $(PKG_INSTALL_DIR)/usr/bin/knock $(1)/usr/bin/ endef define Package/kockd/install $(INSTALL_DIR) $(1)/etc install -m0600 $(PKG_INSTALL_DIR)/etc/knockd.conf $(1)/etc/ $(INSTALL_DIR) $(1)/usr/sbin $(CP) $(PKG_INSTALL_DIR)/usr/sbin/knockd $(1)/usr/sbin/ endef $(eval $(call BuildPackage,knock)) $(eval $(call BuildPackage,knockd))