diff options
Diffstat (limited to 'main/strongswan/0203-vici-Add-get_bool-convenience-getter-for-VICI-messag.patch')
-rw-r--r-- | main/strongswan/0203-vici-Add-get_bool-convenience-getter-for-VICI-messag.patch | 170 |
1 files changed, 0 insertions, 170 deletions
diff --git a/main/strongswan/0203-vici-Add-get_bool-convenience-getter-for-VICI-messag.patch b/main/strongswan/0203-vici-Add-get_bool-convenience-getter-for-VICI-messag.patch deleted file mode 100644 index d6cc090718..0000000000 --- a/main/strongswan/0203-vici-Add-get_bool-convenience-getter-for-VICI-messag.patch +++ /dev/null @@ -1,170 +0,0 @@ -From f3b6de5afdc48550680c12359154eb18a5812ecb Mon Sep 17 00:00:00 2001 -From: Tobias Brunner <tobias@strongswan.org> -Date: Thu, 16 Jul 2015 17:51:40 +0200 -Subject: [PATCH] vici: Add get_bool() convenience getter for VICI messages - ---- - src/libcharon/plugins/vici/suites/test_message.c | 31 ++++++++++++++++++ - src/libcharon/plugins/vici/vici_message.c | 40 ++++++++++++++++++++++++ - src/libcharon/plugins/vici/vici_message.h | 23 ++++++++++++++ - 3 files changed, 94 insertions(+) - -diff --git a/src/libcharon/plugins/vici/suites/test_message.c b/src/libcharon/plugins/vici/suites/test_message.c -index e76d273..045e34f 100644 ---- a/src/libcharon/plugins/vici/suites/test_message.c -+++ b/src/libcharon/plugins/vici/suites/test_message.c -@@ -1,4 +1,7 @@ - /* -+ * Copyright (C) 2015 Tobias Brunner -+ * Hochschule fuer Technik Rapperswil -+ * - * Copyright (C) 2014 Martin Willi - * Copyright (C) 2014 revosec AG - * -@@ -355,6 +358,33 @@ START_TEST(test_get_int) - } - END_TEST - -+START_TEST(test_get_bool) -+{ -+ vici_message_t *m; -+ -+ m = build_getter_msg(); -+ -+ ck_assert(m->get_bool(m, TRUE, "key1")); -+ ck_assert(m->get_bool(m, FALSE, "key1")); -+ -+ ck_assert(m->get_bool(m, TRUE, "section1.key2")); -+ ck_assert(m->get_bool(m, TRUE, "section1.section2.key3")); -+ ck_assert(m->get_bool(m, TRUE, "section1.key4")); -+ ck_assert(m->get_bool(m, TRUE, "key5")); -+ ck_assert(m->get_bool(m, TRUE, "nonexistent")); -+ ck_assert(m->get_bool(m, TRUE, "n.o.n.e.x.i.s.t.e.n.t")); -+ -+ ck_assert(!m->get_bool(m, FALSE, "section1.key2")); -+ ck_assert(!m->get_bool(m, FALSE, "section1.section2.key3")); -+ ck_assert(!m->get_bool(m, FALSE, "section1.key4")); -+ ck_assert(!m->get_bool(m, FALSE, "key5")); -+ ck_assert(!m->get_bool(m, FALSE, "nonexistent")); -+ ck_assert(!m->get_bool(m, FALSE, "n.o.n.e.x.i.s.t.e.n.t")); -+ -+ m->destroy(m); -+} -+END_TEST -+ - START_TEST(test_get_value) - { - vici_message_t *m; -@@ -400,6 +430,7 @@ Suite *message_suite_create() - tc = tcase_create("convenience getters"); - tcase_add_test(tc, test_get_str); - tcase_add_test(tc, test_get_int); -+ tcase_add_test(tc, test_get_bool); - tcase_add_test(tc, test_get_value); - suite_add_tcase(s, tc); - -diff --git a/src/libcharon/plugins/vici/vici_message.c b/src/libcharon/plugins/vici/vici_message.c -index e79fbc8..fb6e8a1 100644 ---- a/src/libcharon/plugins/vici/vici_message.c -+++ b/src/libcharon/plugins/vici/vici_message.c -@@ -1,4 +1,7 @@ - /* -+ * Copyright (C) 2015 Tobias Brunner -+ * Hochschule fuer Technik Rapperswil -+ * - * Copyright (C) 2014 Martin Willi - * Copyright (C) 2014 revosec AG - * -@@ -385,6 +388,41 @@ METHOD(vici_message_t, get_int, int, - return val; - } - -+METHOD(vici_message_t, vget_bool, bool, -+ private_vici_message_t *this, bool def, char *fmt, va_list args) -+{ -+ chunk_t value; -+ bool found; -+ char buf[16]; -+ -+ found = find_value(this, &value, fmt, args); -+ if (found) -+ { -+ if (value.len == 0) -+ { -+ return def; -+ } -+ if (chunk_printable(value, NULL, 0)) -+ { -+ snprintf(buf, sizeof(buf), "%.*s", (int)value.len, value.ptr); -+ return settings_value_as_bool(buf, def); -+ } -+ } -+ return def; -+} -+ -+METHOD(vici_message_t, get_bool, bool, -+ private_vici_message_t *this, bool def, char *fmt, ...) -+{ -+ va_list args; -+ bool val; -+ -+ va_start(args, fmt); -+ val = vget_bool(this, def, fmt, args); -+ va_end(args); -+ return val; -+} -+ - METHOD(vici_message_t, vget_value, chunk_t, - private_vici_message_t *this, chunk_t def, char *fmt, va_list args) - { -@@ -633,6 +671,8 @@ vici_message_t *vici_message_create_from_data(chunk_t data, bool cleanup) - .vget_str = _vget_str, - .get_int = _get_int, - .vget_int = _vget_int, -+ .get_bool = _get_bool, -+ .vget_bool = _vget_bool, - .get_value = _get_value, - .vget_value = _vget_value, - .get_encoding = _get_encoding, -diff --git a/src/libcharon/plugins/vici/vici_message.h b/src/libcharon/plugins/vici/vici_message.h -index 1a89cf8..7f357b8 100644 ---- a/src/libcharon/plugins/vici/vici_message.h -+++ b/src/libcharon/plugins/vici/vici_message.h -@@ -1,4 +1,7 @@ - /* -+ * Copyright (C) 2015 Tobias Brunner -+ * Hochschule fuer Technik Rapperswil -+ * - * Copyright (C) 2014 Martin Willi - * Copyright (C) 2014 revosec AG - * -@@ -138,6 +141,26 @@ struct vici_message_t { - int (*vget_int)(vici_message_t *this, int def, char *fmt, va_list args); - - /** -+ * Get the value of a key/value pair as boolean. -+ * -+ * @param def default value if not found -+ * @param fmt printf style format string for key, with sections -+ * @param ... arguments to fmt string -+ * @return value -+ */ -+ bool (*get_bool)(vici_message_t *this, bool def, char *fmt, ...); -+ -+ /** -+ * Get the value of a key/value pair as boolean, va_list variant -+ * -+ * @param def default value if not found -+ * @param fmt printf style format string for key, with sections -+ * @param args arguments to fmt string -+ * @return value -+ */ -+ bool (*vget_bool)(vici_message_t *this, bool def, char *fmt, va_list args); -+ -+ /** - * Get the raw value of a key/value pair. - * - * @param def default value if not found --- -2.4.6 - |