1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-25 01:34:28 +03:00
The systemd System and Service Manager
Go to file
Dan Streetman 1c089741d3 resolved: set stream type during DnsStream creation
The DnsStreamType was added to track different types of DNS TCP streams,
instead of refcounting all of them together.  However, the stream type was
not actually set into the stream->type field, so while the reference count
was correctly incremented per-stream-type, the reference count was always
decremented in the cleanup function for stream type 0, leading to
underflow for the type 0 stream (unsigned) refcount, and preventing new
type 0 streams from being created.

Since type 0 is DNS_STREAM_LOOKUP, which is used to communicate with
upstream nameservers, once the refcount underflows the stub resolver
no longer is able to successfully fall back to TCP upstream lookups
for any truncated UDP packets.

This was found because lookups of A records with a large number of
addresses, too much to fit into a single 512 byte DNS UDP reply,
were causing getaddrinfo() to fall back to TCP and trigger this bug,
which then caused the TCP fallback for later large record lookups
to fail with 'connection timed out; no servers could be reached'.

The stream type was introduced in commit:
652ba568c6
2019-10-25 13:36:29 +09:00
.github FUNDING: this needs to be yaml 2019-07-08 16:55:31 +02:00
.lgtm/cpp-queries lgtm: complain about accept() [people should use accept4() instead, due to O_CLOEXEC] 2019-04-10 20:03:38 +02:00
.mkosi mkosi: update to Fedora30 (#12642) 2019-05-23 09:39:07 +02:00
catalog catalog: update Polish translation 2019-07-29 09:30:24 +02:00
coccinelle tree-wide: use empty-to-root a bit more 2019-07-16 12:40:22 +02:00
docs docs: fix inadvertent change in uid range 2019-10-06 19:05:57 +02:00
factory/etc factory: add default /etc/issue file 2019-07-24 08:57:23 +09:00
hwdb.d hwdb: Add Medion Akoya E2215T MD60198 sensor orientation quirk 2019-10-21 15:32:24 +02:00
man networkctl: introduce reconfigure method 2019-10-24 14:23:12 +09:00
modprobe.d Add SPDX license headers to various assorted files 2017-11-19 19:08:15 +01:00
network udev,network: warn when .link or .network file has no [Match] section 2019-04-25 08:41:10 +02:00
po l10n(zh_TW): update translations 2019-10-23 16:15:46 +02:00
presets Drop my copyright headers 2018-06-14 13:03:20 +02:00
rules.d Rename udev's rules/ to rules.d/ 2019-10-10 00:53:09 +01:00
semaphoreci semaphore: turn on systemd-networkd in lxc-containers on Semaphore 2019-09-25 05:19:12 +00:00
shell-completion core: add support for RestartKillSignal= to override signal used for restart jobs 2019-10-02 14:01:25 +02:00
src resolved: set stream type during DnsStream creation 2019-10-25 13:36:29 +09:00
sysctl.d sysctl: prefix ping port range setting with a dash 2019-07-26 09:26:07 +02:00
sysusers.d sysusers,tmpfiles: re-create systemd-network, systemd-resolve and systemd-timesync 2018-07-16 17:11:50 +02:00
test Merge pull request #13452 from yuwata/network-reload 2019-10-24 11:07:24 +02:00
tmpfiles.d Corect man page reference in systemd-nologin.conf comments 2019-09-24 09:48:03 +02:00
tools trivial: rename chromeos to chromiumos 2019-10-07 08:58:13 +09:00
travis-ci fuzzit: export the API key instead of using auth 2019-09-12 14:02:21 +03:00
units networkd: use SIGUSR2 to do a restart 2019-10-02 14:01:42 +02:00
xorg scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.ctags editors: Prevent ctags from following symlinks 2019-02-15 11:01:20 -08:00
.dir-locals.el scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.editorconfig scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.gitattributes
.gitignore gitignore: add nspawn image lock and mkosi temporary files 2018-09-07 20:00:22 +02:00
.lgtm.yml lgtm: use python3 2018-12-10 03:07:17 +09:00
.mailmap mailmap: add entry to fix authorship of commit 2019-10-21 15:10:58 +02:00
.travis.yml travis: skip the right stage 2019-09-07 22:01:16 +00:00
.vimrc scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.ycm_extra_conf.py ycm: add doc string for all the functions in configuration file 2017-11-29 13:21:49 -07:00
azure-pipelines.yml Free up some resources on Azure Pipelines 2019-07-17 13:28:38 +09:00
configure build-sys: add basic support for ./configure && make && make install 2017-07-18 10:05:06 -04:00
fuzzbuzz.yaml fuzzbuzz: rename fuzz.yaml to fuzzbuzz.yaml 2019-07-10 05:11:52 +03:00
LICENSE.GPL2
LICENSE.LGPL2.1
Makefile build-sys: Fix Makefile wrapper for install target (#6548) 2017-08-07 11:29:20 +02:00
meson_options.txt meson: fix incomplete option descriptions 2019-08-29 13:56:39 +09:00
meson.build Rename udev's hwdb/ to hwdb.d/ 2019-10-10 00:53:09 +01:00
mkosi.build mkosi: let's update the boot loader also in /efi 2019-03-01 12:41:32 +01:00
mkosi.default mkosi: create .mkosi directory 2016-10-06 11:53:58 -04:00
NEWS mailmap: add entry to fix authorship of commit 2019-10-21 15:10:58 +02:00
README trivial: rename chromeos to chromiumos 2019-10-07 08:58:13 +09:00
README.md README: add an OSS-Fuzz badge 2019-08-15 17:34:56 +00:00
TODO systemctl: Default suffixes for timer and socket 2019-10-04 08:27:56 +02:00
zanata.xml po: add basic fedora.zanata.org configuration 2018-02-19 13:56:57 +01:00

systemd - System and Service Manager

Count of open issues over time Count of open pull requests over time Semaphore CI Build Status
Coverity Scan Status
Fuzzit Status
OSS-Fuzz Status
CII Best Practices
Travis CI Build Status
Language Grade: C/C++
CentOS CI Build Status
Build Status

Details

General information about systemd can be found in the systemd Wiki.

Information about build requirements is provided in the README file.

Consult our NEWS file for information about what's new in the most recent systemd versions.

Please see the Hacking guide for information on how to hack on systemd and test your modifications.

Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.

When preparing patches for systemd, please follow our Coding Style Guidelines.

If you are looking for support, please contact our mailing list or join our IRC channel.

Stable branches with backported patches are available in the stable repo.