X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fuhttpd.git;a=blobdiff_plain;f=ubus.c;fp=ubus.c;h=3c1124662eccc503d969c99a5ecac737bb1a7e95;hp=8129c20e4b5bd892a0123e4f59954e30e475aaa7;hb=a7b7badd525143971464d7d75c6e0faca1c12e96;hpb=4fb73b3febd0b368bee39c361dd58d56fb1829ca diff --git a/ubus.c b/ubus.c index 8129c20..3c11246 100644 --- a/ubus.c +++ b/ubus.c @@ -241,7 +241,7 @@ static void uh_ubus_single_error(struct client *cl, enum rpc_error type) ops->request_done(cl); } -static void uh_ubus_send_request(struct client *cl, json_object *obj, struct blob_attr *args) +static void uh_ubus_send_request(struct client *cl, json_object *obj, const char *sid, struct blob_attr *args) { struct dispatch *d = &cl->dispatch; struct dispatch_ubus *du = &d->ubus; @@ -253,6 +253,8 @@ static void uh_ubus_send_request(struct client *cl, json_object *obj, struct blo blobmsg_for_each_attr(cur, args, rem) blobmsg_add_blob(&req, cur); + blobmsg_add_string(&req, "ubus_rpc_session", sid); + blob_buf_init(&du->buf, 0); memset(&du->req, 0, sizeof(du->req)); ret = ubus_invoke_async(ctx, du->obj, du->func, req.head, &du->req); @@ -484,7 +486,7 @@ static void uh_ubus_handle_request_object(struct client *cl, struct json_object goto error; } - uh_ubus_send_request(cl, obj, data.data); + uh_ubus_send_request(cl, obj, data.sid, data.data); goto out; } else if (!strcmp(data.method, "list")) {