From: Kouhei Yanagita <redmine@...>
Date: 2010-12-02T22:22:07+09:00
Subject: [ruby-dev:42672] [Ruby 1.9-Bug#4110][Open] ホスト名の先頭が数字であるとき、WEBrickのテストでErrorが出る


--mimepart_4cf79d7e21a93_5e65b24806e673
Content-Type: text/plain
Content-Transfer-Encoding: Quoted-printable
Content-Disposition: inline

Bug #4110: =E3=83=9B=E3=82=B9=E3=83=88=E5=90=8D=E3=81=AE=E5=85=88=E9=A0=AD=
=E3=81=8C=E6=95=B0=E5=AD=97=E3=81=A7=E3=81=82=E3=82=8B=E3=81=A8=E3=81=8D=E3=
=80=81WEBrick=E3=81=AE=E3=83=86=E3=82=B9=E3=83=88=E3=81=A7Error=E3=81=8C=E5=
=87=BA=E3=82=8B
http://redmine.ruby-lang.org/issues/show/4110

=E8=B5=B7=E7=A5=A8=E8=80=85: Kouhei Yanagita
=E3=82=B9=E3=83=86=E3=83=BC=E3=82=BF=E3=82=B9: Open, =E5=84=AA=E5=85=88=E5=
=BA=A6: Normal
ruby -v: ruby 1.9.3dev (2010-12-02 trunk 30021) [x86_64-linux]

=E3=83=9B=E3=82=B9=E3=83=88=E5=90=8D=E3=81=AE=E5=85=88=E9=A0=AD=E3=81=8C=E6=
=95=B0=E5=AD=97=E3=81=A7=E3=81=82=E3=82=8B=E3=82=88=E3=81=86=E3=81=AA=E7=92=
=B0=E5=A2=83=E3=81=AB=E3=81=8A=E3=81=84=E3=81=A6=E3=80=81WEBrick=E3=81=AE=
=E3=83=86=E3=82=B9=E3=83=88=E3=81=A7Error=E3=81=8C=E5=87=BA=E3=81=BE=E3=81=
=99=E3=80=82

=E3=81=93=E3=82=8C=E3=81=AF=E3=80=81WEBrick::HTTPRequest#parse_uri=E3=81=AE=
=E4=B8=AD=E3=81=AB=E3=81=8A=E3=81=84=E3=81=A6URI#host=3D=E3=81=A7=E3=83=9B=
=E3=82=B9=E3=83=88=E5=90=8D=E3=82=92=E8=A8=AD=E5=AE=9A=E3=81=99=E3=82=8B=E9=
=9A=9B=E3=80=81
=E5=85=88=E9=A0=AD=E3=81=8C=E6=95=B0=E5=AD=97=E3=81=A7=E3=81=82=E3=82=8B=E3=
=82=88=E3=81=86=E3=81=AA(=E3=83=89=E3=83=83=E3=83=88=E3=82=92=E5=90=AB=E3=
=81=BE=E3=81=AA=E3=81=84)=E3=83=9B=E3=82=B9=E3=83=88=E5=90=8D=E3=81=AF=E8=
=A8=B1=E3=81=95=E3=82=8C=E3=81=AA=E3=81=84=E3=81=AE=E3=81=A7=E4=BE=8B=E5=A4=
=96=E3=81=8C=E7=99=BA=E7=94=9F=E3=81=97=E3=81=A6=E3=81=84=E3=82=8B=E3=81=9F=
=E3=82=81=E3=81=A7=E3=81=99=E3=80=82

=E3=81=B2=E3=81=A8=E3=81=BE=E3=81=9A=E3=80=81=E8=A8=AD=E5=AE=9A=E3=81=AE:=
ServerName=E3=82=92'localhost'=E3=81=AB=E3=81=97=E3=81=A6=E3=81=BF=E3=81=9F=
=E3=82=89=E3=83=86=E3=82=B9=E3=83=88=E3=81=AF=E9=80=9A=E3=82=8A=E3=81=BE=E3=
=81=97=E3=81=9F=E3=80=82


$ ~/local/ruby-trunk/bin/ruby -v test/webrick/test_filehandler.rb =

ruby 1.9.3dev (2010-12-02 trunk 30021) [x86_64-linux]
test/webrick/test_filehandler.rb:187: warning: assigned but unused variab=
le - this_file
test/webrick/test_filehandler.rb:202: warning: assigned but unused variab=
le - this_file
/home/yanagi/local/ruby-trunk/lib/ruby/1.9.1/minitest/unit.rb:623: warnin=
g: assigned but unused variable - ac
/home/yanagi/local/ruby-trunk/lib/ruby/1.9.1/minitest/unit.rb:624: warnin=
g: assigned but unused variable - tc
/home/yanagi/local/ruby-trunk/lib/ruby/1.9.1/optparse.rb:232: warning: as=
signed but unused variable - canon
/home/yanagi/local/ruby-trunk/lib/ruby/1.9.1/optparse.rb:232: warning: as=
signed but unused variable - sw
/home/yanagi/local/ruby-trunk/lib/ruby/1.9.1/optparse.rb:232: warning: as=
signed but unused variable - cn
/home/yanagi/local/ruby-trunk/lib/ruby/1.9.1/optparse.rb:446: warning: sh=
adowing outer local variable - s
/home/yanagi/local/ruby-trunk/lib/ruby/1.9.1/optparse.rb:13536: warning: =
assigned but unused variable - s
/home/yanagi/local/ruby-trunk/lib/ruby/1.9.1/optparse.rb:447: warning: sh=
adowing outer local variable - s
/home/yanagi/local/ruby-trunk/lib/ruby/1.9.1/optparse.rb:13536: warning: =
assigned but unused variable - s
Run options: =


# Running tests:

..E....

Finished tests in 0.657798s, 10.6416 tests/s, 83.6123 assertions/s.

  1) Error:
