Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0fb8ec8e authored by Jeff Sharkey's avatar Jeff Sharkey
Browse files

Pipe DHCP vendor info towards framework.

Bug: 6344821
Change-Id: Iebce3e1b36175fc88f44e18db647c43b1245f18f
parent c28cbb2c
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -30,7 +30,8 @@ extern int dhcp_do_request(const char *ifname,
                          char *dns1,
                          char *dns2,
                          char *server,
                          uint32_t  *lease);
                          uint32_t *lease,
                          char *vendorInfo);
extern int dhcp_stop(const char *ifname);
extern int dhcp_release_lease(const char *ifname);
extern char *dhcp_get_errmsg();
+14 −6
Original line number Diff line number Diff line
@@ -70,7 +70,8 @@ static int fill_ip_info(const char *interface,
                     char *dns1,
                     char *dns2,
                     char *server,
                     uint32_t  *lease)
                     uint32_t *lease,
                     char *vendorInfo)
{
    char prop_name[PROPERTY_KEY_MAX];
    char prop_value[PROPERTY_VALUE_MAX];
@@ -122,6 +123,10 @@ static int fill_ip_info(const char *interface,
    if (property_get(prop_name, prop_value, NULL)) {
        *lease = atol(prop_value);
    }

    snprintf(prop_name, sizeof(prop_name), "%s.%s.vendorInfo", DHCP_PROP_NAME_PREFIX, interface);
    property_get(prop_name, vendorInfo, NULL);

    return 0;
}

@@ -158,7 +163,8 @@ int dhcp_do_request(const char *interface,
                    char *dns1,
                    char *dns2,
                    char *server,
                    uint32_t  *lease)
                    uint32_t *lease,
                    char *vendorInfo)
{
    char result_prop_name[PROPERTY_KEY_MAX];
    char daemon_prop_name[PROPERTY_KEY_MAX];
@@ -207,8 +213,8 @@ int dhcp_do_request(const char *interface,
    }
    if (strcmp(prop_value, "ok") == 0) {
        char dns_prop_name[PROPERTY_KEY_MAX];
        if (fill_ip_info(interface, ipaddr, gateway, prefixLength, dns1, dns2, server, lease)
                == -1) {
        if (fill_ip_info(interface, ipaddr, gateway, prefixLength,
                dns1, dns2, server, lease, vendorInfo) == -1) {
            return -1;
        }

@@ -305,7 +311,8 @@ int dhcp_do_request_renew(const char *interface,
                    in_addr_t *dns1,
                    in_addr_t *dns2,
                    in_addr_t *server,
                    uint32_t  *lease)
                    uint32_t *lease,
                    char *vendorInfo)
{
    char result_prop_name[PROPERTY_KEY_MAX];
    char prop_value[PROPERTY_VALUE_MAX] = {'\0'};
@@ -341,7 +348,8 @@ int dhcp_do_request_renew(const char *interface,
        return -1;
    }
    if (strcmp(prop_value, "ok") == 0) {
        fill_ip_info(interface, ipaddr, gateway, prefixLength, dns1, dns2, server, lease);
        fill_ip_info(interface, ipaddr, gateway, prefixLength,
                dns1, dns2, server, lease, vendorInfo);
        return 0;
    } else {
        snprintf(errmsg, sizeof(errmsg), "DHCP Renew result was %s", prop_value);