Merge branch 'master' into 'master'

__postgres_*: fix forgotten edge cases in delimited identifier escape

See merge request ungleich-public/cdist!833
This commit is contained in:
poljakowski 2020-01-17 15:48:00 +01:00
commit a518134bfa
2 changed files with 12 additions and 6 deletions

View File

@ -43,10 +43,14 @@ if [ "$state_should" != "$state_is" ]; then
if [ -f "$__object/parameter/owner" ]; then
owner="-O \"$(cat "$__object/parameter/owner")\""
fi
echo "su - '$postgres_user' -c \"createdb $owner \"$name\"\""
cat << EOF
su - '$postgres_user' -c "createdb $owner \"$name\""
EOF
;;
absent)
echo "su - '$postgres_user' -c \"dropdb \"$name\"\""
cat << EOF
su - '$postgres_user' -c "dropdb \"$name\""
EOF
;;
esac
fi

View File

@ -53,11 +53,13 @@ case "$state_should" in
done
[ -n "$password" ] && password="PASSWORD '$password'"
cmd="CREATE ROLE \"$name\" WITH $password $booleans"
echo "su - '$postgres_user' -c \"psql postgres -wc \\\"$cmd\\\"\""
cat << EOF
su - '$postgres_user' -c "psql postgres -wc 'CREATE ROLE \"$name\" WITH $password $booleans;'"
EOF
;;
absent)
echo "su - '$postgres_user' -c \"dropuser \\\"$name\\\"\""
cat << EOF
su - '$postgres_user' -c "dropuser \"$name\""
EOF
;;
esac