History log of /freebsd/usr.sbin/ctld/uclparse.cc (Results 1 – 9 of 9)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: release/13.5.0-p3, release/14.2.0-p5, release/14.3.0-p2
# ab328f4e 07-Aug-2025 John Baldwin <jhb@FreeBSD.org>

ctld: Catch exceptions by reference instead of by value

Reported by: GCC -Wcatch-value
Sponsored by: Chelsio Communications


# 66b5296f 06-Aug-2025 John Baldwin <jhb@FreeBSD.org>

ctld: Add support for NVMe over Fabrics

While the overall structure is similar for NVMeoF controllers and
iSCSI targets, there are sufficient differences that NVMe support uses
an alternate configur

ctld: Add support for NVMe over Fabrics

While the overall structure is similar for NVMeoF controllers and
iSCSI targets, there are sufficient differences that NVMe support uses
an alternate configuration syntax.

- In authentication groups, permitted NVMeoF hosts can be allowed by
names (NQNs) via "host-nqn" values (similar to "initiator-name" for
iSCSI). Similarly, "host-address" accepts permitted host addresses
similar to "initiator-portal" for iSCSI.

- A new "transport-group" context enumerates transports that can be
used by a group of NVMeoF controllers similar to the "portal-group"
context for iSCSI. In this section, the "listen" keyword accepts a
transport as well as an address to permit other types of transports
besides TCP in the future. The "foreign", "offload", and "redirect"
keywords are also not meaningful and thus not supported.

- A new "controller" context describes an NVMeoF I/O controller
similar to the "target" context for iSCSI. One key difference here
is that "lun" objects are replaced by "namespace" objects. However,
a "namespace" can reference a named global lun permitting LUNs to be
shared between iSCSI targets and NVMeoF controllers.

NB: Authentication via CHAP is not implemented for NVMeoF.

Reviewed by: imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D48773

show more ...


# 9a36ad4f 04-Aug-2025 John Baldwin <jhb@FreeBSD.org>

ctld: Use scoped guards to finish configuration scopes in the UCL parser

Sponsored by: Chelsio Communications
Pull Request: https://github.com/freebsd/freebsd-src/pull/1794


# aea7fa72 04-Aug-2025 John Baldwin <jhb@FreeBSD.org>

ctld: Switch to the C++ bindings for libucl

In particular, this permits using ranged-for loops to iterate over
keys in an object which is more readable.

Sponsored by: Chelsio Communications
Pull Re

ctld: Switch to the C++ bindings for libucl

In particular, this permits using ranged-for loops to iterate over
keys in an object which is more readable.

Sponsored by: Chelsio Communications
Pull Request: https://github.com/freebsd/freebsd-src/pull/1794

show more ...


# e01fe14c 04-Aug-2025 John Baldwin <jhb@FreeBSD.org>

ctld: Make config file parsing exception safe

Split parse_conf in half keeping yyparse_conf as C-only function in
parse.y. parse_conf uses freebsd::FILE_up to ensure that the config
file is always

ctld: Make config file parsing exception safe

Split parse_conf in half keeping yyparse_conf as C-only function in
parse.y. parse_conf uses freebsd::FILE_up to ensure that the config
file is always closed.

Both parse_conf and uclparse_conf catch any exceptions thrown during
parsing. This is in preparation for using C++ objects allocated with
new for various data structures.

Note that this treats memory allocation failures from new as parsing
errors rather than ctld exiting entirely as it currently does if
malloc or calloc fail.

Sponsored by: Chelsio Communications
Pull Request: https://github.com/freebsd/freebsd-src/pull/1794

show more ...


# 34e8d664 04-Aug-2025 John Baldwin <jhb@FreeBSD.org>

ctld: Rename {ctld,isns}.h to {ctld,isns}.hh

Subsequent commits will use C++ in these headers rather than only C.
conf.h remains as a C-only header since it is intended for use by the
C code generat

ctld: Rename {ctld,isns}.h to {ctld,isns}.hh

Subsequent commits will use C++ in these headers rather than only C.
conf.h remains as a C-only header since it is intended for use by the
C code generated from parse.y.

Sponsored by: Chelsio Communications
Pull Request: https://github.com/freebsd/freebsd-src/pull/1794

show more ...


Revision tags: release/14.3.0-p1, release/14.2.0-p4, release/13.5.0-p2, release/14.3.0
# bf411567 11-Apr-2025 John Baldwin <jhb@FreeBSD.org>

ctld: Properly validate mutual user/secret for CHAP-MUTUAL in the UCL parser

The code was checking the non-mutual UCL objects twice instead.

Sponsored by: Chelsio Communications
Differential Revisi

ctld: Properly validate mutual user/secret for CHAP-MUTUAL in the UCL parser

The code was checking the non-mutual UCL objects twice instead.

Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D49645

show more ...


# 251439f1 11-Apr-2025 John Baldwin <jhb@FreeBSD.org>

ctld: Remove dead code in UCL parsing of hex DSCP values

libucl treats strings starting with "0x" as an integer if they do
not contain invalid characters. The code also looks broken as it
only call

ctld: Remove dead code in UCL parsing of hex DSCP values

libucl treats strings starting with "0x" as an integer if they do
not contain invalid characters. The code also looks broken as it
only calls strtol if the string exactly matches "0x" without any
trailing characters.

Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D49644

show more ...


Revision tags: release/13.4.0-p5, release/13.5.0-p1, release/14.2.0-p3
# 839d0755 02-Apr-2025 John Baldwin <jhb@FreeBSD.org>

ctld: Convert to C++

This is the minimal set of changes need to compile as C++ so git can
handle the rename correctly.

Reviewed by: asomers
Sponsored by: Chelsio Communications
Differential Revisio

ctld: Convert to C++

This is the minimal set of changes need to compile as C++ so git can
handle the rename correctly.

Reviewed by: asomers
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D49139

show more ...