[packages/pathfinder] - initial

qboosh qboosh at pld-linux.org
Mon Feb 2 20:50:22 CET 2015


commit 3c647849a78a0c5beccaf4939502deeee69527c1
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Mon Feb 2 20:52:30 2015 +0100

    - initial

 pathfinder-c++.patch    |  70 +++++++++++++++
 pathfinder-libdir.patch |  20 +++++
 pathfinder-link.patch   |  18 ++++
 pathfinder.spec         | 235 ++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 343 insertions(+)
---
diff --git a/pathfinder.spec b/pathfinder.spec
new file mode 100644
index 0000000..73dcf5c
--- /dev/null
+++ b/pathfinder.spec
@@ -0,0 +1,235 @@
+#
+# Conditional build:
+%bcond_without	static_libs	# don't build static libraries
+#
+Summary:	PathFinder PKI Path Discovery and Validation Daemon
+Summary(pl.UTF-8):	PathFinder - demon do rozpoznawania i sprawdzania poprawności ścieżek PKI
+Name:		pathfinder
+Version:	1.1.7
+Release:	1
+License:	LGPL v2.1 or BSD (libraries), LGPL v2.1 (programs)
+Group:		Libraries
+#Source0Download: http://code.google.com/p/pathfinder-pki/downloads/list
+Source0:	http://pathfinder-pki.googlecode.com/files/%{name}-%{version}-Source.tar.gz
+# Source0-md5:	8307b2297c1efa6c526ce4b656a2e4aa
+Patch0:		%{name}-c++.patch
+Patch1:		%{name}-link.patch
+Patch2:		%{name}-libdir.patch
+URL:		http://code.google.com/p/pathfinder-pki/
+BuildRequires:	cmake >= 2.4.7
+BuildRequires:	dbus-devel >= 1
+BuildRequires:	libstdc++-devel
+BuildRequires:	nss-devel
+BuildRequires:	openldap-devel
+BuildRequires:	openssl-devel
+BuildRequires:	pkgconfig
+BuildRequires:	wvstreams-devel
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%define		specflags	-fpermissive
+
+%description
+PathFinder is designed to provide a mechanism for any program to
+perform RFC-3280 compliant path validation of X.509 certificates, even
+when some of the intermediate certificates are not present on the
+local machine. By design, PathFinder automatically downloads any such
+certificates from the Internet as needed using the AIA and CRL
+distribution point extensions of the certificates it is processing. It
+has the ability to do revocation status checking either using CRL or
+OCSP, or both. And, given the recent vulnerabilities that have
+rendered the MD5 algorithm highly suspect, it allows the administrator
+to choose to not validate certificates using that algorithm anywhere
+in the trust path.
+
+For the convenience of those using OpenSSL or NSS (Netscape Security
+Services), two libraries containing a PathFinder callback suitable for
+use with an SSL connection are provided.
+
+%description -l pl.UTF-8
+PathFinder powstał w celu dostarczenia dowolnym programom mechanizmu
+wykonywania zgodnej z RFC-3280 kontroli poprawności ścieżek
+certyfikatów X.509, nawet kiedy niektóre z certyfikatów pośrednich nie
+są dostępne na maszynie lokalnej. Zgodnie z projektem, PathFinder
+automatycznie ściąga takie certyfikaty z Internetu w miarę potrzeb
+przy użyciu rozszerzeń punktów dystrybucji AIA i CRL przetwarzanych
+certyfikatów. Potrafi sprawdzać stan odwołań certyfikatów przy użyciu
+CRL lub OCSP, albo obu tych mechanizmów. A także, ze względu na
+wykryte niedawno luki czyniące algorytm MD5 niewiarygodnym, pozwala
+także administratorowi zdecydować, by nie uznawać certyfikatów,
+wykorzystujących ten algorytm, za poprawne.
+
+Dla wygody wykorzystujących biblioteki OpenSSL oraz NSS (Netscape
+Security Services), dostarczane są dwie biblioteki z odpowiednimi
+wywołaniami wstecznymi PathFindera.
+
+%package devel
+Summary:	Common development files for PathFinder libraries
+Summary(pl.UTF-8):	Wspólne pliki programistyczne bibliotek PathFindera
+Group:		Development/Libraries
+
+%description devel
+Common development files for PathFinder libraries.
+
+%description devel -l pl.UTF-8
+Wspólne pliki programistyczne bibliotek PathFindera.
+
+%package nss
+Summary:	NSS PathFinder plugin library
+Summary(pl.UTF-8):	Biblioteka wtyczki PathFinder dla NSS
+Group:		Libraries
+Requires:	dbus-libs >= 1.0
+Requires:	nss >= 2.0.0
+
+%description nss
+Library that allows NSS (Netscape Security Services) to use PathFinder
+for certificate validation.
+
+%description nss -l pl.UTF-8
+Biblioteka pozwalająca bibliotece NSS (Netscape Security Services) na
+wykorzystywanie PathFindera do sprawdzania poprawności certyfikatów.
+
+%package nss-devel
+Summary:	Header file for NSS PathFinder plugin library
+Summary(pl.UTF-8):	Plik nagłówkowy biblioteki wtyczki PathFinder dla NSS
+Group:		Development/Libraries
+Requires:	%{name}-devel = %{version}-%{release}
+Requires:	%{name}-nss = %{version}-%{release}
+Requires:	dbus-devel >= 1.0
+Requires:	nss-devel >= 2.0.0
+
+%description nss-devel
+Header file for NSS PathFinder plugin library.
+
+%description nss-devel -l pl.UTF-8
+Plik nagłówkowy biblioteki wtyczki PathFinder dla NSS.
+
+%package nss-static
+Summary:	Static NSS PathFinder plugin library
+Summary(pl.UTF-8):	Statyczna biblioteka wtyczki PathFinder dla NSS
+Group:		Development/Libraries
+Requires:	%{name}-nss-devel = %{version}-%{release}
+
+%description nss-static
+Static NSS PathFinder plugin library.
+
+%description nss-static -l pl.UTF-8
+Statyczna biblioteka wtyczki PathFinder dla NSS.
+
+%package openssl
+Summary:	OpenSSL PathFinder plugin library
+Summary(pl.UTF-8):	Biblioteka wtyczki PathFinder dla OpenSSL
+Group:		Libraries
+Requires:	dbus-libs >= 1.0
+Requires:	openssl >= 0.9.8
+
+%description openssl
+Library that allows OpenSSL to use PathFinder for certificate
+validation.
+
+%description openssl -l pl.UTF-8
+Biblioteka pozwalająca bibliotece OpenSSL na wykorzystywanie
+PathFindera do sprawdzania poprawności certyfikatów.
+
+%package openssl-devel
+Summary:	Header file for OpenSSL PathFinder plugin library
+Summary(pl.UTF-8):	Plik nagłówkowy biblioteki wtyczki PathFinder dla OpenSSL
+Group:		Development/Libraries
+Requires:	%{name}-devel = %{version}-%{release}
+Requires:	%{name}-openssl = %{version}-%{release}
+Requires:	dbus-devel >= 1.0
+Requires:	openssl-devel >= 0.9.8
+
+%description openssl-devel
+Header file for OpenSSL PathFinder plugin library.
+
+%description openssl-devel -l pl.UTF-8
+Plik nagłówkowy biblioteki wtyczki PathFinder dla OpenSSL.
+
+%package openssl-static
+Summary:	Static OpenSSL PathFinder plugin library
+Summary(pl.UTF-8):	Statyczna biblioteka wtyczki PathFinder dla OpenSSL
+Group:		Development/Libraries
+Requires:	%{name}-openssl-devel = %{version}-%{release}
+
+%description openssl-static
+Static OpenSSL PathFinder plugin library.
+
+%description openssl-static -l pl.UTF-8
+Statyczna biblioteka wtyczki PathFinder dla OpenSSL.
+
+%prep
+%setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+
+%build
+# out-of-tree build is broken (missing -I$builddir)
+%cmake .
+
+%{__make}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__make} install \
+	DESTDIR=$RPM_BUILD_ROOT
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post	nss -p /sbin/ldconfig
+%postun	nss -p /sbin/ldconfig
+
+%post	openssl -p /sbin/ldconfig
+%postun	openssl -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc AUTHORS LICENSE README pathfinderd.ini.sample
+%attr(755,root,root) %{_bindir}/pathclient
+%attr(755,root,root) %{_bindir}/pathverify
+%attr(755,root,root) %{_sbindir}/pathfinderd
+/etc/dbus-1/system.d/pathfinderd.conf
+%{_mandir}/man8/pathfinderd.8*
+
+%files devel
+%defattr(644,root,root,755)
+%dir %{_includedir}/pathfinder-1
+%{_includedir}/pathfinder-1/libpathfinder.h
+%{_mandir}/man3/pathclient.3*
+%{_mandir}/man3/pathverify.3*
+
+%files nss
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libpathfinder-nss-1.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpathfinder-nss-1.so.1
+
+%files nss-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libpathfinder-nss-1.so
+%{_includedir}/pathfinder-1/libpathfinder-nss.h
+%{_pkgconfigdir}/pathfinder-nss.pc
+
+%if %{with static_libs}
+%files nss-static
+%defattr(644,root,root,755)
+%{_libdir}/libpathfinder-nss-1.a
+%endif
+
+%files openssl
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libpathfinder-openssl-1.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpathfinder-openssl-1.so.1
+
+%files openssl-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libpathfinder-openssl-1.so
+%{_includedir}/pathfinder-1/libpathfinder-openssl.h
+%{_pkgconfigdir}/pathfinder-openssl.pc
+
+%if %{with static_libs}
+%files openssl-static
+%defattr(644,root,root,755)
+%{_libdir}/libpathfinder-openssl-1.a
+%endif
diff --git a/pathfinder-c++.patch b/pathfinder-c++.patch
new file mode 100644
index 0000000..3dfb078
--- /dev/null
+++ b/pathfinder-c++.patch
@@ -0,0 +1,70 @@
+--- pathfinder-1.1.7/downloader.cc.orig	2012-01-03 19:04:40.000000000 +0100
++++ pathfinder-1.1.7/downloader.cc	2014-12-31 22:03:36.811727721 +0100
+@@ -37,9 +37,9 @@ Downloader::Downloader(WvStringParm _url
+         log("Kicking off download of %s.\n", url);
+         stream = pool->addurl(url, _method, _headers, _content_source);
+         stream->setcallback(wv::bind(&Downloader::download_cb, this, 
+-                                     wv::ref(*stream)));
++                                     stream));
+         stream->setclosecallback(wv::bind(&Downloader::download_closed_cb, this, 
+-                                          wv::ref(*stream)));
++                                          stream));
+         WvIStreamList::globallist.append(stream, true, WvString("download url %s", 
+                                                                  url));
+     }
+@@ -69,14 +69,14 @@ Downloader::~Downloader()
+ }
+ 
+ 
+-void Downloader::download_cb(WvStream &s)
++void Downloader::download_cb(xplc_ptr<WvBufUrlStream> s)
+ {
+     char buf[1024];
+     size_t numread = 0;
+     size_t totalread = 0;
+-    while (s.isreadable() && totalread < 32768)
++    while (s->isreadable() && totalread < 32768)
+     {
+-        numread = s.read(buf, 1024);
++        numread = s->read(buf, 1024);
+         if (numread)
+             downloadbuf.put(buf, numread);
+         totalread += numread;
+@@ -84,20 +84,20 @@ void Downloader::download_cb(WvStream &s
+ }
+ 
+ 
+-void Downloader::download_closed_cb(WvStream &s)
++void Downloader::download_closed_cb(xplc_ptr<WvBufUrlStream> s)
+ {
+     WvError err;    
+     WvString mimetype = WvString::null;
+     // as of this writing, errors are not properly set on a urlstream
+     // when there's a problem, so we have to resort to hacks to validate stuff
+ #if WVHTTPPOOLFIXED
+-    if (!s.isok() && s.geterr())
++    if (!s->isok() && s->geterr())
+ #else
+     if (0)
+ #endif
+     {
+-        log("Didn't download %s successfully (%s).\n", url, s.errstr());
+-        err.seterr_both(s.geterr(), s.errstr());
++        log("Didn't download %s successfully (%s).\n", url, s->errstr());
++        err.seterr_both(s->geterr(), s->errstr());
+         if (finished_cb)
+             finished_cb(url, mimetype, downloadbuf, err);
+         return;
+--- pathfinder-1.1.7/downloader.h.orig	2012-01-03 19:04:40.000000000 +0100
++++ pathfinder-1.1.7/downloader.h	2014-12-31 22:00:18.518402719 +0100
+@@ -33,8 +33,8 @@ public:
+ 
+ private:
+     WvDynBuf downloadbuf;
+-    void download_cb(WvStream &s);
+-    void download_closed_cb(WvStream &s);
++    void download_cb(xplc_ptr<WvBufUrlStream> s);
++    void download_closed_cb(xplc_ptr<WvBufUrlStream> s);
+     void download_ldap();
+     
+     WvString url;
diff --git a/pathfinder-libdir.patch b/pathfinder-libdir.patch
new file mode 100644
index 0000000..71e31d9
--- /dev/null
+++ b/pathfinder-libdir.patch
@@ -0,0 +1,20 @@
+--- pathfinder-1.1.7/pathfinder-nss.pc.in.orig	2007-12-24 22:50:12.000000000 +0100
++++ pathfinder-1.1.7/pathfinder-nss.pc.in	2015-02-02 20:11:36.785671902 +0100
+@@ -1,6 +1,6 @@
+ prefix=@CMAKE_INSTALL_PREFIX@
+ exec_prefix=${prefix}
+-libdir=${exec_prefix}/lib
++libdir=${exec_prefix}/lib at LIB_SUFFIX@
+ includedir=${prefix}/include
+ 
+ Name: NSS Pathfinder Plugin Library
+--- pathfinder-1.1.7/pathfinder-openssl.pc.in.orig	2007-07-27 21:52:00.000000000 +0200
++++ pathfinder-1.1.7/pathfinder-openssl.pc.in	2015-02-02 20:11:46.849004812 +0100
+@@ -1,6 +1,6 @@
+ prefix=@CMAKE_INSTALL_PREFIX@
+ exec_prefix=${prefix}
+-libdir=${exec_prefix}/lib
++libdir=${exec_prefix}/lib at LIB_SUFFIX@
+ includedir=${prefix}/include
+ 
+ Name: OpenSSL Pathfinder Plugin Library
diff --git a/pathfinder-link.patch b/pathfinder-link.patch
new file mode 100644
index 0000000..f9e3424
--- /dev/null
+++ b/pathfinder-link.patch
@@ -0,0 +1,18 @@
+--- pathfinder-1.1.7/x509path/CMakeLists.txt.orig	2009-01-05 04:27:35.000000000 +0100
++++ pathfinder-1.1.7/x509path/CMakeLists.txt	2014-12-31 22:52:15.114938579 +0100
+@@ -3,3 +3,4 @@
+ SET_TARGET_PROPERTIES(x509path
+ 		      PROPERTIES COMPILE_FLAGS "${EXTRA_CFLAGS} ${OPENSSL_CFLAGS}"
+ 				 LINK_FLAGS "${OPENSSL_LINKFLAGS}")
++TARGET_LINK_LIBRARIES(x509path "${OPENSSL_LIBRARIES}")
+--- pathfinder-1.1.7/libpathfinder/CMakeLists.txt.orig	2011-09-21 20:02:42.000000000 +0200
++++ pathfinder-1.1.7/libpathfinder/CMakeLists.txt	2015-01-01 00:12:06.448070841 +0100
+@@ -8,7 +8,7 @@
+ 
+ IF (NSS_CFLAGS)
+ SET(LIBPATHFINDER_NSS_CFLAGS "${DBUS_CFLAGS} ${NSS_CFLAGS}")
+-TARGET_LINK_LIBRARIES(pathfinder-nss-1 ${DBUS_LIBRARIES})
++TARGET_LINK_LIBRARIES(pathfinder-nss-1 ${DBUS_LIBRARIES} ${NSS_LIBRARIES})
+ SET_TARGET_PROPERTIES(pathfinder-nss-1 PROPERTIES COMPILE_FLAGS "${LIBPATHFINDER_NSS_CFLAGS}")
+ SET_TARGET_PROPERTIES(pathfinder-nss-1 PROPERTIES VERSION 1.0.0 SOVERSION 1 )
+ SET_TARGET_PROPERTIES(pathfinder-nss-1 PROPERTIES CLEAN_DIRECT_OUTPUT 1)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/pathfinder.git/commitdiff/3c647849a78a0c5beccaf4939502deeee69527c1



More information about the pld-cvs-commit mailing list