struct connman_element *element = data;
DBusMessage *reply;
DBusMessageIter array, dict;
+ connman_uint8_t strength = 0;
+ const char *type = NULL, *method = NULL;
+ const char *address = NULL, *netmask = NULL, *gateway = NULL;
DBG("conn %p", conn);
+ if (__connman_security_check_privilege(msg,
+ CONNMAN_SECURITY_PRIVILEGE_PUBLIC) < 0)
+ return __connman_error_permission_denied(msg);
+
reply = dbus_message_new_method_return(msg);
if (reply == NULL)
return NULL;
DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_VARIANT_AS_STRING
DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &dict);
+ connman_element_get_static_property(element, "Type", &type);
+
+ if (type != NULL)
+ connman_dbus_dict_append_variant(&dict, "Type",
+ DBUS_TYPE_STRING, &type);
+
+ connman_element_get_static_property(element, "Strength", &strength);
+ if (strength > 0)
+ connman_dbus_dict_append_variant(&dict, "Strength",
+ DBUS_TYPE_BYTE, &strength);
+
if (element->devname != NULL)
connman_dbus_dict_append_variant(&dict, "Interface",
DBUS_TYPE_STRING, &element->devname);
+ connman_dbus_dict_append_variant(&dict, "Default",
+ DBUS_TYPE_BOOLEAN, &element->enabled);
+
+ connman_element_get_value(element,
+ CONNMAN_PROPERTY_ID_IPV4_METHOD, &method);
+
+ connman_element_get_value(element,
+ CONNMAN_PROPERTY_ID_IPV4_ADDRESS, &address);
+ connman_element_get_value(element,
+ CONNMAN_PROPERTY_ID_IPV4_NETMASK, &netmask);
+ connman_element_get_value(element,
+ CONNMAN_PROPERTY_ID_IPV4_GATEWAY, &gateway);
+
+ if (method != NULL)
+ connman_dbus_dict_append_variant(&dict, "IPv4.Method",
+ DBUS_TYPE_STRING, &method);
+
+ if (address != NULL)
+ connman_dbus_dict_append_variant(&dict, "IPv4.Address",
+ DBUS_TYPE_STRING, &address);
+
+ if (netmask != NULL)
+ connman_dbus_dict_append_variant(&dict, "IPv4.Netmask",
+ DBUS_TYPE_STRING, &netmask);
+
+ if (gateway != NULL)
+ connman_dbus_dict_append_variant(&dict, "IPv4.Gateway",
+ DBUS_TYPE_STRING, &gateway);
+
dbus_message_iter_close_container(&array, &dict);
return reply;
dbus_message_iter_next(&iter);
dbus_message_iter_recurse(&iter, &value);
- if (__connman_security_check_privileges(msg) < 0)
+ if (__connman_security_check_privilege(msg,
+ CONNMAN_SECURITY_PRIVILEGE_MODIFY) < 0)
return __connman_error_permission_denied(msg);
return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);