Port dhcp-forwarder to -ng
git-svn-id: svn://svn.openwrt.org/openwrt/packages@4371 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
04b7f0d3b6
commit
a328176fc6
55
net/dhcp-forwarder/Makefile
Normal file
55
net/dhcp-forwarder/Makefile
Normal file
@ -0,0 +1,55 @@
|
||||
#
|
||||
# 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:=dhcp-forwarder
|
||||
PKG_VERSION:=0.7
|
||||
PKG_RELEASE:=4
|
||||
PKG_MD5SUM:=e7f876e615ebc3f96418f6477b4451e2
|
||||
|
||||
PKG_SOURCE_URL:=http://savannah.nongnu.org/download/dhcp-fwd
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
PKG_CAT:=bzcat
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/dhcp-forwarder
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
TITLE:=DHCP relay agent
|
||||
DESCRIPTION:=DHCP relay agent
|
||||
URL:=http://www.nongnu.org/dhcp-fwd/
|
||||
endef
|
||||
|
||||
define Build/Configure
|
||||
$(call Build/Configure/Default,,ac_cv_func_malloc_0_nonnull="yes")
|
||||
endef
|
||||
|
||||
define Build/Compile
|
||||
rm -rf $(PKG_INSTALL_DIR)
|
||||
mkdir -p $(PKG_INSTALL_DIR)
|
||||
$(MAKE) -C $(PKG_BUILD_DIR) \
|
||||
cfg_filename="/etc/dhcp-fwd.conf" \
|
||||
DESTDIR="$(PKG_INSTALL_DIR)" \
|
||||
all install
|
||||
endef
|
||||
|
||||
define Package/dhcp-forwarder/install
|
||||
install -m0755 -d $(1)/etc
|
||||
install -m0644 $(PKG_BUILD_DIR)/contrib/dhcp-fwd.conf $(1)/etc/
|
||||
install -m0755 -d $(1)/etc/init.d
|
||||
install -m0755 ./files/dhcp-fwd.init $(1)/etc/init.d/dhcp-fwd
|
||||
install -m0755 -d $(1)/usr/bin
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/sbin/dhcp-fwd $(1)/usr/bin/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,dhcp-forwarder))
|
21
net/dhcp-forwarder/files/dhcp-fwd.init
Normal file
21
net/dhcp-forwarder/files/dhcp-fwd.init
Normal file
@ -0,0 +1,21 @@
|
||||
#!/bin/sh
|
||||
|
||||
LOG_D=/var/log
|
||||
RUN_D=/var/run
|
||||
PID_F=$RUN_D/dhcpd-fwd.pid
|
||||
|
||||
case $1 in
|
||||
start)
|
||||
[ -d $LOG_D ] || mkdir -p $LOG_D
|
||||
[ -d $RUN_D ] || mkdir -p $RUN_D
|
||||
dhcp-fwd
|
||||
;;
|
||||
stop)
|
||||
[ -f $PID_F ] && kill $(cat $PID_F)
|
||||
;;
|
||||
*)
|
||||
echo "usage: $0 (start|stop)"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
exit $?
|
11
net/dhcp-forwarder/patches/00-big_endian.patch
Normal file
11
net/dhcp-forwarder/patches/00-big_endian.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- dhcp-forwarder-0.7/src/dhcp.h 2004-06-22 03:46:56.000000000 -0700
|
||||
+++ dhcp-forwarder-0.7-x/src/dhcp.h 2005-10-06 17:04:14.000000000 -0700
|
||||
@@ -89,7 +89,7 @@
|
||||
optDHCP_COOKIE = 0x63538263u,
|
||||
flgDHCP_BCAST = 0x0080u
|
||||
#else
|
||||
- DHCP_COOKIE = 0x63825363u,
|
||||
+ optDHCP_COOKIE = 0x63825363u,
|
||||
flgDHCP_BCAST = 0x8000u
|
||||
#endif
|
||||
};
|
35
net/dhcp-forwarder/patches/01-getpwnmam_getgrnam.patch
Normal file
35
net/dhcp-forwarder/patches/01-getpwnmam_getgrnam.patch
Normal file
@ -0,0 +1,35 @@
|
||||
diff -pur dhcp-forwarder-0.7-orig/src/wrappers.h dhcp-forwarder-0.7-patched/src/wrappers.h
|
||||
--- dhcp-forwarder-0.7-orig/src/wrappers.h 2004-06-22 12:46:56.000000000 +0200
|
||||
+++ dhcp-forwarder-0.7-patched/src/wrappers.h 2005-12-27 12:28:10.464289435 +0100
|
||||
@@ -65,7 +65,14 @@ Egetgrnam(char const *name)
|
||||
/*@*/
|
||||
{
|
||||
/*@observer@*/struct group const *res = getgrnam(name);
|
||||
- FatalErrnoError(res==0, 1, "getgrnam()");
|
||||
+
|
||||
+ FatalErrnoError((res == NULL) && (errno != 0), 1, "getgrnam()");
|
||||
+
|
||||
+ if (res == NULL)
|
||||
+ {
|
||||
+ fprintf (stderr, "No such group: `%s'\n", name);
|
||||
+ exit (1);
|
||||
+ }
|
||||
|
||||
/*@-freshtrans@*/
|
||||
/*@-mustfreefresh@*/
|
||||
@@ -80,7 +87,14 @@ Egetpwnam(char const *name)
|
||||
/*@*/
|
||||
{
|
||||
struct passwd const *res = getpwnam(name);
|
||||
- FatalErrnoError(res==0, 1, "getpwnam()");
|
||||
+
|
||||
+ FatalErrnoError((res == NULL) && (errno != 0), 1, "getpwnam()");
|
||||
+
|
||||
+ if (res == NULL)
|
||||
+ {
|
||||
+ fprintf (stderr, "No such user: `%s'\n", name);
|
||||
+ exit (1);
|
||||
+ }
|
||||
|
||||
return res;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user