[packages/ippool] - added opt,tirpc patches, build with libtirpc; release 5

qboosh qboosh at pld-linux.org
Sun Aug 30 22:28:46 CEST 2020


commit 6f3f80185d689b81a6418f55ba8c4d7102b73dde
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sun Aug 30 22:31:19 2020 +0200

    - added opt,tirpc patches, build with libtirpc; release 5

 ippool-opt.patch   | 11 +++++++++++
 ippool-tirpc.patch | 39 +++++++++++++++++++++++++++++++++++++++
 ippool.spec        | 43 ++++++++++++++++++++++++++++++++++---------
 3 files changed, 84 insertions(+), 9 deletions(-)
---
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*
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 <net/ethernet.h>
++#include <netinet/in.h>
+ 
+ #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
+ 
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/ippool.git/commitdiff/6f3f80185d689b81a6418f55ba8c4d7102b73dde



More information about the pld-cvs-commit mailing list