From 6f3f80185d689b81a6418f55ba8c4d7102b73dde Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Sun, 30 Aug 2020 22:31:19 +0200 Subject: - added opt,tirpc patches, build with libtirpc; release 5 diff --git a/ippool-opt.patch b/ippool-opt.patch new file mode 100644 index 0000000..be15fd3 --- /dev/null +++ b/ippool-opt.patch @@ -0,0 +1,11 @@ +--- ippool-1.3/pppd/Makefile.orig 2008-02-03 16:46:58.000000000 +0100 ++++ ippool-1.3/pppd/Makefile 2020-08-30 21:58:33.799677283 +0200 +@@ -10,7 +10,7 @@ + + # END CONFIGURABLE SETTINGS + +-CFLAGS += -g -I.. -I/usr/include/pppd $(CFLAGS.pppd) -fPIC ++CFLAGS += $(CFLAGS.optimize) -I.. -I/usr/include/pppd $(CFLAGS.pppd) -fPIC + LDFLAGS += -shared + + all: ippool.so diff --git a/ippool-tirpc.patch b/ippool-tirpc.patch new file mode 100644 index 0000000..21cc5c6 --- /dev/null +++ b/ippool-tirpc.patch @@ -0,0 +1,39 @@ +--- ippool-1.3/ippool_api.c.orig 2020-08-30 22:11:47.358711538 +0200 ++++ ippool-1.3/ippool_api.c 2020-08-30 22:11:51.015358395 +0200 +@@ -24,6 +24,7 @@ + */ + + #include ++#include + + #include "usl.h" + +@@ -181,10 +182,12 @@ + * non-loopback interface, reject the request. + */ + if ((!ippool_opt_remote_rpc) && +- ((xprt->xp_raddr.sin_addr.s_addr != htonl(INADDR_LOOPBACK)) && +- (xprt->xp_raddr.sin_addr.s_addr != htonl(INADDR_ANY)))) { ++ memcmp(&xprt->xp_raddr.sin6_addr.s6_addr, &in6addr_loopback, 16) && ++ memcmp(&xprt->xp_raddr.sin6_addr.s6_addr, &in6addr_any, 16)) { + if (ippool_opt_debug) { +- ippool_log(LOG_ERR, "Rejecting RPC request from %s", inet_ntoa(xprt->xp_raddr.sin_addr)); ++ char straddr[INET6_ADDRSTRLEN]; ++ inet_ntop(AF_INET6, &xprt->xp_raddr.sin6_addr, straddr, sizeof(straddr)); ++ ippool_log(LOG_ERR, "Rejecting RPC request from %s", straddr); + } + svcerr_auth(xprt, AUTH_TOOWEAK); + return -EPERM; +--- ippool-1.3/Makefile.orig 2008-02-24 17:22:25.000000000 +0100 ++++ ippool-1.3/Makefile 2020-08-30 22:20:33.769193061 +0200 +@@ -83,8 +83,8 @@ + + CPPFLAGS= $(CPPFLAGS.ippooltest) + CFLAGS= -I. -Iusl -Icli -MMD -Wall -g $(CPPFLAGS) $(CPPFLAGS.dmalloc) +-LDFLAGS.ippoold= -Wl,-E -L. -Lusl -lusl -lnsl -ldl $(LIBS.dmalloc) -lc +-LDFLAGS.ippoolconfig= -Lcli -lcli -lreadline -lcurses -lnsl $(LIBS.dmalloc) -lc ++LDFLAGS.ippoold= -Wl,-E -L. -Lusl -lusl -ltirpc -ldl $(LIBS.dmalloc) -lc ++LDFLAGS.ippoolconfig= -Lcli -lcli -lreadline -lcurses -ltirpc $(LIBS.dmalloc) -lc + + OPT_CFLAGS?= -O + diff --git a/ippool.spec b/ippool.spec index 49a6d5d..da55b4b 100644 --- a/ippool.spec +++ b/ippool.spec @@ -1,9 +1,9 @@ -# Summary: An IP address pool manager +Summary(pl.UTF-8): Zarządca pul adresów IP Name: ippool Version: 1.3 -Release: 4 -License: GPL +Release: 5 +License: GPL v2+ Group: Networking/Daemons Source0: http://downloads.sourceforge.net/openl2tp/%{name}-%{version}.tar.gz # Source0-md5: e2401e65db26a3764585b97212888fae @@ -11,10 +11,16 @@ Source1: %{name}d.init Source2: %{name}d.sysconfig Patch0: %{name}-headers.patch Patch1: %{name}-no_Werror.patch +Patch2: %{name}-opt.patch +Patch3: %{name}-tirpc.patch URL: http://www.openl2tp.org/ +BuildRequires: libtirpc-devel +BuildRequires: ncurses-devel +BuildRequires: pkgconfig BuildRequires: ppp-plugin-devel BuildRequires: readline-devel -Requires: portmap +BuildRequires: rpcsvc-proto +Requires: rpcbind BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -29,15 +35,31 @@ IpPool comes with a command line management application, ippoolconfig to manage and query address pool status. A pppd plugin is supplied which allows pppd to request IP addresses from ippoold. +%description -l pl.UTF-8 +IpPool to zarządca pul adresów IP. + +IpPool jest zaimplementowane jako osobny demon, aby pozwolić dowolnej +aplikacji korzystać z jego pul adresów. Umożliwia to definiowanie pul +adresów współdzielonych przez PPP, L2TP, PPTP itp. Może to być +przydatne w niektórych konfiguracjach serwerów VPN. + +IpPool ma w pakiecie także aplikację do zarządzania z linii poleceń - +ippoolconfig, służącą do zarządzania i sprawdzania stanu pul adresów. +Dołączona jest także wtyczka pppd, pozwalająca demonowi pppd na +żądanie adresów IP od ippoold. + %prep %setup -q %patch0 -p1 %patch1 -p1 +%patch2 -p1 +%patch3 -p1 %build %{__make} -j1 \ + CC="%{__cc}" \ SYS_LIBDIR="%{_libdir}" \ - CFLAGS.optimize="%{rpmcflags} -fPIC" + CFLAGS.optimize="%{rpmcflags} $(pkg-config --cflags libtirpc) -fPIC" %install rm -rf $RPM_BUILD_ROOT @@ -53,7 +75,8 @@ install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/ippoold touch $RPM_BUILD_ROOT%{_sysconfdir}/ippoold.conf -rm -f $RPM_BUILD_ROOT%{_libdir}/libusl.a +# API not exported +%{__rm} $RPM_BUILD_ROOT%{_libdir}/libusl.a %clean rm -rf $RPM_BUILD_ROOT @@ -61,14 +84,16 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) %doc README -%dir %{_libdir}/ippool %attr(755,root,root) %{_bindir}/ippoolconfig %attr(755,root,root) %{_sbindir}/ippoold -%{_libdir}/ippool/ippool_rpc.x %attr(755,root,root) %{_libdir}/pppd/plugins/ippool.so %{_mandir}/man1/ippoolconfig.1* -%{_mandir}/man4/ippool_rpc.4* %{_mandir}/man8/ippoold.8* %attr(754,root,root) /etc/rc.d/init.d/ippoold %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ippoold %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ippoold.conf + +# TODO: -devel? +%dir %{_libdir}/ippool +%{_libdir}/ippool/ippool_rpc.x +%{_mandir}/man4/ippool_rpc.4* -- cgit v0.10.2