Question

Hier encore pendant le débogage mon application Android i compris que chaque fois que la recherche inversée dns est pas possible ma connexion se charge paquet de temps pour initier (environ 20-30 secondes).

i a réussi à limiter la source à l'appel InetAddress.getHostName () (d'où il prend tellement de temps) mais je suis (malheureusement) la moindre idée sur la façon dont je pourrais travailler autour. Je comprends que les connexions SSL sans vérification DNS sont plus sujettes aux attaques MITM; dans ce cas, je préférerais en informer l'utilisateur sur les problèmes plutôt que de lui faire attendre indéfiniment pour l'application de charger et de se connecter. J'ai naviguer sur le dos Web et vient chercher la réponse, je pourrais trouver des moyens de résoudre ce problème en java, mais aucun d'entre eux applique android (au moins je ne pouvais pas le cache InetAddress, ni utiliser des classes alternatives pour résoudre mes noms d'hôtes avec impl la propriété).

est-il possible que je puisse limiter le délai d'attente à des délais d'attente raisonnables (par exemple: 2-3 secondes)? je voudrais enregistrer le temps que je avais besoin de passer des prises de ssl ré-écriture en code natif Android.

merci!

Était-ce utile?

La solution

est (était) liée à un bug dans la glibc essayant de recherche inversée ipv6 noms d'hôte, même si aucune ipv6 interfaces ont été configurées.

le problème et solution sont discutés ici:

https://bugs.launchpad.net/ubuntu/+source / eglibc / + bug / 417757

il devrait fonctionner si fichier / etc / hosts est mis à jour pour couvrir l'adresse IP particulière

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top