IRIX and Software

IRIX and IPv6

Here's a fix of the reverse lookup issues with IRIX' dns(7P) resolver and IPv6. The problem was introduced with the deprecation of IP6.INT. (according to rfc1886) as a reverse lookup domain and the introduction of IP6.ARPA. - IRIX does still use IP6.INT., which is considered wrong in a production environment (prefix 2001::/16).

Tonight I conducted some research on the topic and the result is a quick fix (at least until SGI provides a real patch). In the strings output on /var/ns/lib/libns_dns.so the wrong IP6.INT. reference could easily be spotted -

Code: Select all

primordium 398% strings /var/ns/lib/libns_dns.so | grep ip6
0123456789abcdefip6.int.
primordium 399%
and the same string happens to be aligned with a dozen of '\x00' bytes, so modifying it to "ip6.arpa." is easy. I spent several more hours with elfdump and dis to make sure that no function does use the string with nasty fixed lengths and/or offsets... Looks like the change is safe and does even work :) .
LAMMEN GORTHAUR
Wow. SGI aught to impliment it! Have you contacted them?
squeen wrote: Wow. SGI aught to impliment it! Have you contacted them?
Even if I contact them, I have a support contract no more and will never get the official patch (given that there'll be one). I spoke with a guy from SGI in January and he sent my questions to the IPv6 group. Their answer was that everything works and there are no problems at all...

The newly introduced host and dig commands (from the BIND distribution) are compiled with bitlabels over IP6.ARPA. This is de facto an experimental feature and won't become a production standard anytime soon (the deprecation of IP6.INT. was announced in Aug, 2001 (rfc3152) and there are several memos suggesting that the complete IP6.INT. termination will happen on Jun, 1, 2005). But I can't really fix this one with a simple hex editor...

Code: Select all

primordium 413% host -t AAAA SIGBUS.nove.bg
SIGBUS.nove.bg has AAAA address 2001:5c0:8481:1::1
primordium 414% host 2001:5c0:8481:1::1
Host \[x200105C0848100010000000000000001/128].ip6.arpa not found: 3(NXDOMAIN)
primordium 415% cat /ns/.local/ipnodes.byaddr/2001:5c0:8481:1::1
2001:5c0:8481:1::1      SIGBUS.nove.bg
primordium 416% cat /ns/.local/ipnodes.byname/SIGBUS.nove.bg.
2001:5c0:8481:1::1      SIGBUS.nove.bg
primordium 417%


EDIT:
By the way eoe.sw.svr4net is claimed to work with IPv6 but it doesn't, therefore, if one wants/has to use rpc (and nfs) over IPv6 the only solution is to remove eoe.sw.svr4net... Maybe they'll fix it in .28 :lol: ...
LAMMEN GORTHAUR
chervarium wrote: The newly introduced host and dig commands (from the BIND distribution)


Is there a standalone < dig > around here or should I look in neko_BIND ? (I searched, really.) Kinda hate to further decimate the bandwidth for a small utility - looks like everyone is testing out squeen's new script right now :)
hamei wrote:
chervarium wrote: The newly introduced host and dig commands (from the BIND distribution)


Is there a standalone < dig > around here or should I look in neko_BIND ? (I searched, really.) Kinda hate to further decimate the bandwidth for a small utility - looks like everyone is testing out squeen's new script right now :)


No kidding ... use the mirrors people! :D
Twitter: @neko_no_ko
IRIX Release 4.0.5 IP12 Version 06151813 System V
Copyright 1987-1992 Silicon Graphics, Inc.
All Rights Reserved.
nekonoko wrote:
hamei wrote:
chervarium wrote: The newly introduced host and dig commands (from the BIND distribution)


Is there a standalone < dig > around here or should I look in neko_BIND ? (I searched, really.) Kinda hate to further decimate the bandwidth for a small utility - looks like everyone is testing out squeen's new script right now :)


No kidding ... use the mirrors people! :D


My bad. Sorry!
Who wants to volenteer their mirror site to be the FTP default for tardist2inst?
Should I randomize it? If so, which sites should be on that list?
I volunteer, although i'm oversees from the states.
How does one actually enable ipv6 on 6.5.22m?

I have installed eoe.sw.ipv6, eoe.man.ipv6 etc and my ipconfig gives

Code: Select all

ec0: flags=8400c43<UP,BROADCAST,RUNNING,FILTMULTI,MULTICAST,IPALIAS,IPV6>
inet 12.34.56.78 netmask 0xffffff00 broadcast 12.34.56.255
lo0: flags=8001849<UP,LOOPBACK,RUNNING,MULTICAST,CKSUM,IPV6>
inet 127.0.0.1 netmask 0xff000000


But does not give it an IPv6 address.

Code: Select all

$ ./a.out
AF_INET6: Address family not supported by protocol family
$ cat h.c
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <errno.h>

int main(int argc,char **argv)
{
int fd=socket(AF_INET6,SOCK_STREAM,0);

if (fd==-1)
{
perror("AF_INET6");
return 1;
}

return 0;
}
Land of the Long White Cloud and no Software Patents.
Solved!

Code: Select all

systune ip6_enable 1


reboot...

Code: Select all

# ifconfig -a
ec0: flags=8400c43<UP,BROADCAST,RUNNING,FILTMULTI,MULTICAST,IPALIAS,IPV6>
inet 12.34.56.78 netmask 0xffffff00 broadcast 12.34.56.255
inet6 fe80::a00:69ff:fe08:f2a8 prefixlen 64 scopeid 1
lo0: flags=8001849<UP,LOOPBACK,RUNNING,MULTICAST,CKSUM,IPV6>
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
Land of the Long White Cloud and no Software Patents.