X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd-dhcp4.c;h=3e7c7da5ac5b934684716d94b4aa66924db06b75;hb=a1230ff972a6a5d945749e5280cd092a2aa827dd;hp=6bab7647d67b7ee96aa0e16d993be5d387f3b1d7;hpb=12777909c9cbf4217aecbbb38de97bac5252fc5b;p=thirdparty%2Fsystemd.git diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c index 6bab7647d67..3e7c7da5ac5 100644 --- a/src/network/networkd-dhcp4.c +++ b/src/network/networkd-dhcp4.c @@ -22,7 +22,7 @@ static int dhcp4_route_handler(sd_netlink *rtnl, sd_netlink_message *m, void *userdata) { - _cleanup_link_unref_ Link *link = userdata; + _cleanup_(link_unrefp) Link *link = userdata; int r; assert(link); @@ -98,7 +98,7 @@ static int link_set_dhcp_routes(Link *link) { } for (i = 0; i < n; i++) { - _cleanup_route_free_ Route *route = NULL; + _cleanup_(route_freep) Route *route = NULL; /* if the DHCP server returns both a Classless Static Routes option and a Static Routes option, the DHCP client MUST ignore the Static Routes option. */ @@ -137,8 +137,8 @@ static int link_set_dhcp_routes(Link *link) { log_link_warning(link, "Classless static routes received from DHCP server: ignoring static-route option and router option"); if (r >= 0 && !classless_route) { - _cleanup_route_free_ Route *route = NULL; - _cleanup_route_free_ Route *route_gw = NULL; + _cleanup_(route_freep) Route *route = NULL; + _cleanup_(route_freep) Route *route_gw = NULL; r = route_new(&route); if (r < 0) @@ -188,7 +188,7 @@ static int link_set_dhcp_routes(Link *link) { } static int dhcp_lease_lost(Link *link) { - _cleanup_address_free_ Address *address = NULL; + _cleanup_(address_freep) Address *address = NULL; struct in_addr addr; struct in_addr netmask; struct in_addr gateway; @@ -207,7 +207,7 @@ static int dhcp_lease_lost(Link *link) { n = sd_dhcp_lease_get_routes(link->dhcp_lease, &routes); if (n >= 0) { for (i = 0; i < n; i++) { - _cleanup_route_free_ Route *route = NULL; + _cleanup_(route_freep) Route *route = NULL; r = route_new(&route); if (r >= 0) { @@ -227,8 +227,8 @@ static int dhcp_lease_lost(Link *link) { if (r >= 0) { r = sd_dhcp_lease_get_router(link->dhcp_lease, &gateway); if (r >= 0) { - _cleanup_route_free_ Route *route_gw = NULL; - _cleanup_route_free_ Route *route = NULL; + _cleanup_(route_freep) Route *route_gw = NULL; + _cleanup_(route_freep) Route *route = NULL; r = route_new(&route_gw); if (r >= 0) { @@ -305,7 +305,7 @@ static int dhcp_lease_lost(Link *link) { static int dhcp4_address_handler(sd_netlink *rtnl, sd_netlink_message *m, void *userdata) { - _cleanup_link_unref_ Link *link = userdata; + _cleanup_(link_unrefp) Link *link = userdata; int r; assert(link); @@ -331,7 +331,7 @@ static int dhcp4_update_address(Link *link, struct in_addr *address, struct in_addr *netmask, uint32_t lifetime) { - _cleanup_address_free_ Address *addr = NULL; + _cleanup_(address_freep) Address *addr = NULL; unsigned prefixlen; int r; @@ -444,8 +444,7 @@ static int dhcp_lease_acquired(sd_dhcp_client *client, Link *link) { ADDRESS_FMT_VAL(gateway)), "ADDRESS=%u.%u.%u.%u", ADDRESS_FMT_VAL(address), "PREFIXLEN=%u", prefixlen, - "GATEWAY=%u.%u.%u.%u", ADDRESS_FMT_VAL(gateway), - NULL); + "GATEWAY=%u.%u.%u.%u", ADDRESS_FMT_VAL(gateway)); else log_struct(LOG_INFO, LOG_LINK_INTERFACE(link), @@ -453,8 +452,7 @@ static int dhcp_lease_acquired(sd_dhcp_client *client, Link *link) { ADDRESS_FMT_VAL(address), prefixlen), "ADDRESS=%u.%u.%u.%u", ADDRESS_FMT_VAL(address), - "PREFIXLEN=%u", prefixlen, - NULL); + "PREFIXLEN=%u", prefixlen); link->dhcp_lease = sd_dhcp_lease_ref(lease); link_dirty(link); @@ -748,6 +746,12 @@ int dhcp4_configure(Link *link) { return r; } + if (link->network->dhcp_user_class) { + r = sd_dhcp_client_set_user_class(link->dhcp_client, (const char **) link->network->dhcp_user_class); + if (r < 0) + return r; + } + if (link->network->dhcp_client_port) { r = sd_dhcp_client_set_client_port(link->dhcp_client, link->network->dhcp_client_port); if (r < 0)