diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2022-07-14 02:52:48 +0900 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2022-07-14 20:56:41 +0900 |
commit | 5235d739605f0f3f91abef9d5e7d8764ae57430c (patch) | |
tree | bcc21822a4052ddd9a87ac4ae483888ea621195b /src/network/networkd-ndisc.c | |
parent | def4741bd74b947cfbbc1929abd81b68acbeadd0 (diff) | |
download | systemd-5235d739605f0f3f91abef9d5e7d8764ae57430c.tar.gz |
network: fix infinite lifetime handling
Diffstat (limited to 'src/network/networkd-ndisc.c')
-rw-r--r-- | src/network/networkd-ndisc.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c index b76b9608f3..ed33f0817f 100644 --- a/src/network/networkd-ndisc.c +++ b/src/network/networkd-ndisc.c @@ -320,7 +320,7 @@ static int ndisc_router_process_default(Link *link, sd_ndisc_router *rt) { if (r < 0) return log_link_error_errno(link, r, "Failed to get RA timestamp: %m"); - lifetime_usec = usec_add(timestamp_usec, lifetime_sec * USEC_PER_SEC); + lifetime_usec = sec16_to_usec(lifetime_sec, timestamp_usec); r = sd_ndisc_router_get_address(rt, &gateway); if (r < 0) @@ -442,8 +442,8 @@ static int ndisc_router_process_autonomous_prefix(Link *link, sd_ndisc_router *r if (lifetime_preferred_sec > lifetime_valid_sec) return 0; - lifetime_valid_usec = usec_add(lifetime_valid_sec * USEC_PER_SEC, timestamp_usec); - lifetime_preferred_usec = usec_add(lifetime_preferred_sec * USEC_PER_SEC, timestamp_usec); + lifetime_valid_usec = sec_to_usec(lifetime_valid_sec, timestamp_usec); + lifetime_preferred_usec = sec_to_usec(lifetime_preferred_sec, timestamp_usec); r = ndisc_generate_addresses(link, &prefix, prefixlen, &addresses); if (r < 0) @@ -519,7 +519,7 @@ static int ndisc_router_process_onlink_prefix(Link *link, sd_ndisc_router *rt) { route->family = AF_INET6; route->flags = RTM_F_PREFIX; route->dst_prefixlen = prefixlen; - route->lifetime_usec = usec_add(timestamp_usec, lifetime_sec * USEC_PER_SEC); + route->lifetime_usec = sec_to_usec(lifetime_sec, timestamp_usec); r = sd_ndisc_router_prefix_get_address(rt, &route->dst.in6); if (r < 0) @@ -652,7 +652,7 @@ static int ndisc_router_process_route(Link *link, sd_ndisc_router *rt) { route->gw_family = AF_INET6; route->dst.in6 = dst; route->dst_prefixlen = prefixlen; - route->lifetime_usec = usec_add(timestamp_usec, lifetime_sec * USEC_PER_SEC); + route->lifetime_usec = sec_to_usec(lifetime_sec, timestamp_usec); r = ndisc_request_route(TAKE_PTR(route), link, rt); if (r < 0) @@ -706,7 +706,7 @@ static int ndisc_router_process_rdnss(Link *link, sd_ndisc_router *rt) { if (lifetime_sec == 0) return 0; - lifetime_usec = usec_add(timestamp_usec, lifetime_sec * USEC_PER_SEC); + lifetime_usec = sec_to_usec(lifetime_sec, timestamp_usec); n = sd_ndisc_router_rdnss_get_addresses(rt, &a); if (n < 0) @@ -800,7 +800,7 @@ static int ndisc_router_process_dnssl(Link *link, sd_ndisc_router *rt) { if (lifetime_sec == 0) return 0; - lifetime_usec = usec_add(timestamp_usec, lifetime_sec * USEC_PER_SEC); + lifetime_usec = sec_to_usec(lifetime_sec, timestamp_usec); r = sd_ndisc_router_dnssl_get_domains(rt, &l); if (r < 0) |