NetworkManager/shared
Thomas Haller 9522aaf226 shared: add NM_UTILS_STRSPLIT_SET_FLAGS_ESCAPED to nm_utils_strsplit_set_full()
Add a new flag that will remove escape characters after splitting
the string.

This implements a special kind of backslash escaping. It's not C escape
sequences (like '\n' or '\020'), but simply to take the special character
following the backslash verbatim. Note that the backslash is only
considered special, if it's followed by a delimiter, another backslash,
or a whitespace (in combination with %NM_UTILS_STRSPLIT_SET_FLAGS_STRSTRIP).

The main purpose of this form of escaping is nmcli's list options, like

  $ nmcli connection modify "$PROFILE" +ipv4.routing-rules 'priority 5 from 192.168.7.5/32 table 5, priority 6 iif a\, from 192.168.7.5/32 table 6'

It's a contrieved example, but the list options are a list of IP
addresses, rules, etc. They implement their own syntax for one element,
and are concatenated by ','. To support that one element may have
arbitrary characters (including the delimiter and whitespaces), nmcli
employs a tokenization with this special kind of escaping.
2019-04-17 11:11:21 +02:00
..
c-list shared/c-list: reimport 2019-04-14 17:22:04 +02:00
c-rbtree shared/c-rbtree: reimport 2019-04-14 17:23:01 +02:00
c-siphash shared/c-siphash: reimport 2019-04-14 17:23:25 +02:00
c-stdaux shared: patch c-stdaux.h to not include <stdatomic.h> 2019-04-14 17:17:52 +02:00
n-acd shared/n-acd: reimport 2019-04-14 17:23:50 +02:00
nm-utils shared: add NM_UTILS_STRSPLIT_SET_FLAGS_ESCAPED to nm_utils_strsplit_set_full() 2019-04-17 11:11:21 +02:00
systemd libnm,shared: bzero secrets on failure in nm_utils_base64secret_decode() 2019-04-12 07:39:50 +02:00
meson.build build: include c-stdaux in c-util and nettools tools 2019-04-14 12:59:48 +02:00
nm-common-macros.h Add polkit action for Wi-Fi scans 2019-02-21 13:49:17 +01:00
nm-dbus-compat.h build: rename directory "include" to "shared" 2015-12-24 11:42:37 +01:00
nm-default.h all: goodbye libnm-glib 2019-04-16 15:52:27 +02:00
nm-dispatcher-api.h build: cleanup src/Makefile.am 2016-08-11 11:54:18 +02:00
nm-ethtool-utils.c shared: fix static array declaration for _by_name in "nm-ethtool-utils.c" 2019-02-08 20:14:50 +01:00
nm-ethtool-utils.h all/ethtool: add support for all currently supported kernel features 2018-08-10 10:38:19 +02:00
nm-libnm-core-utils.c libnm: move parsing VLAN priority mapping to "shared/nm-libnm-core-utils.h" 2019-03-25 09:12:32 +01:00
nm-libnm-core-utils.h libnm/infiniband: lift restriction of MTU to 2044 for IPoIB in "datagram" mode 2019-04-05 16:27:17 +02:00
nm-meta-setting.c shared: add set function to nm_setting_8021x_scheme_vtable 2019-03-25 09:12:32 +01:00
nm-meta-setting.h shared: add set function to nm_setting_8021x_scheme_vtable 2019-03-25 09:12:32 +01:00
nm-test-libnm-utils.h all: goodbye libnm-glib 2019-04-16 15:52:27 +02:00
nm-test-utils-impl.c all: goodbye libnm-glib 2019-04-16 15:52:27 +02:00
nm-version-macros.h.in release: bump version to 1.19.0 (development) 2019-04-13 18:54:31 +02:00