From: Zbigniew Jędrzejewski-Szmek Date: Thu, 23 Apr 2020 07:10:14 +0000 (+0200) Subject: Merge pull request #15530 from ssahani/lpr-dhcpv4-option-9 X-Git-Tag: v246-rc1~523 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=73781de41fe92fc210bc4c74b9a94dbf3f2d98c4;p=thirdparty%2Fsystemd.git Merge pull request #15530 from ssahani/lpr-dhcpv4-option-9 network: add support to DHCPv4 server/client option 9 LPR --- 73781de41fe92fc210bc4c74b9a94dbf3f2d98c4 diff --cc src/libsystemd-network/sd-dhcp-lease.c index 56ea1925869,abb2018810f..29688f2d4fe --- a/src/libsystemd-network/sd-dhcp-lease.c +++ b/src/libsystemd-network/sd-dhcp-lease.c @@@ -140,9 -140,16 +140,16 @@@ int sd_dhcp_lease_get_servers *addr = lease->smtp_server; return (int) lease->smtp_server_size; + case SD_DHCP_LEASE_LPR_SERVERS: + if (lease->lpr_server_size <= 0) + return -ENODATA; + + *addr = lease->lpr_server; + return (int) lease->lpr_server_size; + default: - log_debug("Uknown DHCP lease info item %d.", what); - return -ENXIO; + return log_debug_errno(SYNTHETIC_ERRNO(ENXIO), + "Unknown DHCP lease info item %d.", what); } } diff --cc src/libsystemd-network/sd-dhcp-server.c index 1c61749ef06,e197f1ea726..57eed765eea --- a/src/libsystemd-network/sd-dhcp-server.c +++ b/src/libsystemd-network/sd-dhcp-server.c @@@ -1161,9 -1171,14 +1171,14 @@@ int sd_dhcp_server_set_servers n_a = &server->n_smtp_server; break; + case SD_DHCP_LEASE_LPR_SERVERS: + a = &server->lpr_server; + n_a = &server->n_lpr_server; + break; + default: - log_debug("Uknown DHCP lease info item %d.", what); - return -ENXIO; + return log_debug_errno(SYNTHETIC_ERRNO(ENXIO), + "Unknown DHCP lease info item %d.", what); } if (*n_a == n_addresses && diff --cc src/network/networkd-dhcp-server.c index 7859768f5e6,be723ddbbc6..c0df1fb2c4c --- a/src/network/networkd-dhcp-server.c +++ b/src/network/networkd-dhcp-server.c @@@ -127,8 -127,13 +127,13 @@@ static int link_push_uplink_to_dhcp_ser lease_condition = link->network->dhcp_use_sip; break; + case SD_DHCP_LEASE_LPR_SERVERS: + servers = link->network->lpr; + lease_condition = true; + break; + default: - assert_not_reached("Uknown DHCP lease info item"); + assert_not_reached("Unknown DHCP lease info item"); } char **a;