From 5317a45edee97b6e2590a8f43b312e9d41517fc1 Mon Sep 17 00:00:00 2001 From: Alex 'AdUser' Z Date: Tue, 8 Mar 2016 14:37:10 +1000 Subject: [PATCH] * jail.c: add f2b_jail_parse_compound_value() --- src/jail.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/jail.c b/src/jail.c index 559119a..b688141 100644 --- a/src/jail.c +++ b/src/jail.c @@ -11,6 +11,29 @@ static f2b_jail_t defaults = { .tries = DEFAULT_TRIES, }; +static void +f2b_jail_parse_compound_value(const char *value, char *name, char *init) { + size_t len = 0; + char *p = NULL; + + if ((p = strchr(value, ':')) == NULL) { + /* param = name */ + strncpy(name, value, CONFIG_KEY_MAX); + return; + } + + /* param = name:init_string */ + len = p - value; + if (len >= CONFIG_KEY_MAX) { + f2b_log_msg(log_warn, "'name' part of value exceeds max length %d bytes: %s", CONFIG_KEY_MAX, value); + return; + } + + strncpy(name, value, len); + strncpy(init, (p + 1), CONFIG_VAL_MAX); + return; +} + void f2b_jail_apply_config(f2b_jail_t *jail, f2b_config_section_t *config) { f2b_config_param_t *param = NULL;