Return-Path: Delivered-To: apmail-httpd-dev-archive@www.apache.org Received: (qmail 86199 invoked from network); 21 Jul 2005 12:56:07 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 21 Jul 2005 12:56:07 -0000 Received: (qmail 79308 invoked by uid 500); 21 Jul 2005 12:55:51 -0000 Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 79240 invoked by uid 500); 21 Jul 2005 12:55:50 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 79120 invoked by uid 99); 21 Jul 2005 12:55:49 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Jul 2005 05:55:48 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: neutral (asf.osuosl.org: local policy) Received: from [213.84.19.217] (HELO mail.striker.nl) (213.84.19.217) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Jul 2005 05:55:43 -0700 Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.striker.nl (Postfix) with ESMTP id CB5DB1CC5AA for ; Thu, 21 Jul 2005 14:55:00 +0200 (CEST) Received: from mail.striker.nl ([127.0.0.1]) by localhost (argh.striker.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 19678-04 for ; Thu, 21 Jul 2005 14:54:59 +0200 (CEST) Received: from [127.0.0.1] (dhcp-213-230.onsite.apachecon.com [129.143.213.230]) by mail.striker.nl (Postfix) with ESMTP id E28F11CC538 for ; Thu, 21 Jul 2005 14:54:58 +0200 (CEST) Message-ID: <42DF9B4C.5080604@apache.org> Date: Thu, 21 Jul 2005 14:55:40 +0200 From: Sander Striker User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206) X-Accept-Language: en-us, en MIME-Version: 1.0 To: dev@httpd.apache.org Subject: [Fwd: [PATCH] 404 does not delete cached entries using mod_disk_cache] Content-Type: multipart/mixed; boundary="------------040504030600090200020003" X-Virus-Scanned: by amavisd-new-20030616-p9 (Debian) at striker.nl X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N This is a multi-part message in MIME format. --------------040504030600090200020003 Content-Type: text/plain; charset=iso-8859-1; format=flowed Content-Transfer-Encoding: 8bit Forwarding for R�diger, since he's having some problems posting. Sander -------- Original Message -------- Subject: [PATCH] 404 does not delete cached entries using mod_disk_cache Date: Thu, 21 Jul 2005 14:52:19 +0200 From: Pl�m, R�diger, VIS To: After having a discussion with various people (Sander, Justin, Paul) at the ApacheCon I submit a new version of my 404 does not delete cached entries using mod_disk_cache: Some comments: 1. In the case that there is an Apache generated error message the content filters get removed. This problem is now solved by adding a protocol filter (CACHE_REMOVE_URL) in the quick handler each time we add the cache save filter. If the cache save filter caches the response from the backend it just removes this filter from the chain. As the request CACHE_REMOVE_URL is running on a request that might be different fromi the one where the cache entry should be flushed, the cache request rec is taken from the filter context where it has been saved during insertation. 2. I adjusted the cache provider API for remove_url as I needed to have a pool and (in case of mod_disk_cache) the file name present at remove_url. Thus the prototype for remove url does now look like the following: int (*remove_url) (cache_handle_t *h, apr_pool_t *p); Comments / thoughts? Regards R�diger --------------040504030600090200020003 Content-Type: application/octet-stream; name="new_404_patch_trunk.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="new_404_patch_trunk.diff" SW5kZXg6IG1vZHVsZXMvY2FjaGUvbW9kX21lbV9jYWNoZS5jCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t IG1vZHVsZXMvY2FjaGUvbW9kX21lbV9jYWNoZS5jCShSZXZpc2lvbiAyMjAwMjIpCisrKyBt b2R1bGVzL2NhY2hlL21vZF9tZW1fY2FjaGUuYwkoQXJiZWl0c2tvcGllKQpAQCAtNjAxLDcg KzYwMSw3IEBACiAvKiByZW1vdmVfdXJsKCkKICAqIE5vdGVzOgogICovCi1zdGF0aWMgaW50 IHJlbW92ZV91cmwoY29uc3QgY2hhciAqa2V5KSAKK3N0YXRpYyBpbnQgcmVtb3ZlX3VybChj YWNoZV9oYW5kbGVfdCAqaCwgYXByX3Bvb2xfdCAqcCkgCiB7CiAgICAgY2FjaGVfb2JqZWN0 X3QgKm9iajsKICAgICBpbnQgY2xlYW51cCA9IDA7CkBAIC02MDksOCArNjA5LDggQEAKICAg ICBpZiAoc2NvbmYtPmxvY2spIHsKICAgICAgICAgYXByX3RocmVhZF9tdXRleF9sb2NrKHNj b25mLT5sb2NrKTsKICAgICB9Ci0gIAotICAgIG9iaiA9IGNhY2hlX2ZpbmQoc2NvbmYtPmNh Y2hlX2NhY2hlLCBrZXkpOyAgICAgICAKKyAKKyAgICBvYmogPSBoLT5jYWNoZV9vYmo7IAog ICAgIGlmIChvYmopIHsKICAgICAgICAgY2FjaGVfcmVtb3ZlKHNjb25mLT5jYWNoZV9jYWNo ZSwgb2JqKTsKICAgICAgICAgLyogRm9yIHBlcmZvcm1hbmNlLCBjbGVhbnVwIGNhY2hlIG9i amVjdCBhZnRlciByZWxlYXNpbmcgdGhlIGxvY2sgKi8KSW5kZXg6IG1vZHVsZXMvY2FjaGUv bW9kX2NhY2hlLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gbW9kdWxlcy9jYWNoZS9tb2RfY2FjaGUu YwkoUmV2aXNpb24gMjIwMDIyKQorKysgbW9kdWxlcy9jYWNoZS9tb2RfY2FjaGUuYwkoQXJi ZWl0c2tvcGllKQpAQCAtMjksNiArMjksNyBAQAogICovCiBzdGF0aWMgYXBfZmlsdGVyX3Jl Y190ICpjYWNoZV9zYXZlX2ZpbHRlcl9oYW5kbGU7CiBzdGF0aWMgYXBfZmlsdGVyX3JlY190 ICpjYWNoZV9vdXRfZmlsdGVyX2hhbmRsZTsKK3N0YXRpYyBhcF9maWx0ZXJfcmVjX3QgKmNh Y2hlX3JlbW92ZV91cmxfZmlsdGVyX2hhbmRsZTsKIAogLyoKICAqIENBQ0hFIGhhbmRsZXIK QEAgLTEyMyw2ICsxMjQsMjIgQEAKICAgICAgICAgICAgICAgICAvKiBhZGQgY2FjaGVfc2F2 ZSBmaWx0ZXIgdG8gY2FjaGUgdGhpcyByZXF1ZXN0ICovCiAgICAgICAgICAgICAgICAgYXBf YWRkX291dHB1dF9maWx0ZXJfaGFuZGxlKGNhY2hlX3NhdmVfZmlsdGVyX2hhbmRsZSwgTlVM TCwgciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgci0+ Y29ubmVjdGlvbik7CisKKyAgICAgICAgICAgICAgICBhcF9sb2dfZXJyb3IoQVBMT0dfTUFS SywgQVBMT0dfREVCVUcsIEFQUl9TVUNDRVNTLCByLT5zZXJ2ZXIsCisgICAgICAgICAgICAg ICAgICAiQWRkaW5nIENBQ0hFX1JFTU9WRV9VUkwgZmlsdGVyLiIpOworCisgICAgICAgICAg ICAgICAgLyogCisgICAgICAgICAgICAgICAgICogYWRkIGNhY2hlX3JlbW92ZV91cmwgZmls dGVyIHRvIHRoaXMgcmVxdWVzdCB0byByZW1vdmUgdGhlCisgICAgICAgICAgICAgICAgICog Y2FjaGUgZW50cnkgaWYgaXQgaXMgbmVlZGVkLiBTdG9yZSB0aGUgZmlsdGVyIGluIHRoZSBj YWNoZQorICAgICAgICAgICAgICAgICAqIHJlcXVlc3QgcmVjIGZvciBlYXN5IHJlbW92YWwg aWYgaXQgdHVybnMgb3V0IHRoYXQgd2UgZG8gbm90CisgICAgICAgICAgICAgICAgICogbmVl ZCBpdCwgYmVjYXVzZSB3ZSBhcmUgY2FjaGluZyBpdC4gQWxzbyBwdXQgdGhlIGN1cnJlbnQK KyAgICAgICAgICAgICAgICAgKiBjYWNoZSByZXF1ZXN0IHJlYyBpbiB0aGUgZmlsdGVyIGNv bnRleHQsIGFzIHRoZSByZXF1ZXN0IHRoYXQKKyAgICAgICAgICAgICAgICAgKiBpcyBhdmFp bGFibGUgbGF0ZXIgZHVyaW5nIHJ1bm5pbmcgdGhlIGZpbHRlciBtYXliZQorICAgICAgICAg ICAgICAgICAqIGRpZmZlcmVudCBkdWUgdG8gYW4gaW50ZXJuYWwgcmVkaXJlY3QuCisgICAg ICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgY2FjaGUtPmNhY2hlX3JlbW92ZV91 cmxfZmlsdGVyID0gCisgICAgICAgICAgICAgICAgICAgICAgIGFwX2FkZF9vdXRwdXRfZmls dGVyX2hhbmRsZShjYWNoZV9yZW1vdmVfdXJsX2ZpbHRlcl9oYW5kbGUsIGNhY2hlLCByLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgci0+ Y29ubmVjdGlvbik7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIGlmIChjYWNo ZS0+c3RhbGVfaGVhZGVycykgewogICAgICAgICAgICAgICAgIGFwX2xvZ19lcnJvcihBUExP R19NQVJLLCBBUExPR19ERUJVRywgQVBSX1NVQ0NFU1MsIHItPnNlcnZlciwKQEAgLTQzNiwx MSArNDUzLDYgQEAKICAgICBpZiAocmVhc29uKSB7CiAgICAgICAgIGFwX2xvZ19lcnJvcihB UExPR19NQVJLLCBBUExPR19ERUJVRywgMCwgci0+c2VydmVyLAogICAgICAgICAgICAgICAg ICAgICAgImNhY2hlOiAlcyBub3QgY2FjaGVkLiBSZWFzb246ICVzIiwgdXJsLCByZWFzb24p OwotICAgICAgICAvKiByZW1vdmUgdGhpcyBvYmplY3QgZnJvbSB0aGUgY2FjaGUgCi0gICAg ICAgICAqIEJpbGxTIEFza3MuLiBXaHkgZG8gd2UgbmVlZCB0byBtYWtlIHRoaXMgY2FsbCB0 byByZW1vdmVfdXJsPwotICAgICAgICAgKiBsZWF2ZSBpdCBpbiBmb3Igbm93Li4KLSAgICAg ICAgICovCi0gICAgICAgIGNhY2hlX3JlbW92ZV91cmwociwgdXJsKTsKIAogICAgICAgICAv KiByZW1vdmUgdGhpcyBmaWx0ZXIgZnJvbSB0aGUgY2hhaW4gKi8KICAgICAgICAgYXBfcmVt b3ZlX291dHB1dF9maWx0ZXIoZik7CkBAIC01NDIsNiArNTU0LDE1IEBACiAgICAgICAgICAg ICAgICAgICJjYWNoZTogQ2FjaGluZyB1cmw6ICVzIiwgdXJsKTsKIAogICAgIC8qCisgICAg ICogV2UgYXJlIGFjdHVhbGx5IGNhY2hpbmcgdGhpcyByZXNwb25zZS4gU28gaXQgZG9lcyBu b3QKKyAgICAgKiBtYWtlIHNlbnNlIHRvIHJlbW92ZSB0aGlzIGVudHJ5IGluIGNhY2hlX3Jl bW92ZV91cmxfZmlsdGVyCisgICAgICogU28gcmVtb3ZlIGl0LgorICAgICAqLyAKKyAgICBh cF9sb2dfZXJyb3IoQVBMT0dfTUFSSywgQVBMT0dfREVCVUcsIDAsIHItPnNlcnZlciwKKyAg ICAgICAgICAgICAgICAgImNhY2hlOiBSZW1vdmluZyBDQUNIRV9SRU1PVkVfVVJMIGZpbHRl ci4iKTsKKyAgICBhcF9yZW1vdmVfb3V0cHV0X2ZpbHRlcihjYWNoZS0+Y2FjaGVfcmVtb3Zl X3VybF9maWx0ZXIpOworCisgICAgLyoKICAgICAgKiBXZSBub3cgd2FudCB0byB1cGRhdGUg dGhlIGNhY2hlIGZpbGUgaGVhZGVyIGluZm9ybWF0aW9uIHdpdGgKICAgICAgKiB0aGUgbmV3 IGRhdGUsIGxhc3QgbW9kaWZpZWQsIGV4cGlyZSBhbmQgY29udGVudCBsZW5ndGggYW5kIHdy aXRlCiAgICAgICogaXQgYXdheSB0byBvdXIgY2FjaGUgZmlsZS4gRmlyc3QsIHdlIGRldGVy bWluZSB0aGVzZSB2YWx1ZXMgZnJvbQpAQCAtNzA5LDYgKzczMCw1MyBAQAogICAgIHJldHVy biBhcF9wYXNzX2JyaWdhZGUoZi0+bmV4dCwgaW4pOwogfQogCisvKgorICogQ0FDSEVfUkVN T1ZFX1VSTCBmaWx0ZXIKKyAqIC0tLS0tLS0tLS0tLS0tLQorICoKKyAqIFRoaXMgZmlsdGVy IGdldHMgYWRkZWQgaW4gdGhlIHF1aWNrIGhhbmRsZXIgZXZlcnkgdGltZSB0aGUgQ0FDSEVf U0FWRQorICogZmlsdGVyIGdldHMgaW5zZXJ0ZWQuIEl0cyBwdXJwb3NlIGlzIHRvIHJlbW92 ZSBhIHBvc3NpYmxlIGNhY2hlCisgKiBlbnRyeSBmcm9tIHRoZSBjYWNoZS4KKyAqIAorICog Q0FDSEVfUkVNT1ZBTF9VUkwgaGFzIHRvIGJlIGEgcHJvdG9jb2wgZmlsdGVyIHRvIGVuc3Vy ZSB0aGF0IGlzCisgKiBydW4gZXZlbiBpZiB0aGUgcmVzcG9uc2UgaXMgYSBjYW5uZWQgZXJy b3IgbWVzc2FnZSwgd2hpY2gKKyAqIHJlbW92ZXMgdGhlIGNvbnRlbnQgZmlsdGVycyBhbmQg dGh1cyB0aGUgQ0FDSEVfU0FWRSBmaWx0ZXIgZnJvbQorICogdGhlIGNoYWluLiAKKyAqCisg KiBDQUNIRV9SRU1PVkFMX1VSTCBleHBlY3RzIGNhY2hlIHJlcXVlc3QgcmVjIHdpdGhpbiBp dHMgY29udGV4dAorICogYmVjYXVzZSB0aGUgcmVxdWVzdCB0aGlzIGZpbHRlciBydW5zIG9u IGNhbiBiZSBkaWZmZXJlbnQgZnJvbQorICogdGhlIG9uZSB3aG9zZSBjYWNoZSBlbnRyeSBz aG91bGQgYmUgcmVtb3ZlZCwgZHVlIHRvIGludGVybmFsCisgKiByZWRpcmVjdHMuIAorICov CisKK3N0YXRpYyBpbnQgY2FjaGVfcmVtb3ZlX3VybF9maWx0ZXIoYXBfZmlsdGVyX3QgKmYs IGFwcl9idWNrZXRfYnJpZ2FkZSAqaW4pCit7CisgICAgcmVxdWVzdF9yZWMgKnIgPSBmLT5y OworICAgIGNhY2hlX3JlcXVlc3RfcmVjICpjYWNoZTsKKworICAgIC8qIFNldHVwIGNhY2hl X3JlcXVlc3RfcmVjICovCisgICAgY2FjaGUgPSAoY2FjaGVfcmVxdWVzdF9yZWMgKikgZi0+ Y3R4OworCisgICAgaWYgKCFjYWNoZSkgeworICAgICAgICAvKiB1c2VyIGxpa2VseSBjb25m aWd1cmVkIENBQ0hFX1NBVkUgbWFudWFsbHk7IHRoZXkgc2hvdWxkIHJlYWxseSB1c2UKKyAg ICAgICAgICogbW9kX2NhY2hlIGNvbmZpZ3VyYXRpb24gdG8gZG8gdGhhdC4gU286CisgICAg ICAgICAqIDEuIFJlbW92ZSBvdXJzZWx2ZXMgCisgICAgICAgICAqIDIuIERvIG5vdGhpbmcg YW5kIGJhaWwgb3V0CisgICAgICAgICAqLworICAgICAgICBhcF9sb2dfZXJyb3IoQVBMT0df TUFSSywgQVBMT0dfREVCVUcsIDAsIHItPnNlcnZlciwKKyAgICAgICAgICAgICAgICAgICAg ICJjYWNoZV9yZW1vdmVfdXJsX2ZpbHRlcjogTm8gY2FjaGUgcmVxdWVzdCByZWMgZGVmaW5l ZCIpOworICAgICAgICBhcF9yZW1vdmVfb3V0cHV0X2ZpbHRlcihmKTsKKyAgICAgICAgcmV0 dXJuIGFwX3Bhc3NfYnJpZ2FkZShmLT5uZXh0LCBpbik7CisgICAgfQorICAgIC8qCisgICAg ICogTm93IHJlbW92ZSB0aGlzIGNhY2hlIGVudHJ5IGZyb20gdGhlIGNhY2hlCisgICAgICov CisgICAgY2FjaGVfcmVtb3ZlX3VybChjYWNoZSwgci0+cG9vbCk7CisgICAgLyogcmVtb3Zl IG91cnNlbHZlcyAqLworICAgIGFwX3JlbW92ZV9vdXRwdXRfZmlsdGVyKGYpOworICAgIHJl dHVybiBhcF9wYXNzX2JyaWdhZGUoZi0+bmV4dCwgaW4pOworfQorCiAvKiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAq LwogLyogU2V0dXAgY29uZmlndXJhYmxlIGRhdGEgKi8KIApAQCAtOTYyLDYgKzEwMzAsNyBA QAogICAgIHJldHVybiBPSzsKIH0KIAorCiBzdGF0aWMgY29uc3QgY29tbWFuZF9yZWMgY2Fj aGVfY21kc1tdID0KIHsKICAgICAvKiBYWFgKQEAgLTEwMjgsNiArMTA5NywxNiBAQAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlX291dF9maWx0ZXIsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQVBfRlRZUEVfQ09OVEVOVF9TRVQrMSk7CisgICAgLyoKKyAg ICAgKiBDQUNIRV9SRU1PVkFMX1VSTCBoYXMgdG8gYmUgYSBwcm90b2NvbCBmaWx0ZXIgdG8g ZW5zdXJlIHRoYXQgaXMKKyAgICAgKiBydW4gZXZlbiBpZiB0aGUgcmVzcG9uc2UgaXMgYSBj YW5uZWQgZXJyb3IgbWVzc2FnZSwgd2hpY2gKKyAgICAgKiByZW1vdmVzIHRoZSBjb250ZW50 IGZpbHRlcnMuCisgICAgICovCisgICAgY2FjaGVfcmVtb3ZlX3VybF9maWx0ZXJfaGFuZGxl ID0KKyAgICAgICAgYXBfcmVnaXN0ZXJfb3V0cHV0X2ZpbHRlcigiQ0FDSEVfUkVNT1ZFX1VS TCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVfcmVtb3ZlX3Vy bF9maWx0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUF9GVFlQRV9QUk9UT0NPTCk7CiAg ICAgYXBfaG9va19wb3N0X2NvbmZpZyhjYWNoZV9wb3N0X2NvbmZpZywgTlVMTCwgTlVMTCwg QVBSX0hPT0tfUkVBTExZX0ZJUlNUKTsKIH0KIApJbmRleDogbW9kdWxlcy9jYWNoZS9tb2Rf Y2FjaGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLSBtb2R1bGVzL2NhY2hlL21vZF9jYWNoZS5oCShS ZXZpc2lvbiAyMjAwMjIpCisrKyBtb2R1bGVzL2NhY2hlL21vZF9jYWNoZS5oCShBcmJlaXRz a29waWUpCkBAIC0xOTcsNyArMTk3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IGNoYXIgKnVybGtleSwgYXByX29mZl90IGxlbik7CiAgICAgaW50ICgqb3Blbl9l bnRpdHkpIChjYWNoZV9oYW5kbGVfdCAqaCwgcmVxdWVzdF9yZWMgKnIsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICp1cmxrZXkpOwotICAgIGludCAoKnJlbW92 ZV91cmwpIChjb25zdCBjaGFyICp1cmxrZXkpOworICAgIGludCAoKnJlbW92ZV91cmwpIChj YWNoZV9oYW5kbGVfdCAqaCwgYXByX3Bvb2xfdCAqcCk7CiB9IGNhY2hlX3Byb3ZpZGVyOwog CiAvKiBBIGxpbmtlZC1saXN0IG9mIGF1dGhuIHByb3ZpZGVycy4gKi8KQEAgLTIyNSw2ICsy MjUsNyBAQAogICAgIGFwcl90aW1lX3QgZXhwOyAgICAgICAgICAgICAgICAgICAgIC8qIGV4 cGlyYXRpb24gKi8KICAgICBhcHJfdGltZV90IGxhc3Rtb2Q7ICAgICAgICAgICAgICAgICAv KiBsYXN0LW1vZGlmaWVkIHRpbWUgKi8KICAgICBjYWNoZV9pbmZvICppbmZvOyAgICAgICAg ICAgICAgICAgICAvKiBjdXJyZW50IGNhY2hlIGluZm8gKi8KKyAgICBhcF9maWx0ZXJfdCAq Y2FjaGVfcmVtb3ZlX3VybF9maWx0ZXI7ICAvKiBjYWNoZV9yZW1vdmVfdXJsX2ZpbHRlciBm b3IgdGhpcyByZXF1ZXN0ICovCiB9IGNhY2hlX3JlcXVlc3RfcmVjOwogCiAKQEAgLTI3MSw3 ICsyNzIsNyBAQAogLyoqCiAgKiBjYWNoZV9zdG9yYWdlLmMKICAqLwotaW50IGNhY2hlX3Jl bW92ZV91cmwocmVxdWVzdF9yZWMgKnIsIGNoYXIgKnVybCk7CitpbnQgY2FjaGVfcmVtb3Zl X3VybChjYWNoZV9yZXF1ZXN0X3JlYyAqY2FjaGUsIGFwcl9wb29sX3QgKnApOwogaW50IGNh Y2hlX2NyZWF0ZV9lbnRpdHkocmVxdWVzdF9yZWMgKnIsIGNoYXIgKnVybCwgYXByX29mZl90 IHNpemUpOwogaW50IGNhY2hlX3NlbGVjdF91cmwocmVxdWVzdF9yZWMgKnIsIGNoYXIgKnVy bCk7CiBhcHJfc3RhdHVzX3QgY2FjaGVfZ2VuZXJhdGVfa2V5X2RlZmF1bHQoIHJlcXVlc3Rf cmVjICpyLCBhcHJfcG9vbF90KnAsIGNoYXIqKmtleSApOwpJbmRleDogbW9kdWxlcy9jYWNo ZS9tb2RfZGlza19jYWNoZS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIG1vZHVsZXMvY2FjaGUvbW9k X2Rpc2tfY2FjaGUuYwkoUmV2aXNpb24gMjIwMDIyKQorKysgbW9kdWxlcy9jYWNoZS9tb2Rf ZGlza19jYWNoZS5jCShBcmJlaXRza29waWUpCkBAIC01MTQsOSArNTE0LDU1IEBACiAgICAg cmV0dXJuIE9LOwogfQogCi1zdGF0aWMgaW50IHJlbW92ZV91cmwoY29uc3QgY2hhciAqa2V5 KQorc3RhdGljIGludCByZW1vdmVfdXJsKGNhY2hlX2hhbmRsZV90ICpoLCBhcHJfcG9vbF90 ICpwKQogewotICAgIC8qIFhYWDogRGVsZXRlIGZpbGUgZnJvbSBjYWNoZSEgKi8KKyAgICBh cHJfc3RhdHVzX3QgcmM7CisgICAgaW50IGVycm9yID0gMDsKKyAgICBkaXNrX2NhY2hlX29i amVjdF90ICpkb2JqOworCisKKyAgICAvKiBHZXQgZGlzayBjYWNoZSBvYmplY3QgZnJvbSBj YWNoZSBoYW5kbGUgKi8KKyAgICBkb2JqID0gKGRpc2tfY2FjaGVfb2JqZWN0X3QgKikgaC0+ Y2FjaGVfb2JqLT52b2JqOworCisgICAgaWYgKCFkb2JqKSB7CisgICAgICAgIHJldHVybiBE RUNMSU5FRDsKKyAgICB9CisKKyAgICAvKiBEZWxldGUgaGVhZGVycyBmaWxlICovCisgICAg aWYgKGRvYmotPmhkcnNmaWxlKSB7CisgICAgICAgIHJjID0gYXByX2ZpbGVfcmVtb3ZlKGRv YmotPmhkcnNmaWxlLCBwKTsKKyAgICAgICAgaWYgKChyYyAhPSBBUFJfU1VDQ0VTUykgJiYg KHJjICE9IEFQUl9FTk9FTlQpKSB7CisgICAgICAgICAgICAvKiAKKyAgICAgICAgICAgICAq IFdpbGwgb25seSByZXN1bHQgaW4gYW4gb3V0cHV0IGlmIGh0dHBkIGlzIHN0YXJ0ZWQgd2l0 aCAtZSBkZWJ1Zy4KKyAgICAgICAgICAgICAqIEZvciByZWFzb24gc2VlIGxvZ19lcnJvcl9j b3JlIGZvciB0aGUgY2FzZSBzID09IE5VTEwuCisgICAgICAgICAgICAgKi8KKyAgICAgICAg ICAgIGFwX2xvZ19lcnJvcihBUExPR19NQVJLLCBBUExPR19ERUJVRywgcmMsIE5VTEwsCisg ICAgICAgICAgICAgICAgICAgICAgICAgImRpc2tfY2FjaGU6IEZhaWxlZCB0byBkZWxldGUg aGVhZGVycyBmaWxlICVzIGZyb20gY2FjaGUuIiwgCisgICAgICAgICAgICAgICAgICAgICAg ICAgIGRvYmotPmRhdGFmaWxlKTsKKyAgICAgICAgICAgIGVycm9yID0gMTsKKyAgICAgICAg fSAKKyAgICB9CisKKyAgICAvKiBEZWxldGUgZGF0YSBmaWxlICovCisgICAgaWYgKGRvYmot PmRhdGFmaWxlKSB7CisgICAgICAgIHJjID0gYXByX2ZpbGVfcmVtb3ZlKGRvYmotPmRhdGFm aWxlLCBwKTsKKyAgICAgICAgaWYgKChyYyAhPSBBUFJfU1VDQ0VTUykgJiYgKHJjICE9IEFQ Ul9FTk9FTlQpKSB7CisgICAgICAgICAgICAvKiAKKyAgICAgICAgICAgICAqIFdpbGwgb25s eSByZXN1bHQgaW4gYW4gb3V0cHV0IGlmIGh0dHBkIGlzIHN0YXJ0ZWQgd2l0aCAtZSBkZWJ1 Zy4KKyAgICAgICAgICAgICAqIEZvciByZWFzb24gc2VlIGxvZ19lcnJvcl9jb3JlIGZvciB0 aGUgY2FzZSBzID09IE5VTEwuCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGFwX2xv Z19lcnJvcihBUExPR19NQVJLLCBBUExPR19ERUJVRywgcmMsIE5VTEwsCisgICAgICAgICAg ICAgICAgICAgICAgICAgImRpc2tfY2FjaGU6IEZhaWxlZCB0byBkZWxldGUgZGF0YSBmaWxl ICVzIGZyb20gY2FjaGUuIiwgCisgICAgICAgICAgICAgICAgICAgICAgICAgIGRvYmotPmhk cnNmaWxlKTsKKyAgICAgICAgICAgIGVycm9yID0gMTsKKyAgICAgICAgfSAKKyAgICB9CisK KyAgICAvKiByZXR1cm4gREVDTElORUQgaW4gY2FzZSBvZiBhbnkgZXJyb3IgZXhjZXB0IGZp bGUgbm90IGZvdW5kICovCisgICAgaWYgKGVycm9yKSB7CisgICAgICAgIHJldHVybiBERUNM SU5FRDsKKyAgICB9CisKICAgICByZXR1cm4gT0s7CiB9CiAKSW5kZXg6IG1vZHVsZXMvY2Fj aGUvY2FjaGVfc3RvcmFnZS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIG1vZHVsZXMvY2FjaGUvY2Fj aGVfc3RvcmFnZS5jCShSZXZpc2lvbiAyMjAwMjIpCisrKyBtb2R1bGVzL2NhY2hlL2NhY2hl X3N0b3JhZ2UuYwkoQXJiZWl0c2tvcGllKQpAQCAtMjgsMjQgKzI4LDMwIEBACiAgKiBkZWxl dGUgYWxsIFVSTCBlbnRpdGllcyBmcm9tIHRoZSBjYWNoZQogICoKICAqLwotaW50IGNhY2hl X3JlbW92ZV91cmwocmVxdWVzdF9yZWMgKnIsIGNoYXIgKnVybCkKK2ludCBjYWNoZV9yZW1v dmVfdXJsKGNhY2hlX3JlcXVlc3RfcmVjICpjYWNoZSwgYXByX3Bvb2xfdCAqcCkKIHsKICAg ICBjYWNoZV9wcm92aWRlcl9saXN0ICpsaXN0OwogICAgIGFwcl9zdGF0dXNfdCBydjsKICAg ICBjaGFyICprZXk7Ci0gICAgY2FjaGVfcmVxdWVzdF9yZWMgKmNhY2hlID0gKGNhY2hlX3Jl cXVlc3RfcmVjICopIAotICAgICAgICAgICAgICAgICAgICAgICAgIGFwX2dldF9tb2R1bGVf Y29uZmlnKHItPnJlcXVlc3RfY29uZmlnLCAmY2FjaGVfbW9kdWxlKTsKKyAgICBjYWNoZV9o YW5kbGVfdCAqaDsKIAotICAgIHJ2ID0gY2FjaGVfZ2VuZXJhdGVfa2V5KHIsci0+cG9vbCwm a2V5KTsKLSAgICBpZiAocnYgIT0gQVBSX1NVQ0NFU1MpIHsKLSAgICAgICAgcmV0dXJuIHJ2 OwotICAgIH0KIAogICAgIGxpc3QgPSBjYWNoZS0+cHJvdmlkZXJzOwogCisgICAgLyogCisg ICAgICogQ2hlY2sgaWYgd2UgaGF2ZSBhIGNhY2hlIGhhbmRsZS4gQ2hlY2sgb24gdGhlIHJl Z3VsYXIgb25lIGZpcnN0CisgICAgICogYW5kIGlmIGl0J3MgTlVMTCB3ZSB0cnkgb3VyIGx1 Y2sgd2l0aCB0aGUgc3RhbGVfaGFuZGxlLgorICAgICAqIElmIHRoaXMgYWxzbyBmYWlscyBi YWlsIG91dC4KKyAgICAgKi8gICAKKyAgICBoID0gKGNhY2hlX2hhbmRsZV90ICopIChjYWNo ZS0+aGFuZGxlID8gCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGUtPmhhbmRs ZSA6IGNhY2hlLT5zdGFsZV9oYW5kbGUpOworICAgIGlmICghaCkgeworICAgICAgIHJldHVy biBPSzsKKyAgICB9CisKICAgICAvKiBmb3IgZWFjaCBzcGVjaWZpZWQgY2FjaGUgdHlwZSwg ZGVsZXRlIHRoZSBVUkwgKi8KICAgICB3aGlsZShsaXN0KSB7Ci0gICAgICAgIGxpc3QtPnBy b3ZpZGVyLT5yZW1vdmVfdXJsKGtleSk7CisgICAgICAgIGxpc3QtPnByb3ZpZGVyLT5yZW1v dmVfdXJsKGgsIHApOwogICAgICAgICBsaXN0ID0gbGlzdC0+bmV4dDsKICAgICB9CiAgICAg cmV0dXJuIE9LOwo= --------------040504030600090200020003--