Date: Wed, 26 Feb 2025 15:15:49 GMT From: John Baldwin <jhb@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: f3a43b3db881 - main - ctld: Fail UCL configurations with a nested error Message-ID: <202502261515.51QFFnEb033948@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=f3a43b3db881679d0b82b97f18871422050a5819 commit f3a43b3db881679d0b82b97f18871422050a5819 Author: John Baldwin <jhb@FreeBSD.org> AuthorDate: 2025-02-26 15:11:07 +0000 Commit: John Baldwin <jhb@FreeBSD.org> CommitDate: 2025-02-26 15:11:07 +0000 ctld: Fail UCL configurations with a nested error Errors from auth groups, portal groups, global luns, and targets were not propagated out of the main loop. Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D49071 --- usr.sbin/ctld/uclparse.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/usr.sbin/ctld/uclparse.c b/usr.sbin/ctld/uclparse.c index f8f8954304fa..2dc4872bee84 100644 --- a/usr.sbin/ctld/uclparse.c +++ b/usr.sbin/ctld/uclparse.c @@ -336,7 +336,9 @@ uclparse_toplevel(const ucl_object_t *top) if (obj->type == UCL_OBJECT) { iter = NULL; while ((child = ucl_iterate_object(obj, &iter, true))) { - uclparse_auth_group(ucl_object_key(child), child); + if (!uclparse_auth_group( + ucl_object_key(child), child)) + return (false); } } else { log_warnx("\"auth-group\" section is not an object"); @@ -348,7 +350,9 @@ uclparse_toplevel(const ucl_object_t *top) if (obj->type == UCL_OBJECT) { iter = NULL; while ((child = ucl_iterate_object(obj, &iter, true))) { - uclparse_portal_group(ucl_object_key(child), child); + if (!uclparse_portal_group( + ucl_object_key(child), child)) + return (false); } } else { log_warnx("\"portal-group\" section is not an object"); @@ -360,7 +364,9 @@ uclparse_toplevel(const ucl_object_t *top) if (obj->type == UCL_OBJECT) { iter = NULL; while ((child = ucl_iterate_object(obj, &iter, true))) { - uclparse_lun(ucl_object_key(child), child); + if (!uclparse_lun(ucl_object_key(child), + child)) + return (false); } } else { log_warnx("\"lun\" section is not an object"); @@ -379,8 +385,9 @@ uclparse_toplevel(const ucl_object_t *top) iter = NULL; while ((child = ucl_iterate_object(obj, &iter, true))) { - uclparse_target(ucl_object_key(child), - child); + if (!uclparse_target( + ucl_object_key(child), child)) + return (false); } } else { log_warnx("\"target\" section is not an object");
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202502261515.51QFFnEb033948>