Return-Path: Delivered-To: apmail-tomcat-dev-archive@www.apache.org Received: (qmail 33509 invoked from network); 26 Nov 2007 16:55:56 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 26 Nov 2007 16:55:56 -0000 Received: (qmail 76680 invoked by uid 500); 26 Nov 2007 16:55:40 -0000 Delivered-To: apmail-tomcat-dev-archive@tomcat.apache.org Received: (qmail 76640 invoked by uid 500); 26 Nov 2007 16:55:40 -0000 Mailing-List: contact dev-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Developers List" Delivered-To: mailing list dev@tomcat.apache.org Received: (qmail 76629 invoked by uid 99); 26 Nov 2007 16:55:40 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 26 Nov 2007 08:55:40 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of mashmk02@gmail.com designates 209.85.134.185 as permitted sender) Received: from [209.85.134.185] (HELO mu-out-0910.google.com) (209.85.134.185) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 26 Nov 2007 16:55:19 +0000 Received: by mu-out-0910.google.com with SMTP id g7so864153muf for ; Mon, 26 Nov 2007 08:55:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type; bh=nXvgxYItzuaU8NVc7eONee89DTKSMdoBOIJ241sbJQE=; b=O5wTz3oHK0BUOHQwmJbcSGP+eF4hW/+JtuLf+5JJ+CusYlP27llo2katgVzo48QREy0fjZ39hAghmpjPLNli6Y+lHpK19SaVfwhjA5nlMlK236B8G3Jeu1rQRrYPJeL8EONgykBf0VyzafTDRGk11hlgiiawyspgtrnv3wNJkPA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=received:message-id:date:from:to:subject:mime-version:content-type; b=o65dSl1TXOHs/+KGVrQPY4GUNBBAXWVD4ESG1Qrco9Zv3+Do9nqJZYYxQDZTBLsQppKJeau67vKVbsqs8g1MRQ8sbl2S/57wIhwiCAKPHUMFQa6+xEmvN/BgPJ5Mhz80dnzJuK1XLbSYG2oZ+XDDwAMTrlxlfECBMgJycfkurJc= Received: by 10.82.156.12 with SMTP id d12mr7800337bue.1196096119386; Mon, 26 Nov 2007 08:55:19 -0800 (PST) Received: by 10.82.188.13 with HTTP; Mon, 26 Nov 2007 08:55:19 -0800 (PST) Message-ID: <3387653a0711260855j139c882fi2f3050cee1158eaf@mail.gmail.com> Date: Tue, 27 Nov 2007 01:55:19 +0900 From: "Eiji Takahashi" To: dev@tomcat.apache.org Subject: [patch] support IPv6 with mod_jk MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_39903_9359228.1196096119362" X-Virus-Checked: Checked by ClamAV on apache.org ------=_Part_39903_9359228.1196096119362 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Dear developers. I made the mod_jk patch to support ipv6 between mod_jk and Tomcat. The detection of getaddrinfo() and implementation of jk_resolve() referred to APR. This patch was tested in the following environments (Do not compile in other OS's). 1.RHEL4/5 with Apache 2.x Link-Local address cannot be used. 2.Windows XP Pro with IIS 5.1 isapi_redirector.dll was constructed by VS 2005 Express + PSDK. when constructing the isapi_redirector.dll, '/D "HAVE_IPV6"' and '/D "HAVE_GETADDRINFO"' were specified. My best regards. ------=_Part_39903_9359228.1196096119362 Content-Type: text/plain; name=patch.txt Content-Transfer-Encoding: base64 X-Attachment-Id: f_f9h8qmfn Content-Disposition: attachment; filename=patch.txt SW5kZXg6IG1vZF9qay9uYXRpdmUvaWlzL2prX2lzYXBpX3BsdWdpbi5jCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t IG1vZF9qay9uYXRpdmUvaWlzL2prX2lzYXBpX3BsdWdpbi5jCShyZXZpc2lvbiA1OTgwOTYpCisr KyBtb2RfamsvbmF0aXZlL2lpcy9qa19pc2FwaV9wbHVnaW4uYwkod29ya2luZyBjb3B5KQpAQCAt MjcsMTAgKzI3LDYgQEAKIC8vIFRoaXMgZGVmaW5lIGlzIG5lZWRlZCB0byBpbmNsdWRlIHdpbmNy eXB0LGgsIG5lZWRlZCB0byBnZXQgY2xpZW50IGNlcnRpZmljYXRlcwogI2RlZmluZSBfV0lOMzJf V0lOTlQgMHgwNDAwCiAKLSNpbmNsdWRlIDxodHRwZXh0Lmg+Ci0jaW5jbHVkZSA8aHR0cGZpbHQu aD4KLSNpbmNsdWRlIDx3aW5pbmV0Lmg+Ci0KICNpbmNsdWRlICJqa19nbG9iYWwuaCIKICNpbmNs dWRlICJqa191cmwuaCIKICNpbmNsdWRlICJqa191dGlsLmgiCkBAIC00Myw2ICszOSwxMCBAQAog I2luY2x1ZGUgImprX2FqcDEzLmgiCiAjaW5jbHVkZSAicGNyZS5oIgogCisjaW5jbHVkZSA8aHR0 cGV4dC5oPgorI2luY2x1ZGUgPGh0dHBmaWx0Lmg+CisjaW5jbHVkZSA8d2luaW5ldC5oPgorCiAj aWZuZGVmIFBPU0lYX01BTExPQ19USFJFU0hPTEQKICNkZWZpbmUgUE9TSVhfTUFMTE9DX1RIUkVT SE9MRCAoMTApCiAjZW5kaWYKSW5kZXg6IG1vZF9qay9uYXRpdmUvY29uZmlndXJlLmluCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tIG1vZF9qay9uYXRpdmUvY29uZmlndXJlLmluCShyZXZpc2lvbiA1OTgwOTYpCisr KyBtb2RfamsvbmF0aXZlL2NvbmZpZ3VyZS5pbgkod29ya2luZyBjb3B5KQpAQCAtMjYzLDYgKzI2 Myw0NCBAQAogQUNfU1VCU1QodWludDY0X3RfaGV4X2ZtdCkgCiBBQ19TVUJTVChwaWRfdF9mbXQp IAogCitkbmwgY2hlY2sgZm9yIGdldGFkZHJpbmZvLgorQUNfREVGVU4oW0pLX0NIRUNLX1dPUktJ TkdfR0VUQUREUklORk9dLFsKKyAgQUNfQ0FDSEVfQ0hFQ0soZm9yIHdvcmtpbmcgZ2V0YWRkcmlu Zm8sIGFjX2N2X3dvcmtpbmdfZ2V0YWRkcmluZm8sWworICBBQ19UUllfUlVOKCBbCisjaW5jbHVk ZSA8bmV0ZGIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4K KyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisKK2ludCBtYWluKHZvaWQpIHsKKyAgICBzdHJ1Y3Qg YWRkcmluZm8gaGludHMsICphaTsKKyAgICBpbnQgZXJyb3I7CisKKyAgICBtZW1zZXQoJmhpbnRz LCAwLCBzaXplb2YoaGludHMpKTsKKyAgICBoaW50cy5haV9mYW1pbHkgPSBBRl9VTlNQRUM7Cisg ICAgaGludHMuYWlfc29ja3R5cGUgPSBTT0NLX1NUUkVBTTsKKyAgICBlcnJvciA9IGdldGFkZHJp bmZvKCIxMjcuMC4wLjEiLCBOVUxMLCAmaGludHMsICZhaSk7CisgICAgaWYgKGVycm9yKSB7Cisg ICAgICAgIGV4aXQoMSk7CisgICAgfQorICAgIGlmIChhaS0+YWlfYWRkci0+c2FfZmFtaWx5ICE9 IEFGX0lORVQpIHsKKyAgICAgICAgZXhpdCgxKTsKKyAgICB9CisgICAgZXhpdCgwKTsKK30KK10s WworICBhY19jdl93b3JraW5nX2dldGFkZHJpbmZvPSJ5ZXMiCitdLFsKKyAgYWNfY3Zfd29ya2lu Z19nZXRhZGRyaW5mbz0ibm8iCitdLFsKKyAgYWNfY3Zfd29ya2luZ19nZXRhZGRyaW5mbz0ieWVz IgorXSldKQoraWYgdGVzdCAiJGFjX2N2X3dvcmtpbmdfZ2V0YWRkcmluZm8iID0gInllcyI7IHRo ZW4KKyAgQUNfREVGSU5FKEhBVkVfR0VUQUREUklORk8sIDEsIFtEZWZpbmUgaWYgZ2V0YWRkcmlu Zm8gZXhpc3RzIGFuZCB3b3JrcyB3ZWxsIGVub3VnaCBmb3IgQVBSXSkKK2ZpCitdKQorSktfQ0hF Q0tfV09SS0lOR19HRVRBRERSSU5GTworCiBkbmwgY2hlY2sgZm9yIHNucHJpbnRmIGFuZCB2c25w cmludGYuCiBBQ19DSEVDS19GVU5DKHNucHJpbnRmLCBBQ19ERUZJTkUoSEFWRV9TTlBSSU5URiwx LFtIYXZlIHNucHJpbnRmKCldKSkKIEFDX0NIRUNLX0ZVTkModnNucHJpbnRmLCBBQ19ERUZJTkUo SEFWRV9WU05QUklOVEYsMSxbSGF2ZSB2c25wcmludGYoKV0pKQpJbmRleDogbW9kX2prL25hdGl2 ZS9jb21tb24vamtfYWpwX2NvbW1vbi5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIG1vZF9qay9uYXRpdmUvY29t bW9uL2prX2FqcF9jb21tb24uYwkocmV2aXNpb24gNTk4MDk2KQorKysgbW9kX2prL25hdGl2ZS9j b21tb24vamtfYWpwX2NvbW1vbi5jCSh3b3JraW5nIGNvcHkpCkBAIC04NTIsNyArODUyLDcgQEAK IAogaW50IGFqcF9jb25uZWN0X3RvX2VuZHBvaW50KGFqcF9lbmRwb2ludF90ICogYWUsIGprX2xv Z2dlcl90ICpsKQogewotICAgIGNoYXIgYnVmWzMyXTsKKyAgICBjaGFyIGJ1ZltKS19EVU1QX0JV Rl07CiAgICAgaW50IHJjID0gSktfVFJVRTsKIAogICAgIEpLX1RSQUNFX0VOVEVSKGwpOwpJbmRl eDogbW9kX2prL25hdGl2ZS9jb21tb24vamtfYWpwX2NvbW1vbi5oCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIG1v ZF9qay9uYXRpdmUvY29tbW9uL2prX2FqcF9jb21tb24uaAkocmV2aXNpb24gNTk4MDk2KQorKysg bW9kX2prL25hdGl2ZS9jb21tb24vamtfYWpwX2NvbW1vbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0y MzIsNyArMjMyLDcgQEAKIAogc3RydWN0IGFqcF93b3JrZXIKIHsKLSAgICBzdHJ1Y3Qgc29ja2Fk ZHJfaW4gd29ya2VyX2luZXRfYWRkcjsgICAgLyogQ29udGFpbnMgaG9zdCBhbmQgcG9ydCAqLwor ICAgIHN0cnVjdCBqa19zb2NrYWRkcl9pbiB3b3JrZXJfaW5ldF9hZGRyOyAgICAvKiBDb250YWlu cyBob3N0IGFuZCBwb3J0ICovCiAgICAgdW5zaWduZWQgY29ubmVjdF9yZXRyeV9hdHRlbXB0czsK ICAgICBjb25zdCBjaGFyICpuYW1lOwogICAgIGNvbnN0IGNoYXIgKmhvc3Q7CkluZGV4OiBtb2Rf amsvbmF0aXZlL2NvbW1vbi9qa19jb25uZWN0LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gbW9kX2prL25hdGl2 ZS9jb21tb24vamtfY29ubmVjdC5jCShyZXZpc2lvbiA1OTgwOTYpCisrKyBtb2RfamsvbmF0aXZl L2NvbW1vbi9qa19jb25uZWN0LmMJKHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDYgQEAKICNp bmNsdWRlICJhcHJfZXJybm8uaCIKICNpbmNsdWRlICJhcHJfZ2VuZXJhbC5oIgogI2luY2x1ZGUg ImFwcl9wb29scy5oIgotc3RhdGljIGFwcl9wb29sX3QgKmprX2Fwcl9wb29sID0gTlVMTDsKICNl bmRpZgogCiAjaWZkZWYgSEFWRV9TWVNfRklMSU9fSApAQCAtMTE3LDE1ICsxMTYsMTUgQEAKIAog I2lmIGRlZmluZWQgKFdJTjMyKSB8fCAoZGVmaW5lZChORVRXQVJFKSAmJiBkZWZpbmVkKF9fTk9W RUxMX0xJQkNfXykpCiAvKiBXSU4zMiBpbXBsZW1lbnRhdGlvbiAqLwotc3RhdGljIGludCBuYl9j b25uZWN0KGprX3NvY2tfdCBzb2NrLCBzdHJ1Y3Qgc29ja2FkZHIgKmFkZHIsIGludCB0aW1lb3V0 KQorc3RhdGljIGludCBuYl9jb25uZWN0KGprX3NvY2tfdCBzb2NrLCBzdHJ1Y3Qgamtfc29ja2Fk ZHJfaW4gKmFkZHIsIGludCB0aW1lb3V0KQogewogICAgIGludCByYzsKICAgICBpZiAodGltZW91 dCA8PSAwKQotICAgICAgICByZXR1cm4gY29ubmVjdChzb2NrLCBhZGRyLCBzaXplb2Yoc3RydWN0 IHNvY2thZGRyX2luKSk7CisgICAgICAgIHJldHVybiBjb25uZWN0KHNvY2ssIChjb25zdCBzdHJ1 Y3Qgc29ja2FkZHIgKikmYWRkci0+c2Euc2luLCBhZGRyLT5zYWxlbik7CiAKICAgICBpZiAoKHJj ID0gc29ub25ibG9jayhzb2NrKSkpCiAgICAgICAgIHJldHVybiAtMTsKLSAgICBpZiAoY29ubmVj dChzb2NrLCBhZGRyLCBzaXplb2Yoc3RydWN0IHNvY2thZGRyX2luKSkgPT0gU09DS0VUX0VSUk9S KSB7CisgICAgaWYgKGNvbm5lY3Qoc29jaywgKGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqKSZhZGRy LT5zYS5zaW4sIGFkZHItPnNhbGVuKSA9PSBTT0NLRVRfRVJST1IpIHsKICAgICAgICAgc3RydWN0 IHRpbWV2YWwgdHY7CiAgICAgICAgIGZkX3NldCB3ZmRzZXQsIGVmZHNldDsKIApAQCAtMTY3LDcg KzE2Niw3IEBACiAKICNlbGlmICFkZWZpbmVkKE5FVFdBUkUpCiAvKiBQT1NJWCBpbXBsZW1lbnRh dGlvbiAqLwotc3RhdGljIGludCBuYl9jb25uZWN0KGprX3NvY2tfdCBzb2NrLCBzdHJ1Y3Qgc29j a2FkZHIgKmFkZHIsIGludCB0aW1lb3V0KQorc3RhdGljIGludCBuYl9jb25uZWN0KGprX3NvY2tf dCBzb2NrLCBzdHJ1Y3Qgamtfc29ja2FkZHJfaW4gKmFkZHIsIGludCB0aW1lb3V0KQogewogICAg IGludCByYyA9IDA7CiAKQEAgLTE3Niw3ICsxNzUsNyBAQAogICAgICAgICAgICAgcmV0dXJuIC0x OwogICAgIH0KICAgICBkbyB7Ci0gICAgICAgIHJjID0gY29ubmVjdChzb2NrLCBhZGRyLCBzaXpl b2Yoc3RydWN0IHNvY2thZGRyX2luKSk7CisgICAgICAgICByYyA9IGNvbm5lY3Qoc29jaywgKGNv bnN0IHN0cnVjdCBzb2NrYWRkciAqKSZhZGRyLT5zYS5zaW4sIGFkZHItPnNhbGVuKTsKICAgICB9 IHdoaWxlIChyYyA9PSAtMSAmJiBlcnJubyA9PSBFSU5UUik7CiAKICAgICBpZiAoKHJjID09IC0x KSAmJiAoZXJybm8gPT0gRUlOUFJPR1JFU1MgfHwgZXJybm8gPT0gRUFMUkVBRFkpCkBAIC0yMTYs OSArMjE1LDkgQEAKIH0KICNlbHNlCiAvKiBORVRXQVJFIGltcGxlbWVudGF0aW9uIC0gYmxvY2tp bmcgZm9yIG5vdyAqLwotc3RhdGljIGludCBuYl9jb25uZWN0KGprX3NvY2tfdCBzb2NrLCBzdHJ1 Y3Qgc29ja2FkZHIgKmFkZHIsIGludCB0aW1lb3V0KQorc3RhdGljIGludCBuYl9jb25uZWN0KGpr X3NvY2tfdCBzb2NrLCBzdHJ1Y3Qgamtfc29ja2FkZHJfaW4gKmFkZHIsIGludCB0aW1lb3V0KQog ewotICAgIHJldHVybiBjb25uZWN0KHNvY2ssIGFkZHIsIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJf aW4pKTsKKyAgICByZXR1cm4gY29ubmVjdChzb2NrLCAoY29uc3Qgc3RydWN0IHNvY2thZGRyICop JmFkZHItPnNhLnNpbiwgYWRkci0+c2FsZW4pOwogfQogI2VuZGlmCiAKQEAgLTI0NSwxNiArMjQ0 LDM1IEBACiAKIC8qKiByZXNvbHZlIHRoZSBob3N0IElQICovCiAKLWludCBqa19yZXNvbHZlKGNv bnN0IGNoYXIgKmhvc3QsIGludCBwb3J0LCBzdHJ1Y3Qgc29ja2FkZHJfaW4gKnJjKQoraW50IGpr X3Jlc29sdmUoY29uc3QgY2hhciAqaG9zdCwgaW50IHBvcnQsIHN0cnVjdCBqa19zb2NrYWRkcl9p biAqcmMpCiB7Ci0gICAgaW50IHg7Ci0gICAgc3RydWN0IGluX2FkZHIgbGFkZHI7CisgICAgaW50 IHJldCA9IEpLX0ZBTFNFOworI2lmZGVmIEhBVkVfR0VUQUREUklORk8KKyAgICBzdHJ1Y3QgYWRk cmluZm8gaGludHMsICpyZXM7CiAKLSAgICBtZW1zZXQocmMsIDAsIHNpemVvZihzdHJ1Y3Qgc29j a2FkZHJfaW4pKTsKKyAgICBtZW1zZXQocmMsIDAsIHNpemVvZihzdHJ1Y3Qgamtfc29ja2FkZHJf aW4pKTsKKyAgICBtZW1zZXQoJmhpbnRzLCAwLCBzaXplb2YoaGludHMpKTsKKyAgICBoaW50cy5h aV9zb2NrdHlwZSA9IFNPQ0tfU1RSRUFNOworICAgIGhpbnRzLmFpX2ZhbWlseSA9IEFGX1VOU1BF QzsKIAotICAgIHJjLT5zaW5fcG9ydCA9IGh0b25zKChzaG9ydClwb3J0KTsKLSAgICByYy0+c2lu X2ZhbWlseSA9IEFGX0lORVQ7CisgICAgaWYgKGdldGFkZHJpbmZvKGhvc3QsIE5VTEwsICZoaW50 cywgJnJlcykgPT0gMCkgeworICAgICAgICByYy0+ZmFtaWx5ID0gcmVzLT5haV9mYW1pbHk7Cisg ICAgICAgIHJjLT5zYWxlbiA9IHJlcy0+YWlfYWRkcmxlbjsKKyAgICAgICAgbWVtY3B5KCYocmMt PnNhKSwgcmVzLT5haV9hZGRyLCByZXMtPmFpX2FkZHJsZW4pOworICAgICAgICByYy0+c2Euc2lu LnNpbl9wb3J0ID0gaHRvbnMoKHNob3J0KXBvcnQpOwogCisgICAgICAgIGZyZWVhZGRyaW5mbyhy ZXMpOworICAgICAgICByZXQgPSBKS19UUlVFOworICAgIH0KKyNlbHNlICAvKiBIQVZFX0dFVEFE RFJfSU5GTyAqLworICAgIGludCB4OworICAgIHN0cnVjdCBpbl9hZGRyIGxhZGRyOworCisgICAg bWVtc2V0KHJjLCAwLCBzaXplb2Yoc3RydWN0IGprX3NvY2thZGRyX2luKSk7CisgICAgcmMtPmZh bWlseSA9IHJjLT5zYS5zaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7CisgICAgcmMtPnNhbGVuID0g c2l6ZW9mKHN0cnVjdCBzb2NrYWRkcl9pbik7CisgICAgcmMtPnNhLnNpbi5zaW5fcG9ydCA9IGh0 b25zKChzaG9ydClwb3J0KTsKKyAKICAgICAvKiBDaGVjayBpZiB3ZSBvbmx5IGhhdmUgZGlnaXRz IGluIHRoZSBzdHJpbmcgKi8KICAgICBmb3IgKHggPSAwOyBob3N0W3hdICE9ICdcMCc7IHgrKykg ewogICAgICAgICBpZiAoIWlzZGlnaXQoKGludCkoaG9zdFt4XSkpICYmIGhvc3RbeF0gIT0gJy4n KSB7CkBAIC0yNjUsNjcgKzI4MywzNCBAQAogICAgIC8qIElmIHdlIGZvdW5kIGFsc28gY2hhcmFj dGVycyB3ZSBzaG91ZCBtYWtlIG5hbWUgdG8gSVAgcmVzb2x1dGlvbiAqLwogICAgIGlmIChob3N0 W3hdICE9ICdcMCcpIHsKIAotI2lmZGVmIEhBVkVfQVBSCi0gICAgICAgIGFwcl9zb2NrYWRkcl90 ICpyZW1vdGVfc2EsICp0ZW1wX3NhOwotICAgICAgICBjaGFyICpyZW1vdGVfaXBhZGRyOwotCi0g ICAgICAgIGlmICghamtfYXByX3Bvb2wpIHsKLSAgICAgICAgICAgIGlmIChhcHJfcG9vbF9jcmVh dGUoJmprX2Fwcl9wb29sLCBOVUxMKSAhPSBBUFJfU1VDQ0VTUykKLSAgICAgICAgICAgICAgICBy ZXR1cm4gSktfRkFMU0U7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGFwcl9zb2NrYWRkcl9pbmZv X2dldAotICAgICAgICAgICAgKCZyZW1vdGVfc2EsIGhvc3QsIEFQUl9VTlNQRUMsIChhcHJfcG9y dF90KSBwb3J0LCAwLCBqa19hcHJfcG9vbCkKLSAgICAgICAgICAgICE9IEFQUl9TVUNDRVNTKQot ICAgICAgICAgICAgcmV0dXJuIEpLX0ZBTFNFOwotCi0gICAgICAgIC8qIFNpbmNlIHdlIGFyZSBv bmx5IGhhbmRsaW5nIEFGX0lORVQgKElQVjQpIGFkZHJlc3MgKGluX2FkZHJfdCkgKi8KLSAgICAg ICAgLyogbWFrZSBzdXJlIHdlIGZpbmQgb25lIG9mIHRob3NlLiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAqLwotICAgICAgICB0ZW1wX3NhID0gcmVtb3RlX3NhOwotICAgICAgICB3aGls ZSAoKE5VTEwgIT0gdGVtcF9zYSkgJiYgKEFGX0lORVQgIT0gdGVtcF9zYS0+ZmFtaWx5KSkKLSAg ICAgICAgICAgIHRlbXBfc2EgPSB0ZW1wX3NhLT5uZXh0OwotCi0gICAgICAgIC8qIGlmIHRlbXBf c2EgaXMgc2V0LCB3ZSBoYXZlIGEgdmFsaWQgYWRkcmVzcyBvdGhlcndpc2UsIGp1c3QgcmV0dXJu ICovCi0gICAgICAgIGlmIChOVUxMICE9IHRlbXBfc2EpCi0gICAgICAgICAgICByZW1vdGVfc2Eg PSB0ZW1wX3NhOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXR1cm4gSktfRkFMU0U7Ci0K LSAgICAgICAgYXByX3NvY2thZGRyX2lwX2dldCgmcmVtb3RlX2lwYWRkciwgcmVtb3RlX3NhKTsK LQotICAgICAgICBsYWRkci5zX2FkZHIgPSBqa19pbmV0X2FkZHIocmVtb3RlX2lwYWRkcik7Ci0K LSNlbHNlIC8qIEhBVkVfQVBSICovCi0KLSAgICAgICAgLyogWFhYIDogV0FSTklORyA6IFdlIHNo b3VsZCByZWFsbHkgdXNlIGdldGhvc3RieW5hbWVfciBpbiBtdWx0aS10aHJlYWRlZCBlbnYgKi8K LSAgICAgICAgLyogRm9ydHVuYXRseSB3aGVuIEFQUiBpcyBhdmFpbGFibGUsIGllIHVuZGVyIEFw YWNoZSAyLjAsIHdlIHVzZSBpdCAqLwogI2lmIGRlZmluZWQoTkVUV0FSRSkgJiYgIWRlZmluZWQo X19OT1ZFTExfTElCQ19fKQogICAgICAgICBzdHJ1Y3QgaG9zdGVudCAqaG9zdGUgPSBnZXRob3N0 YnluYW1lKChjaGFyKilob3N0KTsKICNlbHNlCiAgICAgICAgIHN0cnVjdCBob3N0ZW50ICpob3N0 ZSA9IGdldGhvc3RieW5hbWUoaG9zdCk7CiAjZW5kaWYKLSAgICAgICAgaWYgKCFob3N0ZSkgewot ICAgICAgICAgICAgcmV0dXJuIEpLX0ZBTFNFOworICAgICAgICBpZiAoaG9zdGUpIHsKKyAgICAg ICAgICAgIGxhZGRyID0gKigoc3RydWN0IGluX2FkZHIgKilob3N0ZS0+aF9hZGRyX2xpc3RbMF0p OworICAgICAgICAgICAgcmV0ID0gSktfVFJVRTsKICAgICAgICAgfQotCi0gICAgICAgIGxhZGRy ID0gKigoc3RydWN0IGluX2FkZHIgKilob3N0ZS0+aF9hZGRyX2xpc3RbMF0pOwotCi0jZW5kaWYg LyogSEFWRV9BUFIgKi8KICAgICB9CiAgICAgZWxzZSB7CiAgICAgICAgIC8qIElmIHdlIGZvdW5k IG9ubHkgZGlnaXRzIHdlIHVzZSBpbmV0X2FkZHIoKSAqLwogICAgICAgICBsYWRkci5zX2FkZHIg PSBqa19pbmV0X2FkZHIoaG9zdCk7CisgICAgICAgIHJldCA9IEpLX1RSVUU7CiAgICAgfQotICAg IG1lbWNweSgmKHJjLT5zaW5fYWRkciksICZsYWRkciwgc2l6ZW9mKGxhZGRyKSk7CisgICAgaWYg KCByZXQgPT0gSktfVFJVRSApCisgICAgICAgIG1lbWNweSgmKHJjLT5zYS5zaW4uc2luX2FkZHIp LCAmbGFkZHIsIHNpemVvZihsYWRkcikpOwogCi0gICAgcmV0dXJuIEpLX1RSVUU7CisjZW5kaWYg LyogSEFWRV9HRVRBRERSX0lORk8gKi8KKyAgICByZXR1cm4gcmV0OwogfQogCiAvKiogY29ubmVj dCB0byBUb21jYXQgKi8KIAotamtfc29ja190IGprX29wZW5fc29ja2V0KHN0cnVjdCBzb2NrYWRk cl9pbiAqYWRkciwgaW50IGtlZXBhbGl2ZSwKK2prX3NvY2tfdCBqa19vcGVuX3NvY2tldChzdHJ1 Y3Qgamtfc29ja2FkZHJfaW4gKmFkZHIsIGludCBrZWVwYWxpdmUsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgaW50IHRpbWVvdXQsIGludCBzb2NrX2J1ZiwgamtfbG9nZ2VyX3QgKmwpCiB7Ci0g ICAgY2hhciBidWZbMzJdOworICAgIGNoYXIgYnVmW0pLX0RVTVBfQlVGXTsKICAgICBqa19zb2Nr X3Qgc29jazsKICAgICBpbnQgc2V0ID0gMTsKICAgICBpbnQgcmV0ID0gMDsKQEAgLTMzNSw3ICsz MjAsNyBAQAogCiAgICAgSktfVFJBQ0VfRU5URVIobCk7CiAKLSAgICBzb2NrID0gc29ja2V0KEFG X0lORVQsIFNPQ0tfU1RSRUFNLCAwKTsKKyAgICBzb2NrID0gc29ja2V0KGFkZHItPmZhbWlseSwg U09DS19TVFJFQU0sIDApOwogICAgIGlmICghSVNfVkFMSURfU09DS0VUKHNvY2spKSB7CiAgICAg ICAgIEpLX0dFVF9TT0NLRVRfRVJSTk8oKTsKICAgICAgICAgamtfbG9nKGwsIEpLX0xPR19FUlJP UiwKQEAgLTQ1NiwxMiArNDQxLDEzIEBACiAgICAgICAgICAgICAgICAgInRyeWluZyB0byBjb25u ZWN0IHNvY2tldCAlZCB0byAlcyIsIHNvY2ssCiAgICAgICAgICAgICAgICAgamtfZHVtcF9oaW5m byhhZGRyLCBidWYpKTsKIAorCiAvKiBOZWVkIG1vcmUgaW5mb3MgZm9yIEJTRCA0LjQgYW5kIFVu aXggOTggZGVmaW5lcywgZm9yIG5vdyBvbmx5CiBpU2VyaWVzIHdoZW4gVW5peDk4IGlzIHJlcXVp cmVkIGF0IGNvbXBpbCB0aW1lICovCiAjaWYgKF9YT1BFTl9TT1VSQ0UgPj0gNTIwKSAmJiBkZWZp bmVkKEFTNDAwKQotICAgICgoc3RydWN0IHNvY2thZGRyICopYWRkciktPnNhX2xlbiA9IHNpemVv ZihzdHJ1Y3Qgc29ja2FkZHJfaW4pOworICAgICgoc3RydWN0IHNvY2thZGRyKShhZGRyLT5zYS5z aW4pKS5zYV9sZW4gPSBhZGRyLT5zYWxlbjsKICNlbmRpZgotICAgIHJldCA9IG5iX2Nvbm5lY3Qo c29jaywgKHN0cnVjdCBzb2NrYWRkciAqKWFkZHIsIHRpbWVvdXQpOworICAgIHJldCA9IG5iX2Nv bm5lY3Qoc29jaywgYWRkciwgdGltZW91dCk7CiAjaWYgZGVmaW5lZChXSU4zMikgfHwgKGRlZmlu ZWQoTkVUV0FSRSkgJiYgZGVmaW5lZChfX05PVkVMTF9MSUJDX18pKQogICAgIGlmIChyZXQgPT0g U09DS0VUX0VSUk9SKSB7CiAgICAgICAgIGVycm5vID0gV1NBR2V0TGFzdEVycm9yKCkgLSBXU0FC QVNFRVJSOwpAQCAtNjQxLDE0ICs2MjcsMjQgQEAKICAqIGR1bXAgYSBzb2NrYWRkcl9pbiBpbiBB LkIuQy5EOlAgaW4gQVNDSUkgYnVmZmVyCiAgKgogICovCi1jaGFyICpqa19kdW1wX2hpbmZvKHN0 cnVjdCBzb2NrYWRkcl9pbiAqc2FkZHIsIGNoYXIgKmJ1ZikKK2NoYXIgKmprX2R1bXBfaGluZm8o c3RydWN0IGprX3NvY2thZGRyX2luICpzYWRkciwgY2hhciAqYnVmKQogewotICAgIHVuc2lnbmVk IGxvbmcgbGFkZHIgPSAodW5zaWduZWQgbG9uZylodG9ubChzYWRkci0+c2luX2FkZHIuc19hZGRy KTsKLSAgICB1bnNpZ25lZCBzaG9ydCBscG9ydCA9ICh1bnNpZ25lZCBzaG9ydClodG9ucyhzYWRk ci0+c2luX3BvcnQpOworICAgIHVuc2lnbmVkIHNob3J0IGxwb3J0ID0gKHVuc2lnbmVkIHNob3J0 KWh0b25zKHNhZGRyLT5zYS5zaW4uc2luX3BvcnQpOworICAgIGlmIChzYWRkci0+ZmFtaWx5ID09 IEFGX0lORVQpIHsKKyAgICAgICAgdW5zaWduZWQgbG9uZyBsYWRkciA9ICh1bnNpZ25lZCBsb25n KWh0b25sKHNhZGRyLT5zYS5zaW4uc2luX2FkZHIuc19hZGRyKTsKIAotICAgIHNwcmludGYoYnVm LCAiJWQuJWQuJWQuJWQ6JWQiLAotICAgICAgICAgICAgKGludCkobGFkZHIgPj4gMjQpLCAoaW50 KSgobGFkZHIgPj4gMTYpICYgMHhmZiksCi0gICAgICAgICAgICAoaW50KSgobGFkZHIgPj4gOCkg JiAweGZmKSwgKGludCkobGFkZHIgJiAweGZmKSwgKGludClscG9ydCk7CisgICAgICAgIHNwcmlu dGYoYnVmLCAiJWQuJWQuJWQuJWQ6JWQiLAorICAgICAgICAgICAgICAgIChpbnQpKGxhZGRyID4+ IDI0KSwgKGludCkoKGxhZGRyID4+IDE2KSAmIDB4ZmYpLAorICAgICAgICAgICAgICAgIChpbnQp KChsYWRkciA+PiA4KSAmIDB4ZmYpLCAoaW50KShsYWRkciAmIDB4ZmYpLCAoaW50KWxwb3J0KTsK KyNpZmRlZiBIQVZFX0lQVjYKKyAgICB9IGVsc2UgeworICAgICAgICB1bnNpZ25lZCBzaG9ydCAq bGFkZHIgPSAodW5zaWduZWQgc2hvcnQgKikmKHNhZGRyLT5zYS5zaW42LnNpbjZfYWRkcik7Cisg ICAgICAgICAgICAgICBzcHJpbnRmKGJ1ZiwgIlsleDoleDoleDoleDoleDoleDoleDoleF06JWQi LAorICAgICAgICAgICAgICAgIGh0b25zKCpsYWRkciksIGh0b25zKCoobGFkZHIrMSkpLCBodG9u cygqKGxhZGRyKzIpKSwKKyAgICAgICAgICAgICAgICBodG9ucygqKGxhZGRyKzMpKSwgaHRvbnMo KihsYWRkcis0KSksIGh0b25zKCoobGFkZHIrNSkpLAorICAgICAgICAgICAgICAgIGh0b25zKCoo bGFkZHIrNikpLCBodG9ucygqKGxhZGRyKzcpKSwgKGludClscG9ydCk7CisjZW5kaWYgLyogSEFW RV9JUFY2ICovCisgICAgfQogCiAgICAgcmV0dXJuIGJ1ZjsKIH0KSW5kZXg6IG1vZF9qay9uYXRp dmUvY29tbW9uL2prX2Nvbm5lY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBtb2RfamsvbmF0aXZlL2NvbW1v bi9qa19jb25uZWN0LmgJKHJldmlzaW9uIDU5ODA5NikKKysrIG1vZF9qay9uYXRpdmUvY29tbW9u L2prX2Nvbm5lY3QuaAkod29ya2luZyBjb3B5KQpAQCAtMzksOSArMzksOSBAQAogI2RlZmluZSBK S19TT0NLRVRfRU9GICAgICAgKC0yKQogI2RlZmluZSBKS19TT0NLRVRfRVJST1IgICAgKC0zKQog Ci1pbnQgamtfcmVzb2x2ZShjb25zdCBjaGFyICpob3N0LCBpbnQgcG9ydCwgc3RydWN0IHNvY2th ZGRyX2luICpyYyk7CitpbnQgamtfcmVzb2x2ZShjb25zdCBjaGFyICpob3N0LCBpbnQgcG9ydCwg c3RydWN0IGprX3NvY2thZGRyX2luICpyYyk7CiAKLWprX3NvY2tfdCBqa19vcGVuX3NvY2tldChz dHJ1Y3Qgc29ja2FkZHJfaW4gKmFkZHIsIGludCBrZWVwYWxpdmUsCitqa19zb2NrX3Qgamtfb3Bl bl9zb2NrZXQoc3RydWN0IGprX3NvY2thZGRyX2luICphZGRyLCBpbnQga2VlcGFsaXZlLAogICAg ICAgICAgICAgICAgICAgICAgICAgIGludCB0aW1lb3V0LCBpbnQgc29ja19idWYsIGprX2xvZ2dl cl90ICpsKTsKIAogaW50IGprX2Nsb3NlX3NvY2tldChqa19zb2NrX3Qgcyk7CkBAIC01MiwxMSAr NTIsMTAgQEAKIAogaW50IGprX3RjcF9zb2NrZXRfcmVjdmZ1bGwoamtfc29ja190IHNkLCB1bnNp Z25lZCBjaGFyICpiLCBpbnQgbGVuKTsKIAotY2hhciAqamtfZHVtcF9oaW5mbyhzdHJ1Y3Qgc29j a2FkZHJfaW4gKnNhZGRyLCBjaGFyICpidWYpOworY2hhciAqamtfZHVtcF9oaW5mbyhzdHJ1Y3Qg amtfc29ja2FkZHJfaW4gKnNhZGRyLCBjaGFyICpidWYpOwogCiBpbnQgamtfaXNfc29ja2V0X2Nv bm5lY3RlZChqa19zb2NrX3Qgc2QpOwogCi0KIC8qKioKICAqIGk1L09TIFY1UjQgbmVlZCBBU0NJ STwtPkVCQ0RJQyB0cmFuc2xhdGlvbiBmb3IgaW5ldF9hZGRyKCkgY2FsbAogICovCkluZGV4OiBt b2RfamsvbmF0aXZlL2NvbW1vbi9qa19hanAxMl93b3JrZXIuYwo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBtb2Rf amsvbmF0aXZlL2NvbW1vbi9qa19hanAxMl93b3JrZXIuYwkocmV2aXNpb24gNTk4MDk2KQorKysg bW9kX2prL25hdGl2ZS9jb21tb24vamtfYWpwMTJfd29ya2VyLmMJKHdvcmtpbmcgY29weSkKQEAg LTQwLDcgKzQwLDcgQEAKIAogc3RydWN0IGFqcDEyX3dvcmtlcgogewotICAgIHN0cnVjdCBzb2Nr YWRkcl9pbiB3b3JrZXJfaW5ldF9hZGRyOworICAgIHN0cnVjdCBqa19zb2NrYWRkcl9pbiB3b3Jr ZXJfaW5ldF9hZGRyOwogICAgIHVuc2lnbmVkIGNvbm5lY3RfcmV0cnlfYXR0ZW1wdHM7CiAgICAg Y2hhciAqbmFtZTsKICAgICBqa193b3JrZXJfdCB3b3JrZXI7CkluZGV4OiBtb2RfamsvbmF0aXZl L2NvbW1vbi9qa19zdGF0dXMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBtb2RfamsvbmF0aXZlL2NvbW1vbi9q a19zdGF0dXMuYwkocmV2aXNpb24gNTk4MDk2KQorKysgbW9kX2prL25hdGl2ZS9jb21tb24vamtf c3RhdHVzLmMJKHdvcmtpbmcgY29weSkKQEAgLTEzNDMsNyArMTM0Myw3IEBACiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBsYl93b3JrZXJfdCAqbGIsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBqa19sb2dnZXJfdCAqbCkKIHsKLSAgICBjaGFyIGJ1ZlszMl07CisgICAgY2hh ciBidWZbSktfRFVNUF9CVUZdOwogICAgIGNoYXIgYnVmX3JkWzMyXTsKICAgICBjaGFyIGJ1Zl93 clszMl07CiAgICAgaW50IGNtZDsKQEAgLTE3NTQsNyArMTc1NCw3IEBACiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYWpwX3dvcmtlcl90ICphdywKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBqa19sb2dnZXJfdCAqbCkKIHsKLSAgICBjaGFyIGJ1ZlszMl07CisgICAgY2hh ciBidWZbSktfRFVNUF9CVUZdOwogICAgIGludCBjbWQ7CiAgICAgaW50IG1pbWU7CiAgICAgaW50 IHNpbmdsZSA9IDA7CkluZGV4OiBtb2RfamsvbmF0aXZlL2NvbW1vbi9qa19nbG9iYWwuaAo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLSBtb2RfamsvbmF0aXZlL2NvbW1vbi9qa19nbG9iYWwuaAkocmV2aXNpb24gNTk4 MDk2KQorKysgbW9kX2prL25hdGl2ZS9jb21tb24vamtfZ2xvYmFsLmgJKHdvcmtpbmcgY29weSkK QEAgLTM3MSw2ICszNzEsMjMgQEAKICNkZWZpbmUgc3RyY2FzZWNtcChhLGIpIGFwcl9zdHJuYXRj YXNlY21wKGEsYikKICNlbmRpZgogCisjaWZkZWYgSEFWRV9BUFIKKyNkZWZpbmUgSEFWRV9JUFY2 IEFQUl9IQVZFX0lQVjYKKyNlbmRpZgorCisjZGVmaW5lIEpLX0RVTVBfQlVGIDQ4CisKK3N0cnVj dCBqa19zb2NrYWRkcl9pbiB7CisgICAgdW5zaWduZWQgc2hvcnQgaW50IGZhbWlseTsKKyAgICBp bnQgc2FsZW47CisgICAgdW5pb24geworICAgICAgICBzdHJ1Y3Qgc29ja2FkZHJfaW4gc2luOwor I2lmZGVmIEhBVkVfSVBWNgorICAgICAgICBzdHJ1Y3Qgc29ja2FkZHJfaW42IHNpbjY7CisjZW5k aWYgLyogSEFWRV9JUFY2ICovCisgICAgfSBzYTsKK307CisKICNpZmRlZiBfX2NwbHVzcGx1cwog fQogI2VuZGlmICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBfX2NwbHVzcGx1cyAqLwo= ------=_Part_39903_9359228.1196096119362 Content-Type: text/plain; charset=us-ascii --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org For additional commands, e-mail: dev-help@tomcat.apache.org ------=_Part_39903_9359228.1196096119362--