summaryrefslogtreecommitdiffstats
path: root/src/libsystemd-network/sd-radv.c
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2023-09-04 10:44:45 +0200
committerYu Watanabe <watanabe.yu+github@gmail.com>2023-09-04 14:54:43 +0200
commit4961f5664647ee32fe9f2c8981cdd7852e511a09 (patch)
treec2e31aca1e8f3d7fc07fb69386660e30859867e6 /src/libsystemd-network/sd-radv.c
parenticmp6-util: several cleanups for icmp6_receive() (diff)
downloadsystemd-4961f5664647ee32fe9f2c8981cdd7852e511a09.tar.xz
systemd-4961f5664647ee32fe9f2c8981cdd7852e511a09.zip
icmp6-util: make icmp6_receive() accept the null source address
Fixes #29050.
Diffstat (limited to 'src/libsystemd-network/sd-radv.c')
-rw-r--r--src/libsystemd-network/sd-radv.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libsystemd-network/sd-radv.c b/src/libsystemd-network/sd-radv.c
index afb0fd95b6..5e25aab9b1 100644
--- a/src/libsystemd-network/sd-radv.c
+++ b/src/libsystemd-network/sd-radv.c
@@ -264,7 +264,7 @@ static int radv_recv(sd_event_source *s, int fd, uint32_t revents, void *userdat
if (r < 0)
switch (r) {
case -EADDRNOTAVAIL:
- log_radv(ra, "Received RS from non-link-local address. Ignoring");
+ log_radv(ra, "Received RS from neither link-local nor null address. Ignoring");
return 0;
case -EMULTIHOP:
@@ -285,6 +285,9 @@ static int radv_recv(sd_event_source *s, int fd, uint32_t revents, void *userdat
return 0;
}
+ /* TODO: if the sender address is null, check that the message does not have the source link-layer
+ * address option. See RFC 4861 Section 6.1.1. */
+
const char *addr = IN6_ADDR_TO_STRING(&src);
r = radv_send(ra, &src, ra->lifetime_usec);