<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Lostdomain.org &#187; ipv6</title>
	<atom:link href="http://lostdomain.org/category/ipv6/feed/" rel="self" type="application/rss+xml" />
	<link>http://lostdomain.org</link>
	<description>To find yourself, think for yourself</description>
	<lastBuildDate>Sun, 15 Jan 2012 18:41:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>PHP4 IPv6 validation</title>
		<link>http://lostdomain.org/2009/05/04/php4-ipv6-validation/</link>
		<comments>http://lostdomain.org/2009/05/04/php4-ipv6-validation/#comments</comments>
		<pubDate>Mon, 04 May 2009 12:17:11 +0000</pubDate>
		<dc:creator>Martijn</dc:creator>
				<category><![CDATA[ipv6]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://lostdomain.org/?p=80</guid>
		<description><![CDATA[Incase you don&#8217;t have the luxury of PHP5&#8242;s filter_ functions, this is a handy regexp: function validate_ipv6($ip) { $hex = &#8216;[A-Fa-f0-9]&#8216;; $h16 = &#8220;{$hex}{1,4}&#8221;; $dec_octet = &#8216;(?:25[0-5]&#124;2[0-4]d&#124;1dd&#124;[1-9]d&#124;[0-9])&#8217;; $ipv4 = &#8220;$dec_octet.$dec_octet.$dec_octet.$dec_octet&#8221;; $ls32 = &#8220;(?:$h16:$h16&#124;$ipv4)&#8221;; $ipv6 = &#8220;(?:(?:{$IPv4address})&#124;(?:&#8221;. &#8220;(?:$h16:){6}$ls32&#8243; . &#8220;&#124;::(?:$h16:){5}$ls32&#8243; . &#8220;&#124;(?:$h16)?::(?:$h16:){4}$ls32&#8243; . &#8220;&#124;(?:(?:$h16:){0,1}$h16)?::(?:$h16:){3}$ls32&#8243; . &#8220;&#124;(?:(?:$h16:){0,2}$h16)?::(?:$h16:){2}$ls32&#8243; . &#8220;&#124;(?:(?:$h16:){0,3}$h16)?::(?:$h16:){1}$ls32&#8243; . &#8220;&#124;(?:(?:$h16:){0,4}$h16)?::$ls32&#8243; . &#8220;&#124;(?:(?:$h16:){0,5}$h16)?::$h16&#8243; . &#8220;&#124;(?:(?:$h16:){0,6}$h16)?::&#8221; . &#8220;)(?:/(?:12[0-8]&#124;1[0-1][0-9]&#124;[1-9][0-9]&#124;[0-9]))?)&#8221;; [...]<div class="addthis_toolbox addthis_default_style" addthis:url='http://lostdomain.org/2009/05/04/php4-ipv6-validation/' addthis:title='PHP4 IPv6 validation' ><a class="addthis_button_twitter"></a><a class="addthis_button_facebook like"></a><a class="addthis_button_google"></a><a class="addthis_button_email"></a><a class="addthis_button_preferred_1"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[Incase you don&#8217;t have the luxury of PHP5&#8242;s filter_ functions, this is a handy regexp:


<blockquote>function validate_ipv6($ip)
{
	$hex		= &#8216;[A-Fa-f0-9]&#8216;;
	$h16		= &#8220;{$hex}{1,4}&#8221;;
	$dec_octet	= &#8216;(?:25[0-5]|2[0-4]d|1dd|[1-9]d|[0-9])&#8217;;
	$ipv4		= &#8220;$dec_octet.$dec_octet.$dec_octet.$dec_octet&#8221;;
	$ls32		= &#8220;(?:$h16:$h16|$ipv4)&#8221;;
	$ipv6		= &#8220;(?:(?:{$IPv4address})|(?:&#8221;.
				&#8220;(?:$h16:){6}$ls32&#8243; .
				&#8220;|::(?:$h16:){5}$ls32&#8243; .
				&#8220;|(?:$h16)?::(?:$h16:){4}$ls32&#8243; .
				&#8220;|(?:(?:$h16:){0,1}$h16)?::(?:$h16:){3}$ls32&#8243; .
				&#8220;|(?:(?:$h16:){0,2}$h16)?::(?:$h16:){2}$ls32&#8243; .
				&#8220;|(?:(?:$h16:){0,3}$h16)?::(?:$h16:){1}$ls32&#8243; .
				&#8220;|(?:(?:$h16:){0,4}$h16)?::$ls32&#8243; .
				&#8220;|(?:(?:$h16:){0,5}$h16)?::$h16&#8243; .
				&#8220;|(?:(?:$h16:){0,6}$h16)?::&#8221; .
				&#8220;)(?:/(?:12[0-8]|1[0-1][0-9]|[1-9][0-9]|[0-9]))?)&#8221;;

	$regex = &#8220;/^$ipv6$/&#8221;;
	return preg_match($regex, $ip);
}</blockquote>

<div class="addthis_toolbox addthis_default_style" addthis:url='http://lostdomain.org/2009/05/04/php4-ipv6-validation/' addthis:title='PHP4 IPv6 validation' ><a class="addthis_button_twitter"></a><a class="addthis_button_facebook like"></a><a class="addthis_button_google"></a><a class="addthis_button_email"></a><a class="addthis_button_preferred_1"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://lostdomain.org/2009/05/04/php4-ipv6-validation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>rtsol under Leopard</title>
		<link>http://lostdomain.org/2008/10/26/rtsol-under-leopard/</link>
		<comments>http://lostdomain.org/2008/10/26/rtsol-under-leopard/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 14:13:14 +0000</pubDate>
		<dc:creator>Martijn</dc:creator>
				<category><![CDATA[ipv6]]></category>
		<category><![CDATA[leopard]]></category>
		<category><![CDATA[osx]]></category>

		<guid isPermaLink="false">http://new.lostdomain.org/?p=3</guid>
		<description><![CDATA[Leopard&#8217;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 &#8212; 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) [...]<div class="addthis_toolbox addthis_default_style" addthis:url='http://lostdomain.org/2008/10/26/rtsol-under-leopard/' addthis:title='rtsol under Leopard' ><a class="addthis_button_twitter"></a><a class="addthis_button_facebook like"></a><a class="addthis_button_google"></a><a class="addthis_button_email"></a><a class="addthis_button_preferred_1"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[Leopard&#8217;s rtsol clients seems <a title="broken" href="http://wiedi.frubar.net/blog/2008/06/01/ipv6-mit-openvpn-unter-leopard/" target="_blank">broken</a>. Thanks to Wiedi, I managed to create this patch:

<span id="more-3"></span>
<blockquote>diff -ru network_cmds-307/rtsol.tproj/Makefile network_cmds-new/rtsol.tproj/Makefile
&#8212; 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 $&lt;
+    $(Q)$(CC) $(OTHERFLAGS) -c $&lt;
+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) &#8220;$(DSTROOT)&#8221;/usr/sbin
-    $(LN) -f &#8220;$(DSTROOT)&#8221;/sbin/rtsol &#8220;$(DSTROOT)&#8221;/usr/sbin/rtsold
-    $(LN) -f &#8220;$(DSTROOT)&#8221;/usr/share/man/man8/rtsol.8
-         &#8221;$(DSTROOT)&#8221;/usr/share/man/man8/rtsold.8
diff -ru network_cmds-307/rtsol.tproj/probe.c network_cmds-new/rtsol.tproj/probe.c
&#8212; 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__, &#8220;shutdown: %s&#8221;, 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
&#8212; 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 &lt;netinet/in.h&gt;
#include &lt;netinet/ip6.h&gt;
-#include &lt;netinet6/ip6_var.h&gt;
+#include &lt;netinet6/in6_var.h&gt;
#include &lt;netinet/icmp6.h&gt;

#include &lt;arpa/inet.h&gt;</blockquote>
Use it like this:

# tar xzvf network_cmds-307.tar.gz
# cd network_cmds-307
# patch -p1 &lt; rtsol.patch
# cd rtsol.tproj
# make
# mv /sbin/rtsol /sbin/rtsol.old &amp;&amp; mv rtsol /sbin/<div class="addthis_toolbox addthis_default_style" addthis:url='http://lostdomain.org/2008/10/26/rtsol-under-leopard/' addthis:title='rtsol under Leopard' ><a class="addthis_button_twitter"></a><a class="addthis_button_facebook like"></a><a class="addthis_button_google"></a><a class="addthis_button_email"></a><a class="addthis_button_preferred_1"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://lostdomain.org/2008/10/26/rtsol-under-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

