Advanced Methods

These methods assume that you have the source code available for the application and the application is IPv6 enabled. You have to relink the application to use the HIP libraries and, in some methods, to modify the source code.

Following applications are IPv6 enabled (and use getaddrinfo for name resolution): telnet, firefox, lynx, ssh. Not using getaddrinfo: ping, ping6, tla, svn.

8. Relink the application to use the libinet6 library provided in the HIPL software bundle Configure the HIT of the peer to /etc/hip/hosts and add the corresponding address to /etc/hosts. Then, use either of the following methods:

8a) Run the application by using the hostname you just configured to the hosts files. It will use HIP for those hostnames. For hostnames that are not present in /etc/hip/hosts, the application will just use normal IPv4 or IPv6 connectivity. Good for environments where the are both HIP and non-HIP enabled hosts, and backwards compatibility is more important that the security of the connections.

8b) Set the AI_HIP flag in the getaddrinfo call and recompile the application (see test/conntest.c). This will make the getaddrinfo function to return only HITs in the place of IP addresses (no IP addresses are returned). This option good for security critical applications for which you want to force the use of HIP.

8c. Port it to use the native HIP API. See the telnet code for a practical example. The API is documented in url: http://hipl.hiit.fi/hipl/hip-native-api-final.pdf