sd-dhcp-lease: drop several more unused functions and conditions
This commit is contained in:
@@ -11,15 +11,6 @@
|
||||
#include "dhcp-client-id-internal.h"
|
||||
#include "dhcp-message.h"
|
||||
#include "dhcp-option.h"
|
||||
#include "list.h"
|
||||
|
||||
struct sd_dhcp_raw_option {
|
||||
LIST_FIELDS(struct sd_dhcp_raw_option, options);
|
||||
|
||||
uint8_t tag;
|
||||
uint8_t length;
|
||||
void *data;
|
||||
};
|
||||
|
||||
struct sd_dhcp_lease {
|
||||
unsigned n_ref;
|
||||
@@ -36,15 +27,12 @@ struct sd_dhcp_lease {
|
||||
/* each 0 if unset */
|
||||
be32_t address;
|
||||
be32_t server_address;
|
||||
be32_t next_server;
|
||||
be32_t subnet_mask;
|
||||
be32_t broadcast;
|
||||
|
||||
struct in_addr *router;
|
||||
size_t router_size;
|
||||
|
||||
bool rapid_commit;
|
||||
|
||||
DHCPServerData servers[_SD_DHCP_LEASE_SERVER_TYPE_MAX];
|
||||
|
||||
sd_dns_resolver *dnr;
|
||||
@@ -59,16 +47,9 @@ struct sd_dhcp_lease {
|
||||
|
||||
char *domainname;
|
||||
char **search_domains;
|
||||
char *hostname; /* SD_DHCP_OPTION_HOST_NAME (12) */
|
||||
char *fqdn; /* SD_DHCP_OPTION_FQDN (81) */
|
||||
char *root_path;
|
||||
char *hostname;
|
||||
char *captive_portal;
|
||||
|
||||
sd_dhcp_client_id client_id;
|
||||
|
||||
void *vendor_specific;
|
||||
size_t vendor_specific_len;
|
||||
|
||||
char *timezone;
|
||||
|
||||
uint8_t sixrd_ipv4masklen;
|
||||
@@ -76,18 +57,10 @@ struct sd_dhcp_lease {
|
||||
struct in6_addr sixrd_prefix;
|
||||
struct in_addr *sixrd_br_addresses;
|
||||
size_t sixrd_n_br_addresses;
|
||||
|
||||
LIST_HEAD(struct sd_dhcp_raw_option, private_options);
|
||||
};
|
||||
|
||||
int dhcp_lease_new(sd_dhcp_lease **ret);
|
||||
|
||||
int dhcp_lease_parse_options(uint8_t code, uint8_t len, const void *option, void *userdata);
|
||||
int dhcp_lease_parse_search_domains(const uint8_t *option, size_t len, char ***domains);
|
||||
int dhcp_lease_insert_private_option(sd_dhcp_lease *lease, uint8_t tag, const void *data, uint8_t len);
|
||||
|
||||
void dhcp_lease_set_timestamp(sd_dhcp_lease *lease, const triple_timestamp *timestamp);
|
||||
int dhcp_lease_set_default_subnet_mask(sd_dhcp_lease *lease);
|
||||
int dhcp_lease_set_client_id(sd_dhcp_lease *lease, const sd_dhcp_client_id *client_id);
|
||||
|
||||
int dhcp_client_parse_message(sd_dhcp_client *client, const struct iovec *iov, sd_dhcp_lease **ret);
|
||||
|
||||
@@ -122,9 +122,6 @@ executables += [
|
||||
'sources' : files('test-ndisc-send.c'),
|
||||
'type' : 'manual',
|
||||
},
|
||||
network_test_template + {
|
||||
'sources' : files('test-sd-dhcp-lease.c'),
|
||||
},
|
||||
network_test_template + {
|
||||
'sources' : files('test-tlv-util.c'),
|
||||
},
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,82 +0,0 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
|
||||
#include "dhcp-lease-internal.h"
|
||||
#include "strv.h"
|
||||
#include "tests.h"
|
||||
|
||||
/* According to RFC1035 section 4.1.4, a domain name in a message can be either:
|
||||
* - a sequence of labels ending in a zero octet
|
||||
* - a pointer
|
||||
* - a sequence of labels ending with a pointer
|
||||
*/
|
||||
TEST(dhcp_lease_parse_search_domains_basic) {
|
||||
int r;
|
||||
_cleanup_strv_free_ char **domains = NULL;
|
||||
static const uint8_t optionbuf[] = {
|
||||
0x03, 'F', 'O', 'O', 0x03, 'B', 'A', 'R', 0x00,
|
||||
0x04, 'A', 'B', 'C', 'D', 0x03, 'E', 'F', 'G', 0x00,
|
||||
};
|
||||
|
||||
r = dhcp_lease_parse_search_domains(optionbuf, sizeof(optionbuf), &domains);
|
||||
assert_se(r == 2);
|
||||
assert_se(streq(domains[0], "FOO.BAR"));
|
||||
assert_se(streq(domains[1], "ABCD.EFG"));
|
||||
}
|
||||
|
||||
TEST(dhcp_lease_parse_search_domains_ptr) {
|
||||
int r;
|
||||
_cleanup_strv_free_ char **domains = NULL;
|
||||
static const uint8_t optionbuf[] = {
|
||||
0x03, 'F', 'O', 'O', 0x00, 0xC0, 0x00,
|
||||
};
|
||||
|
||||
r = dhcp_lease_parse_search_domains(optionbuf, sizeof(optionbuf), &domains);
|
||||
assert_se(r == 2);
|
||||
assert_se(streq(domains[0], "FOO"));
|
||||
assert_se(streq(domains[1], "FOO"));
|
||||
}
|
||||
|
||||
TEST(dhcp_lease_parse_search_domains_labels_and_ptr) {
|
||||
int r;
|
||||
_cleanup_strv_free_ char **domains = NULL;
|
||||
static const uint8_t optionbuf[] = {
|
||||
0x03, 'F', 'O', 'O', 0x03, 'B', 'A', 'R', 0x00,
|
||||
0x03, 'A', 'B', 'C', 0xC0, 0x04,
|
||||
};
|
||||
|
||||
r = dhcp_lease_parse_search_domains(optionbuf, sizeof(optionbuf), &domains);
|
||||
assert_se(r == 2);
|
||||
assert_se(streq(domains[0], "FOO.BAR"));
|
||||
assert_se(streq(domains[1], "ABC.BAR"));
|
||||
}
|
||||
|
||||
/* Tests for exceptions. */
|
||||
|
||||
TEST(dhcp_lease_parse_search_domains_no_data) {
|
||||
_cleanup_strv_free_ char **domains = NULL;
|
||||
static const uint8_t optionbuf[3] = {0, 0, 0};
|
||||
|
||||
assert_se(dhcp_lease_parse_search_domains(NULL, 0, &domains) == -EBADMSG);
|
||||
assert_se(dhcp_lease_parse_search_domains(optionbuf, 0, &domains) == -EBADMSG);
|
||||
}
|
||||
|
||||
TEST(dhcp_lease_parse_search_domains_loops) {
|
||||
_cleanup_strv_free_ char **domains = NULL;
|
||||
static const uint8_t optionbuf[] = {
|
||||
0x03, 'F', 'O', 'O', 0x00, 0x03, 'B', 'A', 'R', 0xC0, 0x06,
|
||||
};
|
||||
|
||||
assert_se(dhcp_lease_parse_search_domains(optionbuf, sizeof(optionbuf), &domains) == -EBADMSG);
|
||||
}
|
||||
|
||||
TEST(dhcp_lease_parse_search_domains_wrong_len) {
|
||||
_cleanup_strv_free_ char **domains = NULL;
|
||||
static const uint8_t optionbuf[] = {
|
||||
0x03, 'F', 'O', 'O', 0x03, 'B', 'A', 'R', 0x00,
|
||||
0x04, 'A', 'B', 'C', 'D', 0x03, 'E', 'F', 'G', 0x00,
|
||||
};
|
||||
|
||||
assert_se(dhcp_lease_parse_search_domains(optionbuf, sizeof(optionbuf) - 5, &domains) == -EBADMSG);
|
||||
}
|
||||
|
||||
DEFINE_TEST_MAIN(LOG_INFO);
|
||||
@@ -56,26 +56,19 @@ int sd_dhcp_lease_get_broadcast(sd_dhcp_lease *lease, struct in_addr *addr);
|
||||
int sd_dhcp_lease_get_netmask(sd_dhcp_lease *lease, struct in_addr *addr);
|
||||
int sd_dhcp_lease_get_prefix(sd_dhcp_lease *lease, struct in_addr *ret_prefix, uint8_t *ret_prefixlen);
|
||||
int sd_dhcp_lease_get_router(sd_dhcp_lease *lease, const struct in_addr **addr);
|
||||
int sd_dhcp_lease_get_next_server(sd_dhcp_lease *lease, struct in_addr *addr);
|
||||
int sd_dhcp_lease_get_server_identifier(sd_dhcp_lease *lease, struct in_addr *addr);
|
||||
int sd_dhcp_lease_get_servers(sd_dhcp_lease *lease, sd_dhcp_lease_server_type_t what, const struct in_addr **addr);
|
||||
int sd_dhcp_lease_get_dns(sd_dhcp_lease *lease, const struct in_addr **addr);
|
||||
int sd_dhcp_lease_get_ntp(sd_dhcp_lease *lease, const struct in_addr **addr);
|
||||
int sd_dhcp_lease_get_sip(sd_dhcp_lease *lease, const struct in_addr **addr);
|
||||
int sd_dhcp_lease_get_pop3(sd_dhcp_lease *lease, const struct in_addr **addr);
|
||||
int sd_dhcp_lease_get_smtp(sd_dhcp_lease *lease, const struct in_addr **addr);
|
||||
int sd_dhcp_lease_get_lpr(sd_dhcp_lease *lease, const struct in_addr **addr);
|
||||
int sd_dhcp_lease_get_mtu(sd_dhcp_lease *lease, uint16_t *mtu);
|
||||
int sd_dhcp_lease_get_domainname(sd_dhcp_lease *lease, const char **domainname);
|
||||
int sd_dhcp_lease_get_search_domains(sd_dhcp_lease *lease, char ***domains);
|
||||
int sd_dhcp_lease_get_hostname(sd_dhcp_lease *lease, const char **hostname);
|
||||
int sd_dhcp_lease_get_root_path(sd_dhcp_lease *lease, const char **root_path);
|
||||
int sd_dhcp_lease_get_hostname(sd_dhcp_lease *lease, const char **ret);
|
||||
int sd_dhcp_lease_get_captive_portal(sd_dhcp_lease *lease, const char **ret);
|
||||
int sd_dhcp_lease_get_dnr(sd_dhcp_lease *lease, sd_dns_resolver **ret_resolvers);
|
||||
int sd_dhcp_lease_get_static_routes(sd_dhcp_lease *lease, sd_dhcp_route ***ret);
|
||||
int sd_dhcp_lease_get_classless_routes(sd_dhcp_lease *lease, sd_dhcp_route ***ret);
|
||||
int sd_dhcp_lease_get_vendor_specific(sd_dhcp_lease *lease, const void **data, size_t *data_len);
|
||||
int sd_dhcp_lease_get_client_id(sd_dhcp_lease *lease, const sd_dhcp_client_id **ret);
|
||||
int sd_dhcp_lease_get_timezone(sd_dhcp_lease *lease, const char **ret);
|
||||
int sd_dhcp_lease_get_6rd(
|
||||
sd_dhcp_lease *lease,
|
||||
|
||||
Reference in New Issue
Block a user