GNU Libidn
![](http://upload.wikimedia.org/wikipedia/commons/thumb/6/67/Nuvola_apps_emacs_vector.svg/35px-Nuvola_apps_emacs_vector.svg.png)
Cet article est une ébauche concernant un logiciel libre.
Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.
Consultez la liste des tâches à accomplir en page de discussion.
![Description de l'image Official gnu.svg.](http://upload.wikimedia.org/wikipedia/commons/thumb/3/39/Official_gnu.svg/langfr-120px-Official_gnu.svg.png)
Développé par | Simon Josefsson, projet GNU |
---|---|
Dernière version | 1.42 ()[1] 2.3.7 ()[2] ![]() |
Dépôt | git.savannah.gnu.org/cgit/libidn.git et gitlab.com/libidn/libidn2.git![]() |
Écrit en | C |
Système d'exploitation | GNU/Linux, BSD, Microsoft Windows et macOS![]() |
Environnement | GNU/Linux, FreeBSD, NetBSD, OpenBSD, GNU, Unix, Solaris, IRIX, AIX, Tru64, MS Windows |
Type | Bibliothèque logicielle |
Licence | GNU LGPL |
Documentation | www.gnu.org/software/libidn/manual![]() |
Site web | www.gnu.org/software/libidn/ |
modifier - modifier le code - voir Wikidata (aide)
GNU Libidn est une bibliothèque logicielle destinée à l'encodage et le décodage des noms de domaine internationalisés selon les spécifications Stringprep, Punycode et IDNA. Elle est développée et maintenue par Simon Josefsson dans le cadre du projet GNU. La bibliothèque est écrite en C et une partie de l'API est également accessible en C++, Emacs Lisp, Python et Java. Une implémentation en Java et en C# sont fournies en natif et distribuées selon les termes de la licence publique générale limitée GNU.
Historique
Cette bibliothèque avait pour nom Libstringprep[3] avant de devenir un projet GNU.
Caractéristiques techniques
La bibliothèque contient une implémentation générique de Stringprep. Des profils Nameprep (en), iSCSI, XMPP et Kerberos version 5 sont également inclus. Punycode et ACE (ASCII Compatible Encoding) dans le contexte d'un nom de domaine internationalisé sont supportés. Un mécanisme pour définir les tables de validation d'un domaine de premier niveau (TLD) et pour comparer des chaînes de caractères de ces tables est inclus. Des tables par défaut pour certains TLD sont même incluses.
Stringprep
L'API Stringprep consiste en deux fonctions « main » visant, la première, à la conversion de données de la représentation native d'un système en UTF-8, et, la seconde, au traitement Stringprep. Cela simplifie l'utilisation d'un profil Stringprep dans une application.
Punycode
L'API Punycode consiste en deux fonctions, l'une d'encodage, et l'autre de décodage.
IDNA
L'API IDNA consiste en deux fonctions d'encodage, la première vers ASCII[4], la seconde vers Unicode[5], ainsi qu'une interface de haut niveau pour la conversion entre des noms de domaine et leur représentation ACE (ASCII Compatible Encoding).
TLD
L'API TLD comprend plusieurs fonctions pour extraire les noms de domaine de premier niveau d'un domaine représenté en chaînes de caractères, d'autres pour localiser la table TLD appropriée pour son utilisation dans le domaine de premier niveau adéquat, d'autres pour valider une chaîne de caractères sur une table TLD, et plusieurs fonctions adaptateur pour réaliser toutes ces étapes en un seul appel.
Utilisation par le projet GNU
GNU Libidn est utilisée par GNU SASL et GNU Shishi pour traiter les noms d'utilisateurs et les mots de passe.
Voir aussi
Notes et références
Lien externe
- (en) Dépôt Git sur la forge logicielle GNU Savannah.
v · m | ||
---|---|---|
Histoire | ![]() | |
Licences | ||
Logiciels | ||
Personnalités |
|
Portail des logiciels libres
Portail de la programmation informatique
Portail du Web sémantique