NetworkManager/shared
Thomas Haller 4181ed86ac 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.

(cherry picked from commit 9522aaf226)
2019-04-17 11:27:10 +02:00
..
c-list shared/c-list: re-import from latest c-util/c-list 2019-02-06 07:54:19 +01:00
c-rbtree shared: workaround -Wunused-but-set-variable warning with assertions 2019-04-04 09:54:44 +02:00
c-siphash shared/c-siphash: re-import from latest c-util/c-siphash 2019-02-06 08:27:07 +01:00
n-acd shared: workaround -Wunused-but-set-variable warning with assertions 2019-04-04 09:54:44 +02:00
nm-utils shared: add NM_UTILS_STRSPLIT_SET_FLAGS_ESCAPED to nm_utils_strsplit_set_full() 2019-04-17 11:27:10 +02:00
systemd libnm,shared: bzero secrets on failure in nm_utils_base64secret_decode() 2019-04-12 07:39:50 +02:00
meson.build systemd: merge branch systemd into master 2019-04-04 09:49:37 +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 Revert "all: goodbye libnm-glib" 2019-04-03 08:52:38 +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 Revert "all: goodbye libnm-glib" 2019-04-03 08:52:38 +02:00
nm-test-utils-impl.c Revert "all: goodbye libnm-glib" 2019-04-03 08:52:38 +02:00
nm-version-macros.h.in release: bump version to 1.17.0 (development) 2019-02-23 10:15:58 +01:00