Hallo,
* Antoine Beaupré [Sun, Oct 13 2019, 09:32:49AM]:
> > a) get all DNS records like ATM
> > b) filter to IPv4 or IPv6 or both (depending on user preference in 
> > <ConnectProto> setting)
> > c) auto-sort the list so that the first entry is v4 or v6 (depending on 
> > <ConnectProto> preference) and the following ones are alternativing
> > d) start connecting on the first entry
> > e) when nothing happened after N seconds, start a second connection attempt 
> > in parallel (using the second address, which is of different family then)
> > f) if the second background connect attmpt fails after N, abort it, try the 
> > next DNS entry in the sequence, etc. etc. (while the first connect attempt 
> > is still ongoing, until <NetworkTimeout> seconds is reached)
> >
> > Questions:
> >
> > a) do you consider this reasonable enough?
>
> That seems reasonable, and actually pretty close to RFC8305.
>
> > b) would you like to become a tester for this, in case you can reproduce
> > this regularly? (I can fake the test case but nothing beats the real
> > thing)
>
> I can try! it can take up to a month for this situation to occur and I
> haven't tried reproducing it manually, but I'm definitely happy to help.

Well, I am sorry for the delay. The idea was to get it done ASAP but
it's not as easy as it seemed and I am short on spare time. I wanted to
release a fixed version a week ago but I found more and more issues with
legacy code. OTOH I think those issues has existed for years and nobody
really noticed and my stress tests were not tense enough.

So, the only thing I can offer ATM is a snapshot of unfinished version 3.3.

I believe that this is the best version of apt-cacher-ng since 2014 but
it still has a couple issues which I need to fix prior to release. And
this will take some time. For now, feel free to build it from salsa
("fakeroot debian/rules binary" on the debian/experimental branch) or
take a binary build from
https://www.unix-ag.uni-kl.de/~bloch/acng/snap3.3/ . Receiving some
feedback would be good, but I will first prepare a release to
experimental anyway.

Changelogs:

  * Make errors on purging of cache folder non-fatal (closes: #915082)
  * Recommends: ca-certificates (closes: #926282)

  [ POSSIBLY BREAKING CHANGES ]
  * the setting of cachedir and logdir in the built-in defaults is now
    configurable at build time (-DACNG_CACHE_DIR=... -DACNG_LOG_DIR=...)
    and this settings are also propagated into generated configuration examples
  * Dropping support for CMake prior to v3.1, dropped most custom variables
    for target locations, now relying on public CMake variables from
    GNUInstallDirs module; for details, see
    https://cmake.org/cmake/help/v3.2/module/GNUInstallDirs.html
  * Dropping support for OpenSSL before 1.0.2

  [ FEATURES AND IMPROVEMENTS ]
  * Change of default network timeout to 40 seconds
  * Alternative fallback scheme for non-primary target connection attempts
    (with default timeout value of 4s, see FastTimeout setting). By default,
    this should help with unstable (blocking) IPv6 routing where IPv4 is still
    operational (Debian bug #942122)
  * Refactored DNS resolution&caching code, potential fix of rate connection
    problems
  * RequiresMountsFor directive in systemd service file example with
    additional remarks on keeping this in sync with the config (as in Debian
    bug #929035 and partly suggested in #942355)
  * PFilePattern extensions for Fedora 29 and 30, by Alan Jenkins, Debian
    bug #928270 (thanks!)
  * VFilePattern extension for Centos8, by Andy Lowther, Debian bug #944143
    (thanks!)
  * added very explicit explanation on what "default value" means in the
    acng.conf example (Debian bug #855995) and also how to print it
    (with acngtool, Debian bug #914746)
  * Mirror database update
  * Configurable timeout for forced client disconnect on the last portion of
    data

  [ BUGFIXES ]
  * increased size of the decompression line buffer for config file reading
    (Debian bug #942634)
  * fixes potential data race in DNS resolution
  * Typo in INSTALL file (Debian bug #913593)
  * In Arch Linux database mirror list, rewrite https URLs to http since the
    official JSON query only returns https versions, also add a different
    source (from Debian bug #942844)
  * Generation of Sourceforge mirror redirectors list is fixed
  * Fixed an ancient bug where there last answered request might have been
    delayed in processing due to incorrect selection of MSG_MORE flag
  * Potential crash on shutdown prevented (misordered destructor sequence)

  [ INTERNAL REFACTORING ]
  * Overhauling code deployment, using a shared library (reducing installed
    file size by up to 20%)
  * dropped rfc2553emu code from old APT, using the platform abstraction from
    libevent instead
  * partial redesign for more singlethreaded IO operation
  * Disabled LTO by default, still crashing gold linker with certain option
    combinations
  * Moved lingering on CLOSE_WAIT sockets to the single main thread

Best regards,
Eduard.

Reply via email to