GNU Libidn

GNU Libidn

informație
Dezvoltat de Simon Josefsson, proiect GNU
Ultima versiune 2.3.0 (14 noiembrie 2019)
1,36 (22 iulie 2020)
Depozit git.savannah.gnu.org/cgit/libidn.git și gitlab.com/libidn/libidn2.git
Scris in VS
Sistem de operare GNU / Linux , BSD ( d ) , Microsoft Windows și macOS
Mediu inconjurator GNU / Linux , FreeBSD , NetBSD , OpenBSD , GNU , Unix , Solaris , IRIX , AIX , Tru64 , MS Windows
Tip Biblioteca software
Licență GNU LGPL
Documentație www.gnu.org/software/libidn/manual
Site-ul web www.gnu.org/software/libidn/

GNU Libidn este o bibliotecă software pentru codificarea și decodarea numelor de domenii internaționalizate în conformitate cu specificațiile Stringprep , Punycode și IDNA . Este dezvoltat și întreținut de Simon Josefsson ca parte a proiectului GNU . Biblioteca este scrisă în C și o parte a API - ului este accesibilă și în C ++ , Emacs Lisp , Python și Java . O implementare în Java și C # este furnizată în mod nativ și distribuită în condițiile licenței publice generale mai mici GNU .

Istoric

Această bibliotecă a fost numită Libstringprep înainte de a deveni un proiect GNU.

Caracteristici tehnice

Biblioteca conține o implementare generică a Stringprep . Sunt incluse și unele profiluri Nameprep  (în) , iSCSI , XMPP și Kerberos versiunea 5 . Punycode și ACE ( ASCII Compatible Encoding ) în contextul unui nume de domeniu internaționalizat sunt acceptate. Este inclus un mecanism pentru a defini tabelele de validare ale unui domeniu de nivel superior ( TLD ) și pentru a compara șirurile de caractere din aceste tabele. Tabelele implicite pentru unele TLD-uri sunt chiar incluse.

Stringprep

Stringprep API - ul este format din două „  principale  “ funcții , primul pentru conversia datelor de la reprezentarea nativă a unui sistem la UTF-8 , iar a doua pentru procesarea Stringprep. Acest lucru simplifică utilizarea unui profil Stringprep într-o aplicație .

Punycode

Punycode API este format din două funcții, una pentru codare, iar celălalt pentru decodare.

IDNA

IDNA API este format din două funcții de codare, primul ASCII , al doilea la Unicode , precum și un nivel ridicat de interfață pentru conversia între numele de domeniu și ACE lor ( ASCII Compatible Encoding ) reprezentare.

TLD

TLD API include mai multe funcții pentru extragerea de domeniu de nivel superior numele unui domeniu reprezentat în șiruri, altele pentru localizarea masa TLD corectă pentru utilizarea sa în domeniul de nivel superior corect, altele pentru validarea unui șir de caractere pe o masă TLD, și mai multe funcții adaptor pentru a efectua toți acești pași într-un singur apel.

Utilizare de către proiectul GNU

GNU Libidn este utilizat de GNU SASL și GNU Shishi pentru a procesa nume de utilizator și parole.

Vezi și tu

Note și referințe

  1. Tim Rühsen, „  GNU libidn2 2.3.0 lansat  ” ,14 noiembrie 2019(accesat la 14 noiembrie 2019 )
  2. (în) Simon Josefsson ( d ) , „  Libidn 1.36 lansat  ” ,22 iulie 2020(accesat la 17 septembrie 2020 )
  3. (în) O versiune a Libstringprep distribuită de Simon Josefsson, 6 noiembrie 2002.
  4. Funcția ToASCII .
  5. Funcția ToUnicode .

Link extern