- add support for Teredo addresses
- add new shortcut options:
--in|-I --out|-O --action|-A
--printcompressed|-C --printuncompressed|-U --printfulluncompressed|-F
- update copyright range
- add new option: -p <path to IP2Location database>
- add support for IP2Location
- add support for GeoIP (GeoIP-1.3.17)
Makes me wonder how this ever worked. Anyways:
Update ipv6calc to 0.50 (in the wrong hope that it was fixed, but I had to
do the work myself, *sigh*).
Changes:
* nothing important as far as I could spot from the large & useless ChangeLog
file
* No longer requite "root" (env-var) to be passed to the pkg
* hack to make autoconf stuff going, dumping on author to fix properly
Sorry for being in rant mode...
Major changes:
Update databases
General:
- replace md5 function from openssl with a copy of coreutils (licence issue)
- add support for IEEE/iab.txt database
ipv6calc:
- add support for recognizing 6to4 addresses generated by
Microsoft OS
ipv6logconv:
- add support for recognizing 6to4 addresses generated by
Microsoft OS
- add support for ISATAP addresses
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
- IPv4 database updated (20030906)
- add support of LACNIC registry
- add output format "octal"
Print octal representation of a given IPv6 address:
(useful for djbdns/tinydns)
3ffe:ffff::1 ->
\77\376\377\377\0\0\0\0\0\0\0\0\0\0\0\1
--printfulluncompressed 3ffe:ffff::1 ->
\077\376\377\377\000\000\000\000\000\000\000\000\000\000\000\001
Available format options:
--printfulluncompressed: Print in full uncompressed format
- New program "ipv6logstats" for parsing web server logs to get some
IPv4/IPv6 distribution data and build time line charts. See examples for
more.
- add input types:
"ipv4hex" (hexadecimal IPv4 address)
"ipv4revhex" (reverse hexadecimal IPv4 address)
- add support of spaces in MAC/EUI-48 addresses
- General bugfixing
Changes:
20021112:
fix not proper handling of option "-q|--quiet" in some cases
enhance help options (-h|--help now also valid) on --out|action|in
ipv6logconf: "make test" can be now also executed by root (su to
nobody)
tag version 0.45
20021104:
minor cosmetics in IEEE/OUI database
20021104/PB:
update IPv6 address allocation for 2001::/16
update IPv4 databases
remove user/group on "make install" to enable non-root RPM build
update text on ipv6calcweb.cgi
minor reviews
tag version 0.44
20020830/PB:
add support of dashes on MAC/EUI-48 addresses
showinfo prints now type of EUI-48 addresses
20020817/PB:
fix configure.in, learnt now how to proper use AC_CHECK_LIB and AC_CHECK_HEADERS
credits to Arkadiusz Miskiewicz!
20020730/PB:
fix not proper autodetection code for MAC addresses
tag version 0.43
20020717/PB:
update URL to OUI database, cosmetic OUI fixes, update databases
tag version 0.42
20020511/PB:
bugfix not showing OUI on showinfo "-i"
update CIDR and OUI data
* most code reviewed with help of splint
* introduce new option handling (in/out/action)
- old options are still supported, no plans to remove this
support in next releases
* some automagically handling relating to
- input
- output
- action
if not extra specified
* add more conversions, also add more support of IPv4 addresses
* the address information option (-i) now shows also
- IPv4 registries (by using included current IPv4 CIDR table)
- IPv6 registries
- OUI (vendor) of NIC, if EUI-48/64 is a global one
* an example CGI frontend called "ipv6calcweb.cgi" to display
information about a REMOTE_ADDR on a webpage
- See e.g. http://ipv6.aerasec.de/index2.html for what can be
displayed
- Currently supported languages: en, de
20020227/PB:
libipv6addr.c: fixed a bug in ipv6addr_setoctett.c regarding num limit (oops..)
ipv6calc.c: move structure definitions to...
libmac.h: add related structure definition ipv6calc.c
libipv6addr.h: add related structure definition from ipv6calc.c
libipv4addr.*: new for handling IPv4 addresses
ipv4_to_6to4addr.*: new for handling conversion IPv4 -> IPv6to4
librfc3056.*: library for conversion IPv4 -> IPv6to4
libipv6calc.c: fix array index bug of compat[] (oops..)
tag release 0.39
20020226/PB:
add original getopt tarball into samplecode, fill related READMEs
tag release 0.38
20020224/PB:
move nibble string function to librfc1886
minor fixes
restore original samplecode files and remove CVS id to prevent CVS changes
add original getopt code to samplecode
tag release 0.37
20020224/PB:
minor Makefile fixes
fix getopt Makefile
minor cosmetic fix in test script
cosmetic cleanups
some code cleanup and minor redesign, some optimizing
fixes stupid help call bugs
format options can be used now in more functions
add support of "printstart" and "printend" in "ip6int", "bitstring"
extend "showinfo", add "machine_readable" for easier postprocessing
20020223/PB:
complete limited support of bistring labels
change examples to 6bone dummy address (3ffe:ffff:...)
add a trailling dot on ip6.[int|arpa] output
migrate getopt patch for OpenBSD submitted by Vladimir Kotal <vlada at openbsd dot cz>
minor Makefile fixes
tag release 0.37pre1
Patch submitted by Lubomir Sedlacik <salo@xtrmntr.org> in private mail.
Changes since 0.19:
0.36: - fix bug relating to ipv6calc.h (changes now in ipv6calc.h.in)
- start preparation for implementing bitstring conversions
0.35: - add new options: --addr_to_ip6arpa|-a
does the same like --addr_to_ip6int|-r, but ends with "ip6.arpa"
instead of "ip6.int"
- addr_to_ip6int now understands "--uppercase|--lowercase"
0.34: - use now "-lcrypto" instead of full defined lib name
- update "COPYING" to current GPLv2, add "LICENSE" with some comments
to make Debian people happy
- add both in spec file
- showinfo now understands "solicited-node link-local multicast",
"ISATAP", SLA on 6bone addresses
- input now understands also "ISATAP" addresses
- Change version numbering to autoconf/configure
- Extend "showinfo" a little bit
- Fix missing scope initialization "base85_to_ipv6addr"
bug found by Greg Daley <greg.daley # eng.monash.edu.au>
- changed: libipv6addr.c/ipv6addr_clear
librfc1924.c/base85_to_ipv6addrstruct
0.28: - Refixing compiling on BSD
- Add a forgotten include in "eui64_to_privacy.c"
0.27: - Migrate files used from Linux kernel for address type resolution
to libipv6addr.*
- add some extended tests (still not catch all)
- "--showinfo" now rudimentary works
0.26: - Create wrapper functions to be independend of byte order storage
in structure "in6_addr"
- "--eui64_to_privacy" now calculate expected results
- Begin of splitting "ipv6calc.h" into several smaller header files
- Some code cleanup
0.25: - Restructure central address structure to use "in6_addr" struct
- Some code cleanup
0.24: - Add option "--eui64_to_privacy" to calculate pseudo random suffices
(experimental, result is not verified)
- Add option "--showinfo" (experimental, not finnished)
- Add option "-d|--debug value"
- Partially new debug code
0.23: - Fix permissions of doc files in spec file
0.22: - ANSI compiling cleanup
- Cleanup special types to ANSI types
0.21: - Fix typo (strings.h -> string.h) at ifinet6_to_compressed.c
0.20: - Activate "--printsuffix" + "--printprefix" for
"--addr_to_uncompressed"
- Change format of "--mac_to_eui64" to described one (now without prefix)
0.19: Peter Bieringer <pb@bieringer.de>
Extend "TODO" list
Print also info on "-?"
Fixes in spec file, see changelog at the end of that file
Add "COPYING" and "INSTALLING"
Add "installonly" on "Makefile" to support changes in spec file
0.18: Peter Bieringer <pb@bieringer.de>
Add "make test" after "make" in spec file to stop build process, if
compiling do not result in working code
Add samplecode directory
0.17: Peter Bieringer <pb@bieringer.de>
Fix "addr_to_ip6int" (sprintf)
Minor reviews
0.16: Peter Bieringer <pb@bieringer.de>
Review "Makefile" to make it usable on BSD systems
Minor reviews to enable a clean make on BSD systems
0.15: Peter Bieringer <pb@bieringer.de>
Create TODO
Some review
New option: mac_to_eui64
0.14: Peter Bieringer <pb@bieringer.de>
Review CREDITS
0.13: Peter Bieringer <pb@bieringer.de>
Add base85 support
Add compatv4/mapped support
Split away some RFC depended libaries
Rename internal used functions
Rename options (old ones still work)
Change IPv6 address compression method from getaddrinfo to
native calculation (hopefully bugless)
Some review
ipv6calc is a small utility in C to manipulate IPv6 addresses. The intentions
were to convert a given IPv6 address into compressed format, convert a given
IPv6 address into the same format like shown in Linux' /proc/net/if_inet6 and
(because it was not difficulty) migrate ip6_int into. Now only one utiltity is
needed to do a lot (perhaps the features grow on demand in the future).
This utility will be used in the future to extend features on
network-functions-ipv6.
Examples:
ipv6calc --addr2ip6_int ipv6addr[/prefixlength]
Converts given IPv6 address to a dot separated reverse nibble format for use with DNS
e.g. 3ffe:400:100:f101::1
-> 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.1.f.0.0.1.0.0.0.4.0.e.f.f.3.ip6.int
e.g. 3ffe:400:100:f101::1/64 -> 1.0.1.f.0.0.1.0.0.0.4.0.e.f.f.3.ip6.int
ipv6calc --addr2compaddr ipv6addr[/prefixlength]
Converts given IPv6 address to a compressed one
e.g. 3ffe:0400:0100:f101:0000:0000:0000:0001 -> 3ffe:400:100:f101::1
ipv6calc --addr2uncompaddr ipv6addr[/prefixlength]
Converts given IPv6 address to an uncompressed one
e.g. 3ffe:400:100:f101::1 -> 3ffe:400:100:f101:0:0:0:1
ipv6calc --addr2fulluncompaddr ipv6addr[/prefixlength]
Converts given IPv6 address to a full uncompressed one
e.g. 3ffe:400:100:f101::1 -> 3ffe:0400:0100:f101:0000:0000:0000:0001
ipv6calc --addr2if_inet6 ipv6addr[/prefixlength]
Converts given IPv6 address to similar format shown in /proc/net/if_inet6:
addr scope [prefixlength]
e.g. 3ffe:400:100:f101::1 -> 3ffe04000100f1010000000000000001 00
e.g. 3ffe:400:100:f101::1/64 -> 3ffe04000100f1010000000000000001 00 40
ipv6calc --if_inet62addr 32hexcharsIPv6addr [2hexcharsPrefixlength]
Converts given if_inet6 formatted IPv6 address to normal one
e.g. 3ffe04000100f1010000000000000001 -> 3ffe:400:100::1
e.g. 3ffe04000100f1010000000000000001 40 -> 3ffe:400:100::1/64