[Bug 1829284] [NEW] systemd-resolved doesn't support tcp pipelining in b/c
Dan Streetman
dan.streetman at canonical.com
Wed May 15 19:07:02 UTC 2019
Public bug reported:
[impact]
with systemd and resolvconf installed, the /etc/resolv.conf file is
managed by resolvconf, and in bug 1817903 the 'options edns0' option is
stripped from the systemd stub resolv.conf so no 'options edns0' will be
present in /etc/resolv.conf (unless added through other means than the
resolvconf-pull-resolved.service).
However, in b/c the local systemd stub resolver does not support
pipelined TCP dns queries, which glibc does by default when falling back
to TCP dns queries (i.e., glibc will perform both A and AAAA queries
using a single tcp packet, instead of opening separate tcp connections
for each query). This results in glibc's dns queries always failing,
when using TCP. This can be done by adding 'options use-vc' to
/etc/resolv.conf, but also happens in glibc when the dns response does
not fit inside the 512-byte default max, such as for dns A lookups with
a lot of addresses. This is explained in more detail in bug 1811471.
What this means is that systems installed with either b or c, and that
have systemd and resolvconf installed, will experience the problem from
bug 1811471 - they cannot lookup any address where the response exceeds
512 bytes.
[test case]
install a bionic or cosmic system, which will have systemd installed,
and also install resolvconf. You may need to reboot after installing
resolvconf to ensure that /etc/resolv.conf has been updated to remove
the 'options edns0' line. After verifying that line is not in the
/etc/resolv.conf file, the test case from bug 1811471 should fail, or a
simpler one is:
$ ping toomany.ddstreet.org
[regression potential]
any change to systemd and/or resolvconf has a high potential for
regression. more details here TBD.
[other info]
the best way to fix this is to backport tcp pipelining support in
systemd-resolved.
** Affects: systemd (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1829284
Title:
systemd-resolved doesn't support tcp pipelining in b/c
Status in systemd package in Ubuntu:
New
Bug description:
[impact]
with systemd and resolvconf installed, the /etc/resolv.conf file is
managed by resolvconf, and in bug 1817903 the 'options edns0' option
is stripped from the systemd stub resolv.conf so no 'options edns0'
will be present in /etc/resolv.conf (unless added through other means
than the resolvconf-pull-resolved.service).
However, in b/c the local systemd stub resolver does not support
pipelined TCP dns queries, which glibc does by default when falling
back to TCP dns queries (i.e., glibc will perform both A and AAAA
queries using a single tcp packet, instead of opening separate tcp
connections for each query). This results in glibc's dns queries
always failing, when using TCP. This can be done by adding 'options
use-vc' to /etc/resolv.conf, but also happens in glibc when the dns
response does not fit inside the 512-byte default max, such as for dns
A lookups with a lot of addresses. This is explained in more detail
in bug 1811471.
What this means is that systems installed with either b or c, and that
have systemd and resolvconf installed, will experience the problem
from bug 1811471 - they cannot lookup any address where the response
exceeds 512 bytes.
[test case]
install a bionic or cosmic system, which will have systemd installed,
and also install resolvconf. You may need to reboot after installing
resolvconf to ensure that /etc/resolv.conf has been updated to remove
the 'options edns0' line. After verifying that line is not in the
/etc/resolv.conf file, the test case from bug 1811471 should fail, or
a simpler one is:
$ ping toomany.ddstreet.org
[regression potential]
any change to systemd and/or resolvconf has a high potential for
regression. more details here TBD.
[other info]
the best way to fix this is to backport tcp pipelining support in
systemd-resolved.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1829284/+subscriptions
More information about the foundations-bugs
mailing list