Update to openslp-2.0.0, Add systemd support, man pages, build with full relro
This commit is contained in:
parent
d2ce3eac77
commit
e62c923b2d
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
|||||||
openslp-1.2.1.tar.gz
|
openslp-1.2.1.tar.gz
|
||||||
|
/openslp-2.0.0.tar.gz
|
||||||
|
@ -1,36 +0,0 @@
|
|||||||
diff -up openslp-1.2.1/slpd/slpd_log.c.orig openslp-1.2.1/slpd/slpd_log.c
|
|
||||||
--- openslp-1.2.1/slpd/slpd_log.c.orig 2005-02-08 05:34:31.000000000 +0000
|
|
||||||
+++ openslp-1.2.1/slpd/slpd_log.c 2009-09-15 19:39:23.000000000 +0100
|
|
||||||
@@ -179,7 +179,8 @@ void SLPDLogBuffer(const char* prefix, i
|
|
||||||
if (G_SlpdLogFile)
|
|
||||||
{
|
|
||||||
fprintf(G_SlpdLogFile,"%s",prefix);
|
|
||||||
- fwrite(buf,bufsize,1,G_SlpdLogFile);
|
|
||||||
+ if (buf && (bufsize > 0))
|
|
||||||
+ fwrite(buf,bufsize,1,G_SlpdLogFile);
|
|
||||||
fprintf(G_SlpdLogFile,"\n");
|
|
||||||
fflush(G_SlpdLogFile);
|
|
||||||
}
|
|
||||||
@@ -275,7 +276,21 @@ void SLPDLogSrvTypeRqstMessage(SLPSrvTyp
|
|
||||||
/*-------------------------------------------------------------------------*/
|
|
||||||
{
|
|
||||||
SLPDLog("Message SRVTYPERQST:\n");
|
|
||||||
- SLPDLogBuffer(" namingauth = ", srvtyperqst->namingauthlen, srvtyperqst->namingauth);
|
|
||||||
+
|
|
||||||
+ if (srvtyperqst->namingauthlen == 0xffff)
|
|
||||||
+ {
|
|
||||||
+ /* Naming authority matches all */
|
|
||||||
+ SLPDLog(" namingauth = (all)\n");
|
|
||||||
+ }
|
|
||||||
+ else if (srvtyperqst->namingauthlen == 0)
|
|
||||||
+ {
|
|
||||||
+ SLPDLog(" namingauth = (empty)\n");
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ /* Naming authority has been provided */
|
|
||||||
+ SLPDLogBuffer(" namingauth = ", srvtyperqst->namingauthlen, srvtyperqst->namingauth);
|
|
||||||
+ }
|
|
||||||
SLPDLogBuffer(" scope = ", srvtyperqst->scopelistlen, srvtyperqst->scopelist);
|
|
||||||
}
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
|||||||
--- openslp-1.2.1/configure.in.optflags 2005-02-15 14:06:02.000000000 -0600
|
|
||||||
+++ openslp-1.2.1/configure.in 2005-03-04 06:53:02.000000000 -0600
|
|
||||||
@@ -130,7 +130,7 @@
|
|
||||||
CFLAGS="$CFLAGS -Werror"
|
|
||||||
fi
|
|
||||||
if test X"$debug" = X"no"; then
|
|
||||||
- OPTFLAGS="-O3"
|
|
||||||
+ OPTFLAGS="-O3 $RPM_OPT_FLAGS"
|
|
||||||
fi
|
|
||||||
|
|
||||||
elif $CC -V 2>&1 | grep "WorkShop Compilers"; then
|
|
||||||
--- openslp-1.2.1/configure.optflags 2005-03-02 12:00:28.000000000 -0600
|
|
||||||
+++ openslp-1.2.1/configure 2005-03-04 06:53:04.000000000 -0600
|
|
||||||
@@ -20596,7 +20596,7 @@
|
|
||||||
CFLAGS="$CFLAGS -Werror"
|
|
||||||
fi
|
|
||||||
if test X"$debug" = X"no"; then
|
|
||||||
- OPTFLAGS="-O3"
|
|
||||||
+ OPTFLAGS="-O3 $RPM_OPT_FLAGS"
|
|
||||||
fi
|
|
||||||
|
|
||||||
elif $CC -V 2>&1 | grep "WorkShop Compilers"; then
|
|
134
openslp-2.0.0-multicast-set.patch
Normal file
134
openslp-2.0.0-multicast-set.patch
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
diff -up openslp-2.0.0/etc/slpd.all_init.orig openslp-2.0.0/etc/slpd.all_init
|
||||||
|
--- openslp-2.0.0/etc/slpd.all_init.orig 2012-11-28 18:07:04.000000000 +0100
|
||||||
|
+++ openslp-2.0.0/etc/slpd.all_init 2013-06-24 13:27:34.375575496 +0200
|
||||||
|
@@ -1,28 +1,5 @@
|
||||||
|
#!/bin/bash
|
||||||
|
-#
|
||||||
|
-# /etc/rc.d/init.d/slpd
|
||||||
|
-#
|
||||||
|
-# slpd Start/Stop the OpenSLP SA daemon (slpd).
|
||||||
|
-#
|
||||||
|
-# chkconfig: 345 13 87
|
||||||
|
-# description: OpenSLP daemon for the Service Location Protocol
|
||||||
|
-# processname: slpd
|
||||||
|
-
|
||||||
|
-# Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
|
||||||
|
-# Modified for RHS Linux by Damien Neil
|
||||||
|
-# Modified for COL by Raymund Will, <ray@lst.de>
|
||||||
|
-# Modified for OpenSLP by Matt Peterson <mpeterson@calderasystems.com>
|
||||||
|
-# Modified to be distribution agnostic by Bart Whiteley <bart@caldera.com>
|
||||||
|
-
|
||||||
|
-#//////////////////////////////////////////////////#
|
||||||
|
-# Does nothing if a route exists that supports #
|
||||||
|
-# multicast traffic. If no routes supporting #
|
||||||
|
-# multicast traffic exists, the function tries to #
|
||||||
|
-# add one. A 0 is returned on success and a 1 #
|
||||||
|
-# on failure. One parameter must be passed in. #
|
||||||
|
-# This variable determins verbosity. If parameter #
|
||||||
|
-# is non-zero debugging will appear #
|
||||||
|
-#//////////////////////////////////////////////////#
|
||||||
|
+
|
||||||
|
multicast_route_set()
|
||||||
|
{
|
||||||
|
PING_OPTIONS_1='-c1 -w1'
|
||||||
|
@@ -91,94 +68,11 @@ multicast_route_set()
|
||||||
|
return $retval
|
||||||
|
}
|
||||||
|
|
||||||
|
-NAME=slpd
|
||||||
|
-DAEMON=/usr/sbin/$NAME
|
||||||
|
-SUSE=0
|
||||||
|
-
|
||||||
|
-# Change to root
|
||||||
|
-OLDDIR=`pwd`
|
||||||
|
-cd /
|
||||||
|
-
|
||||||
|
-# Source function library.
|
||||||
|
-if [ -f /etc/rc.d/init.d/functions ]; then
|
||||||
|
- . /etc/rc.d/init.d/functions
|
||||||
|
-else
|
||||||
|
- SUSE=1
|
||||||
|
-fi
|
||||||
|
-
|
||||||
|
-test -x $DAEMON || exit 0
|
||||||
|
-
|
||||||
|
-if [ ! "$SVIlock" = "" ]; then
|
||||||
|
- unset LOCK
|
||||||
|
-else
|
||||||
|
- LOCK=/var/lock/subsys/slpd
|
||||||
|
+multicast_route_set 1
|
||||||
|
+multicast_enabled=$?
|
||||||
|
+if [ "$multicast_enabled" != "0" ] ; then
|
||||||
|
+ echo "Failure: No Route Available for Multicast Traffic"
|
||||||
|
+ exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
-RETVAL=0
|
||||||
|
-
|
||||||
|
-#
|
||||||
|
-# See how we were called.
|
||||||
|
-#
|
||||||
|
-case "$1" in
|
||||||
|
- start)
|
||||||
|
- # Check if atd is already running
|
||||||
|
- # RH style
|
||||||
|
- if [ $SUSE -eq 0 ] && [ ! "$LOCK" = "" ] && [ -f $LOCK ]; then
|
||||||
|
- exit 0
|
||||||
|
- fi
|
||||||
|
- # Caldera Style
|
||||||
|
- if [ ! "$SVIlock" = "" ] && [ -f $SVIlock ]; then
|
||||||
|
- exit 0
|
||||||
|
- fi
|
||||||
|
- echo -n 'Starting slpd: '
|
||||||
|
-
|
||||||
|
- multicast_route_set 1
|
||||||
|
- multicast_enabled=$?
|
||||||
|
- if [ "$multicast_enabled" != "0" ] ; then
|
||||||
|
- echo "Failure: No Route Available for Multicast Traffic"
|
||||||
|
- exit 1
|
||||||
|
- fi
|
||||||
|
- if [ $SUSE -eq 0 ]; then
|
||||||
|
- if [ -x /sbin/ssd ]; then
|
||||||
|
- ssd -S -n $NAME -x $DAEMON -- $OPTIONS
|
||||||
|
- [ ! "$SVIlock" = "" ] && touch $SVIlock
|
||||||
|
- else
|
||||||
|
- daemon $DAEMON
|
||||||
|
- RETVAL=$?
|
||||||
|
- fi
|
||||||
|
- else
|
||||||
|
- startproc $DAEMON $OPTIONS
|
||||||
|
- fi
|
||||||
|
- [ $SUSE -eq 0 ] && [ ! "$LOCK" = "" ] && [ $RETVAL -eq 0 ] && touch $LOCK
|
||||||
|
- echo
|
||||||
|
- ;;
|
||||||
|
- stop)
|
||||||
|
- echo -n 'Stopping slpd: '
|
||||||
|
-
|
||||||
|
- if [ -x /sbin/ssd ]; then
|
||||||
|
- ssd -K -p /var/run/$NAME.pid -n $NAME
|
||||||
|
- [ ! "$SVIlock" = "" ] && rm -f $SVIlock
|
||||||
|
- else
|
||||||
|
- killproc $DAEMON
|
||||||
|
- RETVAL=$?
|
||||||
|
- fi
|
||||||
|
- [ ! "$LOCK" = "" ] && [ $RETVAL -eq 0 ] && rm -f $LOCK
|
||||||
|
- echo
|
||||||
|
- ;;
|
||||||
|
- reload|restart)
|
||||||
|
- cd $OLDDIR
|
||||||
|
- $0 stop
|
||||||
|
- $0 start
|
||||||
|
- cd /
|
||||||
|
- RETVAL=$?
|
||||||
|
- ;;
|
||||||
|
- status)
|
||||||
|
- status /usr/sbin/slpd
|
||||||
|
- RETVAL=$?
|
||||||
|
- ;;
|
||||||
|
- *)
|
||||||
|
- echo "Usage: /etc/rc.d/init.d/slpd {start|stop|restart|reload|status}"
|
||||||
|
- exit 1
|
||||||
|
-esac
|
||||||
|
-
|
||||||
|
-exit $RETVAL
|
||||||
|
+exit 0
|
89
openslp.spec
89
openslp.spec
@ -1,26 +1,30 @@
|
|||||||
|
|
||||||
Summary: Open implementation of Service Location Protocol V2
|
Summary: Open implementation of Service Location Protocol V2
|
||||||
Name: openslp
|
Name: openslp
|
||||||
Version: 1.2.1
|
Version: 2.0.0
|
||||||
Release: 20%{?dist}
|
Release: 1%{?dist}
|
||||||
|
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
License: BSD
|
License: BSD
|
||||||
URL: http://sourceforge.net/projects/openslp/
|
URL: http://sourceforge.net/projects/openslp/
|
||||||
Source0: http://downloads.sf.net/openslp/openslp-%{version}.tar.gz
|
Source0: http://downloads.sf.net/openslp/openslp-%{version}.tar.gz
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
|
||||||
|
|
||||||
Source1: slpd.init
|
Source1: slpd.init
|
||||||
|
# Source1,2: simple man pages (slightly modified help2man output)
|
||||||
|
Source2: slpd.8.gz
|
||||||
|
Source3: slptool.1.gz
|
||||||
|
# Source3: service file
|
||||||
|
Source4: slpd.service
|
||||||
|
|
||||||
Patch1: openslp-1.2.1-optflags.patch
|
# Patch1: creates script from upstream init script that sets multicast
|
||||||
# slpd crashes if slptool findsrvtypes is run, when message logging is on
|
# prior to the start of the service
|
||||||
# http://bugzilla.redhat.com/523609
|
Patch1: openslp-2.0.0-multicast-set.patch
|
||||||
Patch2: openslp-1.2.1-nullauth.patch
|
|
||||||
|
|
||||||
BuildRequires: automake libtool
|
BuildRequires: automake libtool
|
||||||
BuildRequires: bison
|
BuildRequires: bison
|
||||||
BuildRequires: flex
|
BuildRequires: flex
|
||||||
BuildRequires: openssl-devel
|
BuildRequires: openssl-devel
|
||||||
|
BuildRequires: systemd-units
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Service Location Protocol is an IETF standards track protocol that
|
Service Location Protocol is an IETF standards track protocol that
|
||||||
@ -53,8 +57,7 @@ OpenSLP server daemon to dynamically register services.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
|
||||||
%patch1 -p1 -b .optflags
|
%patch1 -p1 -b .multicast-set
|
||||||
%patch2 -p1 -b .nullauth
|
|
||||||
|
|
||||||
# tarball goof (?), it wants to re-automake anyway, so let's do it right.
|
# tarball goof (?), it wants to re-automake anyway, so let's do it right.
|
||||||
#libtoolize --force
|
#libtoolize --force
|
||||||
@ -70,15 +73,20 @@ find . -name "CVS" | xargs rm -rf
|
|||||||
%build
|
%build
|
||||||
|
|
||||||
# for x86_64
|
# for x86_64
|
||||||
export CFLAGS="-fPIC $RPM_OPT_FLAGS"
|
export CFLAGS="-fPIC -fno-strict-aliasing -fPIE -DPIE $RPM_OPT_FLAGS"
|
||||||
# for slpd
|
# for slpd
|
||||||
export LDFLAGS="-pie"
|
export LDFLAGS="-pie -Wl,-z,now"
|
||||||
|
|
||||||
%configure \
|
%configure \
|
||||||
|
--prefix=%{_prefix} \
|
||||||
|
--libdir=%{_libdir} \
|
||||||
|
--sysconfdir=%{_sysconfdir} \
|
||||||
|
--localstatedir=/var \
|
||||||
--disable-dependency-tracking \
|
--disable-dependency-tracking \
|
||||||
--disable-static \
|
--disable-static \
|
||||||
--enable-slpv2-security
|
--enable-slpv2-security \
|
||||||
# --enable-async-api
|
--disable-rpath \
|
||||||
|
--enable-async-api
|
||||||
|
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
@ -90,6 +98,22 @@ make install DESTDIR=$RPM_BUILD_ROOT
|
|||||||
|
|
||||||
install -p -D -m755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/slpd
|
install -p -D -m755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/slpd
|
||||||
|
|
||||||
|
mkdir -p ${RPM_BUILD_ROOT}/%{_sysconfdir}/slp.reg.d
|
||||||
|
|
||||||
|
# install script that sets multicast
|
||||||
|
mkdir -p ${RPM_BUILD_ROOT}/usr/lib/%{name}-server
|
||||||
|
install -m 0755 etc/slpd.all_init ${RPM_BUILD_ROOT}/usr/lib/%{name}-server/slp-multicast-set.sh
|
||||||
|
|
||||||
|
# install service file
|
||||||
|
mkdir -p ${RPM_BUILD_ROOT}/%{_unitdir}
|
||||||
|
install -p -m 644 %{SOURCE4} ${RPM_BUILD_ROOT}/%{_unitdir}/slpd.service
|
||||||
|
|
||||||
|
# install man page
|
||||||
|
mkdir -p ${RPM_BUILD_ROOT}/%{_mandir}/man8/
|
||||||
|
mkdir -p ${RPM_BUILD_ROOT}/%{_mandir}/man1/
|
||||||
|
cp %SOURCE2 ${RPM_BUILD_ROOT}/%{_mandir}/man8/
|
||||||
|
cp %SOURCE3 ${RPM_BUILD_ROOT}/%{_mandir}/man1/
|
||||||
|
|
||||||
# nuke unpackaged/unwanted files
|
# nuke unpackaged/unwanted files
|
||||||
rm -rf $RPM_BUILD_ROOT/usr/doc
|
rm -rf $RPM_BUILD_ROOT/usr/doc
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.la
|
rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.la
|
||||||
@ -104,20 +128,13 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%postun -p /sbin/ldconfig
|
%postun -p /sbin/ldconfig
|
||||||
|
|
||||||
%post server
|
%post server
|
||||||
/sbin/chkconfig --add slpd
|
%systemd_post slpd.service
|
||||||
|
|
||||||
%preun server
|
%preun server
|
||||||
# on remove
|
%systemd_preun slpd.service
|
||||||
if [ $1 -eq 0 ]; then
|
|
||||||
/sbin/service slpd stop >/dev/null 2>&1 ||:
|
|
||||||
/sbin/chkconfig --del slpd
|
|
||||||
fi
|
|
||||||
|
|
||||||
%postun server
|
%postun server
|
||||||
# on upgrade
|
%systemd_postun_with_restart slpd.service
|
||||||
if [ $1 -gt 0 ]; then
|
|
||||||
/sbin/service slpd condrestart >/dev/null 2>&1 ||:
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
@ -126,26 +143,38 @@ fi
|
|||||||
%config(noreplace) %{_sysconfdir}/slp.conf
|
%config(noreplace) %{_sysconfdir}/slp.conf
|
||||||
%{_bindir}/slptool
|
%{_bindir}/slptool
|
||||||
%{_libdir}/libslp.so.1*
|
%{_libdir}/libslp.so.1*
|
||||||
|
%{_mandir}/man1/*
|
||||||
|
|
||||||
%files server
|
%files server
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%doc doc/html/IntroductionToSLP
|
%doc doc/doc/html/IntroductionToSLP
|
||||||
%doc doc/html/UsersGuide
|
%doc doc/doc/html/UsersGuide
|
||||||
%doc doc/html/faq*
|
%doc doc/doc/html/faq*
|
||||||
%{_sbindir}/slpd
|
%{_sbindir}/slpd
|
||||||
%config(noreplace) %{_sysconfdir}/slp.reg
|
%config(noreplace) %{_sysconfdir}/slp.reg
|
||||||
%config(noreplace) %{_sysconfdir}/slp.spi
|
%config(noreplace) %{_sysconfdir}/slp.spi
|
||||||
%config(noreplace) %{_initrddir}/slpd
|
%config(noreplace) %{_initrddir}/slpd
|
||||||
|
%{_unitdir}/slpd.service
|
||||||
|
%{_mandir}/man8/*
|
||||||
|
/usr/lib/%{name}-server/slp-multicast-set.sh
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%doc doc/html/ProgrammersGuide
|
%doc doc/doc/html/ProgrammersGuide
|
||||||
%doc doc/rfc
|
%doc doc/doc/rfc
|
||||||
%{_includedir}/slp.h
|
%{_includedir}/slp.h
|
||||||
%{_libdir}/libslp.so
|
%{_libdir}/libslp.so
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Oct 01 2013 Vitezslav Crhonek <vcrhonek@redhat.com> - 2.0.0-1
|
||||||
|
- Update to openslp-2.0.0
|
||||||
|
- Fix bogus dates in %%changelog
|
||||||
|
- Add systemd support
|
||||||
|
- Add man pages for slptool and slpd
|
||||||
|
- Add CFLAGS and LDFLAGS for full relro
|
||||||
|
- Build with -fno-strict-aliasing
|
||||||
|
|
||||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.1-20
|
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.1-20
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||||
|
|
||||||
@ -216,7 +245,7 @@ fi
|
|||||||
* Sun May 22 2005 Jeremy Katz <katzj@redhat.com> - 1.2.0
|
* Sun May 22 2005 Jeremy Katz <katzj@redhat.com> - 1.2.0
|
||||||
- rebuild on all arches
|
- rebuild on all arches
|
||||||
|
|
||||||
* Fri Apr 7 2005 Michael Schwendt <mschwendt[AT]users.sf.net>
|
* Thu Apr 7 2005 Michael Schwendt <mschwendt[AT]users.sf.net>
|
||||||
- rebuilt
|
- rebuilt
|
||||||
|
|
||||||
* Mon Jul 19 2004 Rex Dieter <rexdieter at sf.net> 0:1.2.0-0.fdr.4
|
* Mon Jul 19 2004 Rex Dieter <rexdieter at sf.net> 0:1.2.0-0.fdr.4
|
||||||
@ -246,7 +275,7 @@ fi
|
|||||||
* Fri May 16 2003 Rex Dieter <rexdieter at sf.net> 0:1.0.11-0.fdr.5
|
* Fri May 16 2003 Rex Dieter <rexdieter at sf.net> 0:1.0.11-0.fdr.5
|
||||||
- -server: fix %postun on uninstall
|
- -server: fix %postun on uninstall
|
||||||
|
|
||||||
* Thu May 2 2003 Rex Dieter <rexdieter at sf.net> 0:1.0.11-0.fdr.4
|
* Fri May 2 2003 Rex Dieter <rexdieter at sf.net> 0:1.0.11-0.fdr.4
|
||||||
- *really* do %%config(noreplace) slp.conf
|
- *really* do %%config(noreplace) slp.conf
|
||||||
|
|
||||||
* Thu May 1 2003 Rex Dieter <rexdieter at sf.net> 0:1.0.11-0.fdr.3
|
* Thu May 1 2003 Rex Dieter <rexdieter at sf.net> 0:1.0.11-0.fdr.3
|
||||||
|
11
slpd.service
Normal file
11
slpd.service
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=OpenSLP daemon for the Service Location Protocol
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=forking
|
||||||
|
ExecStart=/usr/sbin/slpd
|
||||||
|
ExecStartPre=/usr/lib/openslp-server/slp-multicast-set.sh
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
BIN
slptool.1.gz
Normal file
BIN
slptool.1.gz
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user