# $Id$ include $(TOPDIR)/rules.mk PKG_NAME:=knock PKG_VERSION:=0.5 PKG_RELEASE:=1 PKG_MD5SUM:=ca09d61458974cff90a700aba6120891 PKG_SOURCE_URL:=http://www.zeroflux.org/knock/files/ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz 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 SECTION:=net CATEGORY:=Network DEPENDS:=+libpcap TITLE:=A port-knocking client 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/knockd SECTION:=net CATEGORY:=Network DEPENDS:=+libpcap TITLE:=A port-knocking server 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/knockd/conffiles /etc/knockd.conf endef define Build/Configure (cd $(PKG_BUILD_DIR); rm -rf config.cache; \ $(TARGET_CONFIGURE_OPTS) \ CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \ LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \ ac_cv_lib_pcap_pcap_open_live=yes \ ./configure \ --target=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \ --build=$(GNU_HOST_NAME) \ --program-prefix="" \ --program-suffix="" \ --prefix=/usr \ --exec-prefix=/usr \ --bindir=/usr/bin \ --datadir=/usr/share \ --includedir=/usr/include \ --infodir=/usr/share/info \ --libdir=/usr/lib \ --libexecdir=/usr/lib \ --localstatedir=/var \ --mandir=/usr/share/man \ --sbindir=/usr/sbin \ --sysconfdir=/etc/kismet \ $(DISABLE_LARGEFILE) \ $(DISABLE_NLS) \ --enable-shared \ --disable-static \ --disable-rpath \ --with-gnu-ld \ ); endef define Build/Compile rm -rf $(PKG_INSTALL_DIR) mkdir -p $(PKG_INSTALL_DIR) $(MAKE) -C $(PKG_BUILD_DIR) \ CFLAGS="-I$(STAGING_DIR)/usr/include" \ DESTDIR="$(PKG_INSTALL_DIR)" \ all install endef define Package/knock/install install -d -m0755 $(1)/usr/bin $(CP) $(PKG_INSTALL_DIR)/usr/bin/knock $(1)/usr/bin/ endef define Package/kockd/install install -d -m0755 $(1)/etc install -m0600 $(PKG_INSTALL_DIR)/etc/knockd.conf $(1)/etc/ install -d -m0755 $(1)/usr/sbin $(CP) $(PKG_INSTALL_DIR)/usr/sbin/knockd $(1)/usr/sbin/ endef $(eval $(call BuildPackage,knock)) $(eval $(call BuildPackage,knockd))