dns.c

Logiciel capture d'écran:
dns.c
Détails logiciels:
Version: 20120805
Date de transfert: 20 Feb 15
Développeur: William Ahern
Licence: Gratuit
Popularité: 29

Rating: nan/5 (Total Votes: 0)

dns.c est un rentrant, récursif et non bloquant-bibliothèque de résolution DNS qui réside dans un fichier sincle .c. Fonctionne également très bien comme un résolveur de stub.
API de base construite autour paquet DNS réel; aussi générique que DNS lui-même. Cela rend l'interrogation et la manipulation des dossiers autres que A, AAAA et PTR beaucoup plus facile.
Réexécutables records itérateurs avec tri spécifié par l'utilisateur. Itération sur MX ou enregistrements SRV afin sémantique (ce est à dire de préférence et prioritaires) est aussi simple que:
dns_rr_foreach (& rr, paquet, .type = DNS_T_SRV, .Sort = & dns_rr_i_order) {
& Nbsp; ...
}
Ou d'une manière redémarrable:
interrupteur (my-> Etat) {
case 0:
& Nbsp; dns_rr_i_init (& my-> rr_i);
& Nbsp; my-> rr_i.type = DNS_T_SRV;
& Nbsp; my-> rr_i.sort = & dns_rr_i_order;
& Nbsp; my-> Etat ++;
case 1:
& Nbsp; while (dns_rr_grep (& rr, 1, & my-> rr_i, my-> paquet, et erreur)) {
& Nbsp; & nbsp; & nbsp; ...
& Nbsp; & nbsp; & nbsp; / * Retour dans la boucle de l'événement * /
& Nbsp; }
}
Prend en charge les requêtes «intelligents». Lorsqu'elle est activée dans le résolveur de base, les requêtes pour NS, MX et enregistrements SRV seront toujours tenter de résoudre le nom d'hôte canonique RDATA dans un enregistrement A. Les hôtes qui ne sont pas en bailliage et / ou pour lesquels le serveur faisant autorité ne fournit pas de colle sont automagiquement résolus et retournés dans le paquet de réponse. Pris en charge à la fois pour talon et instanciations de résolveurs récursifs. Résolution "Smart" est également intégré dans l'info de l'adresse (ce est à dire getaddrinfo ()) API.
Randomisé ports source et QIDS.
Non-blocage, rentrante, getaddrinfo base iterator () Interface: dns_ai_open (), dns_ai_nextent (), dns_ai_close (). Sémantiquement comme getaddrinfo (), mais prend également un type d'enregistrement. Itérer sur (struct addrinfo) les objets, même lors de l'interrogation d'un MX, NS, SRV (et al) hôte. Il ya moins de latence effectuer des requêtes "intelligentes" de cette façon, étant donné que toute la récursivité nécessaire peut être reportée (et selon toute vraisemblance, ne sera pas nécessaire, puisque le premier hôte est vraisemblablement suffisant).

Qu'est est nouveau dans cette version:.

  • Correction d'un bug où dns_srv_print () n'a pas réussi à imprimer un caractère de fuite NUL

Quoi de neuf dans la version 20100813:

  • Ajouter socket.c dans contrib /. Je me sers et de développer ce pour un an ou deux dans les autres projets. Conceptuellement ce est une simple wrapper autour de l'API sockets BSD qui gère les recherches DNS et la négociation SSL transparente et de manière asynchrone.
  • Après avoir créé un socket avec so_open (), l'appelant définit les modes appropriés, par exemple so_connect () et so_starttls (). L'appelant peut alors attendre pour eux de compléter (ils reviendront EAGAIN si nécessaire), ou plus commodément ignorer le résultat et passer directement à tenter lit et écrit. Erreurs des états antérieurs, y compris EAGAIN, seront retournés sur tout lecture ou d'écriture tentatives jusqu'à ce que ces États sont complets.
  • Utiliser so_pollfd () et so_events () tout comme les homologues de dns.c. Ils reviennent, respectivement, les drapeaux de descripteurs et d'événements appropriés en fonction de l'état interne qui se exécute. L'application ne doit se inquiéter de la délivrance des opérations logiques de lecture / écriture.

Quoi de neuf dans la version 20100709:

  • Fix MinGW construire en ajoutant dns_strsep interne () et DNS_ETIMEDOUT.

Ce qui est nouveau dans la version 20100708:

  • Vérifiez la validité de la longueur renvoyée par dns_d_expand () avant passant comme la longueur de source dns_d_cleave () à l'intérieur de dns_hints_query () sinon nous pourrions faire une lecture valide. Merci à Anonyme.
  • Tag rel-20100708 (d493a0f7d8f1d67ef312a7ca3e142660895b32d8).
  • NOTE: Mot de remonter DNS_V_REL pour la libération 20100708, et parce que la nouvelle interface de statistiques était dans le coffre aurait également dû endommager DNS_V_API. Trop tard maintenant.

Quoi de neuf dans la version 20100515:

  • Boucle sur les serveurs de noms resolv.conf: options.attempts fois.
  • Appliquer SPF limites de requête de nom canonique lors de l'exécution des mécanismes MX et PTR.
  • Ajouter dns_p_study () d'apprendre et de gammes de section du magasin.
  • Gardez une trace de l'article varie en dns_p_push ().
  • Refactoriser dns_p_merge () pour améliorer les performances sur les grands paquets.
  • Ajouter dns_p_make () pour malloc'ing et l'initialisation d'un nouveau paquet.
  • Faire respecter les limitations de requête SPF terme. Changé la disposition des spf_limits struct en prévision de l'application de limites sur MX et PTR requêtes d'accueil.
  • Correction d'un bug dans le générateur d'instruction VM pour les indices de saut de plus de 255.

Ce qui est nouveau dans la version 20100416:.

  • Ajout du support SSHFP
  • Tag rel-20100416 (5bd9963e693510e485a1f081f6c98a95d84debfe).
  • taux de passage de 90% sur la suite de tests OpenSPF. Besoin de simuler les délais d'attente pour passer les tests de TempError. Certains des tests de grammaire sont discutables.
  • Ajouté OpenSPF YAML processeur de suite de tests. Nécessite libyaml.

Ce qui est nouveau dans la version 0.5:

  • Correction d'un bug où nous ne avons pas de repli de & quot; bind & quot ; méthode pour & quot; fichier & quot; méthode si le drapeau recurse a été désactivée.
  • générateur de Recherche peut avoir changé l'qname. Ainsi, dans dns_ai_nextent () canoniser l'qname de la réponse, pas le qname initialement soumis au résolveur.

Logiciel similaire

Open DHCP Server
Open DHCP Server

14 Apr 15

afraid
afraid

14 Apr 15

OpenNetAdmin
OpenNetAdmin

12 May 15

Commentaires à dns.c

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!