PPL6-Icon Patrick's Programming Library Version 6.4.21 - Dokumentation
Internet

Internet-Klassen und Funktionen. Mehr ...

Ausführliche Beschreibung

Internet-Klassen und Funktionen

Klassen

class  ppl6::CCurl
 CURL-Klasse. Mehr ...
 
class  ppl6::CHostsAllow
 Klasse zum Prüfen, ob eine IP-Adresse in einer Liste enthalten ist. Mehr ...
 
class  ppl6::CReadMail
 Klasse zum Lesen und Dekodieren von Emails. Mehr ...
 
class  ppl6::CResolver
 DNS Namensauflösung, Abfrage verschiedener Resource Records. Mehr ...
 
class  ppl6::CSendMail
 Klasse zum Verschicken von Emails. Mehr ...
 
class  ppl6::CSocketMessage
 TCP-Socket-Nachrichten. Mehr ...
 
class  ppl6::CSSL
 SSL-Verschlüsselung. Mehr ...
 
class  ppl6::CTCPSocket
 TCP-Socket-Klasse. Mehr ...
 
class  ppl6::CUDPSocket
 UDP-Socket-Klasse. Mehr ...
 
class  ppl6::CWikiParser
 Klasse zum Übersetzen von Wiki-Quelltext in HTML. Mehr ...
 

Funktionen

int ppl6::GetHostByAddr (const char *addr, CAssocArray *Result)
 Reverse-Lookup anhand einer IP-Adresse. Mehr ...
 
int ppl6::GetHostByName (const char *name, CAssocArray *Result)
 Hostauflösung anhand des Namens. Mehr ...
 
int SSL_Exit ()
 OpenSSL-Schnittstelle deinitialisieren. Mehr ...
 
int SSL_Init ()
 OpenSSL-Schnittstelle initialisieren. Mehr ...
 

Dokumentation der Funktionen

int ppl6::GetHostByAddr ( const char *  addr,
CAssocArray *  Result 
)
Include:
#include <ppl6.h>
Beschreibung:
Diese Funktion führt eine Reverse-Abfrage einer IP-Adresse durch.
Parameter
addrDie gesuchte IP-Adresse, wobei sowohl IPv4- als auch IPv6-Adressen unterstützt werden
ResultEin Pointer auf ein Assoziatives Array, in dem das Ergebnis gespeichert werden soll. Diese Parameter ist optional. Wird er nicht angegeben, bzw. ist er NULL, prüft die Funktion lediglich, ob die angegebene IP-Adresse auflösbar ist und liefert true (1) oder false (0) zurück.
Rückgabe
Im Erfolgsfall, das heisst die angegebene IP konnte aufgelöst werden, liefert die Funktion true (1) zurück. Wurde der Parameter Result angegeben, wird das Array mit dem Ergebnis gefüllt. Das Ergebnis hat folgendes Format:
  • 0/ip IP-Adresse im lesbaren Format
  • 0/name Der FQDN
  • 0/type Bei einer IPv4 Adresse ist dieser Wert immer AF_INET, bei IPv6 AF_INET6
  • 0/ai_addr Ein Binäres Objekt vom Typ CBinary, was eine Systemspezifische Struktur vom Typ "struct sockaddr" enthält, die direkt in den Socket-Funktionen des Systems verwendet werden kann (z.B. connect).
  • 0/ai_addrlen Die Länge der ai_addr-Struktur in Bytes
    • 0/ai_family
    • 0/ai_protocol
  • 0/ai_socktype

Wurden mehrere Namen-Adressen gefunden, wiederholt sich der Block und die Ziffer auf der obersten Ebene des Arrays wird hochgezählt.

Im Fehlerfall, das heisst die angegebene IP konnte nicht aufgelöst werden, liefert die Funktion false (0) zurück und des optionale Array Result bleibt unverändert.

