From 2a030f91fec7e18820b500ba65b708e0576f8065 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Mon, 1 Feb 2016 10:53:26 +0530 Subject: [PATCH] dynamicdns: Fix reading configuration file - The current code to parse the configuration file does not work proper if there is an '=' in the password. Fix it. - Also if predesignated keyword like 'server' occurs in the password, configuration can't be read properly. Fix it. --- actions/dynamicdns | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/actions/dynamicdns b/actions/dynamicdns index b9b145412..4b45a8c37 100755 --- a/actions/dynamicdns +++ b/actions/dynamicdns @@ -189,10 +189,10 @@ doReadCFG() ipurl="" if [ ! -z "${cfgfile}" ];then - host=$(grep host "${cfgfile}" 2> /dev/null |cut -d = -f 2) - server=$(grep server "${cfgfile}" 2> /dev/null |cut -d = -f 2 |grep -v ^\'\') - user=$(grep user "${cfgfile}" 2> /dev/null |cut -d = -f 2 |cut -d : -f 1 ) - pass=$(grep user "${cfgfile}" 2> /dev/null |cut -d = -f 2 |cut -d : -f 2) + host=$(grep ^host= "${cfgfile}" 2> /dev/null | cut -d = -f 2-) + server=$(grep ^server= "${cfgfile}" 2> /dev/null | cut -d = -f 2- | grep -v ^\'\') + user=$(grep ^user= "${cfgfile}" 2> /dev/null | cut -d = -f 2- | cut -d : -f 1 ) + pass=$(grep ^user= "${cfgfile}" 2> /dev/null | cut -d = -f 2- | cut -d : -f 2-) fi if [ ! -z ${HELPERCFG} ];then @@ -338,7 +338,7 @@ case ${cmd} in doGetWANIP if [ "$(grep ^NAT ${HELPERCFG} | awk '{print $2}')" = "no" ];then #if we are not behind a NAT device and we use gnudip, start the daemon tool - local gnudipServer=$(grep server ${cfgfile} 2> /dev/null |cut -d = -f 2 |grep -v ^\'\') + local gnudipServer=$(grep ^server= ${cfgfile} 2> /dev/null | cut -d = -f 2- |grep -v ^\'\') if [ -f ${CFG} -a ! -z "${gnudipServer}" ];then mv ${CFG_disabled} ${CFG} /etc/init.d/${TOOLNAME} start