Subject: GEVENT_RESOLVER=ares should be preferred

From: Mike Gabriel <[email-masked]>
Date: Fri, 29 Aug 2014 14:21:52 +0000

Package: python-x2go
Severity: important

Since python-gevent 1.0 gevent fails to detect DNS changes (e.g. when  
connecting to a VPN server).

 From http://gevent.org/whatsnew_1_0.html :

"""
New dns resolver

Two new DNS resolvers: threadpool-based one (enabled by default) and  
c-ares based one. That threadpool-based resolver was added mostly for  
Windows and Mac OS X platforms where c-ares might behave differently  
w.r.t system configuration. On Linux, however, the c-ares based  
resolver is probably a better choice. To enable c-ares resolver set  
GEVENT_RESOLVER=ares environment variable.

This fixes some major issues with DNS on 0.13.x, namely:

     Issue #2: DNS resolver no longer breaks after fork(). You still  
need to call gevent.fork() (os.fork is monkey patched with it if  
monkey.patch_all() was called).
     DNS resolver no longer ignores /etc/resolv.conf and /etc/hosts.

The following functions were added to socket module:

     gethostbyname_ex
     getnameinfo
     gethostbyaddr
     getfqdn

It is possible to implement your own DNS resolver and make gevent use  
it. The GEVENT_RESOLVER variable can point to alternative  
implementation using the format: package.module.class. The default is  
gevent.resolver_thread.Resolver. The alternative “ares” resolver is an  
alias for gevent.resolver_ares.Resolver.
"""

Thus: we need to enforce setting of env variable GEVENT_RESOLVER=ares  
in Python X2Go.

Mike
-- 

DAS-NETZWERKTEAM
mike gabriel, herweg 7, 24357 fleckeby
fon: +49 (1520) 1976 148

GnuPG Key ID 0x25771B31
mail: [email-masked], http://das-netzwerkteam.de

freeBusy:
https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xfb