diff options
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/dlz/modules/common/dlz_dbi.c | 2 | ||||
-rw-r--r-- | contrib/scripts/zone-edit.sh.in | 208 |
2 files changed, 101 insertions, 109 deletions
diff --git a/contrib/dlz/modules/common/dlz_dbi.c b/contrib/dlz/modules/common/dlz_dbi.c index 88ff632..d8e1909 100644 --- a/contrib/dlz/modules/common/dlz_dbi.c +++ b/contrib/dlz/modules/common/dlz_dbi.c @@ -474,7 +474,7 @@ get_parameter_value(const char *input, const char *key) { for (i = 0; i < 255; i++) { value[i] = keystart[keylen + i]; - if (isspace(value[i]) || value[i] == '\0') { + if (isspace((unsigned char)value[i]) || value[i] == '\0') { value[i] = '\0'; break; } diff --git a/contrib/scripts/zone-edit.sh.in b/contrib/scripts/zone-edit.sh.in index 2596ef8..92f8052 100644 --- a/contrib/scripts/zone-edit.sh.in +++ b/contrib/scripts/zone-edit.sh.in @@ -24,129 +24,121 @@ checkzone=${bindir}/named-checkzone nsupdate=${bindir}/nsupdate case $# in -0) echo "Usage: zone-edit <zone> [dig options] [ -- nsupdate options ]"; exit 0 ;; + 0) + echo "Usage: zone-edit <zone> [dig options] [ -- nsupdate options ]" + exit 0 + ;; esac # What kind of echo are we using? -try=`echo -n ""` -if test "X$try" = "X-n " -then - echo_arg="" - bsc="\\c" +try=$(echo -n "") +if test "X$try" = "X-n "; then + echo_arg="" + bsc="\\c" else - echo_arg="-n" - bsc="" + echo_arg="-n" + bsc="" fi zone="${1}" shift digopts= -while test $# -ne 0 -do - case "${1}" in +while test $# -ne 0; do + case "${1}" in --) - shift - break - ;; + shift + break + ;; *) - digopts="$digopts $1" - shift - ;; - esac + digopts="$digopts $1" + shift + ;; + esac done -${dig} axfr "$zone" $digopts | -awk '$4 == "RRSIG" || $4 == "NSEC" || $4 == "NSEC3" || $4 == "NSEC3PARAM" { next; } { print; }' > ${dir}/old +${dig} axfr "$zone" $digopts \ + | awk '$4 == "RRSIG" || $4 == "NSEC" || $4 == "NSEC3" || $4 == "NSEC3PARAM" { next; } { print; }' >${dir}/old -if test -s ${dir}/old -then - ${checkzone} -q -D "$zone" ${dir}/old > ${dir}/ooo +if test -s ${dir}/old; then + ${checkzone} -q -D "$zone" ${dir}/old >${dir}/ooo fi -if test -s ${dir}/ooo -then - cp ${dir}/ooo ${dir}/new - while : - do - if ${VISUAL:-${EDITOR:-/bin/ed}} ${dir}/new - then - if ${checkzone} -q -D "$zone" ${dir}/new > ${dir}/nnn - then - sort ${dir}/ooo > ${dir}/s1 - sort ${dir}/nnn > ${dir}/s2 - comm -23 ${dir}/s1 ${dir}/s2 | - sed 's/^/update delete /' > ${dir}/ccc - comm -13 ${dir}/s1 ${dir}/s2 | - sed 's/^/update add /' >> ${dir}/ccc - if test -s ${dir}/ccc - then - cat ${dir}/ccc | more - while : - do - echo ${echo_arg} "Update (u), Abort (a), Redo (r), Modify (m), Display (d) : $bsc" - read ans - case "$ans" in - u) - ( - echo zone "$zone" - cat ${dir}/ccc - echo send - ) | ${nsupdate} "$@" - break 2 - ;; - a) - break 2 - ;; - d) - cat ${dir}/ccc | more - ;; - r) - cp ${dir}/ooo ${dir}/new - break - ;; - m) - break - ;; - esac - done - else - while : - do - echo ${echo_arg} "Abort (a), Redo (r), Modify (m) : $bsc" - read ans - case "$ans" in - a) - break 2 - ;; - r) - cp ${dir}/ooo ${dir}/new - break - ;; - m) - break - ;; - esac - done - fi - else - while : - do - echo ${echo_arg} "Abort (a), Redo (r), Modify (m) : $bsc" - read ans - case "$ans" in - a) - break 2 - ;; - r) - cp ${dir}/ooo ${dir}/new - break - ;; - m) - break - ;; - esac - done - fi +if test -s ${dir}/ooo; then + cp ${dir}/ooo ${dir}/new + while :; do + if ${VISUAL:-${EDITOR:-/bin/ed}} ${dir}/new; then + if ${checkzone} -q -D "$zone" ${dir}/new >${dir}/nnn; then + sort ${dir}/ooo >${dir}/s1 + sort ${dir}/nnn >${dir}/s2 + comm -23 ${dir}/s1 ${dir}/s2 \ + | sed 's/^/update delete /' >${dir}/ccc + comm -13 ${dir}/s1 ${dir}/s2 \ + | sed 's/^/update add /' >>${dir}/ccc + if test -s ${dir}/ccc; then + cat ${dir}/ccc | more + while :; do + echo ${echo_arg} "Update (u), Abort (a), Redo (r), Modify (m), Display (d) : $bsc" + read ans + case "$ans" in + u) + ( + echo zone "$zone" + cat ${dir}/ccc + echo send + ) | ${nsupdate} "$@" + break 2 + ;; + a) + break 2 + ;; + d) + cat ${dir}/ccc | more + ;; + r) + cp ${dir}/ooo ${dir}/new + break + ;; + m) + break + ;; + esac + done + else + while :; do + echo ${echo_arg} "Abort (a), Redo (r), Modify (m) : $bsc" + read ans + case "$ans" in + a) + break 2 + ;; + r) + cp ${dir}/ooo ${dir}/new + break + ;; + m) + break + ;; + esac + done fi - done + else + while :; do + echo ${echo_arg} "Abort (a), Redo (r), Modify (m) : $bsc" + read ans + case "$ans" in + a) + break 2 + ;; + r) + cp ${dir}/ooo ${dir}/new + break + ;; + m) + break + ;; + esac + done + fi + fi + done fi |