Zu beachten
Es ist zu beachte, dass das Array Result im Erfolgsfall erst gelöscht und dann mit den gefundenen Daten gefüllt wird. Vorher vorhandene Daten im Array gehen also verloren, bzw. müssen bei Bedarf vom Anwender vorher gesichert werden.
Seit
Diese Klasse wurde mit Version 6.0.12 eingeführt
Ab Version 6.0.19 werden die ai_*-Parameter zurückgegeben
int ppl6::GetHostByName ( const char *  name,
CAssocArray *  Result 
)
Include:
#include <ppl6.h>
Beschreibung:
Diese Funktion führt eine Namensauflösung durch. Dabei werden alle IPs zurückgegeben, die auf den angegebenen Namen passen, einschließlich IPv6.
Parameter
nameDer gesuchte Hostname oder die IP-Adresse, wobei sowohl IPv4- als auch IPv6-Adressen unterstützt werden
ResultEin Pointer auf ein Assoziatives Array, in dem das Ergebnis gespeichert werden soll. Diese Parameter ist optional. Wird er nicht angegeben, bzw. ist er NULL, prüft die Funktion lediglich, ob der angegebene Hostname auflösbar ist und liefert true (1) oder false (0) zurück.
Rückgabe
Im Erfolgsfall, das heisst der angegebene Name konnte aufgelöst werden, liefert die Funktion true (1) zurück. Wurde der Parameter Result angegeben, wird das Array mit dem Ergebnis gefüllt. Das Ergebnis hat folgendes Format:
  • 0/ip IP-Adresse im lesbaren Format
  • 0/name Der FQDN
  • 0/type Bei einer IPv4 Adresse ist dieser Wert immer AF_INET, bei IPv6 AF_INET6
  • 0/ai_addr Ein Binäres Objekt vom Typ CBinary, was eine Systemspezifische Struktur vom Typ "struct sockaddr" enthält, die direkt in den Socket-Funktionen des Systems verwendet werden kann (z.B. connect).
  • 0/ai_addrlen Die Länge der ai_addr-Struktur in Bytes
    • 0/ai_family
    • 0/ai_protocol
  • 0/ai_socktype

Wurden mehrere IP-Adressen gefunden, wiederholt sich der Block und die Ziffer auf der obersten Ebene des Arrays wird hochgezählt.

Im Fehlerfall, das heisst der angegebene Name konnte nicht aufgelöst werden, liefert die Funktion false (0) zurück und des optionale Array Result bleibt unverändert.

Zu beachten
Es ist zu beachte, dass das Array Result im Erfolgsfall erst gelöscht und dann mit den gefundenen Daten gefüllt wird. Vorher vorhandene Daten im Array gehen also verloren, bzw. müssen bei Bedarf vom Anwender vorher gesichert werden.
Seit
Diese Klasse wurde mit Version 6.0.12 eingeführt
Ab Version 6.0.19 werden die ai_*-Parameter zurückgegeben
Zu beachten
Ursprünglich hat die Funktion intern einen einzelnen Aufruf der Systemfunktion getaddrinfo gemacht. In neueren libc Bibliotheken scheint sich jedoch das Verhalten geändert zu haben. Hier werden AAAA-Records nur dann zurückgegeben, wenn auf dem lokalen host auch eine globales IPv6-Interface konfiguriert ist. Zu beobachten auf Ubuntu 9.10 nach Einspielen der Updates am 13.01.2009. Die Funktion wurde daher geändert und ruft getaddrinfo nun zweimal auf, einmal für IPv4/INET und einmal für IPv6/INET6.
int SSL_Exit ( )
related
Beschreibung:
Hat die Anwendung OpenSSL verwendet, muss nach Gebrauch diese Funktion aufgerufen werden, um den durch OpenSSL belegten Speicher wieder freizugeben. Dies geschieht zu Programmende jedoch automatisch, so dass man sich den Aufruf in der Regel sparen kann.
Rückgabe
Die Funktion gibt 1 zurück, wenn die OpenSSL-Schnittstelle erfolgreich deinitialisiert wurde, im Fehlerfall 0.
Siehe auch
int SSL_Init ( )
related
Beschreibung:
Bevor eine der SSL-Funktionen in CTCPSocket und die Klasse CSSL verwendet werden kann, muss nicht nur OpenSSL beim Kompilieren der Library eingebunden werden, sondern diese bei Programmstart auch initialisiert werden. Dazu muss diese Funktion aufgerufen werden.
Sie initialisiert den Zufallszahlengenerator, OpenSSL für die Verwendung in einer multithreaded Umgebung, sowie die verschiedenen verschlüsselungs Algorithmen.
Da durch Aufruf dieser Funktion Speicher allokiert wird, muss irgendwann, wenn OpenSSL nicht mehr benötigt wird, die Funktion SSL_Exit aufgerufen werden. Dies geschieht bei Programmende jedoch auch automatisch.
Rückgabe
Die Funktion gibt 1 zurück, wenn OpenSSL erfolgreich initialisiert wurde, im Fehlerfall 0.
Siehe auch