rtsol under Leopard

Date

Sun Oct 26

Author

Martijn

Leopard’s rtsol clients seems broken. Thanks to Wiedi, I managed to create this patch:

diff -ru network_cmds-307/rtsol.tproj/Makefile network_cmds-new/rtsol.tproj/Makefile --- network_cmds-307/rtsol.tproj/Makefile    2007-10-11 01:29:28.000000000 +0200 +++ network_cmds-new/rtsol.tproj/Makefile    2008-08-30 17:56:38.000000000 +0200 @@ -1,19 +1,15 @@ -Project = rtsol -Install_Dir = /sbin +CC=gcc +MAKE=make +SRCS=rtsold.c rtsol.c if.c probe.c dump.c rtsock.c +OBJS=$(SRCS:.c=.o) +OTHERFLAGS=-mdynamic-no-pic -dead_strip -DINET6 -DHAVE_GETIFADDRS -I/Developer/SDKs/MacOSX10.5.sdk/usr/include +Q= +all: $(OBJS) rtsold.h +    $(Q)$(CC) -o rtsol $(OTHERFLAGS) $(OBJS) +.c.o: +    @echo Compiling $< +    $(Q)$(CC) $(OTHERFLAGS) -c $< +clean: +    rm -f rtsol *.o *.bak *~

-CFILES = rtsold.c rtsol.c if.c probe.c dump.c rtsock.c -HFILES = rtsold.h -MANPAGES = rtsol.8

-Extra_CC_Flags = -mdynamic-no-pic -dead_strip -    -DINET6 -DHAVE_GETIFADDRS -    -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders -Extra_LD_Flags = -lipsec - -include $(MAKEFILEPATH)/CoreOS/ReleaseControl/BSDCommon.make - -after_install: -    $(INSTALL_DIRECTORY) ”$(DSTROOT)“/usr/sbin -    $(LN) -f ”$(DSTROOT)“/sbin/rtsol ”$(DSTROOT)“/usr/sbin/rtsold -    $(LN) -f ”$(DSTROOT)“/usr/share/man/man8/rtsol.8 -         ”$(DSTROOT)“/usr/share/man/man8/rtsold.8 diff -ru network_cmds-307/rtsol.tproj/probe.c network_cmds-new/rtsol.tproj/probe.c --- network_cmds-307/rtsol.tproj/probe.c    2006-02-07 07:23:04.000000000 +0100 +++ network_cmds-new/rtsol.tproj/probe.c    2008-08-30 18:01:41.000000000 +0200 @@ -85,7 +85,7 @@ /* make the socket send-only */ if (shutdown(probesock, 0)) { warnmsg(LOG_ERR, __FUNCTION__, “shutdown: %s”, strerror(errno)); -        return(-1); +        /* return(-1); */ }

/* initialize msghdr for sending packets */ diff -ru network_cmds-307/rtsol.tproj/rtsol.c network_cmds-new/rtsol.tproj/rtsol.c --- network_cmds-307/rtsol.tproj/rtsol.c    2006-02-07 07:23:04.000000000 +0100 +++ network_cmds-new/rtsol.tproj/rtsol.c    2008-08-30 18:02:15.000000000 +0200 @@ -43,7 +43,7 @@

#include <netinet/in.h> #include <netinet/ip6.h> -#include <netinet6/ip6_var.h> +#include <netinet6/in6_var.h> #include <netinet/icmp6.h>

#include <arpa/inet.h>

Use it like this:

# tar xzvf network_cmds-307.tar.gz # cd network_cmds-307 # patch -p1 < rtsol.patch # cd rtsol.tproj # make # mv /sbin/rtsol /sbin/rtsol.old && mv rtsol /sbin/