137 lines
5.2 KiB
Diff
137 lines
5.2 KiB
Diff
--- ./common/slp_iface.c.orig 2006-09-12 13:17:00.000000000 +0000
|
|
+++ ./common/slp_iface.c 2006-09-12 13:17:08.000000000 +0000
|
|
@@ -128,6 +128,7 @@ int SLPIfaceGetInfo(const char* useiface
|
|
#endif
|
|
{
|
|
perror("ioctl failed");
|
|
+ close(fd);
|
|
return 1;
|
|
}
|
|
|
|
@@ -183,6 +184,7 @@ int SLPIfaceGetInfo(const char* useiface
|
|
}
|
|
}
|
|
|
|
+ close(fd);
|
|
return 0;
|
|
}
|
|
#else
|
|
--- ./common/slp_net.c.orig 2006-09-12 13:17:00.000000000 +0000
|
|
+++ ./common/slp_net.c 2006-09-12 13:17:08.000000000 +0000
|
|
@@ -92,7 +92,7 @@ int SLPNetGetThisHostname(char** hostfdn
|
|
}
|
|
else
|
|
{
|
|
- ifaddr.s_addr = *((unsigned long*)he->h_addr);
|
|
+ ifaddr = *((struct in_addr *)he->h_addr);
|
|
*hostfdn = xstrdup(inet_ntoa(ifaddr));
|
|
}
|
|
|
|
--- ./common/slp_spi.c.orig 2006-09-12 13:17:00.000000000 +0000
|
|
+++ ./common/slp_spi.c 2006-09-12 13:17:08.000000000 +0000
|
|
@@ -267,9 +267,9 @@ SLPSpiHandle SLPSpiOpen(const char* spif
|
|
fp = fopen(spifile,"r");
|
|
if(fp)
|
|
{
|
|
- result = xmalloc(sizeof(structSLPSpiHandle));
|
|
+ result = xmalloc(sizeof(struct _SLPSpiHandle));
|
|
if(result == 0) return 0;
|
|
- memset(result, 0, sizeof(structSLPSpiHandle));
|
|
+ memset(result, 0, sizeof(struct _SLPSpiHandle));
|
|
|
|
result->spifile = xstrdup(spifile);
|
|
result->cacheprivate = cacheprivate;
|
|
--- ./configure.in.orig 2006-09-12 13:17:00.000000000 +0000
|
|
+++ ./configure.in 2006-09-12 13:17:08.000000000 +0000
|
|
@@ -171,5 +171,12 @@ AC_CHECK_LIB(socket, main)
|
|
AC_CHECK_LIB(nsl, gethostbyname)
|
|
AC_CHECK_LIB(m, main)
|
|
AC_CHECK_FUNCS(ceil log10 strncasecmp strcasecmp )
|
|
-AC_OUTPUT(Makefile common/Makefile libslpattr/Makefile libslp/Makefile \
|
|
- slpd/Makefile slptool/Makefile test/Makefile slp.list)
|
|
+AC_CONFIG_FILES([ Makefile ])
|
|
+AC_CONFIG_FILES([ common/Makefile ])
|
|
+AC_CONFIG_FILES([ libslpattr/Makefile ])
|
|
+AC_CONFIG_FILES([ libslp/Makefile ])
|
|
+AC_CONFIG_FILES([ slpd/Makefile ])
|
|
+AC_CONFIG_FILES([ slptool/Makefile ])
|
|
+AC_CONFIG_FILES([ test/Makefile ])
|
|
+AC_CONFIG_FILES([ slp.list ])
|
|
+AC_OUTPUT
|
|
--- ./etc/slp.reg.orig 2006-09-12 13:17:00.000000000 +0000
|
|
+++ ./etc/slp.reg 2006-09-12 13:17:08.000000000 +0000
|
|
@@ -37,3 +37,10 @@
|
|
##Register telnet service with no attributes
|
|
#service:telnet.myorg://192.168.100.1,en,65535
|
|
#use default scopes
|
|
+
|
|
+##Register vnc kdm service, can be used via krdc
|
|
+#service:remotedesktop.kde:vnc://192.168.100.1:1,en,65535
|
|
+#attrid=(type=shared),(username=joe),(fullname=Joe User),(serviceid=1235456)
|
|
+#description=KDE remote login
|
|
+
|
|
+
|
|
--- ./slpd/slpd_incoming.c.orig 2006-09-12 13:17:00.000000000 +0000
|
|
+++ ./slpd/slpd_incoming.c 2006-09-12 13:19:18.000000000 +0000
|
|
@@ -137,11 +137,11 @@ void IncomingStreamWrite(SLPList* sockli
|
|
sock->state = STREAM_WRITE;
|
|
}
|
|
|
|
- if (sock->sendbuf->end - sock->sendbuf->start != 0)
|
|
+ if (sock->sendbuf->end - sock->sendbuf->curpos != 0)
|
|
{
|
|
byteswritten = send(sock->fd,
|
|
sock->sendbuf->curpos,
|
|
- sock->sendbuf->end - sock->sendbuf->start,
|
|
+ sock->sendbuf->end - sock->sendbuf->curpos,
|
|
flags);
|
|
if (byteswritten > 0)
|
|
{
|
|
@@ -157,9 +157,9 @@ void IncomingStreamWrite(SLPList* sockli
|
|
else
|
|
{
|
|
#ifdef _WIN32
|
|
- if (WSAEWOULDBLOCK == WSAGetLastError())
|
|
+ if (WSAEWOULDBLOCK != WSAGetLastError())
|
|
#else
|
|
- if (errno == EWOULDBLOCK)
|
|
+ if (errno != EWOULDBLOCK)
|
|
#endif
|
|
{
|
|
/* Error occured or connection was closed */
|
|
@@ -516,6 +516,7 @@ int SLPDIncomingInit()
|
|
/* Create socket that will handle multicast UDP. */
|
|
/*----------------------------------------------------------------*/
|
|
|
|
+ mcastaddr.s_addr = htonl(SLP_MCAST_ADDRESS);
|
|
sock = SLPDSocketCreateBoundDatagram(&myaddr,
|
|
&mcastaddr,
|
|
DATAGRAM_MULTICAST);
|
|
--- ./slpd/slpd_outgoing.c.orig 2002-12-03 21:04:54.000000000 +0000
|
|
+++ ./slpd/slpd_outgoing.c 2006-09-12 13:19:47.000000000 +0000
|
|
@@ -328,11 +328,11 @@ void OutgoingStreamWrite(SLPList* sockli
|
|
sock->state = STREAM_WRITE;
|
|
}
|
|
|
|
- if ( sock->sendbuf->end - sock->sendbuf->start > 0 )
|
|
+ if ( sock->sendbuf->end - sock->sendbuf->curpos > 0 )
|
|
{
|
|
byteswritten = send(sock->fd,
|
|
sock->sendbuf->curpos,
|
|
- sock->sendbuf->end - sock->sendbuf->start,
|
|
+ sock->sendbuf->end - sock->sendbuf->curpos,
|
|
flags);
|
|
if ( byteswritten > 0 )
|
|
{
|
|
--- ./slpd/slpd_socket.c.orig 2006-09-12 13:17:00.000000000 +0000
|
|
+++ ./slpd/slpd_socket.c 2006-09-12 13:17:08.000000000 +0000
|
|
@@ -183,7 +183,7 @@ int DropSLPMulticastGroup(sockfd_t sockf
|
|
memcpy(&mreq.imr_multiaddr, maddr, sizeof(struct in_addr));
|
|
|
|
/* drop for the specified interface */
|
|
- memcpy(&mreq.imr_interface,addr,sizeof(addr));
|
|
+ memcpy(&mreq.imr_interface,addr,sizeof(struct in_addr));
|
|
|
|
return setsockopt(sockfd, IPPROTO_IP, IP_DROP_MEMBERSHIP, (char*)&mreq,sizeof(mreq));
|
|
}
|