Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
* 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)
|
|
|
|
|
|
+ move the patch digest/checksum values from files/patch-sum to distinfo
|
|
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
|
|
|
|
|
|
* Changelog fix
* "::" checks
Updated after notify from author, Peter Bieringer <pb@bieringer.de>.
|
|
KAME-based IP stacks (like NetBSD :)
|
|
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
|