Skip to content

Commit 1221ea6

Browse files
authored
Merge pull request #201 from infosiftr/escape-strings
Pass string values through "erl" for appropriate escaping
2 parents ed9a656 + 7872457 commit 1221ea6

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

3.6/alpine/docker-entrypoint.sh

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,11 @@ rabbit_array() {
200200
esac
201201
echo -n ']'
202202
}
203+
rabbit_string() {
204+
local val="$1"; shift
205+
# fire up erlang directly to have it do the proper escaping for us
206+
erl -noinput -eval 'io:format("~p\n", init:get_plain_arguments()), init:stop().' -- "$val"
207+
}
203208
rabbit_env_config() {
204209
local prefix="$1"; shift
205210

@@ -224,12 +229,12 @@ rabbit_env_config() {
224229

225230
cacertfile|certfile|keyfile)
226231
[ "$val" ] || continue
227-
rawVal='"'"$val"'"'
232+
rawVal="$(rabbit_string "$val")"
228233
;;
229234

230235
*)
231236
[ "$val" ] || continue
232-
rawVal='<<"'"$val"'">>'
237+
rawVal="<<$(rabbit_string "$val")>>"
233238
;;
234239
esac
235240
[ "$rawVal" ] || continue

3.6/debian/docker-entrypoint.sh

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,11 @@ rabbit_array() {
200200
esac
201201
echo -n ']'
202202
}
203+
rabbit_string() {
204+
local val="$1"; shift
205+
# fire up erlang directly to have it do the proper escaping for us
206+
erl -noinput -eval 'io:format("~p\n", init:get_plain_arguments()), init:stop().' -- "$val"
207+
}
203208
rabbit_env_config() {
204209
local prefix="$1"; shift
205210

@@ -224,12 +229,12 @@ rabbit_env_config() {
224229

225230
cacertfile|certfile|keyfile)
226231
[ "$val" ] || continue
227-
rawVal='"'"$val"'"'
232+
rawVal="$(rabbit_string "$val")"
228233
;;
229234

230235
*)
231236
[ "$val" ] || continue
232-
rawVal='<<"'"$val"'">>'
237+
rawVal="<<$(rabbit_string "$val")>>"
233238
;;
234239
esac
235240
[ "$rawVal" ] || continue

0 commit comments

Comments
 (0)