# # Copyright (C) 2016 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:=dhcp-forwarder PKG_VERSION:=0.11 PKG_RELEASE:=1 PKG_SOURCE_URL:=@SAVANNAH/dhcp-fwd/ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_HASH:=6abf8e6a72ad01df90efba543c9a18c149b24d50d000e66ce55209780dc04cd5 PKG_LICENSE:=GPL-2.0 PKG_LICENSE_FILES:=COPYING PKG_MAINTAINER:=Scott K Logan PKG_BUILD_PARALLEL:=1 PKG_INSTALL:=1 include $(INCLUDE_DIR)/package.mk define Package/dhcp-forwarder SECTION:=net CATEGORY:=Network SUBMENU:=IP Addresses and Names TITLE:=DHCP relay agent URL:=http://www.nongnu.org/dhcp-fwd/ USERID:=dhcp-fwd=375:dhcp-fwd=375 endef define Package/dhcp-forwarder/description This program forwards DHCP messages between subnets with different sublayer broadcast domains. It is similarly to the DHCP relay agent dhcrelay of ISC's DHCP, but has the following features which are important for me: - Runs as non-root in a chroot-jail - Uses "normal" AF_INET sockets; this allows to uses packetfilters to filter incoming messages. - The DHCP agent IDs can be defined freely - Has a small memory footprint when using dietlibc It tries to be RFC 2131/2132 and 3046 compliant. Probably it works with BOOTP (RFC 951) also, but since the handling of the giaddr field is described misleading (see RFC 1542), there may occur problems. endef define Package/dhcp-forwarder/conffiles /etc/dhcp-fwd.conf endef CONFIGURE_ARGS += \ --disable-dietlibc \ define Build/Compile $(MAKE) -C $(PKG_BUILD_DIR) \ DESTDIR="$(PKG_INSTALL_DIR)" \ cfg_filename="/etc/dhcp-fwd.conf" \ all install endef define Package/dhcp-forwarder/install $(INSTALL_DIR) $(1)/usr/bin $(1)/etc $(1)/etc/init.d $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dhcp-fwd $(1)/usr/bin/ $(INSTALL_CONF) $(PKG_BUILD_DIR)/contrib/dhcp-fwd.conf $(1)/etc/ $(INSTALL_BIN) ./files/dhcp-fwd.init $(1)/etc/init.d/dhcp-fwd endef $(eval $(call BuildPackage,dhcp-forwarder))