From a51c48eeaab5975045d650c741a8451cf1ba8799 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Mon, 7 Jul 2014 15:53:49 +0200 Subject: [PATCH] settings: Allow spaces in time settings before the optional unit --- src/libstrongswan/settings/settings.c | 5 +++++ src/libstrongswan/tests/suites/test_settings.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/libstrongswan/settings/settings.c b/src/libstrongswan/settings/settings.c index 4fa283a6f..e235e3c51 100644 --- a/src/libstrongswan/settings/settings.c +++ b/src/libstrongswan/settings/settings.c @@ -23,6 +23,7 @@ #include #include #include +#include #include "settings.h" #include "settings_types.h" @@ -584,6 +585,10 @@ inline u_int32_t settings_value_as_time(char *value, u_int32_t def) } if (errno == 0) { + while (isspace(*endptr)) + { + endptr++; + } switch (*endptr) { case 'd': /* time in days */ diff --git a/src/libstrongswan/tests/suites/test_settings.c b/src/libstrongswan/tests/suites/test_settings.c index 3348d3314..b9d429a24 100644 --- a/src/libstrongswan/tests/suites/test_settings.c +++ b/src/libstrongswan/tests/suites/test_settings.c @@ -373,8 +373,8 @@ START_SETUP(setup_time_config) " key0 = 5\n" " key1 = 5s\n" " key2 = 5m\n" - " key3 = 5h\n" - " key4 = 5d\n" + " key3 = 5 h\n" + " key4 = 5\td\n" " empty = \"\"\n" " none = \n" " foo1 = bar\n"