From 7f18b0373f277171ec628dfa0022f0e510be8e7f Mon Sep 17 00:00:00 2001 From: ABE Date: Mon, 29 Dec 2025 11:27:50 +0700 Subject: [PATCH 1/2] Enhance usage output in main.c to include detailed descriptions for raw and template processing modes. This improves clarity for users regarding default behaviors. --- main.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/main.c b/main.c index bca1e5fc..70975cbe 100644 --- a/main.c +++ b/main.c @@ -38,6 +38,14 @@ static FILE *stdin_unused; static void print_usage(const char *app) { + bool default_raw_mode = strcmp(app, "utpl"); + const char *default_mode_desc = default_raw_mode + ? "Process source file(s) as raw script code (default)." + : "Process source file(s) as raw script code."; + const char *template_mode_desc = default_raw_mode + ? "Process the source file(s) as templates, not as raw script code." + : "Process the source file(s) as templates (default)."; + printf( "Usage:\n" " %1$s -h\n" @@ -65,10 +73,10 @@ print_usage(const char *app) " Enable strict mode.\n\n" "-R\n" - " Process source file(s) as raw script code (default).\n\n" + " %2$s\n\n" "-T[flag,flag,...]\n" - " Process the source file(s) as templates, not as raw script code.\n" + " %3$s\n" " Supported flags: no-lstrip (don't strip leading whitespace before\n" " block tags), no-rtrim (don't strip trailing newline after block tags).\n\n" @@ -107,7 +115,7 @@ print_usage(const char *app) "-s\n" " Omit (strip) debug information when compiling files.\n" " Only meaningful in conjunction with `-c`.\n\n", - app); + app, default_mode_desc, template_mode_desc); } From f29f5297596be7f13a288820e339a8e035c42f90 Mon Sep 17 00:00:00 2001 From: ABE Date: Mon, 29 Dec 2025 11:32:16 +0700 Subject: [PATCH 2/2] Filter out "ubus_rpc_session" from ubus object call arguments to prevent automatic inclusion by rpcd/uhttpd. --- lib/ubus.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/ubus.c b/lib/ubus.c index 71ee7fb5..740963c1 100644 --- a/lib/ubus.c +++ b/lib/ubus.c @@ -1469,6 +1469,11 @@ uc_ubus_object_call_args(struct ubus_object *obj, const char *ubus_method_name, return UBUS_STATUS_INVALID_ARGUMENT; hdr = blob_data(attr); + + /* skip ubus_rpc_session, it's automatically added by rpcd/uhttpd */ + if (!strcmp((char *)hdr->name, "ubus_rpc_session")) + continue; + found = false; for (i = 0; i < method->n_policy; i++) {