summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Bogusz2020-08-30 20:31:19 (GMT)
committerJakub Bogusz2020-08-30 20:31:19 (GMT)
commit6f3f80185d689b81a6418f55ba8c4d7102b73dde (patch)
tree27e7e83e445aa5776d258a9464780b6cbd3bbef9
parent3205faa31eb8e8d2e395d21a902f102c4ae2d7c7 (diff)
downloadippool-6f3f80185d689b81a6418f55ba8c4d7102b73dde.zip
ippool-6f3f80185d689b81a6418f55ba8c4d7102b73dde.tar.gz
- added opt,tirpc patches, build with libtirpc; release 5HEADauto/th/ippool-1.3-5master
-rw-r--r--ippool-opt.patch11
-rw-r--r--ippool-tirpc.patch39
-rw-r--r--ippool.spec43
3 files changed, 84 insertions, 9 deletions
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
+
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*