<?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>Sat, 06 Mar 2010 02:24:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<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&#8217;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;;
	$regex = &#8220;/^$ipv6$/&#8221;;
	return preg_match($regex, $ip);
}
]]></description>
			<content:encoded><![CDATA[<p>Incase you don&#8217;t have the luxury of PHP5&#8217;s filter_ functions, this is a handy regexp:</p>
<blockquote><p>function validate_ipv6($ip)<br />
{<br />
	$hex		= &#8216;[A-Fa-f0-9]&#8216;;<br />
	$h16		= &#8220;{$hex}{1,4}&#8221;;<br />
	$dec_octet	= &#8216;(?:25[0-5]|2[0-4]d|1dd|[1-9]d|[0-9])&#8217;;<br />
	$ipv4		= &#8220;$dec_octet\.$dec_octet\.$dec_octet\.$dec_octet&#8221;;<br />
	$ls32		= &#8220;(?:$h16:$h16|$ipv4)&#8221;;<br />
	$ipv6		= &#8220;(?:(?:{$IPv4address})|(?:&#8221;.<br />
				&#8220;(?:$h16:){6}$ls32&#8243; .<br />
				&#8220;|::(?:$h16:){5}$ls32&#8243; .<br />
				&#8220;|(?:$h16)?::(?:$h16:){4}$ls32&#8243; .<br />
				&#8220;|(?:(?:$h16:){0,1}$h16)?::(?:$h16:){3}$ls32&#8243; .<br />
				&#8220;|(?:(?:$h16:){0,2}$h16)?::(?:$h16:){2}$ls32&#8243; .<br />
				&#8220;|(?:(?:$h16:){0,3}$h16)?::(?:$h16:){1}$ls32&#8243; .<br />
				&#8220;|(?:(?:$h16:){0,4}$h16)?::$ls32&#8243; .<br />
				&#8220;|(?:(?:$h16:){0,5}$h16)?::$h16&#8243; .<br />
				&#8220;|(?:(?:$h16:){0,6}$h16)?::&#8221; .<br />
				&#8220;)(?:\/(?:12[0-8]|1[0-1][0-9]|[1-9][0-9]|[0-9]))?)&#8221;;</p>
<p>	$regex = &#8220;/^$ipv6$/&#8221;;<br />
	return preg_match($regex, $ip);<br />
}</p></blockquote>
]]></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) rtsold.h
+    $(Q)$(CC) -o rtsol $(OTHERFLAGS) $(OBJS)
+.c.o:
+    @echo Compiling $&#60;
+    $(Q)$(CC) $(OTHERFLAGS) -c $&#60;
+clean:
+    [...]]]></description>
			<content:encoded><![CDATA[<p>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:</p>
<p><span id="more-3"></span></p>
<blockquote><p>diff -ru network_cmds-307/rtsol.tproj/Makefile network_cmds-new/rtsol.tproj/Makefile<br />
&#8212; network_cmds-307/rtsol.tproj/Makefile    2007-10-11 01:29:28.000000000 +0200<br />
+++ network_cmds-new/rtsol.tproj/Makefile    2008-08-30 17:56:38.000000000 +0200<br />
@@ -1,19 +1,15 @@<br />
-Project = rtsol<br />
-Install_Dir = /sbin<br />
+CC=gcc<br />
+MAKE=make<br />
+SRCS=rtsold.c rtsol.c if.c probe.c dump.c rtsock.c<br />
+OBJS=$(SRCS:.c=.o)<br />
+OTHERFLAGS=-mdynamic-no-pic -dead_strip -DINET6 -DHAVE_GETIFADDRS -I/Developer/SDKs/MacOSX10.5.sdk/usr/include<br />
+Q=<br />
+all: $(OBJS) rtsold.h<br />
+    $(Q)$(CC) -o rtsol $(OTHERFLAGS) $(OBJS)<br />
+.c.o:<br />
+    @echo Compiling $&lt;<br />
+    $(Q)$(CC) $(OTHERFLAGS) -c $&lt;<br />
+clean:<br />
+    rm -f rtsol *.o *.bak *~</p>
<p>-CFILES = rtsold.c rtsol.c if.c probe.c dump.c rtsock.c<br />
-HFILES = rtsold.h<br />
-MANPAGES = rtsol.8</p>
<p>-Extra_CC_Flags = -mdynamic-no-pic -dead_strip<br />
-    -DINET6 -DHAVE_GETIFADDRS<br />
-    -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders<br />
-Extra_LD_Flags = -lipsec<br />
-<br />
-include $(MAKEFILEPATH)/CoreOS/ReleaseControl/BSDCommon.make<br />
-<br />
-after_install:<br />
-    $(INSTALL_DIRECTORY) &#8220;$(DSTROOT)&#8221;/usr/sbin<br />
-    $(LN) -f &#8220;$(DSTROOT)&#8221;/sbin/rtsol &#8220;$(DSTROOT)&#8221;/usr/sbin/rtsold<br />
-    $(LN) -f &#8220;$(DSTROOT)&#8221;/usr/share/man/man8/rtsol.8<br />
-         &#8221;$(DSTROOT)&#8221;/usr/share/man/man8/rtsold.8<br />
diff -ru network_cmds-307/rtsol.tproj/probe.c network_cmds-new/rtsol.tproj/probe.c<br />
&#8212; network_cmds-307/rtsol.tproj/probe.c    2006-02-07 07:23:04.000000000 +0100<br />
+++ network_cmds-new/rtsol.tproj/probe.c    2008-08-30 18:01:41.000000000 +0200<br />
@@ -85,7 +85,7 @@<br />
/* make the socket send-only */<br />
if (shutdown(probesock, 0)) {<br />
warnmsg(LOG_ERR, __FUNCTION__, &#8220;shutdown: %s&#8221;, strerror(errno));<br />
-        return(-1);<br />
+        /* return(-1); */<br />
}</p>
<p>/* initialize msghdr for sending packets */<br />
diff -ru network_cmds-307/rtsol.tproj/rtsol.c network_cmds-new/rtsol.tproj/rtsol.c<br />
&#8212; network_cmds-307/rtsol.tproj/rtsol.c    2006-02-07 07:23:04.000000000 +0100<br />
+++ network_cmds-new/rtsol.tproj/rtsol.c    2008-08-30 18:02:15.000000000 +0200<br />
@@ -43,7 +43,7 @@</p>
<p>#include &lt;netinet/in.h&gt;<br />
#include &lt;netinet/ip6.h&gt;<br />
-#include &lt;netinet6/ip6_var.h&gt;<br />
+#include &lt;netinet6/in6_var.h&gt;<br />
#include &lt;netinet/icmp6.h&gt;</p>
<p>#include &lt;arpa/inet.h&gt;</p></blockquote>
<p>Use it like this:</p>
<p># tar xzvf network_cmds-307.tar.gz<br />
# cd network_cmds-307<br />
# patch -p1 &lt; rtsol.patch<br />
# cd rtsol.tproj<br />
# make<br />
# mv /sbin/rtsol /sbin/rtsol.old &amp;&amp; mv rtsol /sbin/</p>
]]></content:encoded>
			<wfw:commentRss>http://lostdomain.org/2008/10/26/rtsol-under-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
