Systemd/src
Lennart Poettering d001e0a3af resolved: rework SERVFAIL handling
There might be two reasons why we get a SERVFAIL response from our selected DNS
server: because this DNS server itself is bad, or because the DNS server
actually serving the zone upstream is bad. So far we immediately downgraded our
server feature level when getting SERVFAIL, under the assumption that the first
case is the only possible case. However, this meant we'd downgrade immediately
even if we encountered the second case described above.

With this commit handling of SERVFAIL is reworked. As soon as we get a SERVFAIL
on a transaction we retry the transaction with a lower feature level, without
changing the feature level tracked for the DNS server itself. If that fails
too, we downgrade further, and so on. If during this downgrading the SERVFAIL
goes away we assume that the DNS server we are talking to is bad, but the zone
is fine and propagate the detected feature level to the information we track
about the DNS server. Should the SERVFAIL not go away this way we let the
transaction fail and accept the SERVFAIL.
2016-06-23 23:24:38 +02:00
..
ac-power
activate
analyze tree-wide: use ansi_highlight() instead of ANSI_HIGHLIGHT where appropriate 2016-05-30 18:22:16 +02:00
ask-password
backlight
basic build-sys: move fdset.[ch] src/basic → src/shared (#3580) 2016-06-23 05:10:53 +03:00
binfmt
boot tree-wide: rename draw_special_char to special_glyph 2016-05-09 15:17:57 -04:00
cgls
cgroups-agent tree-wide: introduce new SOCKADDR_UN_LEN() macro, and use it everywhere 2016-05-05 22:24:36 +02:00
cgtop cgtop: minimize aux variable scope 2016-06-06 22:04:33 +02:00
core execute: add a new easy-to-use RestrictRealtime= option to units 2016-06-23 01:45:45 +02:00
coredump coredump: use next_datagram_size_fd instead of ioctl(FIONREAD) (#3237) 2016-05-11 14:29:24 +02:00
cryptsetup
dbus1-generator Ensure kdbus isn't used (#3501) 2016-06-18 17:24:23 -04:00
debug-generator
delta tree-wide: rename draw_special_char to special_glyph 2016-05-09 15:17:57 -04:00
detect-virt
escape
firstboot tree-wide: rename draw_special_char to special_glyph 2016-05-09 15:17:57 -04:00
fsck tree-wide: introduce new SOCKADDR_UN_LEN() macro, and use it everywhere 2016-05-05 22:24:36 +02:00
fstab-generator fstab-generator: ignore root=/dev/nfs (#3591) 2016-06-23 18:47:03 +02:00
getty-generator
gpt-auto-generator Create initrd-root-device.target synchronization point (#3239) 2016-05-12 18:42:39 +02:00
hibernate-resume
hostname util-lib: make localed's nonempty() generic, rename it to empty_to_null() and make use of it everywhere 2016-05-30 17:59:43 +02:00
hwdb hwdb: selinuxify a bit (#3460) 2016-06-07 19:47:41 +02:00
import tree-wide: introduce new SOCKADDR_UN_LEN() macro, and use it everywhere 2016-05-05 22:24:36 +02:00
initctl
journal tree-wide: check colors_enabled() before outputting ANSI color strings 2016-05-30 18:23:08 +02:00
journal-remote journal-remote : Ensure reallocation of source->buf does not result in source->size < source->filled (#3086) 2016-04-22 14:04:17 -04:00
kernel-install
libsystemd systemctl: make sure we terminate the bus connection first, and then close the pager (#3550) 2016-06-16 09:29:16 -04:00
libsystemd-network Merge pull request #3481 from poettering/relative-memcg 2016-06-16 13:56:23 +02:00
libudev tree-wide: htonl() is weird, let's use htobe32() instead (#3538) 2016-06-15 01:26:01 +02:00
locale tests: fix memory leak in test-keymap-util 2016-06-19 15:04:52 +00:00
login Ensure kdbus isn't used (#3501) 2016-06-18 17:24:23 -04:00
machine machinectl: do not escape the unit name (#3554) 2016-06-22 17:10:52 +02:00
machine-id-setup
modules-load
network networkd: vrf: add support for enslaving devices to VRFs 2016-06-16 00:25:06 +02:00
notify
nspawn nspawn: lock down system call filter a bit 2016-06-13 16:25:54 +02:00
nss-myhostname tree-wide: htonl() is weird, let's use htobe32() instead (#3538) 2016-06-15 01:26:01 +02:00
nss-mymachines
nss-resolve
path
quotacheck
random-seed
rc-local-generator
remount-fs
reply-password tree-wide: introduce new SOCKADDR_UN_LEN() macro, and use it everywhere 2016-05-05 22:24:36 +02:00
resolve resolved: rework SERVFAIL handling 2016-06-23 23:24:38 +02:00
rfkill
run run: do not try to use reply after freeing it (#3318) 2016-05-21 18:30:33 -04:00
shared build-sys: move fdset.[ch] src/basic → src/shared (#3580) 2016-06-23 05:10:53 +03:00
sleep
socket-proxy tree-wide: introduce new SOCKADDR_UN_LEN() macro, and use it everywhere 2016-05-05 22:24:36 +02:00
stdio-bridge
sysctl
system-update-generator
systemctl systemctl: Add missing "/" to files created by 'edit --runtime' 2016-06-22 15:09:33 -04:00
systemd watchdog: Support changing watchdog_usec during runtime (#3492) 2016-06-22 13:26:05 +02:00
sysusers
sysv-generator sysv-generator: remove more dead code (#3462) 2016-06-08 10:18:56 +02:00
test tests: don't run test_get_process_cmdline_harder under valgrind 2016-06-19 23:47:46 +00:00
timedate systemctl: make sure we terminate the bus connection first, and then close the pager (#3550) 2016-06-16 09:29:16 -04:00
timesync
tmpfiles Fix FS_EXTENT_FL description (#3381) 2016-05-29 11:31:14 -04:00
tty-ask-password-agent ask-password: ask for passphrases not only on the first console of /dev/console 2016-05-24 11:57:27 +02:00
udev udevadm: trivial simplification 2016-06-14 17:12:23 -04:00
update-done
update-utmp
user-sessions
vconsole vconsole: add log_oom() where appropriate 2016-05-17 10:29:28 +02:00
.gitignore
Makefile