Commit 1bd658d4 authored by Geoff Simmons's avatar Geoff Simmons

test transcode_n(), and decode_n() with IDENTITY and HEX

Patch by Nils
parent bc09df11
# looks like -*- perl -*-
varnishtest "hex decode_n()"
varnish v1 -vcl {
import blobcode from "${vmod_topbuild}/src/.libs/libvmod_blobcode.so";
import std;
backend b { .host = "${bad_ip}"; }
sub vcl_recv {
return(synth(200));
}
sub vcl_synth {
set req.http.pangram = "The quick brown fox jumps over the lazy dog";
set req.http.hobbes =
{"Man is distinguished, not only by his reason, but by this singular passion from other animals, which is a lust of the mind, that by a perseverance of delight in the continued and indefatigable generation of knowledge, exceeds the short vehemence of any carnal pleasure."};
# base64 encoding of all 256 byte values in ascending order
set req.http.b64all =
{"AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w=="};
set resp.http.hexlc =
blobcode.encode(HEXLC,
blobcode.decode_n(5, IDENTITY, req.http.pangram));
set resp.http.hexuc =
blobcode.encode(HEXUC,
blobcode.decode_n(5, IDENTITY, req.http.pangram));
set resp.http.hobbeslc =
blobcode.encode(HEXLC, blobcode.decode_n(5, IDENTITY, req.http.hobbes));
set resp.http.hobbesuc =
blobcode.encode(HEXUC, blobcode.decode_n(5, IDENTITY, req.http.hobbes));
set resp.http.all-lc =
blobcode.encode(HEXLC, blobcode.decode_n(8, BASE64, req.http.b64all));
set resp.http.all-uc =
blobcode.encode(HEXUC, blobcode.decode_n(8, BASE64, req.http.b64all));
set resp.http.empty-lc =
blobcode.encode(HEXLC, blobcode.decode_n(5, IDENTITY, ""));
set resp.http.empty-uc =
blobcode.encode(HEXUC, blobcode.decode_n(5, IDENTITY, ""));
set resp.http.hexlcparam =
blobcode.encode(blob=blobcode.decode_n(5, IDENTITY, req.http.pangram),
encoding=HEXLC);
set resp.http.hexucparam =
blobcode.encode(blob=blobcode.decode_n(5, IDENTITY, req.http.pangram),
encoding=HEXUC);
set req.http.hexucfoobar = "666F6F206261722062617A2071757578";
set req.http.hexlcfoobar = std.tolower(req.http.hexucfoobar);
# Hobbes quotation in hex
set req.http.hexhobbeslc = "4d616e2069732064697374696e677569736865642c206e6f74206f6e6c792062792068697320726561736f6e2c2062757420627920746869732073696e67756c61722070617373696f6e2066726f6d206f7468657220616e696d616c732c2077686963682069732061206c757374206f6620746865206d696e642c20746861742062792061207065727365766572616e6365206f662064656c6967687420696e2074686520636f6e74696e75656420616e6420696e6465666174696761626c652067656e65726174696f6e206f66206b6e6f776c656467652c2065786365656473207468652073686f727420766568656d656e6365206f6620616e79206361726e616c20706c6561737572652e";
set req.http.hexhobbesuc = std.toupper(req.http.hexhobbeslc);
set req.http.hexalluc = "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF";
set req.http.hexalllc = std.tolower(req.http.hexalluc);
set req.http.hexallucodd = regsub(req.http.hexalluc, "^0", "");
set req.http.hexalllcodd = regsub(req.http.hexalllc, "^0", "");
set resp.http.decuc =
blobcode.encode(IDENTITY,
blobcode.decode_n(10, HEX, req.http.hexucfoobar));
set resp.http.declc =
blobcode.encode(IDENTITY,
blobcode.decode_n(10, HEX, req.http.hexlcfoobar));
set resp.http.dechobbesuc =
blobcode.encode(IDENTITY,
blobcode.decode_n(12, HEX, req.http.hexhobbesuc));
set resp.http.dechobbeslc =
blobcode.encode(IDENTITY,
blobcode.decode_n(12, HEX, req.http.hexhobbeslc));
set resp.http.decalluc =
blobcode.encode(BASE64, blobcode.decode_n(12, HEX, req.http.hexalluc));
set resp.http.decalllc =
blobcode.encode(BASE64, blobcode.decode_n(12, HEX, req.http.hexalllc));
set resp.http.decallucodd =
blobcode.encode(BASE64, blobcode.decode_n(11, HEX,
req.http.hexallucodd));
set resp.http.decalllcodd =
blobcode.encode(BASE64, blobcode.decode_n(11, HEX,
req.http.hexalllcodd));
set resp.http.decempty =
blobcode.encode(IDENTITY, blobcode.decode_n(5, HEX, ""));
set resp.http.decemptybyte =
blobcode.encode(IDENTITY, blobcode.decode_n(1, HEX, "00"));
set resp.http.decemptynibble =
blobcode.encode(IDENTITY, blobcode.decode_n(2, HEX, "0"));
set resp.http.decemptypieces =
blobcode.encode(IDENTITY,
blobcode.decode_n(5, HEX, req.http.unset + ""
+ req.http.unset + ""));
set req.http.part1 = "666";
set resp.http.dec2pieces =
blobcode.encode(IDENTITY, blobcode.decode_n(6, HEX, req.http.part1 +
"F6F206261722062617A2071757578"));
set req.http.part2 = "57578";
set resp.http.dec3param =
blobcode.encode(blob=blobcode.decode_n(encoded=req.http.part1 +
"F6F206261722062617A20717" + req.http.part2,
decoding=HEX,n=8),
encoding=IDENTITY);
set resp.http.dec3pieces =
blobcode.encode(IDENTITY, blobcode.decode_n(30, HEX, req.http.part1 +
"F6F206261722062617A20717" + req.http.part2));
set resp.http.decmanypieces =
blobcode.encode(IDENTITY, blobcode.decode_n(20, HEX, "" + req.http.unset
+ req.http.part1 + req.http.unset + ""
+ req.http.unset + "" + "F6F206261722062617A20717"
+ "" + req.http.unset + req.http.part2
+ req.http.unset + "" + req.http.unset));
}
} -start
client c1 {
txreq -url "/"
rxresp
expect resp.http.hexlc == "5468652071"
expect resp.http.hexuc == "5468652071"
expect resp.http.hobbeslc == "4d616e2069"
expect resp.http.hobbesuc == "4D616E2069"
expect resp.http.all-uc == "000102030405"
expect resp.http.all-lc == "000102030405"
expect resp.http.empty-uc == ""
expect resp.http.empty-lc == ""
expect resp.http.hexlcparam == "5468652071"
expect resp.http.hexucparam == "5468652071"
expect resp.http.decuc == "foo b"
expect resp.http.declc == "foo b"
expect resp.http.dechobbesuc == "Man is"
expect resp.http.dechobbeslc == "Man is"
expect resp.http.decalluc == "AAECAwQF"
expect resp.http.decalllc == "AAECAwQF"
expect resp.http.decallucodd == "AAECAwQF"
expect resp.http.decalllcodd == "AAECAwQF"
expect resp.http.decempty == ""
expect resp.http.decemptybyte == ""
expect resp.http.decemptynibble == ""
expect resp.http.decemptypieces == ""
expect resp.http.dec2pieces == "foo"
expect resp.http.dec3pieces == "foo bar baz quu"
expect resp.http.dec3param == "foo "
expect resp.http.decmanypieces == "foo bar ba"
} -run
varnish v1 -vcl {
import blobcode from "${vmod_topbuild}/src/.libs/libvmod_blobcode.so";
backend b { .host = "${bad_ip}"; }
sub vcl_recv {
return(synth(200));
}
sub vcl_synth {
set req.http.foo = "123";
set resp.http.badhex = blobcode.encode(HEXUC,
blobcode.decode_n(2, HEX, "g" + req.http.foo));
}
}
client c1 {
txreq
rxresp
expect resp.http.badhex == ""
} -run
logexpect l1 -v v1 -d 1 -g vxid -q "VCL_Error" {
expect 0 * Begin req
expect * = VCL_Error "^vmod blobcode error: cannot decode, illegal encoding beginning with \"g\"$"
#"
expect * = End
} -start
logexpect l1 -wait
# looks like -*- perl -*-
varnishtest "IDENTITY decode_n()"
varnish v1 -vcl {
import blobcode from "${vmod_topbuild}/src/.libs/libvmod_blobcode.so";
backend b { .host = "${bad_ip}"; }
sub vcl_recv {
return(synth(200));
}
sub vcl_synth {
set resp.http.id =
blobcode.encode(IDENTITY, blobcode.decode_n(5, IDENTITY,
"The quick brown fox jumps over the lazy dog"));
set resp.http.hobbes =
blobcode.encode(IDENTITY, blobcode.decode_n(5, IDENTITY,
{"Man is distinguished, not only by his reason, but by this singular passion from other animals, which is a lust of the mind, that by a perseverance of delight in the continued and indefatigable generation of knowledge, exceeds the short vehemence of any carnal pleasure."}));
set resp.http.list =
blobcode.encode(IDENTITY, blobcode.decode_n(6, IDENTITY,
"" + req.http.unset + req.url +
"The quick brown fox jumps over " +
req.http.unset + "" + req.http.unset + "" +
"the lazy dog" + req.url + req.http.unset + ""));
set resp.http.empty =
blobcode.encode(IDENTITY, blobcode.decode_n(5, IDENTITY, ""));
set resp.http.undef =
blobcode.encode(IDENTITY, blobcode.decode_n(5, IDENTITY,
req.http.unset));
set resp.http.emptylist =
blobcode.encode(IDENTITY, blobcode.decode_n(5, IDENTITY,
req.http.unset + "" + req.http.unset + ""));
set resp.http.param =
blobcode.encode(blob=
blobcode.decode_n(encoded=
"The quick brown fox jumps over the lazy dog",
n=7, decoding=IDENTITY),
encoding=IDENTITY);
set resp.http.paramlist =
blobcode.encode(IDENTITY, blobcode.decode_n(encoded=
"" + req.http.unset + req.url +
"The quick brown fox jumps over " +
req.http.unset + "" + req.http.unset + "" +
"the lazy dog" + req.url + req.http.unset + "",
decoding=IDENTITY, n=37));
}
} -start
client c1 {
txreq -url "/"
rxresp
expect resp.http.id == "The q"
expect resp.http.hobbes == "Man i"
expect resp.http.list == "/The q"
expect resp.http.empty == ""
expect resp.http.undef == ""
expect resp.http.emptylist == ""
expect resp.http.param == "The qui"
expect resp.http.paramlist == "/The quick brown fox jumps over the l"
} -run
# looks like -*- perl -*-
varnishtest "Test transcode_n()"
varnish v1 -vcl {
import blobcode from "${vmod_topbuild}/src/.libs/libvmod_blobcode.so";
import std;
backend b { .host = "${bad_ip}"; }
sub vcl_recv {
return(synth(200));
}
sub vcl_synth {
set req.http.pangram
= "The quick brown fox jumps over the lazy dog";
set req.http.hobbes =
{"Man is distinguished, not only by his reason, but by this singular passion from other animals, which is a lust of the mind, that by a perseverance of delight in the continued and indefatigable generation of knowledge, exceeds the short vehemence of any carnal pleasure."};
set req.http.hobbesb64 =
{"TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4="};
set req.http.hexhobbes = "4d616e2069732064697374696e677569736865642c206e6f74206f6e6c792062792068697320726561736f6e2c2062757420627920746869732073696e67756c61722070617373696f6e2066726f6d206f7468657220616e696d616c732c2077686963682069732061206c757374206f6620746865206d696e642c20746861742062792061207065727365766572616e6365206f662064656c6967687420696e2074686520636f6e74696e75656420616e6420696e6465666174696761626c652067656e65726174696f6e206f66206b6e6f776c656467652c2065786365656473207468652073686f727420766568656d656e6365206f6620616e79206361726e616c20706c6561737572652e";
set req.http.hexalldown =
{"fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0efeeedecebeae9e8e7e6e5e4e3e2e1e0dfdedddcdbdad9d8d7d6d5d4d3d2d1d0cfcecdcccbcac9c8c7c6c5c4c3c2c1c0bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a1a09f9e9d9c9b9a999897969594939291908f8e8d8c8b8a898887868584838281807f7e7d7c7b7a797877767574737271706f6e6d6c6b6a696867666564636261605f5e5d5c5b5a595857565554535251504f4e4d4c4b4a494847464544434241403f3e3d3c3b3a393837363534333231302f2e2d2c2b2a292827262524232221201f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100"};
set req.http.hexallup =
{"000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff"};
set req.http.b64all =
{"AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRRSSSSTTTTUUUUVVVVWWWWXXXXYYYYZZZZaaaabbbbccccddddeeeeffffgggghhhhiiiijjjjkkkkllllmmmmnnnnooooppppqqqqrrrrssssttttuuuuvvvvwwwwxxxxyyyyzzzz0000111122223333444455556666777788889999++++////"};
set req.http.b64allurl =
{"AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRRSSSSTTTTUUUUVVVVWWWWXXXXYYYYZZZZaaaabbbbccccddddeeeeffffgggghhhhiiiijjjjkkkkllllmmmmnnnnooooppppqqqqrrrrssssttttuuuuvvvvwwwwxxxxyyyyzzzz0000111122223333444455556666777788889999----____"};
set resp.http.id2id
= blobcode.transcode_n(5, IDENTITY, IDENTITY, "Hello world");
set resp.http.id2b64
= blobcode.transcode_n(5, IDENTITY, BASE64, req.http.hobbes);
set resp.http.id2b64nopad
= blobcode.transcode_n(5, IDENTITY, BASE64URLNOPAD, req.http.hobbes);
set resp.http.id2hexuc
= blobcode.transcode_n(5, IDENTITY, HEXUC, req.http.hobbes);
set resp.http.id2hexlc
= blobcode.transcode_n(5, IDENTITY, HEXLC, req.http.hobbes);
set resp.http.b642id
= blobcode.transcode_n(8, BASE64, IDENTITY, req.http.hobbesb64);
set resp.http.hex2id
= blobcode.transcode_n(12, HEX, IDENTITY, req.http.hexhobbes);
set resp.http.hexalldown2b64
= blobcode.transcode_n(12, HEX, BASE64, req.http.hexalldown);
set resp.http.hexalldown2b64url
= blobcode.transcode_n(12, HEX, BASE64URL, req.http.hexalldown);
set resp.http.hexalldown2b64nopad
= blobcode.transcode_n(10, HEX, BASE64URLNOPAD, req.http.hexalldown);
set resp.http.hexallup2b64
= blobcode.transcode_n(12, HEX, BASE64, req.http.hexallup);
set resp.http.hexallup2b64url
= blobcode.transcode_n(10, HEX, BASE64URL, req.http.hexallup);
set resp.http.hexallup2b64nopad
= blobcode.transcode_n(10, HEX, BASE64URLNOPAD, req.http.hexallup);
set resp.http.b64all2hexuc
= blobcode.transcode_n(8, BASE64, HEXUC, req.http.b64all);
set resp.http.b64all2hexlc
= blobcode.transcode_n(8, BASE64, HEXLC, req.http.b64all);
set resp.http.b64allurl2hexuc
= blobcode.transcode_n(8, BASE64URL, HEXUC, req.http.b64allurl);
set resp.http.b64allurl2hexlc
= blobcode.transcode_n(8, BASE64URL, HEXLC, req.http.b64allurl);
set resp.http.hexuc2hexuc
= blobcode.transcode_n(10, HEX, HEXUC, "0123456789ABCDEF");
set resp.http.hexlc2hexlc
= blobcode.transcode_n(10, HEX, HEXLC, "0123456789abcdef");
set resp.http.hexuc2hexlc
= blobcode.transcode_n(9, HEX, HEXLC, "0123456789ABCDEF");
set resp.http.hexlc2hexuc
= blobcode.transcode_n(9, HEX, HEXUC, "0123456789abcdef");
set resp.http.hexmix2hexuc
= blobcode.transcode_n(15, HEX, HEXUC, "0123456789ABCdef");
set resp.http.hexmix2hexlc
= blobcode.transcode_n(13, HEX, HEXLC, "0123456789abcDEF");
set req.http.hexpart1 = "01234567";
set req.http.hexpart2 = "89abcdef";
set resp.http.hexparam
= blobcode.transcode_n(encoded="" + req.http.unset + ""
+ req.http.unset + "" + req.http.hexpart1
+ "" + req.http.unset + "" + req.http.unset
+ req.http.hexpart2, decoding=HEX,
encoding=HEXUC, n=10);
set resp.http.b642b64
= blobcode.transcode_n(36, BASE64, BASE64,
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdef"
+ "ghijklmnopqrstuvwxyz0123456789+/");
set resp.http.b64url2b64url =
blobcode.transcode_n(34, BASE64URL, BASE64URL,
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdef"
+ "ghijklmnopqrstuvwxyz0123456789-_");
set resp.http.b64urlnopad2b64urlnopad =
blobcode.transcode_n(34, BASE64URLNOPAD, BASE64URLNOPAD,
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdef"
+ "ghijklmnopqrstuvwxyz0123456789-_");
set resp.http.badhex = blobcode.transcode_n(8, HEX, IDENTITY, "0x123456");
set req.http.foo = "AAA=";
set resp.http.bad64 = blobcode.transcode_n(4, BASE64, IDENTITY,
"-_-_" + req.http.foo);
set resp.http.badurl = blobcode.transcode_n(4, BASE64URL, IDENTITY,
"+/+/" + req.http.foo);
set resp.http.badpad = blobcode.transcode_n(8, BASE64URLNOPAD, IDENTITY,
"TWFu" + req.http.foo);
set resp.http.bad64264 = blobcode.transcode_n(4, BASE64, BASE64,
"_-_-" + req.http.foo);
set resp.http.badurl2url = blobcode.transcode_n(4, BASE64URL, BASE64URL,
"/+/+" + req.http.foo);
set resp.http.badpad2pad
= blobcode.transcode_n(8, BASE64URLNOPAD, BASE64URLNOPAD,
"Zm9v" + req.http.foo);
}
} -start
client c1 {
txreq -url "/"
rxresp
expect resp.http.id2id == "Hello"
expect resp.http.id2b64 == "TWFuIGk="
expect resp.http.id2b64nopad == "TWFuIGk"
expect resp.http.id2hexuc == "4D616E2069"
expect resp.http.id2hexlc == "4d616e2069"
expect resp.http.b642id == "Man is"
expect resp.http.hex2id == "Man is"
expect resp.http.hexalldown2b64 == "//79/Pv6"
expect resp.http.hexalldown2b64url == "__79_Pv6"
expect resp.http.hexalldown2b64nopad == "__79_Ps"
expect resp.http.hexallup2b64 == "AAECAwQF"
expect resp.http.hexallup2b64url == "AAECAwQ="
expect resp.http.hexallup2b64nopad == "AAECAwQ"
expect resp.http.b64all2hexuc == "000000041041"
expect resp.http.b64all2hexlc == "000000041041"
expect resp.http.b64allurl2hexuc == "000000041041"
expect resp.http.b64allurl2hexlc == "000000041041"
expect resp.http.hexuc2hexuc == "0123456789"
expect resp.http.hexlc2hexlc == "0123456789"
expect resp.http.hexuc2hexlc == "0012345678"
expect resp.http.hexlc2hexuc == "0012345678"
expect resp.http.hexmix2hexuc == "00123456789ABCDE"
expect resp.http.hexmix2hexlc == "00123456789abc"
expect resp.http.hexparam == "0123456789"
expect resp.http.b642b64 == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghij"
expect resp.http.b64url2b64url == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefeQ=="
expect resp.http.b64urlnopad2b64urlnopad == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefgg"
expect resp.http.badhex == ""
expect resp.http.bad64 == ""
expect resp.http.bad64264 == ""
expect resp.http.badurl == ""
expect resp.http.badurl2url == ""
expect resp.http.badpad == ""
expect resp.http.badpad2pad == ""
}
client c1 -run
logexpect l1 -v v1 -d 1 -g vxid -q "VCL_Error" {
expect 0 * Begin req
expect * = VCL_Error "^vmod blobcode error: cannot decode, illegal encoding beginning with \"0x123456\"$"
#"
expect * = VCL_Error "^vmod blobcode error: cannot decode, illegal encoding beginning with \"-_-_\"$"
#"
expect * = VCL_Error "^vmod blobcode error: cannot decode, illegal encoding beginning with \"\+/\+/\"$"
#"
expect * = VCL_Error "^vmod blobcode error: cannot decode, illegal encoding beginning with \"TWFu\"$"
#"
expect * = VCL_Error "^vmod blobcode error: cannot decode, illegal encoding beginning with \"_-_-\"$"
#"
expect * = VCL_Error "^vmod blobcode error: cannot decode, illegal encoding beginning with \"/\+/\+\"$"
#"
expect * = VCL_Error "^vmod blobcode error: cannot decode, illegal encoding beginning with \"Zm9v\"$"
#"
expect * = End
} -start
logexpect l1 -wait
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment