diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2023-09-04 10:44:45 +0200 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2023-09-04 14:54:43 +0200 |
commit | 4961f5664647ee32fe9f2c8981cdd7852e511a09 (patch) | |
tree | c2e31aca1e8f3d7fc07fb69386660e30859867e6 /src/libsystemd-network/sd-radv.c | |
parent | icmp6-util: several cleanups for icmp6_receive() (diff) | |
download | systemd-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.c | 5 |
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); |