#!/bin/sh # # Copyright (c) 2012 TowardEX Technology Services Corporation # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # # @(#)ipv6_reserve_ptr.sh 1.00 (towardEX) 5/6/2012 # # i = 3 base-36 conversion begins at /64 range (3rd octet from left) send_var=`echo "inet6 $1" | awk -v "hostname=${_hostname}" -v "action=${_action}" -v "ttl=${_ttl}" \ '! inet6 && /inet6 / && $2 !~ /^(fe80:|::1)/ { ip6[++j] = $2; } END { print ""; for (j in ip6) { cols = gsub(/:/, ":", ip6[j]); zeroes = ""; for (i = cols; i < 8; i++) { zeros = zeros ":0"; } zeros = zeros ":"; sub(/::/, zeros, ip6[j]); split(ip6[j], shorts, /:/); ip6str = ""; for (i = 3; i <= 8; i++) { ip6str = ip6str substr("000" shorts[i], length(shorts[i])); } revstr = ""; for (i = 1; i <= length(ip6str); i++) { revstr = revstr "" substr(ip6str, i, 1); } printf "%s\n", revstr; } }'` ./__netaddr_python.py $send_var # EOF