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

Commit 6ecbdca4 authored by Robert Greenwalt's avatar Robert Greenwalt
Browse files

Read domain name from dhcp system prop

This property is set by the dhcpcd daemon.

bug:6799630
Change-Id: I21002e286819cff420ec72e3857764e5f58ecfe4
parent 258a0a5a
Loading
Loading
Loading
Loading
+12 −5
Original line number Original line Diff line number Diff line
@@ -92,7 +92,8 @@ static int fill_ip_info(const char *interface,
                     char *dns2,
                     char *dns2,
                     char *server,
                     char *server,
                     uint32_t *lease,
                     uint32_t *lease,
                     char *vendorInfo)
                     char *vendorInfo,
                     char *domain)
{
{
    char prop_name[PROPERTY_KEY_MAX];
    char prop_name[PROPERTY_KEY_MAX];
    char prop_value[PROPERTY_VALUE_MAX];
    char prop_value[PROPERTY_VALUE_MAX];
@@ -153,6 +154,10 @@ static int fill_ip_info(const char *interface,
            p2p_interface);
            p2p_interface);
    property_get(prop_name, vendorInfo, NULL);
    property_get(prop_name, vendorInfo, NULL);


    snprintf(prop_name, sizeof(prop_name), "%s.%s.domain", DHCP_PROP_NAME_PREFIX,
            p2p_interface);
    property_get(prop_name, domain, NULL);

    return 0;
    return 0;
}
}


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


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