]> git.ipfire.org Git - thirdparty/systemd.git/commit
resolved,nss-myhostname: use _gateway for the gateway
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 11 Jul 2017 06:15:08 +0000 (02:15 -0400)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 31 Jul 2017 18:41:56 +0000 (14:41 -0400)
commit5248e7e1f11aba6859de0b28f0dd3778b22842f2
tree62143442856913034994562e5d2597ebba7f76a8
parent0926f3489dbc93a2e91ec8607a0ceb5d4d8a53e3
resolved,nss-myhostname: use _gateway for the gateway

This changes the symbolic name for the default gateway from "gateway" to
"_gateway". A new configuration option -Dcompat-gateway-hostname=true|false
is added. If it is set, the old name is also supported, but the new name
is used as the canonical name in either case. This is intended as a temporary
measure to make the transition easier, and the option should be removed
after a few releases, at which point only the new name will be used.

The old "gateway" name mostly works OK, but hasn't gained widespread acceptance
because of the following (potential) conflicts:
- it is completely legal to have a host called "gateway"
- there is no guarantee that "gateway" will not be registered as a TLD, even
  though this currently seems unlikely. (Even then, there would be no
  conflict except for the case when the top-level domain itself was being resolved.
  The "gateway" or "_gateway" labels have only special meaning when the
  whole name consists of a single label, so resolution of any subdomain
  of the hypothetical gateway. TLD would still work OK. )
Moving to "_gateway" avoids those issues because underscores are not allowed
in host names (RFC 1123, §2.1) and avoids potential conflicts with local or
global names.

v2:
- simplify the logic to hardcode "_gateway" and allow
  -Dcompat-gateway-hostname=true as a temporary measure.
meson.build
meson_options.txt
src/basic/hostname-util.c
src/nss-myhostname/nss-myhostname.c
src/resolve/resolved-dns-synthesize.c
src/test/test-nss.c