]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sd-dhcp6-lease: convert assert_return() -> assert() in non-public functions
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 4 Feb 2022 01:40:33 +0000 (10:40 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 14 Feb 2022 05:43:45 +0000 (14:43 +0900)
src/libsystemd-network/dhcp6-lease-internal.h
src/libsystemd-network/sd-dhcp6-client.c
src/libsystemd-network/sd-dhcp6-lease.c

index 0e3540d95eedf4511d2b0b74719ef73defd2c7af..ffe88f31c73cd86ac70e088e43c8a4df5d3afde6 100644 (file)
@@ -48,9 +48,9 @@ int dhcp6_lease_get_clientid(sd_dhcp6_lease *lease, uint8_t **ret_id, size_t *re
 int dhcp6_lease_set_serverid(sd_dhcp6_lease *lease, const uint8_t *id, size_t len);
 int dhcp6_lease_get_serverid(sd_dhcp6_lease *lease, uint8_t **ret_id, size_t *ret_len);
 int dhcp6_lease_set_preference(sd_dhcp6_lease *lease, uint8_t preference);
-int dhcp6_lease_get_preference(sd_dhcp6_lease *lease, uint8_t *preference);
+int dhcp6_lease_get_preference(sd_dhcp6_lease *lease, uint8_t *ret);
 int dhcp6_lease_set_rapid_commit(sd_dhcp6_lease *lease);
-int dhcp6_lease_get_rapid_commit(sd_dhcp6_lease *lease, bool *rapid_commit);
+int dhcp6_lease_get_rapid_commit(sd_dhcp6_lease *lease, bool *ret);
 
 int dhcp6_lease_add_dns(sd_dhcp6_lease *lease, const uint8_t *optval, size_t optlen);
 int dhcp6_lease_add_domains(sd_dhcp6_lease *lease, const uint8_t *optval, size_t optlen);
index ae7e3bf446bd606e15664ffe15453235f1582136..eb3b0037221ca44323fb0c7dbd6feed3a2be8397 100644 (file)
@@ -1365,9 +1365,13 @@ static int client_receive_advertise(
         if (r < 0)
                 return r;
 
-        r = dhcp6_lease_get_preference(client->lease, &pref_lease);
+        if (client->lease) {
+                r = dhcp6_lease_get_preference(client->lease, &pref_lease);
+                if (r < 0)
+                        return r;
+        }
 
-        if (r < 0 || pref_advertise > pref_lease) {
+        if (!client->lease || pref_advertise > pref_lease) {
                 sd_dhcp6_lease_unref(client->lease);
                 client->lease = TAKE_PTR(lease);
                 r = 0;
index 4f5b5385b286a61749eb3048122b4e7dca4a3e01..3cb30348a9b99da1cfca14f1c1f318487a4c327b 100644 (file)
@@ -36,8 +36,8 @@ int dhcp6_lease_ia_rebind_expire(const DHCP6IA *ia, uint32_t *expire) {
         DHCP6Address *addr;
         uint32_t valid = 0, t;
 
-        assert_return(ia, -EINVAL);
-        assert_return(expire, -EINVAL);
+        assert(ia);
+        assert(expire);
 
         LIST_FOREACH(addresses, addr, ia->addresses) {
                 t = be32toh(addr->iaaddr.lifetime_valid);
@@ -74,9 +74,9 @@ DHCP6IA *dhcp6_lease_free_ia(DHCP6IA *ia) {
 int dhcp6_lease_set_clientid(sd_dhcp6_lease *lease, const uint8_t *id, size_t len) {
         uint8_t *clientid;
 
-        assert_return(lease, -EINVAL);
-        assert_return(id, -EINVAL);
-        assert_return(len > 0, -EINVAL);
+        assert(lease);
+        assert(id);
+        assert(len > 0);
 
         clientid = memdup(id, len);
         if (!clientid)
@@ -89,7 +89,7 @@ int dhcp6_lease_set_clientid(sd_dhcp6_lease *lease, const uint8_t *id, size_t le
 }
 
 int dhcp6_lease_get_clientid(sd_dhcp6_lease *lease, uint8_t **ret_id, size_t *ret_len) {
-        assert_return(lease, -EINVAL);
+        assert(lease);
 
         if (!lease->clientid)
                 return -ENODATA;
@@ -105,9 +105,9 @@ int dhcp6_lease_get_clientid(sd_dhcp6_lease *lease, uint8_t **ret_id, size_t *re
 int dhcp6_lease_set_serverid(sd_dhcp6_lease *lease, const uint8_t *id, size_t len) {
         uint8_t *serverid;
 
-        assert_return(lease, -EINVAL);
-        assert_return(id, -EINVAL);
-        assert_return(len > 0, -EINVAL);
+        assert(lease);
+        assert(id);
+        assert(len > 0);
 
         serverid = memdup(id, len);
         if (!serverid)
@@ -120,7 +120,7 @@ int dhcp6_lease_set_serverid(sd_dhcp6_lease *lease, const uint8_t *id, size_t le
 }
 
 int dhcp6_lease_get_serverid(sd_dhcp6_lease *lease, uint8_t **ret_id, size_t *ret_len) {
-        assert_return(lease, -EINVAL);
+        assert(lease);
 
         if (!lease->serverid)
                 return -ENODATA;
@@ -129,65 +129,58 @@ int dhcp6_lease_get_serverid(sd_dhcp6_lease *lease, uint8_t **ret_id, size_t *re
                 *ret_id = lease->serverid;
         if (ret_len)
                 *ret_len = lease->serverid_len;
-
         return 0;
 }
 
 int dhcp6_lease_set_preference(sd_dhcp6_lease *lease, uint8_t preference) {
-        assert_return(lease, -EINVAL);
+        assert(lease);
 
         lease->preference = preference;
-
         return 0;
 }
 
-int dhcp6_lease_get_preference(sd_dhcp6_lease *lease, uint8_t *preference) {
-        assert_return(preference, -EINVAL);
-
-        if (!lease)
-                return -EINVAL;
-
-        *preference = lease->preference;
+int dhcp6_lease_get_preference(sd_dhcp6_lease *lease, uint8_t *ret) {
+        assert(lease);
+        assert(ret);
 
+        *ret = lease->preference;
         return 0;
 }
 
 int dhcp6_lease_set_rapid_commit(sd_dhcp6_lease *lease) {
-        assert_return(lease, -EINVAL);
+        assert(lease);
 
         lease->rapid_commit = true;
-
         return 0;
 }
 
-int dhcp6_lease_get_rapid_commit(sd_dhcp6_lease *lease, bool *rapid_commit) {
-        assert_return(lease, -EINVAL);
-        assert_return(rapid_commit, -EINVAL);
-
-        *rapid_commit = lease->rapid_commit;
+int dhcp6_lease_get_rapid_commit(sd_dhcp6_lease *lease, bool *ret) {
+        assert(lease);
+        assert(ret);
 
+        *ret = lease->rapid_commit;
         return 0;
 }
 
-int sd_dhcp6_lease_get_address(sd_dhcp6_lease *lease, struct in6_addr *addr,
-                               uint32_t *lifetime_preferred,
-                               uint32_t *lifetime_valid) {
+int sd_dhcp6_lease_get_address(
+                sd_dhcp6_lease *lease,
+                struct in6_addr *ret_addr,
+                uint32_t *ret_lifetime_preferred,
+                uint32_t *ret_lifetime_valid) {
+
         assert_return(lease, -EINVAL);
-        assert_return(addr, -EINVAL);
-        assert_return(lifetime_preferred, -EINVAL);
-        assert_return(lifetime_valid, -EINVAL);
 
         if (!lease->addr_iter)
                 return -ENOMSG;
 
-        memcpy(addr, &lease->addr_iter->iaaddr.address,
-                sizeof(struct in6_addr));
-        *lifetime_preferred =
-                be32toh(lease->addr_iter->iaaddr.lifetime_preferred);
-        *lifetime_valid = be32toh(lease->addr_iter->iaaddr.lifetime_valid);
+        if (ret_addr)
+                *ret_addr = lease->addr_iter->iaaddr.address;
+        if (ret_lifetime_preferred)
+                *ret_lifetime_preferred = be32toh(lease->addr_iter->iaaddr.lifetime_preferred);
+        if (ret_lifetime_valid)
+                *ret_lifetime_valid = be32toh(lease->addr_iter->iaaddr.lifetime_valid);
 
         lease->addr_iter = lease->addr_iter->addresses_next;
-
         return 0;
 }
 
@@ -196,29 +189,28 @@ void sd_dhcp6_lease_reset_address_iter(sd_dhcp6_lease *lease) {
                 lease->addr_iter = lease->ia_na.addresses;
 }
 
-int sd_dhcp6_lease_get_pd(sd_dhcp6_lease *lease, struct in6_addr *prefix,
-                          uint8_t *prefix_len,
-                          uint32_t *lifetime_preferred,
-                          uint32_t *lifetime_valid) {
+int sd_dhcp6_lease_get_pd(
+                sd_dhcp6_lease *lease,
+                struct in6_addr *ret_prefix,
+                uint8_t *ret_prefix_len,
+                uint32_t *ret_lifetime_preferred,
+                uint32_t *ret_lifetime_valid) {
+
         assert_return(lease, -EINVAL);
-        assert_return(prefix, -EINVAL);
-        assert_return(prefix_len, -EINVAL);
-        assert_return(lifetime_preferred, -EINVAL);
-        assert_return(lifetime_valid, -EINVAL);
 
         if (!lease->prefix_iter)
                 return -ENOMSG;
 
-        memcpy(prefix, &lease->prefix_iter->iapdprefix.address,
-               sizeof(struct in6_addr));
-        *prefix_len = lease->prefix_iter->iapdprefix.prefixlen;
-        *lifetime_preferred =
-                be32toh(lease->prefix_iter->iapdprefix.lifetime_preferred);
-        *lifetime_valid =
-                be32toh(lease->prefix_iter->iapdprefix.lifetime_valid);
+        if (ret_prefix)
+                *ret_prefix = lease->prefix_iter->iapdprefix.address;
+        if (ret_prefix_len)
+                *ret_prefix_len = lease->prefix_iter->iapdprefix.prefixlen;
+        if (ret_lifetime_preferred)
+                *ret_lifetime_preferred = be32toh(lease->prefix_iter->iapdprefix.lifetime_preferred);
+        if (ret_lifetime_valid)
+                *ret_lifetime_valid = be32toh(lease->prefix_iter->iapdprefix.lifetime_valid);
 
         lease->prefix_iter = lease->prefix_iter->addresses_next;
-
         return 0;
 }
 
@@ -228,8 +220,8 @@ void sd_dhcp6_lease_reset_pd_prefix_iter(sd_dhcp6_lease *lease) {
 }
 
 int dhcp6_lease_add_dns(sd_dhcp6_lease *lease, const uint8_t *optval, size_t optlen) {
-        assert_return(lease, -EINVAL);
-        assert_return(optval, -EINVAL);
+        assert(lease);
+        assert(optval || optlen == 0);
 
         if (optlen == 0)
                 return 0;
@@ -253,8 +245,8 @@ int dhcp6_lease_add_domains(sd_dhcp6_lease *lease, const uint8_t *optval, size_t
         _cleanup_strv_free_ char **domains = NULL;
         int r;
 
-        assert_return(lease, -EINVAL);
-        assert_return(optval, -EINVAL);
+        assert(lease);
+        assert(optval || optlen == 0);
 
         if (optlen == 0)
                 return 0;
@@ -280,8 +272,8 @@ int sd_dhcp6_lease_get_domains(sd_dhcp6_lease *lease, char ***ret) {
 int dhcp6_lease_add_ntp(sd_dhcp6_lease *lease, const uint8_t *optval, size_t optlen) {
         int r;
 
-        assert_return(lease, -EINVAL);
-        assert_return(optval, -EINVAL);
+        assert(lease);
+        assert(optval || optlen == 0);
 
         for (size_t offset = 0; offset < optlen;) {
                 const uint8_t *subval;
@@ -326,8 +318,8 @@ int dhcp6_lease_add_ntp(sd_dhcp6_lease *lease, const uint8_t *optval, size_t opt
 }
 
 int dhcp6_lease_add_sntp(sd_dhcp6_lease *lease, const uint8_t *optval, size_t optlen) {
-        assert_return(lease, -EINVAL);
-        assert_return(optval, -EINVAL);
+        assert(lease);
+        assert(optval || optlen == 0);
 
         if (optlen == 0)
                 return 0;
@@ -367,11 +359,14 @@ int sd_dhcp6_lease_get_ntp_fqdn(sd_dhcp6_lease *lease, char ***ret) {
 }
 
 int dhcp6_lease_set_fqdn(sd_dhcp6_lease *lease, const uint8_t *optval, size_t optlen) {
-        int r;
         char *fqdn;
+        int r;
 
-        assert_return(lease, -EINVAL);
-        assert_return(optval, -EINVAL);
+        assert(lease);
+        assert(optval || optlen == 0);
+
+        if (optlen == 0)
+                return 0;
 
         if (optlen < 2)
                 return -ENODATA;
@@ -419,6 +414,8 @@ DEFINE_TRIVIAL_REF_UNREF_FUNC(sd_dhcp6_lease, sd_dhcp6_lease, dhcp6_lease_free);
 int dhcp6_lease_new(sd_dhcp6_lease **ret) {
         sd_dhcp6_lease *lease;
 
+        assert(ret);
+
         lease = new0(sd_dhcp6_lease, 1);
         if (!lease)
                 return -ENOMEM;