next up previous contents index
Next: Diverses - path.h, output.h Up: Die Funktionenbibliothek, libmc Previous: RIPEMD Funktionen - rmd.h

Zugriffskontrolle - acl.h

Diese Funktionen implementieren Zugangskontrollisten (acl - access control list), die nach IP-Nummer entscheiden, ob eine Adresse ``gut'' oder ``schlecht'' ist. Diese Methode ist nicht hundertprozentig sicher, da IP-Adressen gefälscht werden können. Die Funktionen operieren mit einem Zeiger auf eine Struktur struct acl. Es werden nur bei einigen Funktionen Beispiele gezeigt - die restlichen werden analog dazu benutzt. Alle Funktionen (bis auf () ) geben Null zurück, wenn sie erfolgreich waren, sonst einen Wert ungleich Null.
() 
Kreiert eine neue leere Zugangskontrolliste und gibt sie den Aufrufer zurück. Diese Funktion muß aufgerufen werden, bevor eine der anderen acl* Routinen aufgerufen wird.
   int res;
   struct acl *a;
   a=aclnew*();
aclset(struct acl *a,struct in_addr *adr,struct in_addr *mask)
  Fügt eine Adresse mit Netzmaske (siehe 2.1.1) zu einer bestehenden ACL hinzu.
   res=aclset(a,"193.141.40.0","255.255.255.0");
aclsetc(struct acl *a, const char *cidr)
  Fügt eine Adresse in CIDR-Form  (siehe 2 zu einer bestehenden ACL hinzu.
   res=aclsetc(a,"193.141.89.0/24");
() 
Löscht eine Adresse mit Netzmaske aus einer ACL.
() 
Löscht einen Eintrag in CIDR-Form  aus einer ACL.
aclcheck(struct acl *a, struct in_addr *adr)
  Überprüft, ob eine IP-Adresse in einer ACL vorhanden ist oder nicht. Gibt Null zurück, wenn die Adresse vorhanden ist.
   res=acklcheck(a,"193.141.89.2");
   if (res==0) {  /* Adresse is in der ACL */
aclload(struct acl *a, const char *path)
  Lädt eine ACL aus einer Datei.
   res=aclload(a,"/etc/zugangs-acl");
acldestroy(struct acl *a)
  Zerstört die ACL und gibt allen Speicher zurück.
   res=acldestroy(a);

next up previous contents index
Next: Diverses - path.h, output.h Up: Die Funktionenbibliothek, libmc Previous: RIPEMD Funktionen - rmd.h
Heiko W.Rupp
12/1/1997