From b66372fb437830b9329c95956b8b8ce19ab10965 Mon Sep 17 00:00:00 2001 From: Florian Eckert Date: Wed, 18 Oct 2017 14:19:34 +0200 Subject: [PATCH] net/keepalived: add quoting for print_elems_indent function If you add a notify_* script which is not only a path to a script or to a bin file, it is necessary to quote to whole string. If you do not quote this the config will not get accepted by keepalived and so will not start. This will fix this issue. Signed-off-by: Florian Eckert --- net/keepalived/files/keepalived.init | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/net/keepalived/files/keepalived.init b/net/keepalived/files/keepalived.init index 6e850f02d..400d12a01 100644 --- a/net/keepalived/files/keepalived.init +++ b/net/keepalived/files/keepalived.init @@ -49,7 +49,14 @@ print_elems_indent() { eval optval=\$$opt [ -z "$optval" ] && continue printf "$indent$opt" >> $KEEPALIVED_CONF - [ "$no_val" == "0" ] && printf " $optval" >> $KEEPALIVED_CONF + [ "$no_val" == "0" ] && { + local words=$(echo "$optval" | wc -w) + if [ $words -gt 1 ]; then + printf " \"$optval\"" >> $KEEPALIVED_CONF + else + printf " $optval" >> $KEEPALIVED_CONF + fi + } printf "\n" >> $KEEPALIVED_CONF done unset optval