diff --git a/openslp.changes b/openslp.changes index 1c91def..7778b8a 100644 --- a/openslp.changes +++ b/openslp.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Mar 1 16:59:01 CET 2018 - mls@suse.de + +- Use %license (boo#1082318) +- fix slpd using the peer address as local address for TCP + connections [bnc#1076035] + new patch: openslp.localaddr.diff +- use tcp connections for unicast requests [bnc#1080964] + new patch: openslp.tcpunicast.diff + ------------------------------------------------------------------- Wed Nov 29 17:25:48 CET 2017 - ro@suse.de diff --git a/openslp.localaddr.diff b/openslp.localaddr.diff new file mode 100644 index 0000000..d1e0bfe --- /dev/null +++ b/openslp.localaddr.diff @@ -0,0 +1,11 @@ +--- ./slpd/slpd_incoming.c.orig 2018-03-01 15:55:45.008171255 +0000 ++++ ./slpd/slpd_incoming.c 2018-03-01 15:56:23.183054003 +0000 +@@ -354,7 +354,7 @@ static void IncomingSocketListen(SLPList + connsock->fd = fd; + memcpy(&connsock->peeraddr, &peeraddr, + sizeof(struct sockaddr_storage)); +- memcpy(&connsock->localaddr, &peeraddr, ++ memcpy(&connsock->localaddr, &sock->localaddr, + sizeof(struct sockaddr_storage)); + connsock->state = STREAM_READ_FIRST; + #ifndef _WIN32 diff --git a/openslp.spec b/openslp.spec index 2c73d40..f95856b 100644 --- a/openslp.spec +++ b/openslp.spec @@ -1,7 +1,7 @@ # # spec file for package openslp # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -64,6 +64,8 @@ Patch15: openslp.noconvenience.diff Patch16: openslp.xrealloc.diff Patch17: openslp.foldws.diff Patch18: openslp.openssl-1.1.diff +Patch19: openslp.localaddr.diff +Patch20: openslp.tcpunicast.diff %description Service Location Protocol is an IETF standards track protocol that @@ -134,6 +136,8 @@ such applications. %patch16 %patch17 %patch18 -p2 +%patch19 +%patch20 %build autoreconf -fiv @@ -158,7 +162,7 @@ mkdir -p ${RPM_BUILD_ROOT}/usr/include cp libslp/slp.h ${RPM_BUILD_ROOT}/usr/include mkdir -p ${RPM_BUILD_ROOT}%_defaultdocdir/%name find . -name CVS -o -name .cvsignore -o -name .xvpics | xargs rm -rf -cp -a AUTHORS COPYING README FAQ doc/doc/rfc doc/doc/html %SOURCE2 \ +cp -a AUTHORS README FAQ doc/doc/rfc doc/doc/html %SOURCE2 \ ${RPM_BUILD_ROOT}%_defaultdocdir/%name %if 0%{?has_systemd} ln -s %{_sbindir}/service ${RPM_BUILD_ROOT}/usr/sbin/rcslpd @@ -237,10 +241,10 @@ install -D -m 644 %{S:9} %{buildroot}%{_unitdir}/slpd.service %files %defattr(-,root,root) +%license COPYING %dir %_defaultdocdir/%name %dir %_defaultdocdir/%name/html %doc %_defaultdocdir/%name/AUTHORS -%doc %_defaultdocdir/%name/COPYING %doc %_defaultdocdir/%name/README %doc %_defaultdocdir/%name/README.SUSE %_libdir/libslp.so.* diff --git a/openslp.tcpunicast.diff b/openslp.tcpunicast.diff new file mode 100644 index 0000000..29c8b89 --- /dev/null +++ b/openslp.tcpunicast.diff @@ -0,0 +1,16 @@ +--- libslp/libslp_network.c.orig 2018-03-01 16:08:38.813669170 +0000 ++++ libslp/libslp_network.c 2018-03-05 15:59:56.140618236 +0000 +@@ -1426,7 +1426,12 @@ SLPError NetworkUcastRqstRply(SLPHandleI + /*In reality, this function just sets things up for NetworkRqstRply to operate*/ + + if(handle->unicastsock == SLP_INVALID_SOCKET) /*The unicast code will certainly reuse this socket*/ +- handle->unicastsock = SLPNetworkCreateDatagram(handle->ucaddr.ss_family); ++ { ++ maxwait = SLPPropertyAsInteger("net.slp.unicastMaximumWait"); ++ timeout.tv_sec = maxwait / 1000; ++ timeout.tv_usec = (maxwait % 1000) * 1000; ++ handle->unicastsock = SLPNetworkConnectStream(&handle->ucaddr, &timeout); ++ } + + if (handle->unicastsock == SLP_INVALID_SOCKET) + return SLP_NETWORK_ERROR;