NetworkManager/src/libnm-glib-aux
Thomas Haller ab69d430a7 glib-aux: fix rejecting '\v' and NBSP in nm_utils_ifname_valid_kernel()
Kernel's dev_valid_name() calls isspace(), which also rejects '\v'
and '\240'.

As this tightens the check, the change can break code that partly worked
before. It surely didn't work to the point, where an interface with such
name could be created in kernel.

  # ip link add name $'foo\240bar' type dummy
  RTNETLINK answers: Invalid argument
2023-07-19 11:50:04 +02:00
..
tests glib-aux: avoid using inet_aton() 2023-05-08 15:44:49 +02:00
meson.build glib-aux: add NMPrioq priority queue (heap) 2022-10-25 10:58:56 +02:00
nm-c-list.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-dbus-aux.c doc: replace all (allow-none) annotations by (optional) and/or (nullable) 2023-03-27 11:49:43 +02:00
nm-dbus-aux.h doc: replace all (allow-none) annotations by (optional) and/or (nullable) 2023-03-27 11:49:43 +02:00
nm-dedup-multi.c doc: use "Returns:" annotation instead of deprecated aliases 2023-03-29 11:46:48 +02:00
nm-dedup-multi.h platform: fix "-Wcast-align" warning on i686 in nmp_object_ref() 2022-12-14 09:46:33 +01:00
nm-default-glib-i18n-lib.h build: move "shared/nm-{glib-aux,log-null,log-core}" to "src/libnm-{glib-aux,log-null,log-core}" 2021-02-24 12:48:20 +01:00
nm-default-glib-i18n-prog.h build: move "shared/nm-{glib-aux,log-null,log-core}" to "src/libnm-{glib-aux,log-null,log-core}" 2021-02-24 12:48:20 +01:00
nm-default-glib.h glib-aux: move inet related helpers to "nm-inet-utils.h" 2022-08-25 19:05:51 +02:00
nm-enum-utils.c glib-aux: fix nicks for zero flag in nm_utils_enum_to_str() 2022-08-25 23:07:44 +02:00
nm-enum-utils.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-errno.c platform/netlink: add nlmsg_parse_error() helper 2022-08-09 08:02:40 +02:00
nm-errno.h platform/netlink: add nlmsg_parse_error() helper 2022-08-09 08:02:40 +02:00
nm-gassert-patch.h clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-glib.h clang-format: reformat code with clang-format 16.0.2-1.fc38 2023-05-19 10:53:13 +02:00
nm-hash-utils.c all: fix various "-Wcast-align=strict" warnings 2022-12-09 09:15:56 +01:00
nm-hash-utils.h clang-format: reformat code with clang-format 16.0.2-1.fc38 2023-05-19 10:53:13 +02:00
nm-inet-utils.c glib-aux: use GModule instead of dlopen() in _inet_aton() 2023-05-10 18:58:49 +02:00
nm-inet-utils.h glib-aux: avoid using inet_aton() 2023-05-08 15:44:49 +02:00
nm-io-utils.c glib-aux: add nm_io_fcntl_setfl_update_nonblock() helper 2023-04-04 08:43:20 +02:00
nm-io-utils.h glib-aux: add nm_io_fcntl_setfl_update_nonblock() helper 2023-04-04 08:43:20 +02:00
nm-jansson.h clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-json-aux.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-json-aux.h libnm: add direct strv type for NMSetting and use it for "match.interface-name" 2022-02-10 22:30:27 +01:00
nm-keyfile-aux.c glib-aux/trivial: fix typo in code comment 2022-09-09 16:21:53 +02:00
nm-keyfile-aux.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-logging-base.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-logging-base.h glib-aux,cloud-setup: add _nm_logging_enabled*() helper API 2021-07-23 16:43:37 +02:00
nm-logging-fwd.h glib-aux: make _LOGT_ENABLED()/_LOGD_ENABLED() as G_UNLIKELY() 2023-03-08 15:34:47 +01:00
nm-logging-syslog.h shared: split and move "nm-vpn-plugin-macros.h" 2021-02-24 12:48:56 +01:00
nm-macros-internal.h glib-aux: add NM_ASCII_SPACES_KERNEL helper 2023-07-19 11:50:04 +02:00
nm-obj.h build: move "shared/nm-{glib-aux,log-null,log-core}" to "src/libnm-{glib-aux,log-null,log-core}" 2021-02-24 12:48:20 +01:00
nm-prioq.c glib-aux/prioq: remove unused includes 2023-03-21 17:29:46 +01:00
nm-prioq.h glib-aux/prioq: rename NM_PRIOQ_FOREACH_ITEM() to nm_prioq_for_each() 2023-03-21 15:58:39 +01:00
nm-random-utils.c doc: replace all (allow-none) annotations by (optional) and/or (nullable) 2023-03-27 11:49:43 +02:00
nm-random-utils.h glib-aux: add nm_random_u64_range() helper 2023-01-30 10:48:53 +01:00
nm-ref-string.c glib-aux,core: use nm_memdup_nul() and nm_memcpy() 2022-10-24 08:48:11 +02:00
nm-ref-string.h all: fix various wrong "return FALSE" for returning pointers 2023-05-02 08:37:20 +02:00
nm-secret-utils.c glib-aux: drop usage of malloc_usable_size() in nm_free_secret() 2023-02-08 15:15:45 +01:00
nm-secret-utils.h crypto: move nm_crypto_read_file() to "libnm-glib-aux" 2022-03-29 11:56:04 +02:00
nm-shared-utils.c glib-aux: fix rejecting '\v' and NBSP in nm_utils_ifname_valid_kernel() 2023-07-19 11:50:04 +02:00
nm-shared-utils.h clang-format: reformat code with clang-format 16.0.2-1.fc38 2023-05-19 10:53:13 +02:00
nm-str-buf.h doc: replace all (allow-none) annotations by (optional) and/or (nullable) 2023-03-27 11:49:43 +02:00
nm-test-utils.h clang-format: reformat code with clang-format 16.0.2-1.fc38 2023-05-19 10:53:13 +02:00
nm-time-utils.c glib-aux: add nm_time_map_clock() helper 2022-10-25 10:59:00 +02:00
nm-time-utils.h glib-aux: add nm_time_map_clock() helper 2022-10-25 10:59:00 +02:00
nm-uuid.c doc: replace all (allow-none) annotations by (optional) and/or (nullable) 2023-03-27 11:49:43 +02:00
nm-uuid.h all: fix generating UUIDs for string 2022-11-03 09:23:52 +01:00
nm-value-type.h libnm: add direct strv type for NMSetting and use it for "match.interface-name" 2022-02-10 22:30:27 +01:00
README.md all: add some README.md files describing the purpose of our sources 2021-08-19 17:51:11 +02:00

libnm-glib-aux

A static helper library with general purpose helpers on top of glib.

This is similar to libnm-std-aux (on which this library depends). The difference is that libnm-std-aux only requires standard C (C11), while this has a dependency on glib.

As this has no additional dependencies, we should have all our glib code use this internal helper library. It contains helpers that should be available (and used) in all our C/glib applications/libraries.

Parts of this library are usually already included via the nm-default*.h headers.