[pkg-dhcp-devel] Bug#860928: dnssec-trigger + isc-dhcp-client: /etc/ being cluttered with tons of resolv.conf.dhclient-new.* files

Axel Beckert abe at debian.org
Sat Apr 22 00:26:59 UTC 2017


Package: dnssec-trigger,isc-dhcp-client
Version: dnssec-trigger/0.13-6
Version: isc-dhcp-client/4.3.5-3
Severity: important

Dear dnssec-trigger and ISC DHCP maintainers,

for at least a few weeks now (maybe longer), systems, which have
dnssec-trigger installed together with isc-dhcp-client, get cluttered
with one resolv.conf.dhclient-new.* file per DHCP response in /etc/ as
dnssec-trigger uses chattr to make /etc/resolv.conf immutable and hence
making sure noone else overwrites /etc/resolv.conf (see also #776776 and
#776778).

But since recently (don't know since when exactly) dhclient seems to no
more just overwrite /etc/resolv.conf directly but first creates a
supposed to be temporary /etc/resolv.conf.dhclient-new.$pid file and
then moves it to /etc/resolv.conf (probably to avoid some race
condition). But it seems no more clean up those files if the renaming
fails.

IMHO dhclient should clean up these files in case the renaming
fails. But I can also understand if someone argues that
dnssec-triggerd's methods are too radical and unusual so that other
programs can't be expected to handle such exotic cases.

So I'm not sure which package should be fixed, but at least one of them
should be fixed to not clutter /etc/. And I'd be happy if this could be
fixed even for Stretch.

I can imagine multiple potential ways to fix this:

* dhclient remove /etc/resolv.conf.dhclient-new.$pid again, if the
  renaming failed.

* dhclient prepares resolv.conf.dhclient-new.$pid not in /etc/ but in
  /tmp/. There it's far less annoying if the directory is cluttered with
  small files and those files would be usually cleaned up at
  reboot. (Disavantage: The renaming is often a move from one file
  system to another -- which might not be wanted.)

* dnssec-triggerd cleans up those files, either time-based or
  event-based.

Example files as found on one of my systems in /etc/:

/etc $ ls resolv.conf.dhclient-new.*
resolv.conf.dhclient-new.10093  resolv.conf.dhclient-new.24190
resolv.conf.dhclient-new.10237  resolv.conf.dhclient-new.24468
resolv.conf.dhclient-new.10240  resolv.conf.dhclient-new.24625
resolv.conf.dhclient-new.10354  resolv.conf.dhclient-new.24696
resolv.conf.dhclient-new.1040   resolv.conf.dhclient-new.24892
resolv.conf.dhclient-new.1044   resolv.conf.dhclient-new.25138
resolv.conf.dhclient-new.10445  resolv.conf.dhclient-new.25671
resolv.conf.dhclient-new.10538  resolv.conf.dhclient-new.25907
resolv.conf.dhclient-new.1083   resolv.conf.dhclient-new.25947
resolv.conf.dhclient-new.10878  resolv.conf.dhclient-new.26515
resolv.conf.dhclient-new.11028  resolv.conf.dhclient-new.26989
resolv.conf.dhclient-new.11087  resolv.conf.dhclient-new.27046
resolv.conf.dhclient-new.1117   resolv.conf.dhclient-new.27113
resolv.conf.dhclient-new.11401  resolv.conf.dhclient-new.27293
resolv.conf.dhclient-new.11537  resolv.conf.dhclient-new.27323
resolv.conf.dhclient-new.11668  resolv.conf.dhclient-new.27413
resolv.conf.dhclient-new.11755  resolv.conf.dhclient-new.27613
resolv.conf.dhclient-new.12184  resolv.conf.dhclient-new.27957
resolv.conf.dhclient-new.12438  resolv.conf.dhclient-new.27971
resolv.conf.dhclient-new.12576  resolv.conf.dhclient-new.28008
resolv.conf.dhclient-new.12677  resolv.conf.dhclient-new.28561
resolv.conf.dhclient-new.1291   resolv.conf.dhclient-new.2862
resolv.conf.dhclient-new.12956  resolv.conf.dhclient-new.28736
resolv.conf.dhclient-new.12991  resolv.conf.dhclient-new.28793
resolv.conf.dhclient-new.13251  resolv.conf.dhclient-new.28808
resolv.conf.dhclient-new.13265  resolv.conf.dhclient-new.28816
resolv.conf.dhclient-new.13299  resolv.conf.dhclient-new.28846
resolv.conf.dhclient-new.13310  resolv.conf.dhclient-new.2896
resolv.conf.dhclient-new.13334  resolv.conf.dhclient-new.28988
resolv.conf.dhclient-new.1334   resolv.conf.dhclient-new.2910
resolv.conf.dhclient-new.1344   resolv.conf.dhclient-new.29101
resolv.conf.dhclient-new.13472  resolv.conf.dhclient-new.29225
resolv.conf.dhclient-new.13730  resolv.conf.dhclient-new.29371
resolv.conf.dhclient-new.13896  resolv.conf.dhclient-new.29597
resolv.conf.dhclient-new.13950  resolv.conf.dhclient-new.29803
resolv.conf.dhclient-new.14031  resolv.conf.dhclient-new.30016
resolv.conf.dhclient-new.14214  resolv.conf.dhclient-new.30190
resolv.conf.dhclient-new.14270  resolv.conf.dhclient-new.30291
resolv.conf.dhclient-new.14662  resolv.conf.dhclient-new.30464
resolv.conf.dhclient-new.14695  resolv.conf.dhclient-new.30583
resolv.conf.dhclient-new.14873  resolv.conf.dhclient-new.30980
resolv.conf.dhclient-new.15120  resolv.conf.dhclient-new.31030
resolv.conf.dhclient-new.15142  resolv.conf.dhclient-new.31543
resolv.conf.dhclient-new.15267  resolv.conf.dhclient-new.3165
resolv.conf.dhclient-new.15521  resolv.conf.dhclient-new.31899
resolv.conf.dhclient-new.15922  resolv.conf.dhclient-new.32222
resolv.conf.dhclient-new.15964  resolv.conf.dhclient-new.32708
resolv.conf.dhclient-new.16095  resolv.conf.dhclient-new.3274
resolv.conf.dhclient-new.16435  resolv.conf.dhclient-new.3294
resolv.conf.dhclient-new.16568  resolv.conf.dhclient-new.3450
resolv.conf.dhclient-new.1660   resolv.conf.dhclient-new.3507
resolv.conf.dhclient-new.16603  resolv.conf.dhclient-new.4054
resolv.conf.dhclient-new.16697  resolv.conf.dhclient-new.4087
resolv.conf.dhclient-new.16796  resolv.conf.dhclient-new.4492
resolv.conf.dhclient-new.1710   resolv.conf.dhclient-new.4506
resolv.conf.dhclient-new.17263  resolv.conf.dhclient-new.4515
resolv.conf.dhclient-new.17341  resolv.conf.dhclient-new.4564
resolv.conf.dhclient-new.17370  resolv.conf.dhclient-new.471
resolv.conf.dhclient-new.17771  resolv.conf.dhclient-new.4926
resolv.conf.dhclient-new.18331  resolv.conf.dhclient-new.5066
resolv.conf.dhclient-new.18361  resolv.conf.dhclient-new.514
resolv.conf.dhclient-new.18524  resolv.conf.dhclient-new.5405
resolv.conf.dhclient-new.18761  resolv.conf.dhclient-new.5652
resolv.conf.dhclient-new.18971  resolv.conf.dhclient-new.5722
resolv.conf.dhclient-new.19216  resolv.conf.dhclient-new.5813
resolv.conf.dhclient-new.19279  resolv.conf.dhclient-new.5912
resolv.conf.dhclient-new.19337  resolv.conf.dhclient-new.6112
resolv.conf.dhclient-new.19497  resolv.conf.dhclient-new.626
resolv.conf.dhclient-new.19521  resolv.conf.dhclient-new.6314
resolv.conf.dhclient-new.19668  resolv.conf.dhclient-new.6436
resolv.conf.dhclient-new.19783  resolv.conf.dhclient-new.6562
resolv.conf.dhclient-new.19797  resolv.conf.dhclient-new.6563
resolv.conf.dhclient-new.20012  resolv.conf.dhclient-new.6641
resolv.conf.dhclient-new.20067  resolv.conf.dhclient-new.6712
resolv.conf.dhclient-new.20251  resolv.conf.dhclient-new.6814
resolv.conf.dhclient-new.20352  resolv.conf.dhclient-new.6874
resolv.conf.dhclient-new.20542  resolv.conf.dhclient-new.7027
resolv.conf.dhclient-new.20770  resolv.conf.dhclient-new.7244
resolv.conf.dhclient-new.20957  resolv.conf.dhclient-new.7629
resolv.conf.dhclient-new.21064  resolv.conf.dhclient-new.7688
resolv.conf.dhclient-new.21190  resolv.conf.dhclient-new.7689
resolv.conf.dhclient-new.2151   resolv.conf.dhclient-new.8411
resolv.conf.dhclient-new.21533  resolv.conf.dhclient-new.8419
resolv.conf.dhclient-new.21769  resolv.conf.dhclient-new.8589
resolv.conf.dhclient-new.21960  resolv.conf.dhclient-new.8606
resolv.conf.dhclient-new.22580  resolv.conf.dhclient-new.8680
resolv.conf.dhclient-new.22706  resolv.conf.dhclient-new.9221
resolv.conf.dhclient-new.22792  resolv.conf.dhclient-new.9380
resolv.conf.dhclient-new.22835  resolv.conf.dhclient-new.9425
resolv.conf.dhclient-new.2294   resolv.conf.dhclient-new.9494
resolv.conf.dhclient-new.23628  resolv.conf.dhclient-new.9799
resolv.conf.dhclient-new.23736  resolv.conf.dhclient-new.9820
resolv.conf.dhclient-new.24093
/etc $

-- System Information:
Debian Release: 9.0
  APT prefers unstable
  APT policy: (990, 'unstable'), (600, 'testing'), (500, 'unstable-debug'), (500, 'buildd-unstable'), (110, 'experimental'), (1, 'experimental-debug'), (1, 'buildd-experimental')
Architecture: amd64
 (x86_64)

Kernel: Linux 4.9.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages dnssec-trigger depends on:
ii  gir1.2-networkmanager-1.0  1.6.2-3
ii  init-system-helpers        1.47
ii  libc6                      2.24-10
ii  libgdk-pixbuf2.0-0         2.36.5-2
ii  libglib2.0-0               2.50.3-2
ii  libgtk2.0-0                2.24.31-2
ii  libldns2                   1.7.0-1
ii  libssl1.1                  1.1.0e-1
ii  python                     2.7.13-2
ii  python-gi                  3.22.0-2
ii  python-lockfile            1:0.12.2-2
ii  unbound                    1.6.0-3

dnssec-trigger recommends no packages.

dnssec-trigger suggests no packages.

-- Configuration Files:
/etc/dnssec-trigger/dnssec-trigger.conf changed:
domain: deuxchevaux.org
search: kub.deuxchevaux.org deuxchevaux.org noone.org debian.org ethz.ch lugs.ch
url: "http://ster.nlnetlabs.nl/hotspot.txt OK"
url: "http://fedoraproject.org/static/hotspot.txt OK"
tcp80: 185.49.140.67
tcp80: 2a04:b900::10:0:0:67
ssl443: 185.49.140.67 7E:CF:B4:BE:B9:9A:56:0D:F7:3B:40:51:A4:78:E6:A6:FD:66:0F:10:58:DC:A8:2E:C0:43:D4:77:5A:71:8A:CF
ssl443: 2a04:b900::10:0:0:67 7E:CF:B4:BE:B9:9A:56:0D:F7:3B:40:51:A4:78:E6:A6:FD:66:0F:10:58:DC:A8:2E:C0:43:D4:77:5A:71:8A:CF


-- no debconf information



More information about the pkg-dhcp-devel mailing list