[OpenVPN home] [Date Prev] [Date Index] [Date Next]
[OpenVPN mailing lists] [Thread Prev] [Thread Index] [Thread Next]
Google
 
Web openvpn.net

Re: [Openvpn-users] BUG in DNS resolving..... + ZEBRA/OSPF and OPENVPN


  • Subject: Re: [Openvpn-users] BUG in DNS resolving..... + ZEBRA/OSPF and OPENVPN
  • From: Erich Titl <erich.titl@xxxxxxxx>
  • Date: Thu, 12 May 2005 09:04:50 +0000

Bartlomiej Solarz-Niesluchowski wrote:

At 23:01 2005-05-11, you wrote:

Bartlomiej Solarz-Niesluchowski wrote:

Good Morning!
I want to CONFIRM the BUG in openvpn and DNS resolving:
http://openvpn.net/archive/openvpn-users/2005-04/msg00229.html - on my router ADSL connection needs some time to be up, when openvpn starts BEFORE internet connection (I have /etc/resolv.conf be made from DHCP ADSL connection) it try to resolve hostname of the other end of the OPENVPN tunnel infinite try to resolv DNS name without success.....
(naturally after succesfully established ADSL connection resolving thu system work, but openvpn tries infinite without success).


Is this typical for OpenVPN or for anything that uses the resolver library?


resolver library works - command host resolves FQDN - it is only OpenVPN

The host command is of course a single instance which is terminated and reloads the resolver code at each invocation.


I looked in socket.c I believe it will retry for quite some time, possibly configurable.

     /*
      * Resolve hostname
      */
      while (true)
       {
         /* try hostname lookup */
         h = gethostbyname (hostname);

if (signal_received)
{
get_signal (signal_received);
if (*signal_received) /* were we interrupted by a signal? */
{
h = NULL;
if (*signal_received == SIGUSR1) /* ignore SIGUSR1 */
{
msg (level, "RESOLVE: Ignored SIGUSR1 signal received during DNS resolution attempt");
*signal_received = 0;
}
else
goto done;
}
}
/* success? */
if (h)
break;


         /* resolve lookup failed, should we
            continue or fail? */

         level = msglevel;
         if (resolve_retries > 0)
           level = D_RESOLVE_ERRORS;

         msg (level,
              fmt,
              hostname,
              h_errno_msg (h_errno));

         if (--resolve_retries <= 0)
           goto done;

         openvpn_sleep (fail_wait_interval);
       }

cheers

Erich

____________________________________________
Openvpn-users mailing list
Openvpn-users@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/openvpn-users