luci2: initialize package pointers to NULL
[project/luci2/ui.git] / luci2 / src / rpcd / luci2.c
index 179a055cae069254a3f612e755f20db47c4f1f20..7c37144b595340ee8edc3da0cf8398cfbd2fd539 100644 (file)
@@ -217,7 +217,7 @@ rpc_luci2_system_log(struct ubus_context *ctx, struct ubus_object *obj,
        int logsize = 0;
        const char *logfile = NULL;
        struct stat st;
-       struct uci_package *p;
+       struct uci_package *p = NULL;
        struct uci_element *e;
        struct uci_section *s;
        struct uci_ptr ptr = { .package = "system" };
@@ -1235,7 +1235,7 @@ static FILE *
 dnsmasq_leasefile(void)
 {
        FILE *leases = NULL;
-       struct uci_package *p;
+       struct uci_package *p = NULL;
        struct uci_element *e;
        struct uci_section *s;
        struct uci_ptr ptr = {
@@ -2283,6 +2283,18 @@ rpc_luci2_network_dev_list(struct ubus_context *ctx, struct ubus_object *obj,
        return 0;
 }
 
+static int
+rpc_luci2_network_eap_support(struct ubus_context *ctx, struct ubus_object *obj,
+                              struct ubus_request_data *req, const char *method,
+                              struct blob_attr *msg)
+{
+       blob_buf_init(&buf, 0);
+       blobmsg_add_u8(&buf, "master", !system("/usr/sbin/hostapd -veap"));
+       blobmsg_add_u8(&buf, "client", !system("/usr/sbin/wpa_supplicant -veap"));
+       ubus_send_reply(ctx, req, buf.head);
+       return 0;
+}
+
 
 struct opkg_state {
        int cur_offset;
@@ -2814,7 +2826,8 @@ rpc_luci2_api_init(const struct rpc_daemon_ops *o, struct ubus_context *ctx)
                                                     rpc_data_policy),
                UBUS_METHOD("ifdown",                rpc_luci2_network_ifdown,
                                                     rpc_data_policy),
-               UBUS_METHOD_NOARG("device_list",     rpc_luci2_network_dev_list)
+               UBUS_METHOD_NOARG("device_list",     rpc_luci2_network_dev_list),
+               UBUS_METHOD_NOARG("eap_support",     rpc_luci2_network_eap_support)
        };
 
        static struct ubus_object_type luci2_network_type =