diff --git a/testing/btest/Baseline/scripts.base.frameworks.logging.ascii-double/json.log b/testing/btest/Baseline/scripts.base.frameworks.logging.ascii-double/json.log index 49b3c5d172..bb0f950b13 100644 --- a/testing/btest/Baseline/scripts.base.frameworks.logging.ascii-double/json.log +++ b/testing/btest/Baseline/scripts.base.frameworks.logging.ascii-double/json.log @@ -1,22 +1,22 @@ -{"d":2.153226e+09} -{"d":2.153226e+09} -{"d":2.153226e+09} +{"d":2153226000.0} +{"d":2153226000.1} +{"d":2153226000.123457} {"d":1.0} {"d":1.1} -{"d":1.123457} -{"d":-1.123457} +{"d":1.123456789} +{"d":-1.123456789} {"d":1.1234} {"d":0.1234} {"d":50000.0} {"d":-50000.0} -{"d":3.140000e+15} -{"d":-3.140000e+15} -{"d":1.790000e+308} -{"d":-1.790000e+308} -{"d":0.000012} -{"d":0} -{"d":-0} -{"d":inf} -{"d":-inf} -{"d":0.0} -{"d":nan} +{"d":3.14e+15} +{"d":-3.14e+15} +{"d":1.79e+308} +{"d":-1.79e+308} +{"d":1.23456789e-05} +{"d":2.23e-308} +{"d":-2.23e-308} +{"d":null} +{"d":null} +{"d":-0.0} +{"d":null} diff --git a/testing/btest/Baseline/scripts.base.frameworks.logging.ascii-double/test.log b/testing/btest/Baseline/scripts.base.frameworks.logging.ascii-double/test.log index 9d5dd6ecf0..21457f916c 100644 --- a/testing/btest/Baseline/scripts.base.frameworks.logging.ascii-double/test.log +++ b/testing/btest/Baseline/scripts.base.frameworks.logging.ascii-double/test.log @@ -3,7 +3,7 @@ #empty_field (empty) #unset_field - #path test -#open 2017-11-06-19-58-08 +#open 2019-07-01-17-40-55 #fields d #types double 2153226000.0 @@ -28,4 +28,4 @@ inf -inf 0.0 nan -#close 2017-11-06-19-58-08 +#close 2019-07-01-17-40-55 diff --git a/testing/btest/Baseline/scripts.base.frameworks.logging.ascii-json-utf8/ssh.log b/testing/btest/Baseline/scripts.base.frameworks.logging.ascii-json-utf8/ssh.log new file mode 100644 index 0000000000..b1a395906f --- /dev/null +++ b/testing/btest/Baseline/scripts.base.frameworks.logging.ascii-json-utf8/ssh.log @@ -0,0 +1,12 @@ +{"s":"a"} +{"s":"\b\f\n\r\t\\x00\\x15"} +{"s":"ñ"} +{"s":"\\xc3("} +{"s":"\\xa0\\xa1"} +{"s":"₡"} +{"s":"\\xe2(\\xa1"} +{"s":"\\xe2\\x82("} +{"s":"𐌼"} +{"s":"\\xf0(\\x8c\\xbc"} +{"s":"\\xf0\\x90(\\xbc"} +{"s":"\\xf0(\\x8c("} diff --git a/testing/btest/Baseline/scripts.base.frameworks.logging.ascii-json/ssh.log b/testing/btest/Baseline/scripts.base.frameworks.logging.ascii-json/ssh.log index 16ba5ddb60..52c5e4856c 100644 --- a/testing/btest/Baseline/scripts.base.frameworks.logging.ascii-json/ssh.log +++ b/testing/btest/Baseline/scripts.base.frameworks.logging.ascii-json/ssh.log @@ -1 +1 @@ -{"b":true,"i":-42,"e":"SSH::LOG","c":21,"p":123,"sn":"10.0.0.0/24","a":"1.2.3.4","d":3.14,"t":1215620010.54321,"iv":100.0,"s":"hurz","sc":[2,4,1,3],"ss":["BB","AA","CC"],"se":[],"vc":[10,20,30],"ve":[],"f":"SSH::foo\u000a{ \u000aif (0 < SSH::i) \u000a\u0009return (Foo);\u000aelse\u000a\u0009return (Bar);\u000a\u000a}"} +{"b":true,"i":-42,"e":"SSH::LOG","c":21,"p":123,"sn":"10.0.0.0/24","a":"1.2.3.4","d":3.14,"t":1215620010.54321,"iv":100.0,"s":"hurz","sc":[2,4,1,3],"ss":["BB","AA","CC"],"se":[],"vc":[10,20,30],"ve":[],"f":"SSH::foo\n{ \nif (0 < SSH::i) \n\treturn (Foo);\nelse\n\treturn (Bar);\n\n}"} diff --git a/testing/btest/scripts/base/frameworks/logging/ascii-json-utf8.zeek b/testing/btest/scripts/base/frameworks/logging/ascii-json-utf8.zeek new file mode 100644 index 0000000000..dabe86073d --- /dev/null +++ b/testing/btest/scripts/base/frameworks/logging/ascii-json-utf8.zeek @@ -0,0 +1,59 @@ +# +# @TEST-EXEC: zeek -b %INPUT +# @TEST-EXEC: btest-diff ssh.log +# +# Testing all possible types. + +redef LogAscii::use_json = T; + + +module SSH; + +export { + redef enum Log::ID += { LOG }; + + type Log: record { + s: string; + } &log; +} + +event zeek_init() +{ + Log::create_stream(SSH::LOG, [$columns=Log]); + + # Strings taken from https://stackoverflow.com/a/3886015 + + # Valid ASCII and valid ASCII control characters + Log::write(SSH::LOG, [$s="a"]); + Log::write(SSH::LOG, [$s="\b\f\n\r\t\x00\x15"]); + + # Valid 2 Octet Sequence + Log::write(SSH::LOG, [$s="\xc3\xb1"]); + + # Invalid 2 Octet Sequence + Log::write(SSH::LOG, [$s="\xc3\x28"]); + + # Invalid Sequence Identifier + Log::write(SSH::LOG, [$s="\xa0\xa1"]); + + # Valid 3 Octet Sequence + Log::write(SSH::LOG, [$s="\xe2\x82\xa1"]); + + # Invalid 3 Octet Sequence (in 2nd Octet) + Log::write(SSH::LOG, [$s="\xe2\x28\xa1"]); + + # Invalid 3 Octet Sequence (in 3rd Octet) + Log::write(SSH::LOG, [$s="\xe2\x82\x28"]); + + # Valid 4 Octet Sequence + Log::write(SSH::LOG, [$s="\xf0\x90\x8c\xbc"]); + + # Invalid 4 Octet Sequence (in 2nd Octet) + Log::write(SSH::LOG, [$s="\xf0\x28\x8c\xbc"]); + + # Invalid 4 Octet Sequence (in 3rd Octet) + Log::write(SSH::LOG, [$s="\xf0\x90\x28\xbc"]); + + # Invalid 4 Octet Sequence (in 4th Octet) + Log::write(SSH::LOG, [$s="\xf0\x28\x8c\x28"]); +}