Return-Path: Delivered-To: apmail-apr-dev-archive@www.apache.org Received: (qmail 99287 invoked from network); 17 Apr 2004 19:02:35 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 17 Apr 2004 19:02:35 -0000 Received: (qmail 4018 invoked by uid 500); 17 Apr 2004 19:02:25 -0000 Delivered-To: apmail-apr-dev-archive@apr.apache.org Received: (qmail 3854 invoked by uid 500); 17 Apr 2004 19:02:24 -0000 Mailing-List: contact dev-help@apr.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Delivered-To: mailing list dev@apr.apache.org Received: (qmail 3840 invoked from network); 17 Apr 2004 19:02:24 -0000 Message-ID: <20040417190228.5213.qmail@web25207.mail.ukl.yahoo.com> Date: Sat, 17 Apr 2004 20:02:28 +0100 (BST) From: =?iso-8859-1?q?Ami=20Ganguli?= Subject: Re: [PATCH] RFC: allow custom hash functions To: dev@apr.apache.org In-Reply-To: <20040417185352.45564.qmail@web25209.mail.ukl.yahoo.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="0-186979389-1082228548=:4922" Content-Transfer-Encoding: 8bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N --0-186979389-1082228548=:4922 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Content-Id: Content-Disposition: inline It seems Yahoo reformats my mail. Here's the patch as an attachment. ... Ami. ____________________________________________________________ Yahoo! Messenger - Communicate instantly..."Ping" your friends today! Download Messenger Now http://uk.messenger.yahoo.com/download/index.html --0-186979389-1082228548=:4922 Content-Type: application/octet-stream; name="patch-0.9.4-ag1" Content-Transfer-Encoding: base64 Content-Description: patch-0.9.4-ag1 Content-Disposition: attachment; filename="patch-0.9.4-ag1" ZGlmZiAtLXVuaWZpZWQgLS1yZWN1cnNpdmUgLS1uZXctZmlsZSBhcHItMC45 LjQtb2xkL2luY2x1ZGUvYXByX2hhc2guaCBhcHItMC45LjQvaW5jbHVkZS9h cHJfaGFzaC5oCi0tLSBhcHItMC45LjQtb2xkL2luY2x1ZGUvYXByX2hhc2gu aAkyMDAzLTAzLTA1IDIzOjIyOjI2LjAwMDAwMDAwMCArMDIwMAorKysgYXBy LTAuOS40L2luY2x1ZGUvYXByX2hhc2guaAkyMDA0LTA0LTE4IDAxOjM2OjE2 LjAwMDAwMDAwMCArMDMwMApAQCAtOTksNiArOTksMTEgQEAKIHR5cGVkZWYg c3RydWN0IGFwcl9oYXNoX2luZGV4X3QgYXByX2hhc2hfaW5kZXhfdDsKIAog LyoqCisgKiBDYWxsYmFjayBmdW5jdGlvbnMgZm9yIGNhbGN1bGF0aW5nIGhh c2ggdmFsdWVzLgorICovCit0eXBlZGVmIHVuc2lnbmVkIGludCAoKmFwcl9o YXNoZnVuY190KShjb25zdCBjaGFyICprZXksIGFwcl9zc2l6ZV90IGtsZW4p OworCisvKioKICAqIENyZWF0ZSBhIGhhc2ggdGFibGUuCiAgKiBAcGFyYW0g cG9vbCBUaGUgcG9vbCB0byBhbGxvY2F0ZSB0aGUgaGFzaCB0YWJsZSBvdXQg b2YKICAqIEByZXR1cm4gVGhlIGhhc2ggdGFibGUganVzdCBjcmVhdGVkCkBA IC0xMDYsNiArMTExLDE1IEBACiBBUFJfREVDTEFSRShhcHJfaGFzaF90ICop IGFwcl9oYXNoX21ha2UoYXByX3Bvb2xfdCAqcG9vbCk7CiAKIC8qKgorICog Q3JlYXRlIGEgaGFzaCB0YWJsZSB3aXRoIGEgY3VzdG9tIGhhc2ggZnVuY3Rp b24KKyAqIEBwYXJhbSBwb29sIFRoZSBwb29sIHRvIGFsbG9jYXRlIHRoZSBo YXNoIHRhYmxlIG91dCBvZgorICogQHBhcmFtIGhhc2hfZnVuYyBBIGN1c3Rv bSBoYXNoIGZ1bmN0aW9uLgorICogQHJldHVybiBUaGUgaGFzaCB0YWJsZSBq dXN0IGNyZWF0ZWQKKyAgKi8KK0FQUl9ERUNMQVJFKGFwcl9oYXNoX3QgKikg YXByX2hhc2hfbWFrZV9jdXN0b20oYXByX3Bvb2xfdCAqcG9vbCwgCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFw cl9oYXNoZnVuY190IGhhc2hfZnVuYyk7CisKKy8qKgogICogTWFrZSBhIGNv cHkgb2YgYSBoYXNoIHRhYmxlCiAgKiBAcGFyYW0gcG9vbCBUaGUgcG9vbCBm cm9tIHdoaWNoIHRvIGFsbG9jYXRlIHRoZSBuZXcgaGFzaCB0YWJsZQogICog QHBhcmFtIGggVGhlIGhhc2ggdGFibGUgdG8gY2xvbmUKZGlmZiAtLXVuaWZp ZWQgLS1yZWN1cnNpdmUgLS1uZXctZmlsZSBhcHItMC45LjQtb2xkL3RhYmxl cy9hcHJfaGFzaC5jIGFwci0wLjkuNC90YWJsZXMvYXByX2hhc2guYwotLS0g YXByLTAuOS40LW9sZC90YWJsZXMvYXByX2hhc2guYwkyMDAzLTAxLTEzIDIw OjUyOjA3LjAwMDAwMDAwMCArMDIwMAorKysgYXByLTAuOS40L3RhYmxlcy9h cHJfaGFzaC5jCTIwMDQtMDQtMTggMDE6MjM6MDIuMDAwMDAwMDAwICswMzAw CkBAIC0xMTUsNiArMTE1LDcgQEAKICAgICBhcHJfaGFzaF9lbnRyeV90ICAg KiphcnJheTsKICAgICBhcHJfaGFzaF9pbmRleF90ICAgICBpdGVyYXRvcjsg IC8qIEZvciBhcHJfaGFzaF9maXJzdChOVUxMLCAuLi4pICovCiAgICAgdW5z aWduZWQgaW50ICAgICAgICAgY291bnQsIG1heDsKKyAgICBhcHJfaGFzaGZ1 bmNfdCAgICAgICBoYXNoX2Z1bmM7CiB9OwogCiAjZGVmaW5lIElOSVRJQUxf TUFYIDE1IC8qIHR1bmFibGUgPT0gMl5uIC0gMSAqLwpAQCAtMTM3LDYgKzEz OCwyMCBAQAogICAgIGh0LT5jb3VudCA9IDA7CiAgICAgaHQtPm1heCA9IElO SVRJQUxfTUFYOwogICAgIGh0LT5hcnJheSA9IGFsbG9jX2FycmF5KGh0LCBo dC0+bWF4KTsKKyAgICBodC0+aGFzaF9mdW5jID0gTlVMTDsKKyAgICByZXR1 cm4gaHQ7Cit9CisKK0FQUl9ERUNMQVJFKGFwcl9oYXNoX3QgKikgYXByX2hh c2hfbWFrZV9jdXN0b20oYXByX3Bvb2xfdCAqcG9vbCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXByX2hhc2hm dW5jX3QgaGFzaF9mdW5jKQoreworICAgIGFwcl9oYXNoX3QgKmh0OworICAg IGh0ID0gYXByX3BhbGxvYyhwb29sLCBzaXplb2YoYXByX2hhc2hfdCkpOwor ICAgIGh0LT5wb29sID0gcG9vbDsKKyAgICBodC0+Y291bnQgPSAwOworICAg IGh0LT5tYXggPSBJTklUSUFMX01BWDsKKyAgICBodC0+YXJyYXkgPSBhbGxv Y19hcnJheShodCwgaHQtPm1heCk7CisgICAgaHQtPmhhc2hfZnVuYyA9IGhh c2hfZnVuYzsKICAgICByZXR1cm4gaHQ7CiB9CiAKQEAgLTI2MSwxNiArMjc2 LDIxIEBACiAgICAgICoKICAgICAgKiAgICAgICAgICAgICAgICAgIC0tIFJh bGYgUy4gRW5nZWxzY2hhbGwgPHJzZUBlbmdlbHNjaGFsbC5jb20+CiAgICAg ICovCi0gICAgaGFzaCA9IDA7Ci0gICAgaWYgKGtsZW4gPT0gQVBSX0hBU0hf S0VZX1NUUklORykgewotICAgICAgICBmb3IgKHAgPSBrZXk7ICpwOyBwKysp IHsKLSAgICAgICAgICAgIGhhc2ggPSBoYXNoICogMzMgKyAqcDsKLSAgICAg ICAgfQotICAgICAgICBrbGVuID0gcCAtIChjb25zdCB1bnNpZ25lZCBjaGFy ICopa2V5OworICAgIGlmIChodC0+aGFzaF9mdW5jKSB7CisgICAgICAgIGhh c2ggPSBodC0+aGFzaF9mdW5jKCBrZXksIGtsZW4gKTsKICAgICB9CiAgICAg ZWxzZSB7Ci0gICAgICAgIGZvciAocCA9IGtleSwgaSA9IGtsZW47IGk7IGkt LSwgcCsrKSB7Ci0gICAgICAgICAgICBoYXNoID0gaGFzaCAqIDMzICsgKnA7 CisgICAgICAgIGhhc2ggPSAwOworICAgICAgICBpZiAoa2xlbiA9PSBBUFJf SEFTSF9LRVlfU1RSSU5HKSB7CisgICAgICAgICAgICBmb3IgKHAgPSBrZXk7 ICpwOyBwKyspIHsKKyAgICAgICAgICAgICAgICBoYXNoID0gaGFzaCAqIDMz ICsgKnA7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBrbGVuID0gcCAt IChjb25zdCB1bnNpZ25lZCBjaGFyICopa2V5OworICAgICAgICB9CisgICAg ICAgIGVsc2UgeworICAgICAgICAgICAgZm9yIChwID0ga2V5LCBpID0ga2xl bjsgaTsgaS0tLCBwKyspIHsKKyAgICAgICAgICAgICAgICBoYXNoID0gaGFz aCAqIDMzICsgKnA7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9 CiAKQEAgLTMxMCw2ICszMzAsNyBAQAogICAgIGh0LT5wb29sID0gcG9vbDsK ICAgICBodC0+Y291bnQgPSBvcmlnLT5jb3VudDsKICAgICBodC0+bWF4ID0g b3JpZy0+bWF4OworICAgIGh0LT5oYXNoX2Z1bmMgPSBvcmlnLT5oYXNoX2Z1 bmM7CiAgICAgaHQtPmFycmF5ID0gKGFwcl9oYXNoX2VudHJ5X3QgKiopKChj aGFyICopaHQgKyBzaXplb2YoYXByX2hhc2hfdCkpOwogCiAgICAgbmV3X3Zh bHMgPSAoYXByX2hhc2hfZW50cnlfdCAqKSgoY2hhciAqKShodCkgKyBzaXpl b2YoYXByX2hhc2hfdCkgKwpkaWZmIC0tdW5pZmllZCAtLXJlY3Vyc2l2ZSAt LW5ldy1maWxlIGFwci0wLjkuNC1vbGQvdGVzdC90ZXN0aGFzaC5jIGFwci0w LjkuNC90ZXN0L3Rlc3RoYXNoLmMKLS0tIGFwci0wLjkuNC1vbGQvdGVzdC90 ZXN0aGFzaC5jCTIwMDMtMDEtMDEgMDI6MDE6NTYuMDAwMDAwMDAwICswMjAw CisrKyBhcHItMC45LjQvdGVzdC90ZXN0aGFzaC5jCTIwMDQtMDQtMTggMDE6 NDU6MDMuMDAwMDAwMDAwICswMzAwCkBAIC0xNTAsNiArMTUwLDMzIEBACiAg ICAgQ3VBc3NlcnRTdHJFcXVhbHModGMsICJzYW1lIiwgcmVzdWx0KTsKIH0K IAorc3RhdGljIHVuc2lnbmVkIGludCBoYXNoX2N1c3RvbSggY29uc3QgY2hh ciAqa2V5LCBhcHJfc3NpemVfdCBrbGVuKQoreworICAgIHVuc2lnbmVkIGlu dCBoYXNoID0gMDsKKyAgICB3aGlsZSgga2xlbiApIHsKKyAgICAgICAga2xl biAtLTsKKyAgICAgICAgaGFzaCA9IGhhc2ggKiAzMyArIGtleVsga2xlbiBd OworICAgIH0KKyAgICByZXR1cm4gaGFzaDsKK30KKworc3RhdGljIHZvaWQg c2FtZV92YWx1ZV9jdXN0b20oQ3VUZXN0ICp0YykKK3sKKyAgICBhcHJfaGFz aF90ICpoID0gTlVMTDsKKyAgICBjaGFyICpyZXN1bHQgPSBOVUxMOworCisg ICAgaCA9IGFwcl9oYXNoX21ha2VfY3VzdG9tKHAsIGhhc2hfY3VzdG9tKTsK KyAgICBDdUFzc2VydFB0ck5vdE51bGwodGMsIGgpOworCisgICAgYXByX2hh c2hfc2V0KGgsICJzYW1lMSIsIDUsICJzYW1lIik7CisgICAgcmVzdWx0ID0g YXByX2hhc2hfZ2V0KGgsICJzYW1lMSIsIDUpOworICAgIEN1QXNzZXJ0U3Ry RXF1YWxzKHRjLCAic2FtZSIsIHJlc3VsdCk7CisKKyAgICBhcHJfaGFzaF9z ZXQoaCwgInNhbWUyIiwgNSwgInNhbWUiKTsKKyAgICByZXN1bHQgPSBhcHJf aGFzaF9nZXQoaCwgInNhbWUyIiwgNSk7CisgICAgQ3VBc3NlcnRTdHJFcXVh bHModGMsICJzYW1lIiwgcmVzdWx0KTsKK30KKwogc3RhdGljIHZvaWQga2V5 X3NwYWNlKEN1VGVzdCAqdGMpCiB7CiAgICAgYXByX2hhc2hfdCAqaCA9IE5V TEw7CkBAIC00MjIsNiArNDQ5LDcgQEAKICAgICBTVUlURV9BRERfVEVTVChz dWl0ZSwgaGFzaF9zZXQpOwogICAgIFNVSVRFX0FERF9URVNUKHN1aXRlLCBo YXNoX3Jlc2V0KTsKICAgICBTVUlURV9BRERfVEVTVChzdWl0ZSwgc2FtZV92 YWx1ZSk7CisgICAgU1VJVEVfQUREX1RFU1Qoc3VpdGUsIHNhbWVfdmFsdWVf Y3VzdG9tKTsKICAgICBTVUlURV9BRERfVEVTVChzdWl0ZSwga2V5X3NwYWNl KTsKICAgICBTVUlURV9BRERfVEVTVChzdWl0ZSwgZGVsZXRlX2tleSk7CiAK Cg== --0-186979389-1082228548=:4922--