mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-03-10 00:58:20 +03:00
Revert "add networkd dbus lease info" (#4435)
This commit is contained in:
parent
24597ee0e6
commit
75e2089581
@ -23,7 +23,6 @@
|
||||
#include "networkd.h"
|
||||
#include "parse-util.h"
|
||||
#include "strv.h"
|
||||
#include "dhcp-lease-internal.h"
|
||||
|
||||
static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_operational_state, link_operstate, LinkOperationalState);
|
||||
static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_administrative_state, link_state, LinkState);
|
||||
@ -37,50 +36,6 @@ const sd_bus_vtable link_vtable[] = {
|
||||
SD_BUS_VTABLE_END
|
||||
};
|
||||
|
||||
static int get_private_options(sd_bus *bus,
|
||||
const char *path,
|
||||
const char *interface,
|
||||
const char *property,
|
||||
sd_bus_message *reply,
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
sd_dhcp_lease *lease = userdata;
|
||||
struct sd_dhcp_raw_option *option = NULL;
|
||||
int r;
|
||||
|
||||
assert(bus);
|
||||
assert(reply);
|
||||
assert(lease);
|
||||
|
||||
r = sd_bus_message_open_container(reply, SD_BUS_TYPE_ARRAY, "{yay}");
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
LIST_FOREACH(options, option, lease->private_options) {
|
||||
r = sd_bus_message_open_container(reply, SD_BUS_TYPE_DICT_ENTRY, "yay");
|
||||
if (r < 0)
|
||||
return r;
|
||||
r = sd_bus_message_append(reply, "y", option->tag);
|
||||
if (r < 0)
|
||||
return r;
|
||||
r = sd_bus_message_append_array(reply, 'y', option->data, option->length);
|
||||
if (r < 0)
|
||||
return r;
|
||||
r = sd_bus_message_close_container(reply);
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
return sd_bus_message_close_container(reply);
|
||||
}
|
||||
|
||||
const sd_bus_vtable lease_vtable[] = {
|
||||
SD_BUS_VTABLE_START(0),
|
||||
|
||||
SD_BUS_PROPERTY("PrivateOptions", "a{yay}", get_private_options, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE),
|
||||
|
||||
SD_BUS_VTABLE_END
|
||||
};
|
||||
|
||||
static char *link_bus_path(Link *link) {
|
||||
_cleanup_free_ char *ifindex = NULL;
|
||||
char *p;
|
||||
@ -99,24 +54,6 @@ static char *link_bus_path(Link *link) {
|
||||
return p;
|
||||
}
|
||||
|
||||
static char *lease_bus_path(Link *link) {
|
||||
_cleanup_free_ char *p = NULL;
|
||||
char *ret = NULL;
|
||||
int r;
|
||||
|
||||
assert(link);
|
||||
|
||||
p = link_bus_path(link);
|
||||
if (!p)
|
||||
return NULL;
|
||||
|
||||
r = sd_bus_path_encode(p, "lease", &ret);
|
||||
if (r < 0)
|
||||
return NULL;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int link_node_enumerator(sd_bus *bus, const char *path, void *userdata, char ***nodes, sd_bus_error *error) {
|
||||
_cleanup_strv_free_ char **l = NULL;
|
||||
Manager *m = userdata;
|
||||
@ -150,42 +87,6 @@ int link_node_enumerator(sd_bus *bus, const char *path, void *userdata, char ***
|
||||
return 1;
|
||||
}
|
||||
|
||||
int lease_node_enumerator(sd_bus *bus, const char *path, void *userdata, char ***nodes, sd_bus_error *error) {
|
||||
_cleanup_strv_free_ char **l = NULL;
|
||||
Manager *m = userdata;
|
||||
unsigned c = 0;
|
||||
Link *link;
|
||||
Iterator i;
|
||||
|
||||
assert(bus);
|
||||
assert(path);
|
||||
assert(m);
|
||||
assert(nodes);
|
||||
|
||||
l = new0(char*, hashmap_size(m->links) + 1);
|
||||
if (!l)
|
||||
return -ENOMEM;
|
||||
|
||||
HASHMAP_FOREACH(link, m->links, i) {
|
||||
char *p;
|
||||
|
||||
if (!link->dhcp_lease)
|
||||
continue;
|
||||
|
||||
p = lease_bus_path(link);
|
||||
if (!p)
|
||||
return -ENOMEM;
|
||||
|
||||
l[c++] = p;
|
||||
}
|
||||
|
||||
l[c] = NULL;
|
||||
*nodes = l;
|
||||
l = NULL;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int link_object_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *error) {
|
||||
_cleanup_free_ char *identifier = NULL;
|
||||
Manager *m = userdata;
|
||||
@ -215,38 +116,6 @@ int link_object_find(sd_bus *bus, const char *path, const char *interface, void
|
||||
return 1;
|
||||
}
|
||||
|
||||
int lease_object_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *error) {
|
||||
_cleanup_free_ char *identifier = NULL;
|
||||
Manager *m = userdata;
|
||||
Link *link;
|
||||
int ifindex, r;
|
||||
|
||||
assert(bus);
|
||||
assert(path);
|
||||
assert(interface);
|
||||
assert(m);
|
||||
assert(found);
|
||||
|
||||
r = sd_bus_path_decode_many(path, "/org/freedesktop/network1/link/%/lease", &identifier);
|
||||
if (r <= 0)
|
||||
return 0;
|
||||
|
||||
r = parse_ifindex(identifier, &ifindex);
|
||||
if (r < 0)
|
||||
return 0;
|
||||
|
||||
r = link_get(m, ifindex, &link);
|
||||
if (r < 0)
|
||||
return 0;
|
||||
|
||||
if (!link->dhcp_lease)
|
||||
return 0;
|
||||
|
||||
*found = link->dhcp_lease;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int link_send_changed(Link *link, const char *property, ...) {
|
||||
_cleanup_free_ char *p = NULL;
|
||||
char **l;
|
||||
|
@ -179,11 +179,6 @@ int link_node_enumerator(sd_bus *bus, const char *path, void *userdata, char ***
|
||||
int link_object_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *error);
|
||||
int link_send_changed(Link *link, const char *property, ...) _sentinel_;
|
||||
|
||||
extern const sd_bus_vtable lease_vtable[];
|
||||
|
||||
int lease_node_enumerator(sd_bus *bus, const char *path, void *userdata, char ***nodes, sd_bus_error *error);
|
||||
int lease_object_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *error);
|
||||
|
||||
DEFINE_TRIVIAL_CLEANUP_FUNC(Link*, link_unref);
|
||||
#define _cleanup_link_unref_ _cleanup_(link_unrefp)
|
||||
|
||||
|
@ -176,14 +176,6 @@ int manager_connect_bus(Manager *m) {
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to add link enumerator: %m");
|
||||
|
||||
r = sd_bus_add_fallback_vtable(m->bus, NULL, "/org/freedesktop/network1/link", "org.freedesktop.network1.Link.Lease", lease_vtable, lease_object_find, m);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to add lease object vtable: %m");
|
||||
|
||||
r = sd_bus_add_node_enumerator(m->bus, NULL, "/org/freedesktop/network1/link", lease_node_enumerator, m);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to add lease enumerator: %m");
|
||||
|
||||
r = sd_bus_add_fallback_vtable(m->bus, NULL, "/org/freedesktop/network1/network", "org.freedesktop.network1.Network", network_vtable, network_object_find, m);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to add network object vtable: %m");
|
||||
|
Loading…
x
Reference in New Issue
Block a user