update tcplocal.diff
OBS-URL: https://build.opensuse.org/package/show/network:utilities/openslp?expand=0&rev=30
This commit is contained in:
parent
baaef7deb9
commit
d81a655266
@ -1,5 +1,75 @@
|
||||
--- ./libslp/libslp_network.c.orig 2014-02-19 15:35:26.360950576 +0000
|
||||
+++ ./libslp/libslp_network.c 2014-02-19 15:42:20.062949844 +0000
|
||||
--- ./libslp/libslp_findattrs.c.orig 2014-02-20 10:41:46.070828839 +0000
|
||||
+++ ./libslp/libslp_findattrs.c 2014-02-20 10:42:44.604828735 +0000
|
||||
@@ -220,7 +220,7 @@ static SLPError ProcessAttrRqst(SLPHandl
|
||||
curpos - buf, ProcessAttrRplyCallback, handle, isV1);
|
||||
break;
|
||||
}
|
||||
- if (SLPNetIsIPV4())
|
||||
+ if (SLPNetIsIPV4() && handle->params.findattrs.scopelistlen && memchr(handle->params.findattrs.scopelist, ',', handle->params.findattrs.scopelistlen))
|
||||
{
|
||||
if (KnownDASpanningListFromCache(handle,
|
||||
(int)handle->params.findattrs.scopelistlen,
|
||||
--- ./libslp/libslp_findsrvs.c.orig 2014-02-20 10:41:51.558828829 +0000
|
||||
+++ ./libslp/libslp_findsrvs.c 2014-02-20 10:43:06.068828697 +0000
|
||||
@@ -352,7 +352,7 @@ static SLPError ProcessSrvRqst(SLPHandle
|
||||
curpos - buf, ProcessSrvRplyCallback, handle, false);
|
||||
break;
|
||||
}
|
||||
- if (SLPNetIsIPV4())
|
||||
+ if (SLPNetIsIPV4() && handle->params.findsrvs.scopelistlen && memchr(handle->params.findsrvs.scopelist, ',', handle->params.findsrvs.scopelistlen))
|
||||
{
|
||||
if (KnownDASpanningListFromCache(handle,
|
||||
(int)handle->params.findsrvs.scopelistlen,
|
||||
--- ./libslp/libslp_findsrvtypes.c.orig 2014-02-20 10:41:55.765828821 +0000
|
||||
+++ ./libslp/libslp_findsrvtypes.c 2014-02-20 10:44:10.708828583 +0000
|
||||
@@ -238,11 +238,11 @@ static SLPError ProcessSrvTypeRqst(SLPHa
|
||||
curpos - buf, ProcessSrvTypeRplyCallback, handle, false);
|
||||
break;
|
||||
}
|
||||
- if (SLPNetIsIPV4())
|
||||
+ if (SLPNetIsIPV4() && handle->params.findsrvtypes.scopelistlen && memchr(handle->params.findsrvtypes.scopelist, ',', handle->params.findsrvtypes.scopelistlen))
|
||||
{
|
||||
if (KnownDASpanningListFromCache(handle,
|
||||
- (int)handle->params.findsrvs.scopelistlen,
|
||||
- handle->params.findsrvs.scopelist,
|
||||
+ (int)handle->params.findsrvtypes.scopelistlen,
|
||||
+ handle->params.findsrvtypes.scopelist,
|
||||
&destaddrs) > 0)
|
||||
{
|
||||
serr = NetworkMultiUcastRqstRply(destaddrs,
|
||||
--- ./libslp/libslp_knownda.c.orig 2012-12-12 17:38:52.000000000 +0000
|
||||
+++ ./libslp/libslp_knownda.c 2014-02-20 10:40:19.448828992 +0000
|
||||
@@ -793,6 +793,8 @@ sockfd_t KnownDAConnect(SLPHandleInfo *
|
||||
const char * scopelist, void * peeraddr)
|
||||
{
|
||||
sockfd_t sock = SLP_INVALID_SOCKET;
|
||||
+ int maxwait = SLPPropertyAsInteger("net.slp.DADiscoveryMaximumWait");
|
||||
+ struct timeval timeout;
|
||||
size_t spistrlen = 0;
|
||||
char * spistr = 0;
|
||||
|
||||
@@ -815,15 +817,11 @@ sockfd_t KnownDAConnect(SLPHandleInfo *
|
||||
|| (addr->sa_family == AF_INET && SLPNetIsIPV4()))
|
||||
{
|
||||
SLPNetSetPort(peeraddr, (uint16_t)SLPPropertyAsInteger("net.slp.port"));
|
||||
- sock = SLPNetworkCreateDatagram(addr->sa_family);
|
||||
- /* Now test if the DA will actually respond */
|
||||
+ timeout.tv_usec = (maxwait % 1000) * 1000;
|
||||
+ timeout.tv_sec = maxwait / 1000;
|
||||
+ sock = SLPNetworkConnectStream(addr, &timeout);
|
||||
if (sock != SLP_INVALID_SOCKET)
|
||||
- {
|
||||
- if (KnownDADiscoveryRqstRply(sock, peeraddr, scopelistlen, scopelist, handle) > 0)
|
||||
- break;
|
||||
-
|
||||
- closesocket(sock);
|
||||
- }
|
||||
+ break;
|
||||
}
|
||||
KnownDABadDA(peeraddr);
|
||||
}
|
||||
--- ./libslp/libslp_network.c.orig 2014-02-20 10:40:15.262828999 +0000
|
||||
+++ ./libslp/libslp_network.c 2014-02-20 10:40:19.449828992 +0000
|
||||
@@ -370,6 +370,8 @@ static int NetworkGetMcastAddrs(const ch
|
||||
sockfd_t NetworkConnectToSlpd(void * peeraddr)
|
||||
{
|
||||
@ -9,18 +79,15 @@
|
||||
|
||||
/*Note that these don't actually test the connection to slpd.
|
||||
They don't have to, since all code that calls this function eventually
|
||||
@@ -378,14 +380,30 @@ sockfd_t NetworkConnectToSlpd(void * pee
|
||||
@@ -378,14 +380,22 @@ sockfd_t NetworkConnectToSlpd(void * pee
|
||||
if (SLPNetIsIPV6())
|
||||
if (!SLPNetSetAddr(peeraddr, AF_INET6, (uint16_t)SLPPropertyAsInteger("net.slp.port"),
|
||||
&slp_in6addr_loopback))
|
||||
- sock = SLPNetworkCreateDatagram(AF_INET6);
|
||||
+ {
|
||||
+#if 0
|
||||
sock = SLPNetworkCreateDatagram(AF_INET6);
|
||||
+#else
|
||||
+ timeout.tv_sec = maxwait / 1000;
|
||||
+ timeout.tv_usec = (maxwait % 1000) * 1000;
|
||||
+ sock = SLPNetworkConnectStream(peeraddr, &timeout);
|
||||
+#endif
|
||||
+ }
|
||||
|
||||
if (sock == SLP_INVALID_SOCKET && SLPNetIsIPV4())
|
||||
@ -28,14 +95,11 @@
|
||||
int tempAddr = INADDR_LOOPBACK;
|
||||
if (SLPNetSetAddr(peeraddr, AF_INET,
|
||||
(uint16_t)SLPPropertyAsInteger("net.slp.port"), &tempAddr) == 0)
|
||||
- sock = SLPNetworkCreateDatagram(AF_INET);
|
||||
+ {
|
||||
+#if 0
|
||||
sock = SLPNetworkCreateDatagram(AF_INET);
|
||||
+#else
|
||||
+ timeout.tv_sec = maxwait / 1000;
|
||||
+ timeout.tv_usec = (maxwait % 1000) * 1000;
|
||||
+ sock = SLPNetworkConnectStream(peeraddr, &timeout);
|
||||
+#endif
|
||||
+ }
|
||||
}
|
||||
return sock;
|
||||
|
Loading…
x
Reference in New Issue
Block a user