]> git.ipfire.org Git - thirdparty/knot-dns.git/commitdiff
ctl: add 'parser failed,' prefix to zone-(un)set error messages
authorDaniel Salzman <daniel.salzman@nic.cz>
Tue, 3 Jun 2025 11:35:18 +0000 (13:35 +0200)
committerDaniel Salzman <daniel.salzman@nic.cz>
Tue, 3 Jun 2025 12:44:52 +0000 (14:44 +0200)
src/knot/ctl/commands.c

index 6a8df8d477a2b6b940ad65b2e74ba413e9bd7be1..8b9d42c60267af90f90a4e93f3b696c9cce30101 100644 (file)
@@ -1407,12 +1407,14 @@ static int create_rrset(knot_rrset_t **rrset, zone_t *zone, ctl_args_t *args,
            zs_set_input_string(scanner, buff, rdata_len) != 0 ||
            zs_parse_record(scanner) != 0 ||
            scanner->state != ZS_STATE_DATA) {
-               args->data[KNOT_CTL_IDX_ZONE] = origin;
-               if (scanner->error.code == ZS_OK) {
+               args->data[KNOT_CTL_IDX_ZONE] = origin; // Needed if called for all zones.
+               if (scanner->error.code == ZS_OK) { // If not ZS_STATE_DATA.
                        scanner->error.code = ZS_EINVAL;
                }
+               char msg[128] = "parser failed, ";
+               knot_strlcat(msg, zs_strerror(scanner->error.code), sizeof(msg));
                // Send this user mistake directly to the client (don't log it).
-               ctl_send_error(args, zs_strerror(scanner->error.code));
+               ctl_send_error(args, msg);
                ret = KNOT_EPARSEFAIL;
                goto parser_failed;
        }