test_make_partial_content(WEBrick::TestFileHandler):
WEBrick::HTTPStatus::BadRequest: bad URI `/'.
    test/webrick/test_filehandler.rb:35:in `make_range_response'
    test/webrick/test_filehandler.rb:47:in `test_make_partial_content'

7 tests, 55 assertions, 0 failures, 1 errors, 0 skips


$ ~/local/ruby-trunk/bin/ruby -v test/webrick/test_httprequest.rb =

ruby 1.9.3dev (2010-12-02 trunk 30021) [x86_64-linux]
test/webrick/test_httprequest.rb:321: warning: ambiguous first argument; =
put parentheses or even spaces
/home/yanagi/local/ruby-trunk/lib/ruby/1.9.1/minitest/unit.rb:623: warnin=
g: assigned but unused variable - ac
/home/yanagi/local/ruby-trunk/lib/ruby/1.9.1/minitest/unit.rb:624: warnin=
g: assigned but unused variable - tc
/home/yanagi/local/ruby-trunk/lib/ruby/1.9.1/optparse.rb:232: warning: as=
signed but unused variable - canon
/home/yanagi/local/ruby-trunk/lib/ruby/1.9.1/optparse.rb:232: warning: as=
signed but unused variable - sw
/home/yanagi/local/ruby-trunk/lib/ruby/1.9.1/optparse.rb:232: warning: as=
signed but unused variable - cn
/home/yanagi/local/ruby-trunk/lib/ruby/1.9.1/optparse.rb:446: warning: sh=
adowing outer local variable - s
/home/yanagi/local/ruby-trunk/lib/ruby/1.9.1/optparse.rb:14640: warning: =
assigned but unused variable - s
/home/yanagi/local/ruby-trunk/lib/ruby/1.9.1/optparse.rb:447: warning: sh=
adowing outer local variable - s
/home/yanagi/local/ruby-trunk/lib/ruby/1.9.1/optparse.rb:14640: warning: =
assigned but unused variable - s
Run options: =


# Running tests:

..EE.EEE.E....

Finished tests in 0.015776s, 887.4239 tests/s, 3866.6329 assertions/s.

  1) Error:
test_continue_not_sent(TestWEBrickHTTPRequest):
WEBrick::HTTPStatus::BadRequest: bad URI `/path'.
    test/webrick/test_httprequest.rb:332:in `test_continue_not_sent'

  2) Error:
test_continue_sent(TestWEBrickHTTPRequest):
WEBrick::HTTPStatus::BadRequest: bad URI `/path'.
    test/webrick/test_httprequest.rb:316:in `test_continue_sent'

  3) Error:
test_parse_09(TestWEBrickHTTPRequest):
WEBrick::HTTPStatus::BadRequest: bad URI `/'.
    test/webrick/test_httprequest.rb:12:in `test_parse_09'

  4) Error:
test_parse_10(TestWEBrickHTTPRequest):
WEBrick::HTTPStatus::BadRequest: bad URI `/'.
    test/webrick/test_httprequest.rb:29:in `test_parse_10'

  5) Error:
test_parse_11(TestWEBrickHTTPRequest):
WEBrick::HTTPStatus::BadRequest: bad URI `/path'.
    test/webrick/test_httprequest.rb:46:in `test_parse_11'

  6) Error:
test_parse_header2(TestWEBrickHTTPRequest):
WEBrick::HTTPStatus::BadRequest: bad URI `/foo/bar/../baz?q=3Da'.
    test/webrick/test_httprequest.rb:117:in `test_parse_header2'

14 tests, 61 assertions, 0 failures, 6 errors, 0 skips


----------------------------------------
http://redmine.ruby-lang.org

--mimepart_4cf79d7e21a93_5e65b24806e673
Content-Type: application/octet-stream; name=fix_webrick_test.diff
Content-Transfer-Encoding: Base64
Content-Disposition: attachment; filename=fix_webrick_test.diff

SW5kZXg6IHRlc3Qvd2Vicmljay90ZXN0X2h0dHByZXF1ZXN0LnJiCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIHRlc3Qvd2Vicmljay90ZXN0X2h0dHBy
ZXF1ZXN0LnJiCShyZXZpc2lvbiAzMDA0OSkKKysrIHRlc3Qvd2Vicmljay90
ZXN0X2h0dHByZXF1ZXN0LnJiCSh3b3JraW5nIGNvcHkpCkBAIC0zLDE3ICsz
LDE5IEBACiByZXF1aXJlICJ0ZXN0L3VuaXQiCiAKIGNsYXNzIFRlc3RXRUJy
aWNrSFRUUFJlcXVlc3QgPCBUZXN0OjpVbml0OjpUZXN0Q2FzZQorICBIVFRQ
X0NPTkZJRyA9IFdFQnJpY2s6OkNvbmZpZzo6SFRUUC5tZXJnZSg6U2VydmVy
TmFtZSA9PiAnbG9jYWxob3N0JykKKwogICBkZWYgdGVzdF9wYXJzZV8wOQog
ICAgIG1zZyA9IDw8LV9lbmRfb2ZfbWVzc2FnZV8KICAgICAgIEdFVCAvCiAg
ICAgICBmb29iYXIgICAgIyBIVFRQLzAuOSByZXF1ZXN0IGRvbid0IGhhdmUg
aGVhZGVyIG5vciBlbnRpdHkgYm9keS4KICAgICBfZW5kX29mX21lc3NhZ2Vf
Ci0gICAgcmVxID0gV0VCcmljazo6SFRUUFJlcXVlc3QubmV3KFdFQnJpY2s6
OkNvbmZpZzo6SFRUUCkKKyAgICByZXEgPSBXRUJyaWNrOjpIVFRQUmVxdWVz
dC5uZXcoSFRUUF9DT05GSUcpCiAgICAgcmVxLnBhcnNlKFN0cmluZ0lPLm5l
dyhtc2cuZ3N1YigvXiB7Nn0vLCAiIikpKQogICAgIGFzc2VydF9lcXVhbCgi
R0VUIiwgcmVxLnJlcXVlc3RfbWV0aG9kKQogICAgIGFzc2VydF9lcXVhbCgi
LyIsIHJlcS51bnBhcnNlZF91cmkpCiAgICAgYXNzZXJ0X2VxdWFsKFdFQnJp
Y2s6OkhUVFBWZXJzaW9uLm5ldygiMC45IiksIHJlcS5odHRwX3ZlcnNpb24p
Ci0gICAgYXNzZXJ0X2VxdWFsKFdFQnJpY2s6OkNvbmZpZzo6SFRUUFs6U2Vy
dmVyTmFtZV0sIHJlcS5ob3N0KQorICAgIGFzc2VydF9lcXVhbChIVFRQX0NP
TkZJR1s6U2VydmVyTmFtZV0sIHJlcS5ob3N0KQogICAgIGFzc2VydF9lcXVh
bCg4MCwgcmVxLnBvcnQpCiAgICAgYXNzZXJ0X2VxdWFsKGZhbHNlLCByZXEu
a2VlcF9hbGl2ZT8pCiAgICAgYXNzZXJ0X2VxdWFsKG5pbCwgcmVxLmJvZHkp
CkBAIC0yNSwxMiArMjcsMTIgQEAKICAgICAgIEdFVCAvIEhUVFAvMS4wCiAK
ICAgICBfZW5kX29mX21lc3NhZ2VfCi0gICAgcmVxID0gV0VCcmljazo6SFRU
UFJlcXVlc3QubmV3KFdFQnJpY2s6OkNvbmZpZzo6SFRUUCkKKyAgICByZXEg
PSBXRUJyaWNrOjpIVFRQUmVxdWVzdC5uZXcoSFRUUF9DT05GSUcpCiAgICAg
cmVxLnBhcnNlKFN0cmluZ0lPLm5ldyhtc2cuZ3N1YigvXiB7Nn0vLCAiIikp
KQogICAgIGFzc2VydF9lcXVhbCgiR0VUIiwgcmVxLnJlcXVlc3RfbWV0aG9k
KQogICAgIGFzc2VydF9lcXVhbCgiLyIsIHJlcS51bnBhcnNlZF91cmkpCiAg
ICAgYXNzZXJ0X2VxdWFsKFdFQnJpY2s6OkhUVFBWZXJzaW9uLm5ldygiMS4w
IiksIHJlcS5odHRwX3ZlcnNpb24pCi0gICAgYXNzZXJ0X2VxdWFsKFdFQnJp
Y2s6OkNvbmZpZzo6SFRUUFs6U2VydmVyTmFtZV0sIHJlcS5ob3N0KQorICAg
IGFzc2VydF9lcXVhbChIVFRQX0NPTkZJR1s6U2VydmVyTmFtZV0sIHJlcS5o
b3N0KQogICAgIGFzc2VydF9lcXVhbCg4MCwgcmVxLnBvcnQpCiAgICAgYXNz
ZXJ0X2VxdWFsKGZhbHNlLCByZXEua2VlcF9hbGl2ZT8pCiAgICAgYXNzZXJ0
X2VxdWFsKG5pbCwgcmVxLmJvZHkpCkBAIC00MiwxNCArNDQsMTQgQEAKICAg
ICAgIEdFVCAvcGF0aCBIVFRQLzEuMQogCiAgICAgX2VuZF9vZl9tZXNzYWdl
XwotICAgIHJlcSA9IFdFQnJpY2s6OkhUVFBSZXF1ZXN0Lm5ldyhXRUJyaWNr
OjpDb25maWc6OkhUVFApCisgICAgcmVxID0gV0VCcmljazo6SFRUUFJlcXVl
c3QubmV3KEhUVFBfQ09ORklHKQogICAgIHJlcS5wYXJzZShTdHJpbmdJTy5u
ZXcobXNnLmdzdWIoL14gezZ9LywgIiIpKSkKICAgICBhc3NlcnRfZXF1YWwo
IkdFVCIsIHJlcS5yZXF1ZXN0X21ldGhvZCkKICAgICBhc3NlcnRfZXF1YWwo
Ii9wYXRoIiwgcmVxLnVucGFyc2VkX3VyaSkKICAgICBhc3NlcnRfZXF1YWwo
IiIsIHJlcS5zY3JpcHRfbmFtZSkKICAgICBhc3NlcnRfZXF1YWwoIi9wYXRo
IiwgcmVxLnBhdGhfaW5mbykKICAgICBhc3NlcnRfZXF1YWwoV0VCcmljazo6
SFRUUFZlcnNpb24ubmV3KCIxLjEiKSwgcmVxLmh0dHBfdmVyc2lvbikKLSAg
ICBhc3NlcnRfZXF1YWwoV0VCcmljazo6Q29uZmlnOjpIVFRQWzpTZXJ2ZXJO
YW1lXSwgcmVxLmhvc3QpCisgICAgYXNzZXJ0X2VxdWFsKEhUVFBfQ09ORklH
WzpTZXJ2ZXJOYW1lXSwgcmVxLmhvc3QpCiAgICAgYXNzZXJ0X2VxdWFsKDgw
LCByZXEucG9ydCkKICAgICBhc3NlcnRfZXF1YWwodHJ1ZSwgcmVxLmtlZXBf
YWxpdmU/KQogICAgIGFzc2VydF9lcXVhbChuaWwsIHJlcS5ib2R5KQpAQCAt
NjAsNyArNjIsNyBAQAogICAgIG1zZyA9IDw8LV9lbmRfb2ZfbWVzc2FnZV8K
ICAgICAgIEdFVCAvI3siYSIqMjA4NH0gSFRUUC8xLjEKICAgICBfZW5kX29m
X21lc3NhZ2VfCi0gICAgcmVxID0gV0VCcmljazo6SFRUUFJlcXVlc3QubmV3
KFdFQnJpY2s6OkNvbmZpZzo6SFRUUCkKKyAgICByZXEgPSBXRUJyaWNrOjpI
VFRQUmVxdWVzdC5uZXcoSFRUUF9DT05GSUcpCiAgICAgYXNzZXJ0X3JhaXNl
KFdFQnJpY2s6OkhUVFBTdGF0dXM6OlJlcXVlc3RVUklUb29MYXJnZSl7CiAg
ICAgICByZXEucGFyc2UoU3RyaW5nSU8ubmV3KG1zZy5nc3ViKC9eIHs2fS8s
ICIiKSkpCiAgICAgfQpAQCAtODMsNyArODUsNyBAQAogCiAgICAgICBmb29i
YXIKICAgICBfZW5kX29mX21lc3NhZ2VfCi0gICAgcmVxID0gV0VCcmljazo6
SFRUUFJlcXVlc3QubmV3KFdFQnJpY2s6OkNvbmZpZzo6SFRUUCkKKyAgICBy
ZXEgPSBXRUJyaWNrOjpIVFRQUmVxdWVzdC5uZXcoSFRUUF9DT05GSUcpCiAg
ICAgcmVxLnBhcnNlKFN0cmluZ0lPLm5ldyhtc2cuZ3N1YigvXiB7Nn0vLCAi
IikpKQogICAgIGFzc2VydF9lcXVhbCgKICAgICAgIFVSSS5wYXJzZSgiaHR0
cDovL3Rlc3QucnVieS1sYW5nLm9yZzo4MDgwL3BhdGgiKSwgcmVxLnJlcXVl
c3RfdXJpKQpAQCAtMTEzLDcgKzExNSw3IEBACiAKICAgICAgIGhvZ2Vob2dl
CiAgICAgX2VuZF9vZl9tZXNzYWdlXwotICAgIHJlcSA9IFdFQnJpY2s6OkhU
VFBSZXF1ZXN0Lm5ldyhXRUJyaWNrOjpDb25maWc6OkhUVFApCisgICAgcmVx
ID0gV0VCcmljazo6SFRUUFJlcXVlc3QubmV3KEhUVFBfQ09ORklHKQogICAg
IHJlcS5wYXJzZShTdHJpbmdJTy5uZXcobXNnLmdzdWIoL14gezZ9LywgIiIp
KSkKICAgICBhc3NlcnRfZXF1YWwoIlBPU1QiLCByZXEucmVxdWVzdF9tZXRo
b2QpCiAgICAgYXNzZXJ0X2VxdWFsKCIvZm9vL2JheiIsIHJlcS5wYXRoKQpA
QCAtMTMwLDcgKzEzMiw3IEBACiAgICAgICBIb3N0OiB0ZXN0LnJ1YnktbGFu
Zy5vcmcKIAogICAgIF9lbmRfb2ZfbWVzc2FnZV8KLSAgICByZXEgPSBXRUJy
aWNrOjpIVFRQUmVxdWVzdC5uZXcoV0VCcmljazo6Q29uZmlnOjpIVFRQKQor
ICAgIHJlcSA9IFdFQnJpY2s6OkhUVFBSZXF1ZXN0Lm5ldyhIVFRQX0NPTkZJ
RykKICAgICByZXEucGFyc2UoU3RyaW5nSU8ubmV3KG1zZy5nc3ViKC9eIHs2
fS8sICIiKSkpCiAgICAgYXNzZXJ0X2VxdWFsKFVSSS5wYXJzZSgiaHR0cDov
L3Rlc3QucnVieS1sYW5nLm9yZy9wYXRoIiksIHJlcS5yZXF1ZXN0X3VyaSkK
ICAgICBhc3NlcnRfZXF1YWwoInRlc3QucnVieS1sYW5nLm9yZyIsIHJlcS5o
b3N0KQpAQCAtMTQxLDcgKzE0Myw3IEBACiAgICAgICBIb3N0OiAxOTIuMTY4
LjEuMQogCiAgICAgX2VuZF9vZl9tZXNzYWdlXwotICAgIHJlcSA9IFdFQnJp
Y2s6OkhUVFBSZXF1ZXN0Lm5ldyhXRUJyaWNrOjpDb25maWc6OkhUVFApCisg
ICAgcmVxID0gV0VCcmljazo6SFRUUFJlcXVlc3QubmV3KEhUVFBfQ09ORklH
KQogICAgIHJlcS5wYXJzZShTdHJpbmdJTy5uZXcobXNnLmdzdWIoL14gezZ9
LywgIiIpKSkKICAgICBhc3NlcnRfZXF1YWwoVVJJLnBhcnNlKCJodHRwOi8v
MTkyLjE2OC4xLjEvcGF0aCIpLCByZXEucmVxdWVzdF91cmkpCiAgICAgYXNz
ZXJ0X2VxdWFsKCIxOTIuMTY4LjEuMSIsIHJlcS5ob3N0KQpAQCAtMTUyLDcg
KzE1NCw3IEBACiAgICAgICBIb3N0OiBbZmU4MDo6MjA4OmRmZjpmZWVmOjk4
YzddCiAKICAgICBfZW5kX29mX21lc3NhZ2VfCi0gICAgcmVxID0gV0VCcmlj
azo6SFRUUFJlcXVlc3QubmV3KFdFQnJpY2s6OkNvbmZpZzo6SFRUUCkKKyAg
ICByZXEgPSBXRUJyaWNrOjpIVFRQUmVxdWVzdC5uZXcoSFRUUF9DT05GSUcp
CiAgICAgcmVxLnBhcnNlKFN0cmluZ0lPLm5ldyhtc2cuZ3N1YigvXiB7Nn0v
LCAiIikpKQogICAgIGFzc2VydF9lcXVhbChVUkkucGFyc2UoImh0dHA6Ly9b
ZmU4MDo6MjA4OmRmZjpmZWVmOjk4YzddL3BhdGgiKSwKICAgICAgICAgICAg
ICAgICAgcmVxLnJlcXVlc3RfdXJpKQpAQCAtMTY0LDcgKzE2Niw3IEBACiAg
ICAgICBIb3N0OiAxOTIuMTY4LjEuMTo4MDgwCiAKICAgICBfZW5kX29mX21l
c3NhZ2VfCi0gICAgcmVxID0gV0VCcmljazo6SFRUUFJlcXVlc3QubmV3KFdF
QnJpY2s6OkNvbmZpZzo6SFRUUCkKKyAgICByZXEgPSBXRUJyaWNrOjpIVFRQ
UmVxdWVzdC5uZXcoSFRUUF9DT05GSUcpCiAgICAgcmVxLnBhcnNlKFN0cmlu
Z0lPLm5ldyhtc2cuZ3N1YigvXiB7Nn0vLCAiIikpKQogICAgIGFzc2VydF9l
cXVhbChVUkkucGFyc2UoImh0dHA6Ly8xOTIuMTY4LjEuMTo4MDgwL3BhdGgi
KSwgcmVxLnJlcXVlc3RfdXJpKQogICAgIGFzc2VydF9lcXVhbCgiMTkyLjE2
OC4xLjEiLCByZXEuaG9zdCkKQEAgLTE3NSw3ICsxNzcsNyBAQAogICAgICAg
SG9zdDogW2ZlODA6OjIwODpkZmY6ZmVlZjo5OGM3XTo4MDgwCiAKICAgICBf
ZW5kX29mX21lc3NhZ2VfCi0gICAgcmVxID0gV0VCcmljazo6SFRUUFJlcXVl
c3QubmV3KFdFQnJpY2s6OkNvbmZpZzo6SFRUUCkKKyAgICByZXEgPSBXRUJy
aWNrOjpIVFRQUmVxdWVzdC5uZXcoSFRUUF9DT05GSUcpCiAgICAgcmVxLnBh
cnNlKFN0cmluZ0lPLm5ldyhtc2cuZ3N1YigvXiB7Nn0vLCAiIikpKQogICAg
IGFzc2VydF9lcXVhbChVUkkucGFyc2UoImh0dHA6Ly9bZmU4MDo6MjA4OmRm
ZjpmZWVmOjk4YzddOjgwODAvcGF0aCIpLAogICAgICAgICAgICAgICAgICBy
ZXEucmVxdWVzdF91cmkpCkBAIC0xOTAsNyArMTkyLDcgQEAKICAgICAgIEhv
c3Q6IHRlc3QucnVieS1sYW5nLm9yZzo4MDgwCiAKICAgICBfZW5kX29mX21l
c3NhZ2VfCi0gICAgcmVxID0gV0VCcmljazo6SFRUUFJlcXVlc3QubmV3KFdF
QnJpY2s6OkNvbmZpZzo6SFRUUCkKKyAgICByZXEgPSBXRUJyaWNrOjpIVFRQ
UmVxdWVzdC5uZXcoSFRUUF9DT05GSUcpCiAgICAgcmVxLnBhcnNlKFN0cmlu
Z0lPLm5ldyhtc2cuZ3N1YigvXiB7Nn0vLCAiIikpKQogICAgIHF1ZXJ5ID0g
cmVxLnF1ZXJ5CiAgICAgYXNzZXJ0X2VxdWFsKCIxIiwgcXVlcnlbImZvbyJd
KQpAQCAtMjEwLDcgKzIxMiw3IEBACiAKICAgICAgICN7cGFyYW19CiAgICAg
X2VuZF9vZl9tZXNzYWdlXwotICAgIHJlcSA9IFdFQnJpY2s6OkhUVFBSZXF1
ZXN0Lm5ldyhXRUJyaWNrOjpDb25maWc6OkhUVFApCisgICAgcmVxID0gV0VC
cmljazo6SFRUUFJlcXVlc3QubmV3KEhUVFBfQ09ORklHKQogICAgIHJlcS5w
YXJzZShTdHJpbmdJTy5uZXcobXNnLmdzdWIoL14gezZ9LywgIiIpKSkKICAg
ICBxdWVyeSA9IHJlcS5xdWVyeQogICAgIGFzc2VydF9lcXVhbCgiMSIsIHF1
ZXJ5WyJmb28iXSkKQEAgLTIzNiw3ICsyMzgsNyBAQAogICAgICAgZW5kCiAg
ICAgfQogICAgIG1zZyA8PCAiMCIgPDwgY3JsZgotICAgIHJlcSA9IFdFQnJp
Y2s6OkhUVFBSZXF1ZXN0Lm5ldyhXRUJyaWNrOjpDb25maWc6OkhUVFApCisg
ICAgcmVxID0gV0VCcmljazo6SFRUUFJlcXVlc3QubmV3KEhUVFBfQ09ORklH
KQogICAgIHJlcS5wYXJzZShTdHJpbmdJTy5uZXcobXNnKSkKICAgICBhc3Nl
cnRfZXF1YWwoRmlsZS5yZWFkKF9fRklMRV9fKSwgcmVxLmJvZHkpCiAgIGVu
ZApAQCAtMjUzLDcgKzI1NSw3IEBACiAKICAgICBfZW5kX29mX21lc3NhZ2Vf
CiAgICAgbXNnLmdzdWIhKC9eIHs2fS8sICIiKQotICAgIHJlcSA9IFdFQnJp
Y2s6OkhUVFBSZXF1ZXN0Lm5ldyhXRUJyaWNrOjpDb25maWc6OkhUVFApCisg
ICAgcmVxID0gV0VCcmljazo6SFRUUFJlcXVlc3QubmV3KEhUVFBfQ09ORklH
KQogICAgIHJlcS5wYXJzZShTdHJpbmdJTy5uZXcobXNnKSkKICAgICBhc3Nl
cnRfZXF1YWwoInNlcnZlci5leGFtcGxlLmNvbSIsIHJlcS5zZXJ2ZXJfbmFt
ZSkKICAgICBhc3NlcnRfZXF1YWwoImh0dHA6Ly9mb3J3YXJkLmV4YW1wbGUu
Y29tL2ZvbyIsIHJlcS5yZXF1ZXN0X3VyaS50b19zKQpAQCAtMjczLDcgKzI3
NSw3IEBACiAKICAgICBfZW5kX29mX21lc3NhZ2VfCiAgICAgbXNnLmdzdWIh
KC9eIHs2fS8sICIiKQotICAgIHJlcSA9IFdFQnJpY2s6OkhUVFBSZXF1ZXN0
Lm5ldyhXRUJyaWNrOjpDb25maWc6OkhUVFApCisgICAgcmVxID0gV0VCcmlj
azo6SFRUUFJlcXVlc3QubmV3KEhUVFBfQ09ORklHKQogICAgIHJlcS5wYXJz
ZShTdHJpbmdJTy5uZXcobXNnKSkKICAgICBhc3NlcnRfZXF1YWwoInNlcnZl
ci5leGFtcGxlLmNvbSIsIHJlcS5zZXJ2ZXJfbmFtZSkKICAgICBhc3NlcnRf
ZXF1YWwoImh0dHA6Ly9mb3J3YXJkLmV4YW1wbGUuY29tOjgwODAvZm9vIiwg
cmVxLnJlcXVlc3RfdXJpLnRvX3MpCkBAIC0yOTUsNyArMjk3LDcgQEAKIAog
ICAgIF9lbmRfb2ZfbWVzc2FnZV8KICAgICBtc2cuZ3N1YiEoL14gezZ9Lywg
IiIpCi0gICAgcmVxID0gV0VCcmljazo6SFRUUFJlcXVlc3QubmV3KFdFQnJp
Y2s6OkNvbmZpZzo6SFRUUCkKKyAgICByZXEgPSBXRUJyaWNrOjpIVFRQUmVx
dWVzdC5uZXcoSFRUUF9DT05GSUcpCiAgICAgcmVxLnBhcnNlKFN0cmluZ0lP
Lm5ldyhtc2cpKQogICAgIGFzc2VydF9lcXVhbCgic2VydmVyLmV4YW1wbGUu
Y29tIiwgcmVxLnNlcnZlcl9uYW1lKQogICAgIGFzc2VydF9lcXVhbCgiaHR0
cHM6Ly9mb3J3YXJkLmV4YW1wbGUuY29tL2ZvbyIsIHJlcS5yZXF1ZXN0X3Vy
aS50b19zKQpAQCAtMzEyLDcgKzMxNCw3IEBACiAgICAgICAKICAgICBfZW5k
X29mX21lc3NhZ2VfCiAgICAgbXNnLmdzdWIhKC9eIHs2fS8sICIiKQotICAg
IHJlcSA9IFdFQnJpY2s6OkhUVFBSZXF1ZXN0Lm5ldyhXRUJyaWNrOjpDb25m
aWc6OkhUVFApCisgICAgcmVxID0gV0VCcmljazo6SFRUUFJlcXVlc3QubmV3
KEhUVFBfQ09ORklHKQogICAgIHJlcS5wYXJzZShTdHJpbmdJTy5uZXcobXNn
KSkKICAgICBhc3NlcnQgcmVxWydleHBlY3QnXQogICAgIGwgPSBtc2cuc2l6
ZQpAQCAtMzI4LDcgKzMzMCw3IEBACiAgICAgICAKICAgICBfZW5kX29mX21l
c3NhZ2VfCiAgICAgbXNnLmdzdWIhKC9eIHs2fS8sICIiKQotICAgIHJlcSA9
IFdFQnJpY2s6OkhUVFBSZXF1ZXN0Lm5ldyhXRUJyaWNrOjpDb25maWc6OkhU
VFApCisgICAgcmVxID0gV0VCcmljazo6SFRUUFJlcXVlc3QubmV3KEhUVFBf
Q09ORklHKQogICAgIHJlcS5wYXJzZShTdHJpbmdJTy5uZXcobXNnKSkKICAg
ICBhc3NlcnQgIXJlcVsnZXhwZWN0J10KICAgICBsID0gbXNnLnNpemUKQEAg
LTM0Niw3ICszNDgsNyBAQAogICAgICAgI3twYXJhbX0KICAgICBfZW5kX29m
X21lc3NhZ2VfCiAgICAgYXNzZXJ0X3JhaXNlKFdFQnJpY2s6OkhUVFBTdGF0
dXM6Okxlbmd0aFJlcXVpcmVkKXsKLSAgICAgIHJlcSA9IFdFQnJpY2s6OkhU
VFBSZXF1ZXN0Lm5ldyhXRUJyaWNrOjpDb25maWc6OkhUVFApCisgICAgICBy
ZXEgPSBXRUJyaWNrOjpIVFRQUmVxdWVzdC5uZXcoSFRUUF9DT05GSUcpCiAg
ICAgICByZXEucGFyc2UoU3RyaW5nSU8ubmV3KG1zZy5nc3ViKC9eIHs2fS8s
ICIiKSkpCiAgICAgICByZXEuYm9keQogICAgIH0KQEAgLTM1OSw3ICszNjEs
NyBAQAogICAgICAgYm9keSBpcyB0b28gc2hvcnQuCiAgICAgX2VuZF9vZl9t
ZXNzYWdlXwogICAgIGFzc2VydF9yYWlzZShXRUJyaWNrOjpIVFRQU3RhdHVz
OjpCYWRSZXF1ZXN0KXsKLSAgICAgIHJlcSA9IFdFQnJpY2s6OkhUVFBSZXF1
ZXN0Lm5ldyhXRUJyaWNrOjpDb25maWc6OkhUVFApCisgICAgICByZXEgPSBX
RUJyaWNrOjpIVFRQUmVxdWVzdC5uZXcoSFRUUF9DT05GSUcpCiAgICAgICBy
ZXEucGFyc2UoU3RyaW5nSU8ubmV3KG1zZy5nc3ViKC9eIHs2fS8sICIiKSkp
CiAgICAgICByZXEuYm9keQogICAgIH0KQEAgLTM3Miw3ICszNzQsNyBAQAog
ICAgICAgYm9keSBpcyB0b28gc2hvcnQuCiAgICAgX2VuZF9vZl9tZXNzYWdl
XwogICAgIGFzc2VydF9yYWlzZShXRUJyaWNrOjpIVFRQU3RhdHVzOjpOb3RJ
bXBsZW1lbnRlZCl7Ci0gICAgICByZXEgPSBXRUJyaWNrOjpIVFRQUmVxdWVz
dC5uZXcoV0VCcmljazo6Q29uZmlnOjpIVFRQKQorICAgICAgcmVxID0gV0VC
cmljazo6SFRUUFJlcXVlc3QubmV3KEhUVFBfQ09ORklHKQogICAgICAgcmVx
LnBhcnNlKFN0cmluZ0lPLm5ldyhtc2cuZ3N1YigvXiB7Nn0vLCAiIikpKQog
ICAgICAgcmVxLmJvZHkKICAgICB9CkluZGV4OiB0ZXN0L3dlYnJpY2svdGVz
dF9maWxlaGFuZGxlci5yYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB0
ZXN0L3dlYnJpY2svdGVzdF9maWxlaGFuZGxlci5yYgkocmV2aXNpb24gMzAw
NDkpCisrKyB0ZXN0L3dlYnJpY2svdGVzdF9maWxlaGFuZGxlci5yYgkod29y
a2luZyBjb3B5KQpAQCAtNCw5ICs0LDExIEBACiByZXF1aXJlICJzdHJpbmdp
byIKIAogY2xhc3MgV0VCcmljazo6VGVzdEZpbGVIYW5kbGVyIDwgVGVzdDo6
VW5pdDo6VGVzdENhc2UKKyAgSFRUUF9DT05GSUcgPSBXRUJyaWNrOjpDb25m
aWc6OkhUVFAubWVyZ2UoOlNlcnZlck5hbWUgPT4gJ2xvY2FsaG9zdCcpCisK
ICAgZGVmIGRlZmF1bHRfZmlsZV9oYW5kbGVyKGZpbGVuYW1lKQogICAgIGts
YXNzID0gV0VCcmljazo6SFRUUFNlcnZsZXQ6OkRlZmF1bHRGaWxlSGFuZGxl
cgotICAgIGtsYXNzLm5ldyhXRUJyaWNrOjpDb25maWc6OkhUVFAsIGZpbGVu
YW1lKQorICAgIGtsYXNzLm5ldyhIVFRQX0NPTkZJRywgZmlsZW5hbWUpCiAg
IGVuZAogCiAgIGRlZiB3aW5kb3dzPwpAQCAtMzEsOSArMzMsOSBAQAogICBl
bmQKIAogICBkZWYgbWFrZV9yYW5nZV9yZXNwb25zZShmaWxlLCByYW5nZV9z
cGVjKQotICAgIHJlcSA9IFdFQnJpY2s6OkhUVFBSZXF1ZXN0Lm5ldyhXRUJy
aWNrOjpDb25maWc6OkhUVFApCisgICAgcmVxID0gV0VCcmljazo6SFRUUFJl
cXVlc3QubmV3KEhUVFBfQ09ORklHKQogICAgIHJlcS5wYXJzZShtYWtlX3Jh
bmdlX3JlcXVlc3QocmFuZ2Vfc3BlYykpCi0gICAgcmVzID0gV0VCcmljazo6
SFRUUFJlc3BvbnNlLm5ldyhXRUJyaWNrOjpDb25maWc6OkhUVFApCisgICAg
cmVzID0gV0VCcmljazo6SFRUUFJlc3BvbnNlLm5ldyhIVFRQX0NPTkZJRykK
ICAgICBzaXplID0gRmlsZS5zaXplKGZpbGUpCiAgICAgaGFuZGxlciA9IGRl
ZmF1bHRfZmlsZV9oYW5kbGVyKGZpbGUpCiAgICAgaGFuZGxlci5tYWtlX3Bh
cnRpYWxfY29udGVudChyZXEsIHJlcywgZmlsZSwgc2l6ZSkK

--mimepart_4cf79d7e21a93_5e65b24806e673--