Verwenden Sie folgende Methoden:
Portieren Sie die Anwendung auf die native API. Sehen Sie telnet als praktikables Beispiel. Das API-Dokument finden Sie unter der URL: http://hipl.hiit.fi/hipl/hip-native-api-final.pdf (Anmerkung: dieses API-Dokument ist nicht mehr aktuell, achten Sie auf Änderungen in den Schnittstellen und Variablen.)
Verlinken Sie ihre Anwendung neu. Linken Sie auf libinet6 der HIPL Software. Anschließend verwenden Sie eine der folgenden Methoden:
Setzen Sie das AI_HIP Flag im getaddrinfo Aufruf. Dies wird getaddrinfo veranlassen nur HITs anstelle von IPs zurückzuliefern. Keine IP-Adresse wird zurückgeliefert. Das Mapping von HIT auf IP-Adresse wird von getaddrinfo veranlasst.
Sie verwenden den transparenten Modus im Resolver (siehe HIP_TRANSPARENT_API Kompilerflag in libinet6/Makefile.in). Nur ein erneutes Linken ist notwendig, Änderungen an den Anwendungen bleiben aus.
Dynamisches Überschreiben der Resolver Bibiliothek:
Übergeben des Binaries als Argument von hipconf: "hipconf run normal <EXECUTABLE>"
Überschreiben der getaddrinfo Funktion von der Kommandozeile: http://www-106.ibm.com/developerworks/linux/library/l-glibc.html?ca=3Ddgr-ln=
z.B. env LD_PRELOAD=~/hipl--main--2.6/libinet6/.libs/libinet6.so:~/hipl--main--2.6/libhiptool/.libs/libhiptool.so firefox hipserver.infrahip.net
Oder hinzufügen zu .bash_profile LD_PRELOAD=libinet6.so:libhiptool.so und
LD_LIBRARY_PATH=~/hipl--main--2.6/libhiptool/.libs/:~/hipl--main--2.6/libinet6/.libs/
Wenn Sie die Bibliothek installiert haben stellen Sie sicher, dass sie auf /usr/lib Referenzieren und nicht auf ihr Home Verzeichnis.
Stellen Sie weiterhin sicher, dass libinet6 mit HIP_TRANSPARENT_API in
libinet6/Makefile.in kompiliert ist.
CFLAGS += -DHIP_TRANSPARENT_API
Beachte: Methode zwei und drei haben zwei Vorbedingungen! Erstens, die Anwendung muss IPv6 unterstützen um HITs handhaben zu können. Zweitens, die Anwendug muss tatsächlich die getaddrinfo Funktion verwenden. Anderen Falls wird der das senden der HIT an das Kernelmodul nicht funktionieren.
Folgende Anwendungen verwenden getaddrinfo auf FC4: telnet, firefox,
lynx, ssh.
Nicht verwendet wird getaddrinfo von: ping, ping6, tla, svn.
Einfügen der HITs in /etc/hosts anstelle von /etc/hip/hosts. Dann muss
aber das HIT-zu-IP Mapping durch hipconf add map HIT IP erfolgen. Dies
ist eine quick-and-dirty Methode ...
Verwenden des Opportunistic Modus, wie Beschrieben in Abschnitt "opportunistic mode".
Denken Sie daran die Anwendung gegen libopphip, libinet6 und libhiptool in
dieser Reihenfolge zu linken. Verwenden Sie /usr/lib prefix für die
Bibliotheken oder folgendes (für den Fall, dass Sie kein make install ausgeführt haben):
hipconf run opp <EXECUTABLE>
export LD_PRELOAD=~/hipl--main--2.6//libopphip/.libs/libopphip.so:~/hipl--main--2.6/libinet6/.libs/libinet6.so:~/hipl--main--2.6/libhiptool/.libs/libhiptool.so
Verwenden Sie die HIP Agent GUI um die Anwendung zu starten. Dies ist eine neue, nicht ausreichend getestete Funktion, welche aber funktionieren sollte. Sie können eine Anwendung über die GUI ausführen und deren Library-Pfad anpassen. Auch sollten sie eine Liste der über die GUI ausgeführten Prozesse sehen.