From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthias Fischer To: development@lists.ipfire.org Subject: [PATCH] dnsmasq: Update to 2.76test13 with latest patches (001-006) Date: Thu, 05 May 2016 19:54:42 +0200 Message-ID: <1462470882-23696-1-git-send-email-matthias.fischer@ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6150562593293315165==" List-Id: --===============6150562593293315165== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Update from 'dnsmasq 2.76test10' to '2.76test13' Includes latest patches (001-006) from upstream. Signed-off-by: Matthias Fischer --- lfs/dnsmasq | 15 +- ...TL_parameter_to_--host-record_and_--cname.patch | 265 ----------- .../dnsmasq/001-Debian_init_d_script_fix.patch | 74 +++ .../dnsmasq/002-Add_--dhcp-ttl_option.patch | 117 ----- .../dnsmasq/002-Add_--help_to_manpage.patch | 66 +++ ...nd_dhcp_lease_time_to_contrib_lease_tools.patch | 73 +++ src/patches/dnsmasq/003-Update_CHANGELOG.patch | 17 - .../dnsmasq/004-Add_--tftp-mtu_option.patch | 136 ------ ...004-Add_contrib_lease-tools_dhcp_release6.patch | 528 +++++++++++++++++++= ++ ...ease_length_to_TTL_when_--dhcp-ttl_in_use.patch | 37 -- ...am_nameservers_when_logging_configuration.patch | 85 ++++ ..._interface_when_--bridge-interface_in_use.patch | 70 +++ 12 files changed, 904 insertions(+), 579 deletions(-) delete mode 100644 src/patches/dnsmasq/001-Add_TTL_parameter_to_--host-recor= d_and_--cname.patch create mode 100644 src/patches/dnsmasq/001-Debian_init_d_script_fix.patch delete mode 100644 src/patches/dnsmasq/002-Add_--dhcp-ttl_option.patch create mode 100644 src/patches/dnsmasq/002-Add_--help_to_manpage.patch create mode 100644 src/patches/dnsmasq/003-Move_dhcp_release_and_dhcp_lease_= time_to_contrib_lease_tools.patch delete mode 100644 src/patches/dnsmasq/003-Update_CHANGELOG.patch delete mode 100644 src/patches/dnsmasq/004-Add_--tftp-mtu_option.patch create mode 100644 src/patches/dnsmasq/004-Add_contrib_lease-tools_dhcp_rele= ase6.patch delete mode 100644 src/patches/dnsmasq/005-Apply_ceiling_of_lease_length_to_= TTL_when_--dhcp-ttl_in_use.patch create mode 100644 src/patches/dnsmasq/005-Limit_number_of_upstream_nameserv= ers_when_logging_configuration.patch create mode 100644 src/patches/dnsmasq/006-Fix_for_DHCP_in_transmission_inte= rface_when_--bridge-interface_in_use.patch diff --git a/lfs/dnsmasq b/lfs/dnsmasq index 84585c1..feb1789 100644 --- a/lfs/dnsmasq +++ b/lfs/dnsmasq @@ -24,7 +24,7 @@ =20 include Config =20 -VER =3D 2.76test10 +VER =3D 2.76test13 =20 THISAPP =3D dnsmasq-$(VER) DL_FILE =3D $(THISAPP).tar.xz @@ -43,7 +43,7 @@ objects =3D $(DL_FILE) =20 $(DL_FILE) =3D $(DL_FROM)/$(DL_FILE) =20 -$(DL_FILE)_MD5 =3D 4b51474ed6081b18c61407077f254cf7 +$(DL_FILE)_MD5 =3D bb66cef5b41e0cddf8272b0911855568 =20 install : $(TARGET) =20 @@ -73,11 +73,12 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/001-Add_TTL_p= arameter_to_--host-record_and_--cname.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/002-Add_--dhc= p-ttl_option.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/003-Update_CH= ANGELOG.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/004-Add_--tft= p-mtu_option.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/005-Apply_cei= ling_of_lease_length_to_TTL_when_--dhcp-ttl_in_use.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/001-Debian_in= it_d_script_fix.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/002-Add_--hel= p_to_manpage.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/003-Move_dhcp= _release_and_dhcp_lease_time_to_contrib_lease_tools.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/004-Add_contr= ib_lease-tools_dhcp_release6.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/005-Limit_num= ber_of_upstream_nameservers_when_logging_configuration.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/006-Fix_for_D= HCP_in_transmission_interface_when_--bridge-interface_in_use.patch cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq-Add-support-t= o-read-ISC-DHCP-lease-file.patch =20 cd $(DIR_APP) && sed -i src/config.h \ diff --git a/src/patches/dnsmasq/001-Add_TTL_parameter_to_--host-record_and_-= -cname.patch b/src/patches/dnsmasq/001-Add_TTL_parameter_to_--host-record_and= _--cname.patch deleted file mode 100644 index 86fbc9c..0000000 --- a/src/patches/dnsmasq/001-Add_TTL_parameter_to_--host-record_and_--cname.= patch +++ /dev/null @@ -1,265 +0,0 @@ -From df3d54f776a3c9b60735b45c0b7fd88b66a2d5c4 Mon Sep 17 00:00:00 2001 -From: Simon Kelley -Date: Wed, 24 Feb 2016 21:03:38 +0000 -Subject: [PATCH] Add TTL parameter to --host-record and --cname. - ---- - man/dnsmasq.8 | 12 ++++++++++-- - src/cache.c | 7 +++++++ - src/dnsmasq.h | 2 ++ - src/option.c | 46 ++++++++++++++++++++++++++++++++++++++-------- - src/rfc1035.c | 6 +++++- - 5 files changed, 62 insertions(+), 11 deletions(-) - -diff --git a/man/dnsmasq.8 b/man/dnsmasq.8 -index b782eaf..7bc1394 100644 ---- a/man/dnsmasq.8 -+++ b/man/dnsmasq.8 -@@ -529,7 +529,7 @@ zone files: the port, weight and priority numbers are in= a different - order. More than one SRV record for a given service/domain is allowed, - all that match are returned. - .TP --.B --host-record=3D[,....],[],[] -+.B --host-record=3D[,....],[],[][,<= TTL>] - Add A, AAAA and PTR records to the DNS. This adds one or more names to - the DNS with associated IPv4 (A) and IPv6 (AAAA) records. A name may - appear in more than one=20 -@@ -546,6 +546,10 @@ is in effect. Short and long names may appear in the sa= me - .B host-record, - eg.=20 - .B --host-record=3Dlaptop,laptop.thekelleys.org,192.168.0.1,1234::100 -+ -+If the time-to-live is given, it overrides the default, which is zero -+or the value of --local-ttl. The value is a positive integer and gives=20 -+the time-to-live in seconds. - .TP - .B \-Y, --txt-record=3D[[,],] - Return a TXT DNS record. The value of TXT record is a set of strings, -@@ -559,7 +563,7 @@ Return a PTR DNS record. - .B --naptr-record=3D,,,,,[= ,] - Return an NAPTR DNS record, as specified in RFC3403. - .TP --.B --cname=3D, -+.B --cname=3D,[,] - Return a CNAME record which indicates that is really - . There are significant limitations on the target; it must be a - DNS name which is known to dnsmasq from /etc/hosts (or additional -@@ -568,6 +572,10 @@ hosts files), from DHCP, from --interface-name or from = another - If the target does not satisfy this - criteria, the whole cname is ignored. The cname must be unique, but it - is permissable to have more than one cname pointing to the same target. -+ -+If the time-to-live is given, it overrides the default, which is zero -+or the value of -local-ttl. The value is a positive integer and gives=20 -+the time-to-live in seconds. - .TP - .B --dns-rr=3D,,[] - Return an arbitrary DNS Resource Record. The number is the type of the -diff --git a/src/cache.c b/src/cache.c -index a9eaa65..4ecd535 100644 ---- a/src/cache.c -+++ b/src/cache.c -@@ -778,6 +778,7 @@ static void add_hosts_cname(struct crec *target) - (crec =3D whine_malloc(sizeof(struct crec)))) - { - crec->flags =3D F_FORWARD | F_IMMORTAL | F_NAMEP | F_CONFIG | F_CNAME; -+ crec->ttd =3D a->ttl; - crec->name.namep =3D a->alias; - crec->addr.cname.target.cache =3D target; - crec->addr.cname.uid =3D target->uid; -@@ -981,6 +982,7 @@ int read_hostsfile(char *filename, unsigned int index, i= nt cache_size, struct cr - strcat(cache->name.sname, "."); - strcat(cache->name.sname, domain_suffix); - cache->flags =3D flags; -+ cache->ttd =3D daemon->local_ttl; - add_hosts_entry(cache, &addr, addrlen, index, rhash, hashsz); - name_count++; - } -@@ -988,6 +990,7 @@ int read_hostsfile(char *filename, unsigned int index, i= nt cache_size, struct cr - { - strcpy(cache->name.sname, canon); - cache->flags =3D flags; -+ cache->ttd =3D daemon->local_ttl; - add_hosts_entry(cache, &addr, addrlen, index, rhash, hashsz); - name_count++; - } -@@ -1057,6 +1060,7 @@ void cache_reload(void) - ((cache =3D whine_malloc(sizeof(struct crec))))) - { - cache->flags =3D F_FORWARD | F_NAMEP | F_CNAME | F_IMMORTAL | F_CONFIG; -+ cache->ttd =3D a->ttl; - cache->name.namep =3D a->alias; - cache->addr.cname.target.int_name =3D intr; - cache->addr.cname.uid =3D SRC_INTERFACE; -@@ -1071,6 +1075,7 @@ void cache_reload(void) - (cache->addr.ds.keydata =3D blockdata_alloc(ds->digest, ds->digestlen))) - { - cache->flags =3D F_FORWARD | F_IMMORTAL | F_DS | F_CONFIG | F_NAMEP; -+ cache->ttd =3D daemon->local_ttl; - cache->name.namep =3D ds->name; - cache->addr.ds.keylen =3D ds->digestlen; - cache->addr.ds.algo =3D ds->algo; -@@ -1095,6 +1100,7 @@ void cache_reload(void) - (cache =3D whine_malloc(sizeof(struct crec)))) - { - cache->name.namep =3D nl->name; -+ cache->ttd =3D hr->ttl; - cache->flags =3D F_HOSTS | F_IMMORTAL | F_FORWARD | F_REVERSE | F_IPV4= | F_NAMEP | F_CONFIG; - add_hosts_entry(cache, (struct all_addr *)&hr->addr, INADDRSZ, SRC_CON= FIG, (struct crec **)daemon->packet, revhashsz); - } -@@ -1103,6 +1109,7 @@ void cache_reload(void) - (cache =3D whine_malloc(sizeof(struct crec)))) - { - cache->name.namep =3D nl->name; -+ cache->ttd =3D hr->ttl; - cache->flags =3D F_HOSTS | F_IMMORTAL | F_FORWARD | F_REVERSE | F_IPV6= | F_NAMEP | F_CONFIG; - add_hosts_entry(cache, (struct all_addr *)&hr->addr6, IN6ADDRSZ, SRC_C= ONFIG, (struct crec **)daemon->packet, revhashsz); - } -diff --git a/src/dnsmasq.h b/src/dnsmasq.h -index 6d1c5ae..6344df5 100644 ---- a/src/dnsmasq.h -+++ b/src/dnsmasq.h -@@ -308,6 +308,7 @@ struct ptr_record { - }; -=20 - struct cname { -+ int ttl; - char *alias, *target; - struct cname *next; - };=20 -@@ -344,6 +345,7 @@ struct auth_zone { -=20 -=20 - struct host_record { -+ int ttl; - struct name_list { - char *name; - struct name_list *next; -diff --git a/src/option.c b/src/option.c -index c98bdc9..7c5e6bc 100644 ---- a/src/option.c -+++ b/src/option.c -@@ -448,20 +448,20 @@ static struct { - { LOPT_GEN_NAMES, ARG_DUP, "[=3Dtag:]", gettext_noop("Generate hostn= ames based on MAC address for nameless clients."), NULL}, - { LOPT_PROXY, ARG_DUP, "[=3D]...", gettext_noop("Use these DHCP r= elays as full proxies."), NULL }, - { LOPT_RELAY, ARG_DUP, ",[,]", gettext_noo= p("Relay DHCP requests to a remote server"), NULL}, -- { LOPT_CNAME, ARG_DUP, ",", gettext_noop("Specify alias na= me for LOCAL DNS name."), NULL }, -+ { LOPT_CNAME, ARG_DUP, ",[,]", gettext_noop("Specify = alias name for LOCAL DNS name."), NULL }, - { LOPT_PXE_PROMT, ARG_DUP, ",[]", gettext_noop("Prompt t= o send to PXE clients."), NULL }, - { LOPT_PXE_SERV, ARG_DUP, "", gettext_noop("Boot service for PXE= menu."), NULL }, - { LOPT_TEST, 0, NULL, gettext_noop("Check configuration syntax."), NULL }, - { LOPT_ADD_MAC, ARG_DUP, "[=3Dbase64|text]", gettext_noop("Add requestor'= s MAC address to forwarded DNS queries."), NULL }, - { LOPT_ADD_SBNET, ARG_ONE, "[,]", gettext_noop("Add spe= cified IP subnet to forwarded DNS queries."), NULL }, -- { LOPT_CPE_ID, ARG_ONE, "", gettext_noop("Add client identificatio= n to forwarded DNS queries."), NULL }, -+ { LOPT_CPE_ID, ARG_ONE, "", gettext_noop("Add client identification= to forwarded DNS queries."), NULL }, - { LOPT_DNSSEC, OPT_DNSSEC_PROXY, NULL, gettext_noop("Proxy DNSSEC validat= ion results from upstream nameservers."), NULL }, - { LOPT_INCR_ADDR, OPT_CONSEC_ADDR, NULL, gettext_noop("Attempt to allocat= e sequential IP addresses to DHCP clients."), NULL }, - { LOPT_CONNTRACK, OPT_CONNTRACK, NULL, gettext_noop("Copy connection-trac= k mark from queries to upstream connections."), NULL }, - { LOPT_FQDN, OPT_FQDN_UPDATE, NULL, gettext_noop("Allow DHCP clients to d= o their own DDNS updates."), NULL }, - { LOPT_RA, OPT_RA, NULL, gettext_noop("Send router-advertisements for int= erfaces doing DHCPv6"), NULL }, - { LOPT_DUID, ARG_ONE, ",", gettext_noop("Specify DUID_E= N-type DHCPv6 server DUID"), NULL }, -- { LOPT_HOST_REC, ARG_DUP, ",
", gettext_noop("Specify host = (A/AAAA and PTR) records"), NULL }, -+ { LOPT_HOST_REC, ARG_DUP, ",
[,]", gettext_noop("Speci= fy host (A/AAAA and PTR) records"), NULL }, - { LOPT_RR, ARG_DUP, ",,[]", gettext_noop("Specify = arbitrary DNS resource record"), NULL }, - { LOPT_CLVERBIND, OPT_CLEVERBIND, NULL, gettext_noop("Bind to interfaces = in use - check for new interfaces"), NULL }, - { LOPT_AUTHSERV, ARG_ONE, ",", gettext_noop("Export local = names to global DNS"), NULL }, -@@ -3692,12 +3692,15 @@ static int one_opt(int option, char *arg, char *errs= tr, char *gen_err, int comma - case LOPT_CNAME: /* --cname */ - { - struct cname *new; -- char *alias; -- char *target; -+ char *alias, *target, *ttls; -+ int ttl =3D -1; -=20 - if (!(comma =3D split(arg))) - ret_err(gen_err); - =09 -+ if ((ttls =3D split(comma)) && !atoi_check(ttls, &ttl)) -+ ret_err(_("bad TTL")); -+=09 - alias =3D canonicalise_opt(arg); - target =3D canonicalise_opt(comma); - =20 -@@ -3713,6 +3716,7 @@ static int one_opt(int option, char *arg, char *errstr= , char *gen_err, int comma - daemon->cnames =3D new; - new->alias =3D alias; - new->target =3D target; -+ new->ttl =3D ttl; - } - =20 - break; -@@ -3913,14 +3917,22 @@ static int one_opt(int option, char *arg, char *errs= tr, char *gen_err, int comma - { - struct host_record *new =3D opt_malloc(sizeof(struct host_record)); - memset(new, 0, sizeof(struct host_record)); --=09 -+ new->ttl =3D -1; -+ - if (!arg || !(comma =3D split(arg))) - ret_err(_("Bad host-record")); - =09 - while (arg) - { - struct all_addr addr; -- if (inet_pton(AF_INET, arg, &addr)) -+ char *dig; -+ -+ for (dig =3D arg; *dig !=3D 0; dig++) -+ if (*dig < '0' || *dig > '9') -+ break; -+ if (*dig =3D=3D 0) -+ new->ttl =3D atoi(arg); -+ else if (inet_pton(AF_INET, arg, &addr)) - new->addr =3D addr.addr.addr4; - #ifdef HAVE_IPV6 - else if (inet_pton(AF_INET6, arg, &addr)) -@@ -4601,7 +4613,25 @@ void read_opts(int argc, char **argv, char *compile_o= pts) - } - }=20 - } -- =20 -+ -+ if (daemon->host_records) -+ { -+ struct host_record *hr; -+ =20 -+ for (hr =3D daemon->host_records; hr; hr =3D hr->next) -+ if (hr->ttl =3D=3D -1) -+ hr->ttl =3D daemon->local_ttl; -+ } -+ -+ if (daemon->cnames) -+ { -+ struct cname *cn; -+ =20 -+ for (cn =3D daemon->cnames; cn; cn =3D cn->next) -+ if (cn->ttl =3D=3D -1) -+ cn->ttl =3D daemon->local_ttl; -+ } -+ - if (daemon->if_addrs) - { =20 - struct iname *tmp; -diff --git a/src/rfc1035.c b/src/rfc1035.c -index 9c0ddb5..3535a71 100644 ---- a/src/rfc1035.c -+++ b/src/rfc1035.c -@@ -1169,9 +1169,13 @@ static unsigned long crec_ttl(struct crec *crecp, tim= e_t now) - /* Return 0 ttl for DHCP entries, which might change - before the lease expires. */ -=20 -- if (crecp->flags & (F_IMMORTAL | F_DHCP)) -+ if (crecp->flags & F_DHCP) - return daemon->local_ttl; - =20 -+ /* Immortal entries other than DHCP are local, and hold TTL in TTD field.= */ -+ if (crecp->flags & F_IMMORTAL) -+ return crecp->ttd; -+ - /* Return the Max TTL value if it is lower then the actual TTL */ - if (daemon->max_ttl =3D=3D 0 || ((unsigned)(crecp->ttd - now) < daemon->m= ax_ttl)) - return crecp->ttd - now; ---=20 -1.7.10.4 - diff --git a/src/patches/dnsmasq/001-Debian_init_d_script_fix.patch b/src/pat= ches/dnsmasq/001-Debian_init_d_script_fix.patch new file mode 100644 index 0000000..86d0480 --- /dev/null +++ b/src/patches/dnsmasq/001-Debian_init_d_script_fix.patch @@ -0,0 +1,74 @@ +From 332c41e2ff533649dc48b6bab00804d795f348f5 Mon Sep 17 00:00:00 2001 +From: Simon Kelley +Date: Sun, 1 May 2016 22:36:46 +0100 +Subject: [PATCH] Debian init.d script fix. + +--- + debian/changelog | 8 +++++--- + debian/init | 14 +++++++------- + 2 files changed, 12 insertions(+), 10 deletions(-) + +diff --git a/debian/changelog b/debian/changelog +index e727406..8a0341c 100644 +--- a/debian/changelog ++++ b/debian/changelog +@@ -3,19 +3,21 @@ dnsmasq (2.76-1) unstable; urgency=3Dlow + * New upstream. (closes: #798586) + * Use /run/dnsmasq directly, rather than relying on link from /var/run + to avoid problems before /var is mounted. (closes: #800351) +-=09 ++ * Test for the existance of /usr/share/doc/dnsmasq rather then ++ /etc/dnsmasq.d/README in the daemon startup script. (closes: #819856) ++ + -- Simon Kelley Thur, 10 Sep 2015 23:07:21 +0= 000 +=20 + dnsmasq (2.75-1) unstable; urgency=3Dlow +=20 + * New upstream. (closes: #794095) +-=09 ++ + -- Simon Kelley Thur, 30 Jul 2015 20:58:31 +0= 000 +=20 + dnsmasq (2.74-1) unstable; urgency=3Dlow +=20 + * New upstream. (LP: #1468611) +-=09 ++ + -- Simon Kelley Wed, 15 Jul 2015 21:54:11 +00= 00 +=20 + dnsmasq (2.73-2) unstable; urgency=3Dlow +diff --git a/debian/init b/debian/init +index 6afe191..10b277c 100644 +--- a/debian/init ++++ b/debian/init +@@ -8,7 +8,8 @@ + # Description: DHCP and DNS server + ### END INIT INFO +=20 +-set +e # Don't exit on error status ++# Don't exit on error status ++set +e +=20 + PATH=3D/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin + DAEMON=3D/usr/sbin/dnsmasq +@@ -29,12 +30,11 @@ if [ -r /etc/default/locale ]; then + export LANG + fi +=20 +-# /etc/dnsmasq.d/README is a non-conffile installed by the dnsmasq package. +-# Should the dnsmasq package be removed, the following test ensures that +-# the daemon is no longer started, even if the dnsmasq-base package is +-# still in place. +-test -e /etc/dnsmasq.d/README || exit 0 +- ++# The following test ensures the dnsmasq service is not started, when the ++# package 'dnsmasq' is removed but not purged, even if the dnsmasq-base=20 ++# package is still in place. ++test -d /usr/share/doc/dnsmasq || exit 0 ++=20 + test -x $DAEMON || exit 0 +=20 + # Provide skeleton LSB log functions for backports which don't have LSB fun= ctions. +--=20 +2.5.5 + diff --git a/src/patches/dnsmasq/002-Add_--dhcp-ttl_option.patch b/src/patche= s/dnsmasq/002-Add_--dhcp-ttl_option.patch deleted file mode 100644 index 45e3b9b..0000000 --- a/src/patches/dnsmasq/002-Add_--dhcp-ttl_option.patch +++ /dev/null @@ -1,117 +0,0 @@ -From 832e47beab95c2918b5264f0504f2fe6fe523e4c Mon Sep 17 00:00:00 2001 -From: Simon Kelley -Date: Wed, 24 Feb 2016 21:24:45 +0000 -Subject: [PATCH] Add --dhcp-ttl option. - ---- - man/dnsmasq.8 | 5 ++++- - src/dnsmasq.h | 2 +- - src/option.c | 13 +++++++++++-- - src/rfc1035.c | 2 +- - 4 files changed, 17 insertions(+), 5 deletions(-) - -diff --git a/man/dnsmasq.8 b/man/dnsmasq.8 -index 7bc1394..2bcce20 100644 ---- a/man/dnsmasq.8 -+++ b/man/dnsmasq.8 -@@ -60,7 +60,7 @@ in the same way as for DHCP-derived names. Note that this = does not - apply to domain names in cnames, PTR records, TXT records etc. - .TP - .B \-T, --local-ttl=3D