Systemd/src/resolve
Lennart Poettering d301c52383 resolved: bind socket to interface during connect()
Apparently, IF_UNICAST_IF does not influence the routing decisions done
during connect(). But SO_BINDTODEVICE/SO_BINDTOINDEX does, which however
brings a lot of other semantics with it, we are not so interested in
(i.e. it doesn't not allow packets from any other iface to us, even if
routing otherwise allows it).

Hence, let's bind to the ifindex immediately before the connect() and
unbind right after again, so that we get the semantics we want, but not
the ones we don't.

Fixes: #11935
Replaces: #12004
2020-12-02 15:15:02 +01:00
..
dns-type.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
dns-type.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
dns_type-to-name.awk meson: also indent scripts with 8 spaces 2017-04-25 08:49:16 -04:00
generate-dns_type-gperf.py tree-wide: adjust fall through comments so that gcc is happy 2017-11-20 13:06:25 -08:00
generate-dns_type-list.sed meson: build systemd using meson 2017-04-23 21:47:26 -04:00
meson.build meson: add option to skip installing to $sysconfdir 2020-11-12 11:21:46 +01:00
org.freedesktop.resolve1.conf resolved: add legacy dbus service and policy files 2014-07-16 03:41:39 +02:00
org.freedesktop.resolve1.policy license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
org.freedesktop.resolve1.service license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolv.conf resolved: turn off that a search domain is derived from the host's fqdn 2020-09-30 10:37:59 +02:00
resolvconf-compat.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolvconf-compat.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolvectl.c resolvectl: drop a condition which is always true 2020-11-20 19:39:49 +09:00
resolvectl.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-bus.c Revert "resolve: check DNSSD service name template before assigning it" 2020-11-18 03:16:57 +09:00
resolved-bus.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-conf.c tree-wide: sort specifiers and move common comments to specifier.h 2020-11-25 15:12:27 +09:00
resolved-conf.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-def.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-answer.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-answer.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-cache.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-cache.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-dnssec.c tree-wide: fix "a the" or "the a" 2020-11-13 16:28:47 +09:00
resolved-dns-dnssec.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-packet.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-packet.h resolved: allow cache responses from local DNS servers 2020-11-27 09:03:42 +09:00
resolved-dns-query.c tree-wide: use return value of log_xxx_errno() 2020-11-20 02:58:27 +09:00
resolved-dns-query.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-question.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-question.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-rr.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-rr.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-scope.c resolved: bind socket to interface during connect() 2020-12-02 15:15:02 +01:00
resolved-dns-scope.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-search-domain.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-search-domain.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-server.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-server.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-stream.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-stream.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-stub.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-stub.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-synthesize.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-synthesize.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-transaction.c resolved: allow cache responses from local DNS servers 2020-11-27 09:03:42 +09:00
resolved-dns-transaction.h resolved: allow cache responses from local DNS servers 2020-11-27 09:03:42 +09:00
resolved-dns-trust-anchor.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-trust-anchor.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-zone.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dns-zone.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dnssd-bus.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dnssd-bus.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dnssd-gperf.gperf resolved: add enablers for DNS-SD 2017-12-08 14:29:27 +02:00
resolved-dnssd.c tree-wide: sort specifiers and move common comments to specifier.h 2020-11-25 15:12:27 +09:00
resolved-dnssd.h Revert "resolve: check DNSSD service name template before assigning it" 2020-11-18 03:16:57 +09:00
resolved-dnstls-gnutls.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dnstls-gnutls.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dnstls-openssl.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dnstls-openssl.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-dnstls.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-etc-hosts.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-etc-hosts.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-gperf.gperf resolved: allow cache responses from local DNS servers 2020-11-27 09:03:42 +09:00
resolved-link-bus.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-link-bus.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-link.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-link.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-llmnr.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-llmnr.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-manager.c Merge pull request #17478 from yuwata/split-network-internal 2020-11-27 09:04:19 +09:00
resolved-manager.h resolved: allow cache responses from local DNS servers 2020-11-27 09:03:42 +09:00
resolved-mdns.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-mdns.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-resolv-conf.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-resolv-conf.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-varlink.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved-varlink.h license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
resolved.c resolved: bind socket to interface during connect() 2020-12-02 15:15:02 +01:00
resolved.conf.in resolved: allow cache responses from local DNS servers 2020-11-27 09:03:42 +09:00
RFCs resolve: add support for RFC 8080 (#7600) 2017-12-12 16:30:12 +01:00
test-dns-packet.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
test-dnssec-complex.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
test-dnssec.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
test-resolve-tables.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
test-resolved-etc-hosts.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
test-resolved-packet.c license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00