add compile workflow
add fuzzing instrumentation
This commit is contained in:
@@ -0,0 +1,28 @@
|
|||||||
|
name: build
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
compile:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest, windows-latest, macos-latest]
|
||||||
|
compiler: [gcc, clang++]
|
||||||
|
|
||||||
|
name: compile
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- if: matrix.os == 'windows-latest' && matrix.compiler == 'clang++'
|
||||||
|
uses: KyleMayes/install-llvm-action@v1
|
||||||
|
with:
|
||||||
|
version: "11.0"
|
||||||
|
|
||||||
|
- if: matrix.os == 'windows-latest' && matrix.compiler == 'gcc'
|
||||||
|
uses: egor-tensin/setup-mingw@v2
|
||||||
|
|
||||||
|
- name: build
|
||||||
|
run: ${{ matrix.compiler }} -o scanner.o -I./src -c src/scanner.cc
|
||||||
@@ -7,3 +7,8 @@ log.html
|
|||||||
tree-sitter-hcl.wasm
|
tree-sitter-hcl.wasm
|
||||||
.env
|
.env
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|
||||||
|
fuzz/fuzzer
|
||||||
|
fuzz/*.o
|
||||||
|
fuzz/*.a
|
||||||
|
fuzz/fuzz-*.log
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
[submodule "fuzz/tree-sitter"]
|
||||||
|
path = fuzz/tree-sitter
|
||||||
|
url = https://github.com/tree-sitter/tree-sitter.git
|
||||||
@@ -1,5 +1,10 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 0.3.2 - not yet released
|
||||||
|
|
||||||
|
fix:
|
||||||
|
* add a build step to CI to make sure the scanner is compilable
|
||||||
|
|
||||||
## 0.3.1 - 2021-06-30
|
## 0.3.1 - 2021-06-30
|
||||||
|
|
||||||
fix:
|
fix:
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ Total parses: 1892; successful parses: 1892; failed parses: 0; success percentag
|
|||||||
|
|
||||||
## Fuzzing
|
## Fuzzing
|
||||||
|
|
||||||
The directory `fuzz/crashers` contains a set of crashes that were found with fuzzing. To fuzz the parser i used the instrumentation of [tree-sitter](https://github.com/tree-sitter/tree-sitter/tree/master/test/fuzz)
|
The directory `fuzz/crashers` contains a set of crashes that were found with fuzzing.
|
||||||
|
|
||||||
## Todo
|
## Todo
|
||||||
|
|
||||||
@@ -39,8 +39,8 @@ The directory `fuzz/crashers` contains a set of crashes that were found with fuz
|
|||||||
* [x] add heredoc templates
|
* [x] add heredoc templates
|
||||||
* [ ] fuzzing
|
* [ ] fuzzing
|
||||||
* [x] start with fuzzing the parser
|
* [x] start with fuzzing the parser
|
||||||
* [ ] upload fuzzing instrumentation
|
* [x] upload fuzzing instrumentation
|
||||||
* [ ] document fuzzing process
|
* [ ] document fuzzing process
|
||||||
* [ ] quality
|
* [ ] quality
|
||||||
* [ ] add CI job that ensures the parser builds on different plattforms
|
* [x] add CI job that ensures the parser builds on different plattforms
|
||||||
* [ ] add CI job that parses crashers that were found during fuzzing
|
* [ ] add CI job that parses crashers that were found during fuzzing
|
||||||
|
|||||||
@@ -33,6 +33,11 @@ resource_1 "strlit1" "strlit2" {
|
|||||||
${func("foo${ var.bar }")}
|
${func("foo${ var.bar }")}
|
||||||
suffix
|
suffix
|
||||||
EOF
|
EOF
|
||||||
|
func_of_object = func({
|
||||||
|
"foo": 2,
|
||||||
|
bar: 1,
|
||||||
|
fizz: buzz,
|
||||||
|
})
|
||||||
|
|
||||||
nested_resource_1 {
|
nested_resource_1 {
|
||||||
attr1 = 2
|
attr1 = 2
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
FUZZFLAGS=-fsanitize=fuzzer,address,undefined
|
||||||
|
|
||||||
|
JOBS=4
|
||||||
|
WORKERS=4
|
||||||
|
|
||||||
|
.PHONY: fuzz
|
||||||
|
fuzz: fuzzer hcl.dict
|
||||||
|
UBSAN="print_stacktrace=1:halt_on_error=1:symbolize=1" ASAN_OPTIONS="quarantine_size_mb=10:detect_leaks=1:symbolize=1" ./fuzzer -jobs=${JOBS} -workers=${WORKERS} -dict=hcl.dict corpus/
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
|
clean:
|
||||||
|
rm -rf tree-sitter
|
||||||
|
rm fuzzer parser.o scanner.o libtree-sitter.a
|
||||||
|
|
||||||
|
fuzzer: parser.o scanner.o libtree-sitter.a
|
||||||
|
clang++ -o fuzzer ${FUZZFLAGS} -std=c++11 tree-sitter/test/fuzz/fuzzer.cc -Itree-sitter/lib scanner.o parser.o libtree-sitter.a
|
||||||
|
|
||||||
|
scanner.o: ../src/scanner.cc
|
||||||
|
clang++ -o scanner.o ${FUZZFLAGS} -std=c++11 -I../src -c ../src/scanner.cc
|
||||||
|
|
||||||
|
parser.o: ../src/parser.c
|
||||||
|
clang -o parser.o ${FUZZFLAGS} -std=c99 -I../src -c ../src/parser.c
|
||||||
|
|
||||||
|
hcl.dict:
|
||||||
|
tree-sitter/scripts
|
||||||
|
|
||||||
|
libtree-sitter.a:
|
||||||
|
make -C tree-sitter
|
||||||
|
cp tree-sitter/libtree-sitter.a .
|
||||||
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,51 @@
|
|||||||
|
// comme
|
||||||
|
t#n comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resource_1 "strlit1" "strlit2" {
|
||||||
|
attr1 = "val1"
|
||||||
|
.. }
|
||||||
|
for2 = [ ÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒ)}
|
||||||
|
suffix
|
||||||
|
EOF
|
||||||
|
|
||||||
|
nestad_resource_1 {
|
||||||
|
attr1 = 2
|
||||||
|
attr2 = 2.112
|
||||||
|
ame
|
||||||
|
t#n comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resource_1 "strlit1" "strlit2" {
|
||||||
|
attr1 = "val1"
|
||||||
|
.. }
|
||||||
|
for2 = [ ÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒource_1 "strlit1" "strlit2" {
|
||||||
|
attr1 = "val1"
|
||||||
|
.. }
|
||||||
|
for2 = [ ÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒ)}
|
||||||
|
suffix
|
||||||
|
EOF
|
||||||
|
|
||||||
|
nestad_resource_1 {
|
||||||
|
attr1 = 2
|
||||||
|
attr2 = 2.112
|
||||||
|
ame
|
||||||
|
t#n comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resource_1 "strlit1" "strlit2" {
|
||||||
|
attr1 = "val1"
|
||||||
|
.. }
|
||||||
|
for2 = [ ÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒttr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attr5 = 2.112E+12
|
||||||
|
attr6 = 2.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
// comment
|
||||||
|
# comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resource_1 "strlit1" "strlit2" {
|
||||||
|
attr1 = "val1"
|
||||||
|
tupl1 = [ 1, ÎÏ 3.4, "foo" ]
|
||||||
|
tupl2 = []
|
||||||
|
obj1 = { foo = "baz" }
|
||||||
|
)
|
||||||
|
cond2 = (1 == 2) ? 1 : "foobar"
|
||||||
|
bin1 =")}
|
||||||
|
suffix
|
||||||
|
EOF
|
||||||
|
|
||||||
|
nestesuedor_rce_1 {
|
||||||
|
attr1 = 2
|
||||||
|
attr2 = 2.112
|
||||||
|
aŒtr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
att ((1+2)%3)*4
|
||||||
|
esc1 = "\" \t \UFF11FF22 \uFFF \n"
|
||||||
|
esá2 = "$${} %%{!}"
|
||||||
|
tpl1 = "prefix-${var.bar}"
|
||||||
|
tpl2 = "prefix commond2 -${func("bar"):}"
|
||||||
|
tpl3 == 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attrbin1 = ((1+2)%3)*4
|
||||||
|
esc1 = "\" \t \UFF11FF225\uFFFF \n"
|
||||||
|
esc2 = "$${} %%{}"
|
||||||
|
tpl1 5 = 2.112E+12
|
||||||
|
attr6 = 2.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,46 @@
|
|||||||
|
// comment
|
||||||
|
# comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resource_1 "strlit1" "strlit2" {
|
||||||
|
attr1 = "val1"
|
||||||
|
tupl1 = [ 1, 2, 3.4, "foo" ]
|
||||||
|
tupl2 = []
|
||||||
|
obj1 = { foo = "baz" }
|
||||||
|
null1 = null
|
||||||
|
bool1 = true
|
||||||
|
bool2 = false
|
||||||
|
splat1 = tuple.*.foo.bar[0]
|
||||||
|
splat2 = tuple[*].foo.bar[0]
|
||||||
|
for1 = { for i, v in ["a", "a", "b"] : v => i... }
|
||||||
|
for2 = [ for k, v in var.map : "${k}-${v}" ]
|
||||||
|
for3 = { for k, v in var.map : k => v }
|
||||||
|
for4 = [ for v in var.list : v ]
|
||||||
|
for5 = { for v in var.list : v => v }
|
||||||
|
for6 = [ for v in var.list : v if v < 3 ]
|
||||||
|
func1 = is_number("123")
|
||||||
|
cond1 = (1 == 2) ? 1 : "foobar"
|
||||||
|
bin1 = ((1+2)%3)*4
|
||||||
|
esc1 = "\" \t \UFF11FF22 \uFFFF \n"
|
||||||
|
esc2 = "$${} %%{}"
|
||||||
|
tpl1 = "prefix-${var.bar}"
|
||||||
|
tpl2 = "prefix-${func("bar")}"
|
||||||
|
tpl3 = "prefix-${func("nested-${var.bar}")}"
|
||||||
|
tpl4 = <<EOF
|
||||||
|
prefix
|
||||||
|
${func("foo${ var.bar }")}
|
||||||
|
= <<EOF
|
||||||
|
prefix
|
||||||
|
${func("foo${ var.bar }"!}
|
||||||
|
suffix
|
||||||
|
EOF
|
||||||
|
|
||||||
|
nested_resource_1 {
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attr5 = 2.112E+12
|
||||||
|
attr6 = 2.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,41 @@
|
|||||||
|
// comment
|
||||||
|
# comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resource_1 "strlit1" "strlit2" {
|
||||||
|
attr1 = "val1"
|
||||||
|
tupl1 = [ ËÓßÍ, 3.4, "foo" ]
|
||||||
|
tupl2 = []
|
||||||
|
obj1 = { foo = "baz" }
|
||||||
|
null1 = null
|
||||||
|
bool1 = true
|
||||||
|
bool2 = false
|
||||||
|
splat1 = tuple.*.foo.bar[0]
|
||||||
|
splat2 = tuple[*].foo.bar[0]
|
||||||
|
for1 = { for i, v in ["a", " ",a"b"] : v => i... }
|
||||||
|
for2 = [ for k, v in var.map : "${k}-${v}" ]
|
||||||
|
for3 = { for k, v in var.map : k => v }
|
||||||
|
for4 = [ for v in var.list : v ]
|
||||||
|
for5 = { for v in var.list : v => v }
|
||||||
|
for6 = [ for v in var.list : v if v < 3 ]
|
||||||
|
func1 = is_number("123")
|
||||||
|
cond1 = (1 == 2) ? 1 : "foobar"
|
||||||
|
for v in var.list : v => v }
|
||||||
|
for6 = [ for v in var.list : v if v < 3 ]
|
||||||
|
func1 = is_number("123")
|
||||||
|
cond1 = (1 == 2) ? 1 : "foobar"
|
||||||
|
bin1 = ((1+2)%3)*4
|
||||||
|
esc1 = "\" \t \UFF11FF22 \uFFFF \n"
|
||||||
|
esc2 = "$${} %%{}"
|
||||||
|
tpl1 = "prefix-${var.bar}"
|
||||||
|
tpl2 = "prefix-${func("bar")}"
|
||||||
|
tpl3 = "prefix-${func("nested-${var.bar}")}"
|
||||||
|
tp.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attr5 = 2.112E+12
|
||||||
|
attr6 = 2.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
@@ -0,0 +1,19 @@
|
|||||||
|
// commen’õÜßœ�’’ent
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resource_1 "strlit1" "strlit2" {
|
||||||
|
attr1 = "val1"
|
||||||
|
tupl1 = [ 1, ÎÏ 3.4, "foo" ]
|
||||||
|
tupl2 = []
|
||||||
|
obj1 = { foo = "baz"# }
|
||||||
|
)
|
||||||
|
cond2( =1 == 2) ? 1 : "foobar"
|
||||||
|
bin1 = ((1+2)%3)*4
|
||||||
|
esc1 = "\" \t \UFF11FF22 \uF2e+12
|
||||||
|
attr5 = 2.112E+12
|
||||||
|
attr6 = 2.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
// comment
|
||||||
|
# comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
reuo
|
||||||
|
rsce_1 "sr"1it tl"stpl3 = "prefix-${func("nested-${var.bar}")m"
|
||||||
|
tpl4 = <<EOF
|
||||||
|
prefix
|
||||||
|
${func("foo${ var.bar }")}
|
||||||
|
su = (1 == 2) ? 1 : "foobar"
|
||||||
|
bin1 = ((1+2)%3)*4
|
||||||
|
esc1 = "\" \t \UFF11FF22 \uFFFF \n"
|
||||||
|
esc2 ="$ ${} %%{}"
|
||||||
|
tpl1 = "prefix-${var.bar}"
|
||||||
|
tpl2 = "prefix-${func("bar"):}"
|
||||||
|
tpl3 = "prefix-${func("nested-${var.bar}")m"
|
||||||
|
tpl4 = <<EOF
|
||||||
|
prefix
|
||||||
|
${func("foo${ var.bar }")}
|
||||||
|
suffix
|
||||||
|
EOF
|
||||||
|
|
||||||
|
nestesuedor_rce_1 {
|
||||||
|
attr1 = 2
|
||||||
|
attr2 = 2.112)m"
|
||||||
|
tpl4 = <<EOF
|
||||||
|
prefix
|
||||||
|
${func("foo${ var.bar }")}
|
||||||
|
su = (1 == 2) ? 1 : "foobar"
|
||||||
|
bin1 = ((1+2)%3)*4
|
||||||
|
esc1 = "\" \t \UFF11FF22 \uFFFF \n"
|
||||||
|
esc2 ="$ ${} %%{}"
|
||||||
|
tpl1 = "prefix-${var.bar}"
|
||||||
|
tpl2 = "prefix-${func("bar"):}"
|
||||||
|
tpl3 = "prefix-${func("nested-${var.bar}")m"
|
||||||
|
tpl4 = <<EOF
|
||||||
|
pr
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attr5 = 2.11[E+12
|
||||||
|
attr6 = 2.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
// comment
|
||||||
|
# comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resoupl1 = [ ËÓßÍ, 3.4, "foo" ]
|
||||||
|
tupl2 = []
|
||||||
|
obj1 = { foo = "baz" }
|
||||||
|
null1 = null
|
||||||
|
bool1 = true
|
||||||
|
bool2 -= false
|
||||||
|
splat1 = tuple.*.foo.bar[0]
|
||||||
|
splat2 = tuple[*].foo.bar[0]
|
||||||
|
for1 = { for i, v in ["a", "a", "b"] : v => i... }
|
||||||
|
for2 = [ for k, v in var.map : "${k}-${v}" ]
|
||||||
|
for3 = { for k, v in var.map : k => v }
|
||||||
|
for4 = [ for v in var.list : v ]
|
||||||
|
for5 = { for v in var.list : v >} =
|
||||||
|
v for6 = [ for v in var.list : v if v < 3 ]
|
||||||
|
func1 = is_number("123")
|
||||||
|
cond1 = (1 == 2) ? 1 : "foobar"
|
||||||
|
bin1 = ((1+2)%3)*4
|
||||||
|
esc1 = "\" \t \UFF11FF22 \uFFFF \n"
|
||||||
|
esc4 = "$${ "prefix-${func("nested-${var.bar}")}"
|
||||||
|
tpl4 = <<EOF
|
||||||
|
prefix
|
||||||
|
${func("foo${ var.bar }")}
|
||||||
|
suffix
|
||||||
|
EOF
|
||||||
|
|
||||||
|
nested_resource_1 {
|
||||||
|
attr1 = 2
|
||||||
|
attr2 = 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attr5 = 2.112E+12
|
||||||
|
attr6 = 2.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,15 @@
|
|||||||
|
// comment
|
||||||
|
# comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resoupl1 = [ ËÓßÍ, 3.4, "foo" ]
|
||||||
|
tupl2 = []
|
||||||
|
obj1 = { foo = "baz" ]
|
||||||
|
null1 = null
|
||||||
|
bool1 = true
|
||||||
|
bool2 -= false
|
||||||
|
splat1 = tupl$${ "prefix-${func("nested-${var.bar}")}"{x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,26 @@
|
|||||||
|
// comment
|
||||||
|
#? comœœœœœœœœœœœœœœœœœœœœœœœœœœœœœœœœœœœœœœœœœœœment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resource_1 "strlit1" "strlit2" {
|
||||||
|
attr1 = "val1"
|
||||||
|
tupl1 = [ 1, 2, 3.4, "foo" ]
|
||||||
|
tupl2!== []
|
||||||
|
obj1 = { foo = "baz" }
|
||||||
|
)
|
||||||
|
\" tUF\F\1 1FF22 \uFFFF \n"
|
||||||
|
esc2 = "$${} %%{}"
|
||||||
|
tpl1 = "prefix-${var.bar}"
|
||||||
|
tpl2 = "prefix-${func("bar")}"
|
||||||
|
tpl3 = "prefix-${fun+12
|
||||||
|
2
|
||||||
|
attr2 = 2.112
|
||||||
|
àßßßž‹‹†3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+06
|
||||||
|
attr5 = 2.112E+12
|
||||||
|
attr6 = 4.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,21 @@
|
|||||||
|
// comment
|
||||||
|
# comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
Šresource_1 "strlit1" "stpl4 = "prefix-${func("nested-${var.bal4 = <<EOF
|
||||||
|
prefix
|
||||||
|
${func("foo${ var.bar }")}
|
||||||
|
suffix
|
||||||
|
EOF
|
||||||
|
|
||||||
|
nestesuedor_rce_1 {
|
||||||
|
attr0 = 2
|
||||||
|
attr2 = 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attr5 = 2.112E+12
|
||||||
|
attr6 = 1.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
@@ -0,0 +1,43 @@
|
|||||||
|
// comment
|
||||||
|
# comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resource_1 "strlit1" "strlit2" {
|
||||||
|
attr1 = "val1"
|
||||||
|
tupl1 = [ ËÓßÍ, 3.4, "foo" ]
|
||||||
|
4upl2 = []
|
||||||
|
obj1 = { foo = "baz" }
|
||||||
|
null1 = null
|
||||||
|
bool1 = true
|
||||||
|
bool2 = false
|
||||||
|
splat1 = tuple.*.foo.bar[0]
|
||||||
|
splat2 = tuple[*].foo.bar[0*.foo.bar[0]
|
||||||
|
splat2 = tuple[*].foo.bar[0]
|
||||||
|
for1 = { for i, v in ["a", "a", "b"] : v => i... }
|
||||||
|
for2 = [ for k, v in var.map : "${k}-${v}" ]
|
||||||
|
for3 = { for k,0v in var.map : k => v }
|
||||||
|
for4 = [ for v in var.list : v ]
|
||||||
|
for5 = { for v in var.list : v => v }
|
||||||
|
for6 = [ for v in var.list : v if v < 3 ]
|
||||||
|
func = is_numbe,("123")
|
||||||
|
cond1 = (1 z= 2) ? 1 : "foobar"
|
||||||
|
bin1 = ((1+2)%3)*4
|
||||||
|
esc1 = "\" \t \UFF12FF22 \uFFFF \n"
|
||||||
|
esc2 = "$${} %%{}"
|
||||||
|
tpl2 = "prefix-${var.bar}"
|
||||||
|
tplprefix-${func("bar")}"
|
||||||
|
uple.*. tpl3 = "prefix-${func("nested-${var.bar}")}"
|
||||||
|
tpl4 = <<EOF
|
||||||
|
prefix
|
||||||
|
${func...oo${ var.bar}")}
|
||||||
|
suffix
|
||||||
|
EOF
|
||||||
|
|
||||||
|
nested_resource_1 {
|
||||||
|
.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attr5 = 2.112E+12
|
||||||
|
attr6 = 2.112E-12
|
||||||
|
attr7 = 0x${} %%{}"}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
// comment
|
||||||
|
# comlse
|
||||||
|
splat1 = tuple.*.foo.bar[0]
|
||||||
|
splat2 = tuple[*].foo.bar[0]
|
||||||
|
for1 = { for i, v in ["a", "a", "b"] : v => i... }
|
||||||
|
for2 = [ for k, v in var.map : "${k}-${v}" ]
|
||||||
|
for3 = { for k, v in var.map : k => v }
|
||||||
|
for4 = [ for v in var.list : v ]
|
||||||
|
for5 = { f;or v in var.list : v >} =
|
||||||
|
v for6 = [ for v iËÓßÍ, 3.4, "foo" ]
|
||||||
|
tupl2 = []
|
||||||
|
obj1 = { f.o = "baz" }
|
||||||
|
null1 = null
|
||||||
|
bool1 = true
|
||||||
|
bool2 -= false
|
||||||
|
splat1 = tuple.*.foo.bar[0]
|
||||||
|
(splat2 = tuple[*].foo.bar[0]
|
||||||
|
for1 = { for i, v in ["a", "a", "b"] : v => iEOF
|
||||||
|
prefix
|
||||||
|
${func("foo${ var.bar }")}
|
||||||
|
suffix
|
||||||
|
EOF
|
||||||
|
|
||||||
|
nested_resource_1 {
|
||||||
|
attr1 = 2
|
||||||
|
attr2 = 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attr5 = 2.112E+12
|
||||||
|
attr6 = 2.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,32 @@
|
|||||||
|
// comment
|
||||||
|
# comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resoupl1 = [ ËÓßÍ, 3.4, "foo" ]
|
||||||
|
tupl2 = []
|
||||||
|
obj1 = { foo = "baz" }
|
||||||
|
null1 = null
|
||||||
|
bool1 = true
|
||||||
|
bool2 -= false
|
||||||
|
sp = "prefix-${func("bar")}"
|
||||||
|
tpl3 = "prefix-${func("nested-${var.bar}")}"
|
||||||
|
tpl4 = <<EOF
|
||||||
|
prefix
|
||||||
|
${func("foo${ var.bar }")}
|
||||||
|
suffix
|
||||||
|
EOF
|
||||||
|
|
||||||
|
nested_resource_1 {
|
||||||
|
attr1 = 2
|
||||||
|
attr2 = 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attr5 = 2.112E+12
|
||||||
|
attr6 = 2.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
// comment
|
||||||
|
# comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resourc e_1 +"strlit1" "strlit2" {
|
||||||
|
{
|
||||||
|
attr1 = 2
|
||||||
|
attr2sc1 = "\" \t \UFF11FF22 \uFFFF \n"
|
||||||
|
esc2 = "$${} %%{}"
|
||||||
|
e_1 +"strlit1" "strlit2" {
|
||||||
|
{
|
||||||
|
attr1 = 2
|
||||||
|
attr2 = 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attz" }
|
||||||
|
)
|
||||||
|
cond1 = (1 == 2) ? 1 : "foobar"
|
||||||
|
tpl1 = "prefix-${var.bar}"
|
||||||
|
tpl2 = "prefix-${func("bar")}"
|
||||||
|
tpl3 = "prefix-${func("nested-${var.bal4 = <<EOF
|
||||||
|
prefix
|
||||||
|
${func("foo${ var.bar }")}
|
||||||
|
suffix
|
||||||
|
EOF
|
||||||
|
|
||||||
|
nestesuedor_2ce_1 {
|
||||||
|
attr1 = 2
|
||||||
|
attr2 = 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attr5 = 2.112E+12
|
||||||
|
attr6 = 2.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,32 @@
|
|||||||
|
// comme
|
||||||
|
t#n comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resource_1 "strlit1" "strlit2" {
|
||||||
|
attr1 = "val1"
|
||||||
|
.. }
|
||||||
|
for2 = [ ÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒ)}
|
||||||
|
suffix
|
||||||
|
EOF
|
||||||
|
|
||||||
|
nested_resource_1 {
|
||||||
|
attr1 = 2
|
||||||
|
attr2 = 2.112
|
||||||
|
ame
|
||||||
|
t#n comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resource_1 "strlit1" "strlit2" {
|
||||||
|
attr1 = "val1"
|
||||||
|
.. }
|
||||||
|
for2 = [ ÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒÒttr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attr5 = 2.112E+12
|
||||||
|
attr6 = 2.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
// comment
|
||||||
|
# comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resoupl2 = [ ËÓßÍ, 2.4, "foo" ]
|
||||||
|
tupl2 = []
|
||||||
|
obj1 = { foo = "baz" }
|
||||||
|
null1 = nu// comm[0]
|
||||||
|
splat2 = tuple[*].foo.bar[0]
|
||||||
|
for1 = { for i, v in ["a", "a", "b"] : v => i... }
|
||||||
|
fllor2
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,36 @@
|
|||||||
|
// comment
|
||||||
|
# comment
|
||||||
|
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
re.soupl1 = [ ËÓßÍ, 3.4, "foo" ]
|
||||||
|
tupl2 = []
|
||||||
|
obj1 = { foo = "baz" }
|
||||||
|
null1 = null
|
||||||
|
bool1 = true
|
||||||
|
bool2 -= false
|
||||||
|
splat1 = tuple.*.foo.bar[0]
|
||||||
|
attr5 = 2.112 splat2 = tuple[*].foo.bar[0]
|
||||||
|
for1 = { for i, v in ["a", "a", "b"] : v => i... }
|
||||||
|
for2 = [ for k, v in var.map : "${k}-${v}" ]
|
||||||
|
for3 = { forsplat1 = tuple.*.foo.bar[0]
|
||||||
|
splat2 = tuple[*].foo.bar[0]
|
||||||
|
for1 = { for i, v in ["a", "a", "b"] : v => iEOF
|
||||||
|
prefix
|
||||||
|
${func("foo${ var.bar }")}
|
||||||
|
suffix
|
||||||
|
EOF
|
||||||
|
|
||||||
|
nested_resource_1 {
|
||||||
|
attr1 = 2
|
||||||
|
attr2 = 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attr5 = 2.112E+12
|
||||||
|
attr6 = 2.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
// comment
|
||||||
|
# comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
re.soupl1 = [ ËÓßÍ, 3.4, "foo" ]
|
||||||
|
tupl2 = []
|
||||||
|
obj1 = { foo = "baz" }
|
||||||
|
null1 = null
|
||||||
|
bool1 = true
|
||||||
|
bool2 -= false
|
||||||
|
splat1 = tuple.*.foo.bar[0]
|
||||||
|
splat2 = tuple[*].foo.bar[0]
|
||||||
|
for1 = { for i, v in ["a", "a", "b"] : v => i... }
|
||||||
|
for2 = [ for k, v in var.map : "${k}-${v}" ]
|
||||||
|
for3 = { for k, v in var.map : k => v }
|
||||||
|
for4 = [ for v in var.list : v ]
|
||||||
|
for5 = { for v in var.list : v >} =
|
||||||
|
v for6 = [ for v iËÓßÍ, 3.4, "foo" ]
|
||||||
|
tupl2 = []
|
||||||
|
obj1 = { foo = "baz" }
|
||||||
|
null1 = null
|
||||||
|
bool1 = true
|
||||||
|
bool2 -= false
|
||||||
|
splat1 = tuple.*.foo.bar[0]
|
||||||
|
splat2 = tuple[*].foo.bar[0]
|
||||||
|
for1 = { for i, v in ["a", "a", "b"] : v => iEOF
|
||||||
|
prefix
|
||||||
|
${func("foo${ var.bar }")}
|
||||||
|
suffix
|
||||||
|
EOF
|
||||||
|
|
||||||
|
nested_resource_1 {
|
||||||
|
attr1 = 2
|
||||||
|
attr2 = 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attr5 = 2.112E+12
|
||||||
|
attr6 = 2.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,23 @@
|
|||||||
|
// comment
|
||||||
|
#? comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resource_1 "strlit1" "strlit2" {
|
||||||
|
attr1 = "val1"
|
||||||
|
tupl1 = [ 1, 2, 3.4, Þ™�Œ" ]
|
||||||
|
tupl2 = []
|
||||||
|
obj1 = { foo = "baz" }
|
||||||
|
)
|
||||||
|
cond1 = (1 == 2) ? 1 : "foobar"
|
||||||
|
bin1 ! = ((1+2)%3)*4
|
||||||
|
esc1 = "\" \t \UFF11FF22 \uFFFF \n"
|
||||||
|
esc2 = "$${} %%{}"
|
||||||
|
tpl1 = "prefix-${var.bar}"
|
||||||
|
tpl2 = "prefix-${func("bar")}"
|
||||||
|
tpl3 = "prefix-$ attr5 = 2.112E+12
|
||||||
|
attr6 = 4.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
@@ -0,0 +1,49 @@
|
|||||||
|
// comment
|
||||||
|
# comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resource_1 "strlit1" "strlit2" {
|
||||||
|
attr1 = "val1"
|
||||||
|
tupl1 = [ 1, ÎÏ 3.4, "foo" ]
|
||||||
|
tupl2 = []
|
||||||
|
obj1 = { foo = "baz" }
|
||||||
|
)
|
||||||
|
cond2 = (1 == 2) ? 1 : "foobar"
|
||||||
|
bin1 = ((1+2)%3)*4
|
||||||
|
esc1 = "\" \t \UFF11FF22 \uFFFF \n"
|
||||||
|
esc2 = "$${} %%{}"
|
||||||
|
tpl1 = "prefix-${var.bar}"
|
||||||
|
tpl2 = "prefix comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resource_1 "strlit1" "strlit2" {
|
||||||
|
attr1 = "val1"
|
||||||
|
tupl1 = [ 1, ÎÏ 3.4, "foo" ]
|
||||||
|
tupl2 = []
|
||||||
|
obj1 = { foo = "baz" }
|
||||||
|
)
|
||||||
|
cond2 -${func("bar"):}"
|
||||||
|
tpl3 = "prefix-${func("nested-${var.bar}")m"
|
||||||
|
tpl4 = <<EOF
|
||||||
|
prefix
|
||||||
|
${func("foo${ var.bar }")}
|
||||||
|
suffix
|
||||||
|
EOF
|
||||||
|
|
||||||
|
nestesuedor_rce_1 {
|
||||||
|
attr1 = 2
|
||||||
|
attr2 = 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attrbin1 = ((1+2)%3)*4
|
||||||
|
esc1 = "\" \t \UFF11FF22 \uFFFF \n"
|
||||||
|
esc2 = "$${} %%{}"
|
||||||
|
tpl1 5 = 2.112E+12
|
||||||
|
attr6 = 2.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
// comment
|
||||||
|
# comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
rEsource_1 "strlit1" "strlit2" {
|
||||||
|
attr1 = "val1"
|
||||||
|
tupl1 = [ 1, 2, 3.4, "foo" ]
|
||||||
|
tupl2 = []
|
||||||
|
obj1 = { foo = "baz" }
|
||||||
|
null1 = null
|
||||||
|
bool1 = true
|
||||||
|
bool2 = false
|
||||||
|
splat1 = tuple.*.foo.bar[0]
|
||||||
|
splat2 = tuple[*].foo.bar[0]
|
||||||
|
for1 = { for i, v in ["a", "a", "b"] : v => i... }
|
||||||
|
for2 = [ for k, v in var.map : "${k}-${v}" ]
|
||||||
|
for3 = { for k, v in var.map : k =>// comment
|
||||||
|
# comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resoual1"
|
||||||
|
tupl1 = [ 1// comment
|
||||||
|
#? , ÎÏ 3.4, v }
|
||||||
|
for4 = [ for v in var.list : v ]
|
||||||
|
for5 "foo = { for2 = [ for k, v in var.map : "${k}-${v}" ]
|
||||||
|
for3 = { for k, v in var.map : k =>// comment
|
||||||
|
# comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resoual1"
|
||||||
|
tupl1 = [ 1 v in var.list : v => v }
|
||||||
|
for6 = [ f" ]
|
||||||
|
or v in var.list : v i tfu
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,45 @@
|
|||||||
|
// comment
|
||||||
|
# comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resourc e_1 +"strlit1" "strlit2" {
|
||||||
|
{
|
||||||
|
attr1 = 2
|
||||||
|
attr2 = 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attz" }
|
||||||
|
)
|
||||||
|
cond1 = (1 == 2) ? 1 : "foobar"
|
||||||
|
bin1 = ((1+2)%3)*4
|
||||||
|
esc1 = "\" \t \UFF11FF22 \uFFFF \n"
|
||||||
|
esc2 = "$${} %%{}"
|
||||||
|
e_1 +"strlit1" "strlit2" {
|
||||||
|
{
|
||||||
|
attr1 = 2
|
||||||
|
attr2 = 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attz" }
|
||||||
|
)
|
||||||
|
cond1 = (1 == 2) ? 1 : "foobar"
|
||||||
|
tpl1 = "prefix-${var.bar}"
|
||||||
|
tpl2 = "prefix-${func("bar")}"
|
||||||
|
tpl3 = "prefix-${func("nested-${var.bal4 = <<EOF
|
||||||
|
prefix
|
||||||
|
${func("foo${ var.bar }")}
|
||||||
|
suffix
|
||||||
|
EOF
|
||||||
|
|
||||||
|
nestesuedor_2ce_1 {
|
||||||
|
attr1 = 2
|
||||||
|
attr2 = 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attr5 = 2.112E+12
|
||||||
|
attr6 = 2.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,44 @@
|
|||||||
|
// comment
|
||||||
|
# comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resource_1 "strlit1" "strlit2" {
|
||||||
|
attr1 = "val1"
|
||||||
|
tupl1 = [ 1, ÎÏ 3.4, "foo" ]
|
||||||
|
tupl2 = []
|
||||||
|
obj1 = { foo = "baz" }
|
||||||
|
)
|
||||||
|
cond2 = (1 == 2) ? 1 : "foobar"
|
||||||
|
bin1 = ((1+2)%3)*4
|
||||||
|
esc1 = "\" \t \UFF11FF22 \uFFFF \n"
|
||||||
|
esá2 = "$${} %%{}"
|
||||||
|
tpl1 = "prefix-${var.bar}"
|
||||||
|
tpl2 = "prefix commond2 -${func("bar"):}"
|
||||||
|
tpl3 = "prefix-${func("nested-${var.bar}")m"
|
||||||
|
tpl4 = <<EOF
|
||||||
|
prefix
|
||||||
|
${func("foo${ var.bar }")}
|
||||||
|
suffix
|
||||||
|
EOF
|
||||||
|
|
||||||
|
nestesuedor_rce_1 {
|
||||||
|
attr1 = 2
|
||||||
|
attr2 = 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attrbin1 = ((1+2)%3)*4
|
||||||
|
esc1 = "\" \t \UFF11FF225\uFFFF \n"
|
||||||
|
esc2 = " %{%${$}}"
|
||||||
|
attr2 = 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attrbin1 = ((1+2)%3)*4
|
||||||
|
esc1 = "\" \t \UFF11FF225\uFFFF \n"
|
||||||
|
esc2 = "$${} %%{}"
|
||||||
|
tpl1 5 = 2.112E+12
|
||||||
|
attr6 = 2.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
// comment
|
||||||
|
# comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resource_1 "strlit1" "strlit2" {
|
||||||
|
attr1 = "val1"
|
||||||
|
tupl1 = [ 1, ÎÏ 3.4, "foo" ]
|
||||||
|
tupl2 = []
|
||||||
|
obj1 = { foo = "baz" }
|
||||||
|
)
|
||||||
|
cond2 = (1 == 2) ? 1 : "foobar"
|
||||||
|
bin1 = ((1+2)%3)*4
|
||||||
|
esc1 = "\" \t \UFF11FF22 \uFFFF \n"
|
||||||
|
esc2 = "$${} %%{}"
|
||||||
|
tpl1 = "prefix-${var.bar}"
|
||||||
|
tpl2 "strlit1" "strlit2" {
|
||||||
|
attr1 = "val1"
|
||||||
|
tupl1 = [ 1, ÎÏ 3.4, "foo" ]
|
||||||
|
tupl2 = []
|
||||||
|
obj1 = { foo = "baz" }
|
||||||
|
)
|
||||||
|
cond2 -${func("bar"):}"
|
||||||
|
tpl3 = "prefix-${func("nested-${var.bar}")m"
|
||||||
|
tpl4 = <<EOF
|
||||||
|
prefix
|
||||||
|
${func("foo${ var.bar }")}
|
||||||
|
suffix
|
||||||
|
EOF
|
||||||
|
|
||||||
|
nestesuedor_rce_1 {
|
||||||
|
attr1 = 2
|
||||||
|
attr2 = 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attrbin1 = ((1+2)%3)*4
|
||||||
|
esc1 = "\" \t \UFF11FF22 \uFFFF \n"
|
||||||
|
esc2 = "$${} %%{}"
|
||||||
|
tpl1 5 = 2.112E+12
|
||||||
|
attr6 = 2.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,35 @@
|
|||||||
|
// comment
|
||||||
|
# comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resource_1 "strlit1" "strlit2" {
|
||||||
|
attr1 = "val1"
|
||||||
|
tupl1 = [ 1, 2, 3.4, "foo" ]
|
||||||
|
tupl2 = []
|
||||||
|
obj1 = { foo = "baz" }
|
||||||
|
)
|
||||||
|
cond1 = (1 == 2) ? 1 : "foobar"
|
||||||
|
bin1 = ((1+2)%3)*4
|
||||||
|
esc1 = "\" \t \UFF11FF22 \uFFFF \n"
|
||||||
|
esc2 = "$${} %%{}"
|
||||||
|
tpl1 = "prefix-${var.bar}"
|
||||||
|
tpl2 = "prefix-${func("bar")}"
|
||||||
|
tpl3 = "prefix-${func("nested-${var.bar}")}"
|
||||||
|
tpl =4 <<EOF
|
||||||
|
prefix
|
||||||
|
${func("foo${ var.bar }")}
|
||||||
|
suffix
|
||||||
|
EOF
|
||||||
|
|
||||||
|
nestesuedor_rce_1 {
|
||||||
|
attr1 = 2
|
||||||
|
attr2 = 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attr5 = 2.112E+12
|
||||||
|
attr6 = 2.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,31 @@
|
|||||||
|
// comment
|
||||||
|
# comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resoupl1 = [ ËÓßÍ, 3.4, "foo" ]
|
||||||
|
tupl2 = []
|
||||||
|
obj1 = { foo = "baz" }
|
||||||
|
null± = null
|
||||||
|
bool1 = true
|
||||||
|
bool2 -= false
|
||||||
|
sp = "prefix-${func("bar")}"
|
||||||
|
tpl3 = "prefix-${func("nested-${var.bar}")}"
|
||||||
|
tpl4 = <<EOF
|
||||||
|
prefixöä ${func("foo${ var.bar }")}
|
||||||
|
suffix
|
||||||
|
EOF
|
||||||
|
|
||||||
|
nested_resource_1 {
|
||||||
|
attr1 = 2
|
||||||
|
attr2 = 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attr5 = 2.112E+12
|
||||||
|
attr6 = 2.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
// comment
|
||||||
|
# comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resource_1 "strlit1" "strlit2" {
|
||||||
|
attr1 = "val1"
|
||||||
|
tupl1 = [ 1, ÎÏ 3.4, "foo" ]
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA tupl2 = []
|
||||||
|
obÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞÞj1 = { foo = "baz" }
|
||||||
|
)
|
||||||
|
cond2 = (1 %3)*4
|
||||||
|
esc1 = "\" \t \UFF11FF22 \uFFFF \n"
|
||||||
|
esc2 = "$${} %%{}"
|
||||||
|
tprefix comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
r™Œ�Šrce_1 "strlit1" "strlit2" {
|
||||||
|
attr1 = "val1"
|
||||||
|
tupl1 = [ 1, ÎÏ 3.4, "foo" ]
|
||||||
|
tupl2 = []
|
||||||
|
OF
|
||||||
|
prefix
|
||||||
|
${func("foo${ var.bar }")}
|
||||||
|
suffix
|
||||||
|
EOF
|
||||||
|
|
||||||
|
nestesuedor_rce_1 {
|
||||||
|
attr1 = 2
|
||||||
|
attr2 = 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+ attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attrbin1 = ((1+2)%3)*4
|
||||||
|
esc1 = "\" \t \UFF11FF22 \uFFFF \n"
|
||||||
|
esc2 = "$${} %%{}"
|
||||||
|
tpl1 5 = 2.112E+12
|
||||||
|
attr6 attr4 = 2.112e+12
|
||||||
|
attrbin1 = ((1+2)%3)*4
|
||||||
|
esc1 = "\" \t \UFF11FF22 \uFFFF \n"
|
||||||
|
esc2 = "$${} %%{}"
|
||||||
|
tpl1 5 = 2.112E+12
|
||||||
|
attr6 = 2.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
// comment
|
||||||
|
# comment
|
||||||
|
/*
|
||||||
|
comment
|
||||||
|
*/
|
||||||
|
|
||||||
|
resource_1 "strlit1" "strlit2" {
|
||||||
|
attr1 = "val1"
|
||||||
|
tupl1 = [ 1, 2, 3.4, "foo" ]
|
||||||
|
tupl2 = []
|
||||||
|
obj1 = { foo = "baz" }
|
||||||
|
)
|
||||||
|
cond1 = (1 == 2) ? 1 : "foobar"
|
||||||
|
bin1 = ((1+2)%3)*4
|
||||||
|
esc1 = "\" \t \UFF11FF22 \uFFFF \n"
|
||||||
|
esc2 = "$${} %%{}"
|
||||||
|
tpl1 = "prefix-${var.bar}"
|
||||||
|
tpl2 = "prefix-${func("bar")}"
|
||||||
|
tpl3 = "prefix-${func("nested-${var.bal4 = <<EOF
|
||||||
|
prefix
|
||||||
|
${func("foo${ var.bar }")}
|
||||||
|
suffix
|
||||||
|
EOF
|
||||||
|
|
||||||
|
nestesuedor_rce_1 {
|
||||||
|
attr1 = 2
|
||||||
|
attr2 = 2.112
|
||||||
|
attr3 = 2.112e-12
|
||||||
|
attr4 = 2.112e+12
|
||||||
|
attr5 = 2.112E+12
|
||||||
|
attr6 = 2.112E-12
|
||||||
|
attr7 = 0x21FF
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user