aboutsummaryrefslogtreecommitdiffstats
path: root/src/charon/plugins/uci/uci_parser.c
diff options
context:
space:
mode:
authorMartin Willi <martin@strongswan.org>2008-07-18 10:34:44 +0000
committerMartin Willi <martin@strongswan.org>2008-07-18 10:34:44 +0000
commit12b1c1a1bcd7cea5bf6042af8f5d7a6350a49564 (patch)
tree2fbc103a5c9a7cf1c721a9922aaf5cb60058d87c /src/charon/plugins/uci/uci_parser.c
parentbb7b613b831be2809c694794a6d0a935bee66212 (diff)
downloadstrongswan-12b1c1a1bcd7cea5bf6042af8f5d7a6350a49564.tar.bz2
strongswan-12b1c1a1bcd7cea5bf6042af8f5d7a6350a49564.tar.xz
extended UCI plugin by a simple control interface using a fifo
Diffstat (limited to 'src/charon/plugins/uci/uci_parser.c')
-rw-r--r--src/charon/plugins/uci/uci_parser.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/charon/plugins/uci/uci_parser.c b/src/charon/plugins/uci/uci_parser.c
index 796d2993a..8f4acb938 100644
--- a/src/charon/plugins/uci/uci_parser.c
+++ b/src/charon/plugins/uci/uci_parser.c
@@ -76,11 +76,18 @@ static bool section_enumerator_enumerate(section_enumerator_t *this, ...)
va_start(args, this);
- /* name is first parameter */
value = va_arg(args, char**);
if (value)
{
- *value = uci_to_section(this->current)->type;
+ if (uci_lookup(this->ctx, &element, this->package,
+ this->current->name, "name") == UCI_OK)
+ { /* use "name" attribute as config name if available ... */
+ *value = uci_to_option(element)->value;
+ }
+ else
+ { /* ... or the section name becomes config name */
+ *value = uci_to_section(this->current)->type;
+ }
}
/* followed by keyword parameters */