patch for vanilla kernel 2.6.25
Lino Sanfilippo <[email protected]> Tue, 07 Jul 2009 17:08:43 +0200
| Newsgroups | gmane.linux.dazuko.devel |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. --------------040003060503060302000102 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Geschäftsführender Gesellschafter: Tjark Auerbach Sitz der Gesellschaft: Tettnang Handelsregister: Amtsgericht Ulm, HRB 630992 ALLGEMEINE GESCHÄFTSBEDINGUNGEN Es gelten unsere Allgemeinen Geschäftsbedingungen (AGB). Sie finden sie in der jeweils gültigen Fassung im Internet unter http://www.avira.de/agb *************************************************** --------------040003060503060302000102 Content-Type: text/plain; name="patch_2.6.25" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="patch_2.6.25" ZGlmZiAteCBDVlMgLXJ1cCBkYXp1a29mcy0zLjAuMC9DSEFOR0VMT0cgZGF6dWtvZnMtMy4w LjAtcmM0XzIuNi4yNS9DSEFOR0VMT0cKLS0tIGRhenVrb2ZzLTMuMC4wL0NIQU5HRUxPRwky MDA5LTAyLTIyIDE3OjUxOjIyLjAwMDAwMDAwMCArMDEwMAorKysgZGF6dWtvZnMtMy4wLjAt cmM0XzIuNi4yNS9DSEFOR0VMT0cJMjAwOC0xMi0xMiAxOToyMDozMC4wMDAwMDAwMDAgKzAx MDAKQEAgLTIsMTEgKzIsNiBAQAogIERhenVrb0ZTIENIQU5HRUxPRwogPT09PT09PT09PT09 PT09PT09PT0KIAotMy4wLjAgKDIwMDktMDItMjIpCi0tIGFkZGVkIGRlZmluZSBmb3IgdmVy c2lvbiBudW1iZXIgb3V0cHV0Ci0tIGFkZGVkIHBhdGNoZXMgZm9yIHZhcmlvdXMgb3RoZXIg a2VybmVscwotCi0KIDMuMC4wLXJjNCAoMjAwOC0xMS0zMCkKIC0gZml4IGluY29ycmVjdCBk ZW50cnkvdmZzbW50IHJlZmVyZW5jaW5nIHdoZW4gYWNjZXNzIGRlbmllZAogLSBmaXggaW1w cm9wZXIgY2xlYW51cCBpbiBzZXZlcmFsIGVycm9yIGhhbmRsaW5nIGNvbmRpdGlvbnMKZGlm ZiAteCBDVlMgLXJ1cCBkYXp1a29mcy0zLjAuMC9jdHJsX2Rldi5jIGRhenVrb2ZzLTMuMC4w LXJjNF8yLjYuMjUvY3RybF9kZXYuYwotLS0gZGF6dWtvZnMtMy4wLjAvY3RybF9kZXYuYwky MDA5LTAyLTIyIDE3OjQ1OjIwLjAwMDAwMDAwMCArMDEwMAorKysgZGF6dWtvZnMtMy4wLjAt cmM0XzIuNi4yNS9jdHJsX2Rldi5jCTIwMDgtMTItMTIgMTk6MjA6MzAuMDAwMDAwMDAwICsw MTAwCkBAIC0xODMsNyArMTgzLDcgQEAgaW50IGRhenVrb2ZzX2N0cmxfZGV2X2luaXQoaW50 IGRldl9tYWpvcgogCiAJLyogY3JlYXRlIGNvbnRyb2wgZGV2aWNlICovCiAJZGV2ID0gZGV2 aWNlX2NyZWF0ZShkYXp1a29mc19jbGFzcywgTlVMTCwgTUtERVYoZGV2X21ham9yLCBkZXZf bWlub3IpLAotCQkJICAgIE5VTEwsICIlcy5jdHJsIiwgREVWSUNFX05BTUUpOworCQkJICAg ICIlcy5jdHJsIiwgREVWSUNFX05BTUUpOwogCWlmIChJU19FUlIoZGV2KSkgewogCQllcnIg PSBQVFJfRVJSKGRldik7CiAJCWdvdG8gZXJyb3Jfb3V0MjsKZGlmZiAteCBDVlMgLXJ1cCBk YXp1a29mcy0zLjAuMC9kYXp1a29mc19mcy5oIGRhenVrb2ZzLTMuMC4wLXJjNF8yLjYuMjUv ZGF6dWtvZnNfZnMuaAotLS0gZGF6dWtvZnMtMy4wLjAvZGF6dWtvZnNfZnMuaAkyMDA5LTAy LTIyIDE3OjQzOjExLjAwMDAwMDAwMCArMDEwMAorKysgZGF6dWtvZnMtMy4wLjAtcmM0XzIu Ni4yNS9kYXp1a29mc19mcy5oCTIwMDktMDctMDMgMTg6MDA6MzYuMDAwMDAwMDAwICswMjAw CkBAIC0zLDcgKzMsNyBAQAogICAgQ29weXJpZ2h0IChDKSAxOTk3LTIwMDQgRXJleiBaYWRv awogICAgQ29weXJpZ2h0IChDKSAyMDAxLTIwMDQgU3RvbnkgQnJvb2sgVW5pdmVyc2l0eQog ICAgQ29weXJpZ2h0IChDKSAyMDA0LTIwMDcgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNo aW5lcyBDb3JwLgotICAgQ29weXJpZ2h0IChDKSAyMDA4LTIwMDkgSm9obiBPZ25lc3MKKyAg IENvcHlyaWdodCAoQykgMjAwOCBKb2huIE9nbmVzcwogICAgICBBdXRob3I6IEpvaG4gT2du ZXNzIDxkYXp1a29jb2RlQG9nbmVzcy5uZXQ+CiAKICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTI0LDggKzI0 LDYgQEAKICNpZm5kZWYgX19EQVpVS09GU19GU19ICiAjZGVmaW5lIF9fREFaVUtPRlNfRlNf SAogCi0jZGVmaW5lIERBWlVLT0ZTX1ZFUlNJT04gIjMuMC4wIgotCiBleHRlcm4gc3RydWN0 IGttZW1fY2FjaGUgKmRhenVrb2ZzX2RlbnRyeV9pbmZvX2NhY2hlcDsKIGV4dGVybiBzdHJ1 Y3Qga21lbV9jYWNoZSAqZGF6dWtvZnNfZmlsZV9pbmZvX2NhY2hlcDsKIGV4dGVybiBzdHJ1 Y3QgZmlsZV9vcGVyYXRpb25zIGRhenVrb2ZzX21haW5fZm9wczsKZGlmZiAteCBDVlMgLXJ1 cCBkYXp1a29mcy0zLjAuMC9ldmVudC5jIGRhenVrb2ZzLTMuMC4wLXJjNF8yLjYuMjUvZXZl bnQuYwotLS0gZGF6dWtvZnMtMy4wLjAvZXZlbnQuYwkyMDA5LTAyLTIyIDE3OjQ0OjAzLjAw MDAwMDAwMCArMDEwMAorKysgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yNS9ldmVudC5jCTIw MDktMDctMDMgMTg6NTU6MDMuMDAwMDAwMDAwICswMjAwCkBAIC0yMyw3ICsyMyw2IEBACiAj aW5jbHVkZSA8bGludXgvZmlsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVk ZSA8bGludXgvbW91bnQuaD4KLSNpbmNsdWRlIDxsaW51eC9mcmVlemVyLmg+CiAKICNpbmNs dWRlICJkZXYuaCIKICNpbmNsdWRlICJkYXp1a29mc19mcy5oIgpAQCAtMTYyLDE2ICsxNjEs MjMgQEAgc3RhdGljIGludCBjYXB0dXJlX2dyb3VwX2NvdW50KGludCAqY2FjaAogCXJldHVy biBlcnI7CiB9CiAKLXN0YXRpYyBpbnQgZ2V0X2dyb3VwX2NvdW50KHZvaWQpCitzdGF0aWMg aW50IGdldF9ncm91cF9jb3VudF9pbnRlcnJ1cHRpYmxlKHZvaWQpCiB7CiAJaW50IGNhY2hl ID0gMDsKLQlpbnQgcmV0ID0gd2FpdF9ldmVudF9mcmVlemFibGUoX19ncm91cF9jb3VudF9x dWV1ZSwKLQkJCQkgICAgICAgY2FwdHVyZV9ncm91cF9jb3VudCgmY2FjaGUpID09IDApOwor CWludCByZXQgPSB3YWl0X2V2ZW50X2ludGVycnVwdGlibGUoX19ncm91cF9jb3VudF9xdWV1 ZSwKKwkJCQkgICAgICAgICAgIGNhcHR1cmVfZ3JvdXBfY291bnQoJmNhY2hlKSA9PSAwKTsK IAlpZiAocmV0ID09IDApCiAJCXJldCA9IF9fZ3JvdXBfY291bnQ7CiAJcmV0dXJuIHJldDsK IH0KIAorc3RhdGljIGludCBnZXRfZ3JvdXBfY291bnQodm9pZCkKK3sKKwlpbnQgY2FjaGUg PSAwOworCXdhaXRfZXZlbnQoX19ncm91cF9jb3VudF9xdWV1ZSwgY2FwdHVyZV9ncm91cF9j b3VudCgmY2FjaGUpID09IDApOworCXJldHVybiBfX2dyb3VwX2NvdW50OworfQorCiBzdGF0 aWMgdm9pZCBwdXRfZ3JvdXBfY291bnQodm9pZCkKIHsKIAltdXRleF9sb2NrKCZncm91cF9j b3VudF9tdXRleCk7CkBAIC0zOTksNyArNDA1LDcgQEAgaW50IGRhenVrb2ZzX2FkZF9ncm91 cChjb25zdCBjaGFyICpuYW1lLAogCWludCBhbHJlYWR5X2V4aXN0czsKIAlpbnQgYXZhaWxh YmxlX2lkID0gMDsKIAlzdHJ1Y3QgZGF6dWtvZnNfZ3JvdXAgKmdycDsKLQlpbnQgZ3JwX2Nv dW50ID0gZ2V0X2dyb3VwX2NvdW50KCk7CisJaW50IGdycF9jb3VudCA9IGdldF9ncm91cF9j b3VudF9pbnRlcnJ1cHRpYmxlKCk7CiAKIAlpZiAoZ3JwX2NvdW50IDwgMCkgewogCQlyZXQg PSBncnBfY291bnQ7CkBAIC00NDcsNyArNDUzLDcgQEAgaW50IGRhenVrb2ZzX3JlbW92ZV9n cm91cChjb25zdCBjaGFyICpuYQogCWludCByZXQgPSAwOwogCXN0cnVjdCBkYXp1a29mc19n cm91cCAqZ3JwOwogCXN0cnVjdCBsaXN0X2hlYWQgKnBvczsKLQlpbnQgZ3JwX2NvdW50ID0g Z2V0X2dyb3VwX2NvdW50KCk7CisJaW50IGdycF9jb3VudCA9IGdldF9ncm91cF9jb3VudF9p bnRlcnJ1cHRpYmxlKCk7CiAKIAlpZiAoZ3JwX2NvdW50IDwgMCkgewogCQlyZXQgPSBncnBf Y291bnQ7CkBAIC03MDEsMTEgKzcwNywxMCBAQCBpbnQgZGF6dWtvZnNfY2hlY2tfYWNjZXNz KHN0cnVjdCBkZW50cnkgCiB7CiAJc3RydWN0IGRhenVrb2ZzX2V2ZW50X2NvbnRhaW5lciAq ZWNfYXJyYXlbR1JPVVBfQ09VTlRdOwogCXN0cnVjdCBkYXp1a29mc19ldmVudCAqZXZ0Owot CWludCBncnBfY291bnQgPSBnZXRfZ3JvdXBfY291bnQoKTsKLQlpbnQgZXJyOworCWludCBn cnBfY291bnQ7CisJaW50IGVyciA9IDA7CiAKLQlpZiAoZ3JwX2NvdW50IDwgMCkKLQkJcmV0 dXJuIGdycF9jb3VudDsKKwlncnBfY291bnQgPSBnZXRfZ3JvdXBfY291bnQoKTsKIAogCWlm IChjaGVja19hY2Nlc3NfcHJlY2hlY2soZ3JwX2NvdW50KSkgewogCQlwdXRfZ3JvdXBfY291 bnQoKTsKQEAgLTcxMywzMiArNzE4LDI5IEBAIGludCBkYXp1a29mc19jaGVja19hY2Nlc3Mo c3RydWN0IGRlbnRyeSAKIAl9CiAKIAkvKiBhdCB0aGlzIHBvaW50LCB0aGUgYWNjZXNzIHNo b3VsZCBiZSBoYW5kbGVkICovCi0KIAlpZiAoYWxsb2NhdGVfZXZlbnRfYW5kX2NvbnRhaW5l cnMoJmV2dCwgZWNfYXJyYXksIGdycF9jb3VudCkpIHsKIAkJcHV0X2dyb3VwX2NvdW50KCk7 Ci0JCWVyciA9IC1FTk9NRU07Ci0JCWdvdG8gb3V0OworCQlyZXR1cm4gLUVOT01FTTsKIAl9 Ci0KIAlldnQtPmRlbnRyeSA9IGRnZXQoZGVudHJ5KTsKIAlldnQtPm1udCA9IG1udGdldCht bnQpOwogCWV2dC0+cGlkID0gY3VycmVudC0+cGlkOwotCiAJYXNzaWduX2V2ZW50X3RvX2dy b3VwcyhldnQsIGVjX2FycmF5KTsKIAogCXB1dF9ncm91cF9jb3VudCgpOwogCi0JLyogd2Fp dCB1bnRpbCBldmVudCBjb21wbGV0ZWx5IHByb2Nlc3NlZCBvciBzaWduYWwgKi8KLQllcnIg PSB3YWl0X2V2ZW50X2ZyZWV6YWJsZShldnQtPnF1ZXVlLCBldmVudF9hc3NpZ25lZChldnQp ID09IDApOworCS8qIHdhaXQgdW50aWwgZXZlbnQgY29tcGxldGVseSBwcm9jZXNzZWQgKi8K Kwl3YWl0X2V2ZW50KGV2dC0+cXVldWUsIGV2ZW50X2Fzc2lnbmVkKGV2dCkgPT0gMCk7CiAK IAlpZiAoZXZ0LT5kZW55KQogCQllcnIgPSAtRVBFUk07CiAKIAlyZWxlYXNlX2V2ZW50KGV2 dCwgMCwgMCk7Ci1vdXQ6CisJCiAJcmV0dXJuIGVycjsKIH0KIAorCiBpbnQgZGF6dWtvZnNf Z3JvdXBfb3Blbl90cmFja2luZyh1bnNpZ25lZCBsb25nIGdyb3VwX2lkKQogewogCXN0cnVj dCBkYXp1a29mc19ncm91cCAqZ3JwOwpAQCAtOTI4LDcgKzkzMCw4IEBAIHN0YXRpYyBpbnQg b3Blbl9maWxlKHN0cnVjdCBkYXp1a29mc19ldmUKIAkvKiBhZGQgbXlzZWxmIHRvIGJlIGln bm9yZWQgb24gZmlsZSBvcGVuICh0byBhdm9pZCByZWN1cnNpb24pICovCiAJbWFza19wcm9j KCZwcm9jKTsKIAotCWVjLT5maWxlID0gZGVudHJ5X29wZW4oZGdldChldnQtPmRlbnRyeSks IG1udGdldChldnQtPm1udCksIE9fUkRPTkxZKTsKKwllYy0+ZmlsZSA9IGRlbnRyeV9vcGVu KGRnZXQoZXZ0LT5kZW50cnkpLCBtbnRnZXQoZXZ0LT5tbnQpLCAKKwkJCSAgICAgICBPX1JE T05MWSB8IE9fTEFSR0VGSUxFKTsKIAlpZiAoSVNfRVJSKGVjLT5maWxlKSkgewogCQljaGVj a19yZWN1cnNpb24oKTsgIC8qIHJlbW92ZSBteXNlbGYgZnJvbSBwcm9jX2xpc3QgKi8KIAkJ cmV0ID0gUFRSX0VSUihlYy0+ZmlsZSk7CkBAIC0xMDA0LDkgKzEwMDcsOSBAQCBpbnQgZGF6 dWtvZnNfZ2V0X2V2ZW50KHVuc2lnbmVkIGxvbmcgZ3JvCiAJfQogCiAJd2hpbGUgKDEpIHsK LQkJcmV0ID0gd2FpdF9ldmVudF9mcmVlemFibGUoZ3JwLT5xdWV1ZSwKLQkJCQkJICAgaXNf ZXZlbnRfYXZhaWxhYmxlKGdycCkgfHwKLQkJCQkJICAgZ3JwLT5kZXByZWNhdGVkKTsKKwkJ cmV0ID0gd2FpdF9ldmVudF9pbnRlcnJ1cHRpYmxlKGdycC0+cXVldWUsCisJCQkJCSAgICAg ICBpc19ldmVudF9hdmFpbGFibGUoZ3JwKSB8fAorCQkJCQkgICAgICAgZ3JwLT5kZXByZWNh dGVkKTsKIAkJaWYgKHJldCAhPSAwKQogCQkJYnJlYWs7CiAKZGlmZiAteCBDVlMgLXJ1cCBk YXp1a29mcy0zLjAuMC9maWxlLmMgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yNS9maWxlLmMK LS0tIGRhenVrb2ZzLTMuMC4wL2ZpbGUuYwkyMDA5LTAyLTIyIDE3OjQzOjExLjAwMDAwMDAw MCArMDEwMAorKysgZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yNS9maWxlLmMJMjAwOS0wNy0w MyAxODo0ODo0OC4wMDAwMDAwMDAgKzAyMDAKQEAgLTE3NywxMCArMTc3LDExIEBAIHN0YXRp YyBpbnQgZGF6dWtvZnNfb3BlbihzdHJ1Y3QgaW5vZGUgKmkKIAlzdHJ1Y3QgZmlsZSAqbG93 ZXJfZmlsZTsKIAlpbnQgZXJyOwogCi0JZXJyID0gZGF6dWtvZnNfY2hlY2tfYWNjZXNzKGZp bGUtPmZfZGVudHJ5LCBmaWxlLT5mX3Zmc21udCk7Ci0JaWYgKGVycikKLQkJZ290byBlcnJv cl9vdXQxOwotCisJaWYgKFNfSVNSRUcoaW5vZGUtPmlfbW9kZSkpIHsKKwkJZXJyID0gZGF6 dWtvZnNfY2hlY2tfYWNjZXNzKGZpbGUtPmZfZGVudHJ5LCBmaWxlLT5mX3Zmc21udCk7CisJ CWlmIChlcnIpCisJCQlnb3RvIGVycm9yX291dDE7CisJfQogCVNFVF9GSUxFX0lORk8oZmls ZSwga21lbV9jYWNoZV96YWxsb2MoZGF6dWtvZnNfZmlsZV9pbmZvX2NhY2hlcCwKIAkJICAg ICAgR0ZQX0tFUk5FTCkpOwogCWlmICghR0VUX0ZJTEVfSU5GTyhmaWxlKSkgewpAQCAtMjcy LDYgKzI3MywyMCBAQCBvdXQ6CiAJcmV0dXJuIGVycjsKIH0KIAorc3RhdGljIGludCBkYXp1 a29mc19tbWFwIChzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2 bSkKK3sKKworCXN0cnVjdCBmaWxlICpsb3dlcl9maWxlID0gR0VUX0xPV0VSX0ZJTEUoZmls ZSk7CisKKwkvKiBpZiBsb3dlciBmcyBkb2VzIG5vdCBzdXBwb3J0IG1tYXAoKSwgd2UgZG9u dCBjYWxsIGdlbmVyaWNfZmlsZV9yZWFkb25seV9tbWFwKCksIAorCSAqIHNpbmNlIHRoaXMg d291bGQgcmVzdWx0IGluIGNhbGxpbmcgbG93ZXIgcmVhZHBhZ2UoKSwgd2hpY2ggbWlnaHQg bm90IGJlIAorCSAqIGRlZmluZWQgYnkgbG93ZXIgZnMgaWYgbW1hcCgpIGlzIG5vdCBzdXBw b3J0ZWQqLworCWlmICghbG93ZXJfZmlsZS0+Zl9vcCB8fCAhbG93ZXJfZmlsZS0+Zl9vcC0+ bW1hcCkgCisJCXJldHVybiAtRU5PREVWOworCQorCisJcmV0dXJuIGdlbmVyaWNfZmlsZV9y ZWFkb25seV9tbWFwKGZpbGUsIHZtKTsKK30KIC8qKgogICogVW51c2VkIG9wZXJhdGlvbnM6 CiAgKiAgIC0gb3duZXIKQEAgLTI5NSwxOCArMzEwLDE1IEBAIG91dDoKIHN0cnVjdCBmaWxl X29wZXJhdGlvbnMgZGF6dWtvZnNfbWFpbl9mb3BzID0gewogCS5sbHNlZWsJCT0gZGF6dWtv ZnNfbGxzZWVrLAogCS5yZWFkCQk9IGRhenVrb2ZzX3JlYWQsCi0JLmFpb19yZWFkCT0gZ2Vu ZXJpY19maWxlX2Fpb19yZWFkLAogCS53cml0ZQkJPSBkYXp1a29mc193cml0ZSwKLQkuYWlv X3dyaXRlCT0gZ2VuZXJpY19maWxlX2Fpb193cml0ZSwKIAkucmVhZGRpcgk9IGRhenVrb2Zz X3JlYWRkaXIsCiAJLmlvY3RsCQk9IGRhenVrb2ZzX2lvY3RsLAotCS5tbWFwCQk9IGdlbmVy aWNfZmlsZV9tbWFwLAorCS5tbWFwCQk9IGRhenVrb2ZzX21tYXAsCiAJLm9wZW4JCT0gZGF6 dWtvZnNfb3BlbiwKIAkuZmx1c2gJCT0gZGF6dWtvZnNfZmx1c2gsCiAJLnJlbGVhc2UJPSBk YXp1a29mc19yZWxlYXNlLAogCS5mc3luYwkJPSBkYXp1a29mc19mc3luYywKIAkuZmFzeW5j CQk9IGRhenVrb2ZzX2Zhc3luYywKLQkuc3BsaWNlX3JlYWQJPSBnZW5lcmljX2ZpbGVfc3Bs aWNlX3JlYWQsCiB9OwogCiAvKioKQEAgLTMzNSwxMSArMzQ3LDEwIEBAIHN0cnVjdCBmaWxl X29wZXJhdGlvbnMgZGF6dWtvZnNfbWFpbl9mb3AKIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJh dGlvbnMgZGF6dWtvZnNfZGlyX2ZvcHMgPSB7CiAJLnJlYWRkaXIJPSBkYXp1a29mc19yZWFk ZGlyLAogCS5pb2N0bAkJPSBkYXp1a29mc19pb2N0bCwKLQkubW1hcAkJPSBnZW5lcmljX2Zp bGVfbW1hcCwKKwkubW1hcAkJPSBkYXp1a29mc19tbWFwLAogCS5vcGVuCQk9IGRhenVrb2Zz X29wZW4sCiAJLmZsdXNoCQk9IGRhenVrb2ZzX2ZsdXNoLAogCS5yZWxlYXNlCT0gZGF6dWtv ZnNfcmVsZWFzZSwKIAkuZnN5bmMJCT0gZGF6dWtvZnNfZnN5bmMsCiAJLmZhc3luYwkJPSBk YXp1a29mc19mYXN5bmMsCi0JLnNwbGljZV9yZWFkCT0gZ2VuZXJpY19maWxlX3NwbGljZV9y ZWFkLAogfTsKZGlmZiAteCBDVlMgLXJ1cCBkYXp1a29mcy0zLjAuMC9ncm91cF9kZXYuYyBk YXp1a29mcy0zLjAuMC1yYzRfMi42LjI1L2dyb3VwX2Rldi5jCi0tLSBkYXp1a29mcy0zLjAu MC9ncm91cF9kZXYuYwkyMDA5LTAyLTIyIDE3OjQ1OjIwLjAwMDAwMDAwMCArMDEwMAorKysg ZGF6dWtvZnMtMy4wLjAtcmM0XzIuNi4yNS9ncm91cF9kZXYuYwkyMDA4LTEyLTEyIDE5OjIw OjMwLjAwMDAwMDAwMCArMDEwMApAQCAtMjEwLDcgKzIxMCw3IEBAIGludCBkYXp1a29mc19n cm91cF9kZXZfaW5pdChpbnQgZGV2X21ham8KIAkvKiBjcmVhdGUgZ3JvdXAgZGV2aWNlcyAq LwogCWZvciAoaSA9IDA7IGkgPCBHUk9VUF9DT1VOVDsgaSsrKSB7CiAJCWRldiA9IGRldmlj ZV9jcmVhdGUoZGF6dWtvZnNfY2xhc3MsIE5VTEwsCi0JCQkJICAgIE1LREVWKGRldl9tYWpv ciwgZGV2X21pbm9yX2VuZCksIE5VTEwsCisJCQkJICAgIE1LREVWKGRldl9tYWpvciwgZGV2 X21pbm9yX2VuZCksCiAJCQkJICAgICIlcy4lZCIsIERFVklDRV9OQU1FLCBpKTsKIAkJaWYg KElTX0VSUihkZXYpKSB7CiAJCQllcnIgPSBQVFJfRVJSKGRldik7CmRpZmYgLXggQ1ZTIC1y dXAgZGF6dWtvZnMtMy4wLjAvaWduX2Rldi5jIGRhenVrb2ZzLTMuMC4wLXJjNF8yLjYuMjUv aWduX2Rldi5jCi0tLSBkYXp1a29mcy0zLjAuMC9pZ25fZGV2LmMJMjAwOS0wMi0yMiAxNzo0 NToyMC4wMDAwMDAwMDAgKzAxMDAKKysrIGRhenVrb2ZzLTMuMC4wLXJjNF8yLjYuMjUvaWdu X2Rldi5jCTIwMDgtMTItMTIgMTk6MjA6MzAuMDAwMDAwMDAwICswMTAwCkBAIC0xNTksNyAr MTU5LDcgQEAgaW50IGRhenVrb2ZzX2lnbl9kZXZfaW5pdChpbnQgZGV2X21ham9yLAogCiAJ LyogY3JlYXRlIGlnbm9yZSBkZXZpY2UgKi8KIAlkZXYgPSBkZXZpY2VfY3JlYXRlKGRhenVr b2ZzX2NsYXNzLCBOVUxMLCBNS0RFVihkZXZfbWFqb3IsIGRldl9taW5vciksCi0JCQkgICAg TlVMTCwgIiVzLmlnbiIsIERFVklDRV9OQU1FKTsKKwkJCSAgICAiJXMuaWduIiwgREVWSUNF X05BTUUpOwogCWlmIChJU19FUlIoZGV2KSkgewogCQllcnIgPSBQVFJfRVJSKGRldik7CiAJ CWdvdG8gZXJyb3Jfb3V0MzsKZGlmZiAteCBDVlMgLXJ1cCBkYXp1a29mcy0zLjAuMC9pbm9k ZS5jIGRhenVrb2ZzLTMuMC4wLXJjNF8yLjYuMjUvaW5vZGUuYwotLS0gZGF6dWtvZnMtMy4w LjAvaW5vZGUuYwkyMDA5LTAyLTIyIDE3OjQ2OjAyLjAwMDAwMDAwMCArMDEwMAorKysgZGF6 dWtvZnMtMy4wLjAtcmM0XzIuNi4yNS9pbm9kZS5jCTIwMDktMDctMDMgMTg6Mzk6MjEuMDAw MDAwMDAwICswMjAwCkBAIC00NywxNCArNDcsMjggQEAgc3RhdGljIGludCBkYXp1a29mc19p bm9kZV90ZXN0KHN0cnVjdCBpbgogCiBzdGF0aWMgdm9pZCBkYXp1a29mc19pbml0X2lub2Rl KHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBpbm9kZSAqbG93ZXJfaW5vZGUpCiB7Ci0J U0VUX0xPV0VSX0lOT0RFKGlub2RlLCBsb3dlcl9pbm9kZSk7Ci0JaW5vZGUtPmlfaW5vID0g bG93ZXJfaW5vZGUtPmlfaW5vOwotCWlub2RlLT5pX3ZlcnNpb24rKzsKLQlpbm9kZS0+aV9v cCA9ICZkYXp1a29mc19tYWluX2lvcHM7Ci0JaW5vZGUtPmlfZm9wID0gJmRhenVrb2ZzX21h aW5fZm9wczsKLQlpbm9kZS0+aV9tYXBwaW5nLT5hX29wcyA9ICZkYXp1a29mc19hb3BzOwor ICAgICAgICBTRVRfTE9XRVJfSU5PREUoaW5vZGUsIGxvd2VyX2lub2RlKTsKKyAgICAgICAg aW5vZGUtPmlfaW5vID0gbG93ZXJfaW5vZGUtPmlfaW5vOworICAgICAgICBpbm9kZS0+aV92 ZXJzaW9uKys7CisKKyAgICAgICAgaWYgKFNfSVNESVIobG93ZXJfaW5vZGUtPmlfbW9kZSkp IHsKKyAgICAgICAgICAgICAgICBpbm9kZS0+aV9vcCA9ICZkYXp1a29mc19kaXJfaW9wczsK KyAgICAgICAgICAgICAgICBpbm9kZS0+aV9mb3AgPSAmZGF6dWtvZnNfZGlyX2ZvcHM7Cisg ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaW5vZGUtPmlfb3AgPSAmZGF6dWtv ZnNfbWFpbl9pb3BzOworICAgICAgICAgICAgICAgIGlub2RlLT5pX2ZvcCA9ICZkYXp1a29m c19tYWluX2ZvcHM7CisKKyAgICAgICAgICAgICAgICBpZiAoU19JU0xOSyhsb3dlcl9pbm9k ZS0+aV9tb2RlKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlub2RlLT5pX29wID0gJmRh enVrb2ZzX3N5bWxpbmtfaW9wczsKKyAgICAgICAgICAgICAgICBlbHNlICBpZiAoc3BlY2lh bF9maWxlKGxvd2VyX2lub2RlLT5pX21vZGUpKSB7CisgICAgICAgICAgICAgICAgICAgICAg ICBpbml0X3NwZWNpYWxfaW5vZGUoaW5vZGUsIGxvd2VyX2lub2RlLT5pX21vZGUsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG93ZXJfaW5vZGUtPmlf cmRldik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGlub2RlLT5p X21hcHBpbmctPmFfb3BzID0gJmRhenVrb2ZzX2FvcHM7CiB9CiAKKwogc3RhdGljIGludCBk YXp1a29mc19pbm9kZV9zZXQoc3RydWN0IGlub2RlICppbm9kZSwgdm9pZCAqbG93ZXJfaW5v ZGUpCiB7CiAJZGF6dWtvZnNfaW5pdF9pbm9kZShpbm9kZSwgKHN0cnVjdCBpbm9kZSAqKWxv d2VyX2lub2RlKTsKQEAgLTYyLDcyICs3NiwxMTcgQEAgc3RhdGljIGludCBkYXp1a29mc19p bm9kZV9zZXQoc3RydWN0IGlubwogfQogCiBpbnQgZGF6dWtvZnNfaW50ZXJwb3NlKHN0cnVj dCBkZW50cnkgKmxvd2VyX2RlbnRyeSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LAotCQkgICAg IHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIGludCBmbGFnKQorCQkgICAgIHN0cnVjdCBzdXBl cl9ibG9jayAqc2IsIGludCBoYXNoKQogewogCXN0cnVjdCBpbm9kZSAqaW5vZGU7Ci0Jc3Ry dWN0IGlub2RlICpsb3dlcl9pbm9kZSA9IGlncmFiKGxvd2VyX2RlbnRyeS0+ZF9pbm9kZSk7 Ci0JaW50IGVyciA9IDA7CisJc3RydWN0IGlub2RlICpsb3dlcl9pbm9kZTsKKwlpbnQgZXJy OwogCi0JaWYgKCFsb3dlcl9pbm9kZSkgewotCQllcnIgPSAtRVNUQUxFOwotCQlnb3RvIG91 dDsKLQl9CisJbG93ZXJfaW5vZGUgPSBpZ3JhYihsb3dlcl9kZW50cnktPmRfaW5vZGUpOwog Ci0JaWYgKGxvd2VyX2lub2RlLT5pX3NiICE9IEdFVF9MT1dFUl9TQihzYikpIHsKLQkJaXB1 dChsb3dlcl9pbm9kZSk7Ci0JCWVyciA9IC1FWERFVjsKLQkJZ290byBvdXQ7Ci0JfQorCWlm ICghbG93ZXJfaW5vZGUpIAorCQlyZXR1cm4gLUVTVEFMRTsKIAogCWlub2RlID0gaWdldDVf bG9ja2VkKHNiLCAodW5zaWduZWQgbG9uZylsb3dlcl9pbm9kZSwKIAkJCSAgICAgZGF6dWtv ZnNfaW5vZGVfdGVzdCwgZGF6dWtvZnNfaW5vZGVfc2V0LAogCQkJICAgICBsb3dlcl9pbm9k ZSk7Ci0KIAlpZiAoIWlub2RlKSB7Ci0JCWlwdXQobG93ZXJfaW5vZGUpOwogCQllcnIgPSAt RUFDQ0VTOwotCQlnb3RvIG91dDsKKwkJZ290byBlcnI7CiAJfQogCi0JaWYgKGlub2RlLT5p X3N0YXRlICYgSV9ORVcpIHsKKwlpZiAoaW5vZGUtPmlfc3RhdGUgJiBJX05FVykgCiAJCXVu bG9ja19uZXdfaW5vZGUoaW5vZGUpOwogCQkvKgogCQkgKiBUaGlzIGlzIGEgbmV3IG5vZGUg c28gd2UgbGVhdmUgdGhlIGxvd2VyX25vZGUgImluIHVzZSIKIAkJICogYW5kIGRvIG5vdCBj YWxsIGlwdXQoKS4KIAkJICovCi0JfSBlbHNlIHsKKwllbHNlIAogCQkvKgogCQkgKiBUaGlz IGlzIG5vdCBhIG5ldyBub2RlIHNvIHdlIGRlY3JlbWVudCB0aGUgdXNhZ2UgY291bnQuCiAJ CSAqLwogCQlpcHV0KGxvd2VyX2lub2RlKTsKLQl9CiAKLQlpZiAoU19JU0xOSyhsb3dlcl9p bm9kZS0+aV9tb2RlKSkKLQkJaW5vZGUtPmlfb3AgPSAmZGF6dWtvZnNfc3ltbGlua19pb3Bz OwotCWVsc2UgaWYgKFNfSVNESVIobG93ZXJfaW5vZGUtPmlfbW9kZSkpCi0JCWlub2RlLT5p X29wID0gJmRhenVrb2ZzX2Rpcl9pb3BzOwotCi0JaWYgKFNfSVNESVIobG93ZXJfaW5vZGUt PmlfbW9kZSkpCi0JCWlub2RlLT5pX2ZvcCA9ICZkYXp1a29mc19kaXJfZm9wczsKLQotCWlm IChzcGVjaWFsX2ZpbGUobG93ZXJfaW5vZGUtPmlfbW9kZSkpIHsKLQkJaW5pdF9zcGVjaWFs X2lub2RlKGlub2RlLCBsb3dlcl9pbm9kZS0+aV9tb2RlLAotCQkJCSAgIGxvd2VyX2lub2Rl LT5pX3JkZXYpOwotCX0KLQotCWRlbnRyeS0+ZF9vcCA9ICZkYXp1a29mc19kb3BzOwogCi0J aWYgKGZsYWcpCisJaWYgKGhhc2gpCiAJCWRfYWRkKGRlbnRyeSwgaW5vZGUpOwogCWVsc2UK IAkJZF9pbnN0YW50aWF0ZShkZW50cnksIGlub2RlKTsKIAogCWZzc3RhY2tfY29weV9hdHRy X2FsbChpbm9kZSwgbG93ZXJfaW5vZGUsIE5VTEwpOwogCWZzc3RhY2tfY29weV9pbm9kZV9z aXplKGlub2RlLCBsb3dlcl9pbm9kZSk7Ci1vdXQ6CisKKwlyZXR1cm4gMDsKK2VycjoKKwlp cHV0KGxvd2VyX2lub2RlKTsKIAlyZXR1cm4gZXJyOwogfQogCisvKiBjcmVhdGVzIGEgbmV3 IGxvd2VyIGRlbnRyeSAqLworc3RhdGljIHN0cnVjdCBkZW50cnkgKmRhenVrb2ZzX25ld19s b3dlcl9kZW50cnkoc3RydWN0IHFzdHIgKm5hbWUsCisJCQkJCQlzdHJ1Y3QgZGVudHJ5ICps b3dlcl9iYXNlLCAKKwkJCQkJCXN0cnVjdCBuYW1laWRhdGEgKm5kKQoreworCXN0cnVjdCBk ZW50cnkgKm5ld19kZW50cnk7CisJc3RydWN0IGRlbnRyeSAqdG1wOworCXN0cnVjdCBpbm9k ZSAqbG93ZXJfaW5vZGU7CisKKwlsb3dlcl9pbm9kZSA9IGxvd2VyX2Jhc2UtPmRfaW5vZGU7 CisJLyogWFhYOiBpcyB0aGlzIGNoZWNrIHN0aWxsIG5lY2Vzc2FyeT8gKHNlZSBfX2xvb2t1 cF9oYXNoKCkpCisJICAgVGhpcyBpcyAoaG9wZWx5KSBwcm90ZWN0ZWQgYnkgbG9ja2VkIHVw cGVyIGlub2RlICovCisJaWYgKElTX0RFQURESVIobG93ZXJfaW5vZGUpKSB7CisJCW5ld19k ZW50cnkgPSBFUlJfUFRSKC1FTk9FTlQpOworCQlnb3RvIG91dDsKKwl9CisJdG1wID0gZF9h bGxvYyhsb3dlcl9iYXNlLCBuYW1lKTsKKwlpZiAoIXRtcCkgeworCQluZXdfZGVudHJ5ID0g RVJSX1BUUigtRU5PTUVNKTsKKwkJZ290byBvdXQ7CisJfQorCW5ld19kZW50cnkgPSBsb3dl cl9pbm9kZS0+aV9vcC0+bG9va3VwKGxvd2VyX2lub2RlLCB0bXAsIG5kKTsKKwkvKiBsb29r dXAoKSBzZWVtaW5nbHkgaXMgYWxsb3dlZCB0byByZXR1cm4gaXRzIG93biBkZW50cnkgKHdo aWNoIAorCSAqIG1heSBpbmRlZWQgYmUgYSBkZW50cnkgb3Igb25seSBhbiBlcnJvcikuIElm IHNvCisJICogd2UgdXNlIGl0IGFuZCBkaXNjYXJkIG91cnMuIE90aGVyd2lzZSB3ZSB1c2Ug b3VycyAqLyAKKwlpZiAoIW5ld19kZW50cnkpIAorCQluZXdfZGVudHJ5ID0gdG1wOworCWVs c2UgCisJCWRwdXQodG1wKTsKKwkJCitvdXQ6CQkKKwlyZXR1cm4gbmV3X2RlbnRyeTsKK30K KworCisvKiBnZXQgbG93ZXIgZGVudHJ5IGZvciBnaXZlbiBuYW1lICovCitzdGF0aWMgc3Ry dWN0IGRlbnRyeSAqZGF6dWtvZnNfbG9va3VwX29uZV9sb3dlcihzdHJ1Y3QgcXN0ciAqbmFt ZSwgCisJCQkJCQlzdHJ1Y3QgZGVudHJ5ICpsb3dlcl9iYXNlLAorCQkJCQkJc3RydWN0IHZm c21vdW50ICpsb3dlcl9tbnQpCit7CisJc3RydWN0IGRlbnRyeSAqcmVzdWx0OworCXN0cnVj dCBuYW1laWRhdGEgbmQ7CisJaW50IGVycjsKKworCWVyciA9IHZmc19wYXRoX2xvb2t1cChs b3dlcl9iYXNlLCBsb3dlcl9tbnQsIG5hbWUtPm5hbWUsIDAsICZuZCk7CisKKwlpZiAoIWVy cikgeworCQkvKiBpbm9kZSBhbHJlYWR5IGV4aXN0cyBvbiBkaXNrICovCisJCXJlc3VsdCA9 IG5kLnBhdGguZGVudHJ5OworCQkvKiB3ZSBkb250IG5lZWQgdGhlIG1vdW50ICovCisJCW1u dHB1dChuZC5wYXRoLm1udCk7CisJCWdvdG8gb3V0OworCX0KKwlpZiAoZXJyICE9IC1FTk9F TlQpIHsgLyogdGhpcyBpcyBhIFJFQUwgZXJyb3IgKi8JCisJCXJlc3VsdCA9IEVSUl9QVFIo ZXJyKTsKKwkJZ290byBvdXQ7CisJfQkKKwkvKiBjcmVhdGUgYSBuZXcgKGxvd2VyKSBkZW50 cnkgKi8KKwlyZXN1bHQgPSBkYXp1a29mc19uZXdfbG93ZXJfZGVudHJ5KG5hbWUsIGxvd2Vy X2Jhc2UsICZuZCk7CitvdXQ6CisJcmV0dXJuIHJlc3VsdDsKKworfQorCisKIC8qKgogICog RGVzY3JpcHRpb246IENhbGxlZCB3aGVuIHRoZSBWRlMgbmVlZHMgdG8gbG9vayB1cCBhbiBp bm9kZSBpbiBhIHBhcmVudAogICogZGlyZWN0b3J5LiBUaGUgbmFtZSB0byBsb29rIGZvciBp cyBmb3VuZCBpbiB0aGUgZGVudHJ5LiBUaGlzIG1ldGhvZApAQCAtMTQ4LDYyICsyMDcsNDgg QEAgc3RhdGljIHN0cnVjdCBkZW50cnkgKmRhenVrb2ZzX2xvb2t1cChzdAogCXN0cnVjdCBk ZW50cnkgKmxvd2VyX2RlbnRyeTsKIAlzdHJ1Y3QgZGVudHJ5ICpsb3dlcl9kZW50cnlfcGFy ZW50OwogCXN0cnVjdCB2ZnNtb3VudCAqbG93ZXJfbW50OwotCWludCBlcnIgPSAwOwotCi0J aWYgKChkZW50cnktPmRfbmFtZS5sZW4gPT0gMSAmJiAhc3RyY21wKGRlbnRyeS0+ZF9uYW1l Lm5hbWUsICIuIikpCi0JICAgIHx8IChkZW50cnktPmRfbmFtZS5sZW4gPT0gMiAmJgotCQkh c3RyY21wKGRlbnRyeS0+ZF9uYW1lLm5hbWUsICIuLiIpKSkgewotCQlkX2Ryb3AoZGVudHJ5 KTsKLQkJZ290byBvdXQ7Ci0JfQotCi0JZGVudHJ5LT5kX29wID0gJmRhenVrb2ZzX2RvcHM7 CisJaW50IGVycjsKIAogCWxvd2VyX2RlbnRyeV9wYXJlbnQgPSBHRVRfTE9XRVJfREVOVFJZ KGRlbnRyeS0+ZF9wYXJlbnQpOwotCWxvd2VyX2RlbnRyeSA9IGxvb2t1cF9vbmVfbGVuKGRl bnRyeS0+ZF9uYW1lLm5hbWUsIGxvd2VyX2RlbnRyeV9wYXJlbnQsCi0JCQkJICAgICAgZGVu dHJ5LT5kX25hbWUubGVuKTsKKwkvKiBzaG91bGQgYmUgcmVsZWFzZWQgaW4gZF9yZWxlYXNl KCkgKi8KKwlsb3dlcl9tbnQgPSBtbnRnZXQoR0VUX0xPV0VSX01OVChkZW50cnktPmRfcGFy ZW50KSk7CiAKKwlsb3dlcl9kZW50cnkgPSBkYXp1a29mc19sb29rdXBfb25lX2xvd2VyKCZk ZW50cnktPmRfbmFtZSwgCisJCQkJCQkgbG93ZXJfZGVudHJ5X3BhcmVudCwgCisJCQkJCQkg bG93ZXJfbW50KTsgCiAJaWYgKElTX0VSUihsb3dlcl9kZW50cnkpKSB7Ci0JCWVyciA9IFBU Ul9FUlIobG93ZXJfZGVudHJ5KTsKLQkJZF9kcm9wKGRlbnRyeSk7Ci0JCWdvdG8gb3V0Owor CQltbnRwdXQobG93ZXJfbW50KTsKKwkJcmV0dXJuIGxvd2VyX2RlbnRyeTsKIAl9Ci0KIAlC VUdfT04oIWF0b21pY19yZWFkKCZsb3dlcl9kZW50cnktPmRfY291bnQpKTsKIAorCWRlbnRy eS0+ZF9vcCA9ICZkYXp1a29mc19kb3BzOwogCVNFVF9ERU5UUllfSU5GTyhkZW50cnksIGtt ZW1fY2FjaGVfemFsbG9jKGRhenVrb2ZzX2RlbnRyeV9pbmZvX2NhY2hlcCwKIAkJCUdGUF9L RVJORUwpKTsKIAogCWlmICghR0VUX0RFTlRSWV9JTkZPKGRlbnRyeSkpIHsKLQkJZXJyID0g LUVOT01FTTsKLQkJZ290byBvdXRfZHB1dDsKKwkJbW50cHV0KGxvd2VyX21udCk7CisJCWRw dXQobG93ZXJfZGVudHJ5KTsKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CiAJfQotCi0J bG93ZXJfbW50ID0gbW50Z2V0KEdFVF9MT1dFUl9NTlQoZGVudHJ5LT5kX3BhcmVudCkpOwot Ci0JZnNzdGFja19jb3B5X2F0dHJfYXRpbWUoZGlyLCBsb3dlcl9kZW50cnlfcGFyZW50LT5k X2lub2RlKTsKLQogCVNFVF9MT1dFUl9ERU5UUlkoZGVudHJ5LCBsb3dlcl9kZW50cnksIGxv d2VyX21udCk7Ci0KKwkvKiBmcm9tIG5vdyBsb3dlciBkZW50cnkgYW5kIGxvd2VyIG1vdW50 IGFyZSByZWxlYXNlZCBpbiAKKwkgIGRfcmVsZWFzZSBvZiB1cHBlciBkZW50cnkgKi8KKwlm c3N0YWNrX2NvcHlfYXR0cl9hdGltZShkaXIsIGxvd2VyX2RlbnRyeV9wYXJlbnQtPmRfaW5v ZGUpOwogCWlmICghbG93ZXJfZGVudHJ5LT5kX2lub2RlKSB7CiAJCS8qCiAJCSAqIFdlIHdh bnQgdG8gYWRkIGJlY2F1c2Ugd2UgY291bGQgbm90IGZpbmQgaW4gbG93ZXIuCiAJCSAqLwog CQlkX2FkZChkZW50cnksIE5VTEwpOwotCQlnb3RvIG91dDsKKwkJZ290byBvazsKIAl9CiAK IAllcnIgPSBkYXp1a29mc19pbnRlcnBvc2UobG93ZXJfZGVudHJ5LCBkZW50cnksIGRpci0+ aV9zYiwgMSk7Ci0JaWYgKGVycikKLQkJZ290byBvdXRfZHB1dDsKLQlnb3RvIG91dDsKLQot b3V0X2RwdXQ6Ci0JZHB1dChsb3dlcl9kZW50cnkpOwotCWRfZHJvcChkZW50cnkpOworCWlm IChlcnIpIAorCQlyZXR1cm4gRVJSX1BUUihlcnIpOwogCi1vdXQ6Ci0JcmV0dXJuIEVSUl9Q VFIoZXJyKTsKK29rOgorCXJldHVybiBOVUxMOyAvKiB0ZWxsIGNhbGxlciB0byB1c2UgaXRz IG93biwgcGFzc2VkIGRlbnRyeSwgbm90IG91cnMgKi8KIH0KIAogLyoqCkBAIC0zNDAsNyAr Mzg1LDggQEAgc3RhdGljIGludCBkYXp1a29mc19zeW1saW5rKHN0cnVjdCBpbm9kZQogCW11 dGV4X2xvY2tfbmVzdGVkKCYobG93ZXJfZGVudHJ5X3BhcmVudF9pbm9kZS0+aV9tdXRleCks CiAJCQkgIElfTVVURVhfUEFSRU5UKTsKIAotCWVyciA9IHZmc19zeW1saW5rKGxvd2VyX2Rl bnRyeV9wYXJlbnRfaW5vZGUsIGxvd2VyX2RlbnRyeSwgc3ltbmFtZSk7CisJZXJyID0gdmZz X3N5bWxpbmsobG93ZXJfZGVudHJ5X3BhcmVudF9pbm9kZSwgbG93ZXJfZGVudHJ5LCBzeW1u YW1lLAorCQkJICBTX0lBTExVR08pOwogCWlmIChlcnIpCiAJCWdvdG8gb3V0OwogCkBAIC00 NTIsOSArNDk4LDM3IEBAIHN0YXRpYyB2b2lkIGRhenVrb2ZzX3B1dF9saW5rKHN0cnVjdCBk ZW4KICAqIERlc2NyaXB0aW9uOiBDYWxsZWQgYnkgdGhlIFZGUyB0byBjaGVjayBmb3IgYWNj ZXNzIHJpZ2h0cyBvbiBhCiAgKiBQT1NJWC1saWtlIGZpbGVzeXN0ZW0uCiAgKi8KLXN0YXRp YyBpbnQgZGF6dWtvZnNfcGVybWlzc2lvbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgbWFz aykKK3N0YXRpYyBpbnQgZGF6dWtvZnNfcGVybWlzc2lvbihzdHJ1Y3QgaW5vZGUgKmlub2Rl LCBpbnQgbWFzaywKKwkJCSAgICAgICBzdHJ1Y3QgbmFtZWlkYXRhICpuZCkKIHsKLQlyZXR1 cm4gaW5vZGVfcGVybWlzc2lvbihHRVRfTE9XRVJfSU5PREUoaW5vZGUpLCBtYXNrKTsKKwlz dHJ1Y3QgdmZzbW91bnQgKmxvd2VyX21udCA9IE5VTEw7CisJc3RydWN0IGRlbnRyeSAqbG93 ZXJfZGVudHJ5ID0gTlVMTDsKKwlzdHJ1Y3QgdmZzbW91bnQgKnZmc21udF9zYXZlID0gTlVM TDsKKwlzdHJ1Y3QgZGVudHJ5ICpkZW50cnlfc2F2ZSA9IE5VTEw7CisJaW50IGVycjsKKwor CWlmIChuZCkgeworCQlsb3dlcl9tbnQgPSBHRVRfTE9XRVJfTU5UKG5kLT5wYXRoLmRlbnRy eSk7CisJCWxvd2VyX2RlbnRyeSA9IEdFVF9MT1dFUl9ERU5UUlkobmQtPnBhdGguZGVudHJ5 KTsKKworCQl2ZnNtbnRfc2F2ZSA9IG5kLT5wYXRoLm1udDsKKwkJZGVudHJ5X3NhdmUgPSBu ZC0+cGF0aC5kZW50cnk7CisKKwkJbmQtPnBhdGgubW50ID0gbW50Z2V0KGxvd2VyX21udCk7 CisJCW5kLT5wYXRoLmRlbnRyeSA9IGRnZXQobG93ZXJfZGVudHJ5KTsKKwl9CisKKwllcnIg PSBwZXJtaXNzaW9uKEdFVF9MT1dFUl9JTk9ERShpbm9kZSksIG1hc2ssIG5kKTsKKworCWlm IChuZCkgeworCQltbnRwdXQobG93ZXJfbW50KTsKKwkJZHB1dChsb3dlcl9kZW50cnkpOwor CisJCW5kLT5wYXRoLm1udCA9IHZmc21udF9zYXZlOworCQluZC0+cGF0aC5kZW50cnkgPSBk ZW50cnlfc2F2ZTsKKwl9CisKKyAgICAgICAgcmV0dXJuIGVycjsKIH0KIAogLyoqCkBAIC00 NjgsMTQgKzU0MiwyNyBAQCBzdGF0aWMgaW50IGRhenVrb2ZzX3NldGF0dHIoc3RydWN0IGRl bnRyCiAJc3RydWN0IGlub2RlICpsb3dlcl9pbm9kZSA9IEdFVF9MT1dFUl9JTk9ERShpbm9k ZSk7CiAJaW50IGVycjsKIAotCWVyciA9IG5vdGlmeV9jaGFuZ2UobG93ZXJfZGVudHJ5LCBp YSk7CiAKLQlmc3N0YWNrX2NvcHlfYXR0cl9hbGwoaW5vZGUsIGxvd2VyX2lub2RlLCBOVUxM KTsKLQlmc3N0YWNrX2NvcHlfaW5vZGVfc2l6ZShpbm9kZSwgbG93ZXJfaW5vZGUpOworCWlm ICghbG93ZXJfaW5vZGUtPmlfb3AgfHwgIWxvd2VyX2lub2RlLT5pX29wLT5zZXRhdHRyKSAK KwkJLyogWFhYOiBhdCB0aGlzIHBvaW50IGl0IGlzIHRvbyBsYXRlIHRvIGhhbmRsZSBpbm9k ZXMgcHJvcGVybHkgdGhhdCBkbyBOT1QKKwkJc3BlY2lmeSBzZXRhdHRyKCkuIFZGUyB3b3Vs ZCBub3JtYWxseSBjYWxsIGlub2RlX3NldGF0dHIoKSBpbiAKKwkJdGhpcyBjYXNlLiBTbyB0 byBmb3JjZSB0aGlzIHdlIGp1bXAgYmFjayB0byBub3RpZnlfY2hhbmdlIHdoaWNoIHdpbGwK KwkJaGFuZGxlIHRoaXMgZm9yIHVzLiBCdXQgdGhpcyBpcyBkYW5nZXJvdXM6CisJCVRoZSBh dHRyaWJ1dGVzIG1pZ2h0IGJlIG1vZGlmaWVkIGJ5IG5vdGlmeV9jaGFuZ2UoKSBpbiBhIHdh eQorCQl0aGF0IHJlc3VsdHMgaW4gaW52YWxpZCBhdHRyaWJ1dGVzLiBUaGlzIHNlZW1zIHRv IGJlIHRoZSBjYXNlCisJCWlmIHRoZSBpbm9kZSBmb3Igd2hpY2ggdGhpcyBmdW5jdGlvbiBp cyBjYWxsZWQgaGFzIHRoZSBzZXR1aWQKKwkJb3Igc2V0Z2lkIGJpdCBzZXQgKi8gCisJCWVy ciA9IG5vdGlmeV9jaGFuZ2UobG93ZXJfZGVudHJ5LCBpYSk7CisJZWxzZSAKKwkJZXJyID0g bG93ZXJfaW5vZGUtPmlfb3AtPnNldGF0dHIobG93ZXJfZGVudHJ5LCBpYSk7CisJCisJaWYg KCFlcnIpIHsKKwkJZnNzdGFja19jb3B5X2F0dHJfYWxsKGlub2RlLCBsb3dlcl9pbm9kZSwg TlVMTCk7CisJCWZzc3RhY2tfY29weV9pbm9kZV9zaXplKGlub2RlLCBsb3dlcl9pbm9kZSk7 CisJfSAKIAogCXJldHVybiBlcnI7CiB9Ci0KIC8qKgogICogRGVzY3JpcHRpb246IENhbGxl ZCBieSB0aGUgVkZTIHRvIHNldCBhbiBleHRlbmRlZCBhdHRyaWJ1dGUgZm9yIGEgZmlsZS4K ICAqIEV4dGVuZGVkIGF0dHJpYnV0ZSBpcyBhIG5hbWU6dmFsdWUgcGFpciBhc3NvY2lhdGVk IHdpdGggYW4gaW5vZGUuIFRoaXMKQEAgLTQ5Niw3ICs1ODMsNyBAQCBzdGF0aWMgaW50IGRh enVrb2ZzX3NldHhhdHRyKHN0cnVjdCBkZW50CiAKIAlpZiAoIWxvd2VyX2RlbnRyeV9pbm9k ZS0+aV9vcCB8fAogCSAgICAhbG93ZXJfZGVudHJ5X2lub2RlLT5pX29wLT5zZXR4YXR0cikg ewotCQllcnIgPSAtRU5PU1lTOworCQllcnIgPSAtRU9QTk9UU1VQUDsKIAkJZ290byBvdXQ7 CiAJfQogCkBAIC01MjgsNyArNjE1LDcgQEAgc3RhdGljIHNzaXplX3QgZGF6dWtvZnNfZ2V0 eGF0dHIoc3RydWN0IAogCiAJaWYgKCFsb3dlcl9kZW50cnlfaW5vZGUtPmlfb3AgfHwKIAkg ICAgIWxvd2VyX2RlbnRyeV9pbm9kZS0+aV9vcC0+Z2V0eGF0dHIpIHsKLQkJZXJyID0gLUVO T1NZUzsKKwkJZXJyID0gLUVPUE5PVFNVUFA7CiAJCWdvdG8gb3V0OwogCX0KIApAQCAtNTU3 LDcgKzY0NCw3IEBAIHN0YXRpYyBzc2l6ZV90IGRhenVrb2ZzX2xpc3R4YXR0cihzdHJ1Y3QK IAogCWlmICghbG93ZXJfZGVudHJ5X2lub2RlLT5pX29wIHx8CiAJICAgICFsb3dlcl9kZW50 cnlfaW5vZGUtPmlfb3AtPmxpc3R4YXR0cikgewotCQllcnIgPSAtRU5PU1lTOworCQllcnIg PSAtRU9QTk9UU1VQUDsKIAkJZ290byBvdXQ7CiAJfQogCkBAIC01ODQsNyArNjcxLDcgQEAg c3RhdGljIGludCBkYXp1a29mc19yZW1vdmV4YXR0cihzdHJ1Y3QgZAogCiAJaWYgKCFsb3dl cl9kZW50cnlfaW5vZGUtPmlfb3AgfHwKIAkgICAgIWxvd2VyX2RlbnRyeV9pbm9kZS0+aV9v cC0+cmVtb3ZleGF0dHIpIHsKLQkJZXJyID0gLUVOT1NZUzsKKwkJZXJyID0gLUVPUE5PVFNV UFA7CiAJCWdvdG8gb3V0OwogCX0KIApkaWZmIC14IENWUyAtcnVwIGRhenVrb2ZzLTMuMC4w L01ha2VmaWxlIGRhenVrb2ZzLTMuMC4wLXJjNF8yLjYuMjUvTWFrZWZpbGUKLS0tIGRhenVr b2ZzLTMuMC4wL01ha2VmaWxlCTIwMDktMDItMjIgMTc6NDY6MDIuMDAwMDAwMDAwICswMTAw CisrKyBkYXp1a29mcy0zLjAuMC1yYzRfMi42LjI1L01ha2VmaWxlCTIwMDktMDUtMTEgMTk6 NTA6MDAuMDAwMDAwMDAwICswMjAwCkBAIC0xOSw2ICsxOSw3IEBAIGRhenVrb2ZzX2luc3Rh bGw6IGRhenVrb2ZzX21vZHVsZXMKIAogY2xlYW46CiAJcm0gLWYgTW9kdWxlLnN5bXZlcnMK KwlybSAtZiBtb2R1bGVzLm9yZGVyCiAJbWFrZSAtQyAkKERBWlVLT0ZTX0tFUk5FTF9TUkMp IFNVQkRJUlM9ImBwd2RgIiBjbGVhbgogCiAuUEhPTlk6IGRhenVrb2ZzX21vZHVsZXMgZGF6 dWtvZnNfaW5zdGFsbCBjbGVhbgpkaWZmIC14IENWUyAtcnVwIGRhenVrb2ZzLTMuMC4wL1JF QURNRSBkYXp1a29mcy0zLjAuMC1yYzRfMi42LjI1L1JFQURNRQotLS0gZGF6dWtvZnMtMy4w LjAvUkVBRE1FCTIwMDktMDItMjIgMTc6Mzg6MjEuMDAwMDAwMDAwICswMTAwCisrKyBkYXp1 a29mcy0zLjAuMC1yYzRfMi42LjI1L1JFQURNRQkyMDA4LTEyLTEyIDE5OjIwOjMwLjAwMDAw MDAwMCArMDEwMApAQCAtMjEsMTAgKzIxLDEwIEBAIE5PVEU6IERhenVrb0ZTIGlzIGNvbXBs ZXRlbHkgc2VwYXJhdGUgZnIKID09PT09PT09PT09PT09PT09CiAKIEJlbG93IGFyZSBicmll ZiBpbnN0cnVjdGlvbnMgdG8gZ2V0IERhenVrb0ZTIGNvbXBpbGVkIGFuZCBydW5uaW5nIG9u IGEKLXN5c3RlbSB3aXRoIGEgTGludXggMi42LjI4IGtlcm5lbC4gWW91IG1heSBuZWVkIHRv IG1hbnVhbGx5IGFkanVzdCB0aGUKK3N5c3RlbSB3aXRoIGEgTGludXggMi42LjI3IGtlcm5l bC4gWW91IG1heSBuZWVkIHRvIG1hbnVhbGx5IGFkanVzdCB0aGUKIE1ha2VmaWxlIGlmIHlv dSBrZXJuZWwgc291cmNlcyBhcmUgbm90IGluIHRoZSBkZWZhdWx0IGxvY2F0aW9uLgotKFBh dGNoZXMgYXJlIHByb3ZpZGVkIGZvciB2YXJpb3VzIG90aGVyIGtlcm5lbHMuIFNlZSB0aGUg c2VjdGlvbiBiZWxvdwotdGl0bGVkICJQQVRDSElORyIgZm9yIG1vcmUgaW5mb3JtYXRpb24u KQorKEEgcGF0Y2ggaXMgcHJvdmlkZWQgdG8gY29udmVydCB0aGUgRGF6dWtvRlMgY29kZSB0 byBzdXBwb3J0IExpbnV4CisyLjYuMjYuKQogCiBjb21waWxlIHRoZSBrZXJuZWwgbW9kdWxl CiAgICMgbWFrZQpAQCAtNTIsMjUgKzUyLDYgQEAgdW5tb3VudCBEYXp1a29GUwogCiAKIAot PT09PT09PT09PQotIFBBVENISU5HCi09PT09PT09PT09Ci0KLUluIHRoZSAicGF0Y2hlcyIg ZGlyZWN0b3J5IHRoZXJlIGFyZSBwYXRjaGVzIGF2YWlsYWJsZSB0byBtb2RpZnkgdGhlCi1E YXp1a29GUyBjb2RlIHRvIGZpdCB2YXJpb3VzIG90aGVyIGtlcm5lbHMuIEZvciBleGFtcGxl LCBpZiB5b3UgYXJlCi1ydW5uaW5nIG9wZW5TVVNFIDExLjEgeW91IGNhbiBwYXRjaCB0aGUg Y29kZSB3aXRoIHRoZSBmb2xsb3dpbmcKLWNvbW1hbmQ6Ci0KLSQgcGF0Y2ggLXAxIDwgcGF0 Y2hlcy9wYXRjaC1vcGVuc3VzZS0xMS4xCi0KLVRoZXJlIHNob3VsZCBub3QgYmUgYW55IGVy cm9ycy4gSWYgdGhlcmUgYXJlIGVycm9ycywgdGhlbiB0aGUgcGF0Y2gKLWlzIGJyb2tlbiBh bmQgc2hvdWxkIGJlIHJlcG9ydGVkIG9uIHRoZSBkYXp1a28tZGV2ZWwgbWFpbGluZyBsaXN0 LgotCi1PbmNlIHRoZSBjb2RlIGhhcyBiZWVuIHBhdGNoZWQgeW91IGNhbiBidWlsZCB0aGUg a2VybmVsIG1vZHVsZSBhcwotZGVzY3JpYmVkIGluIHRoZSBzZWN0aW9uICJCVUlMRCAvIElO U1RBTEwiIGFib3ZlLgotCi0KLQogPT09PT09PT09CiAgVEVTVElORwogPT09PT09PT09CkBA IC0xNTQsOSArMTM1LDYgQEAgYW55IHByb2JsZW1zLgogIEtOT1dOIElTU1VFUwogPT09PT09 PT09PT09PT0KIAotLSBUaGUga2VybmVsIHdpbGwgY3Jhc2ggaWYgeW91IGF0dGVtcHQgdG8g bW91bnQgRGF6dWtvRlMgdG8gYSBmaWxlIGluc3RlYWQKLSAgb2YgYSBkaXJlY3RvcnkuIChU aGUgdmFyaW91cyBrZXJuZWwgcGF0Y2hlcyBoYW5kbGUgdGhpcyBlcnJvci4pCi0KIC0gRGF6 dWtvRlMgZG9lcyBub3Qgc3VwcG9ydCB3cml0aW5nIHRvIG1lbW9yeSBtYXBwZWQgZmlsZXMu IFRoaXMgc2hvdWxkIG5vdAogICBjYXVzZSB0aGUga2VybmVsIHRvIGNyYXNoLCBidXQgd2ls bCBpbnN0ZWFkIHJlc3VsdCBpbiB0aGUgYXBwbGljYXRpb24KICAgZmFpbGluZyB0byBwZXJm b3JtIHRoZSB3cml0ZXMgKGFsdGhvdWdoIG1tYXAoKSB3aWxsIGFwcGVhciB0byBiZQpkaWZm IC14IENWUyAtcnVwIGRhenVrb2ZzLTMuMC4wL3N1cGVyLmMgZGF6dWtvZnMtMy4wLjAtcmM0 XzIuNi4yNS9zdXBlci5jCi0tLSBkYXp1a29mcy0zLjAuMC9zdXBlci5jCTIwMDktMDItMjIg MTc6NDY6MDIuMDAwMDAwMDAwICswMTAwCisrKyBkYXp1a29mcy0zLjAuMC1yYzRfMi42LjI1 L3N1cGVyLmMJMjAwOS0wNy0wMyAxODoxNDoyOS4wMDAwMDAwMDAgKzAyMDAKQEAgLTM1LDYg KzM1LDEwIEBAIHN0YXRpYyBzdHJ1Y3Qga21lbV9jYWNoZSAqZGF6dWtvZnNfc2JfaW4KIHN0 cnVjdCBrbWVtX2NhY2hlICpkYXp1a29mc19kZW50cnlfaW5mb19jYWNoZXA7CiBzdHJ1Y3Qg a21lbV9jYWNoZSAqZGF6dWtvZnNfZmlsZV9pbmZvX2NhY2hlcDsKIAorCisjZGVmaW5lIERB WlVLT0ZTX1ZFUlNJT04gIjMuMC4wLXJjNC1hdmlyYS1iMi42IgorCisKIHN0YXRpYyBzdHJ1 Y3QgaW5vZGUgKmRhenVrb2ZzX2FsbG9jX2lub2RlKHN0cnVjdCBzdXBlcl9ibG9jayAqc2Ip CiB7CiAJc3RydWN0IGRhenVrb2ZzX2lub2RlX2luZm8gKmlub2RlaTsKQEAgLTE3MCw3ICsx NzQsMTAgQEAgc3RhdGljIGludCBkYXp1a29mc19yZWFkX3N1cGVyKHN0cnVjdCBzdQogCQll cnIgPSAtRU5PRU5UOwogCQlnb3RvIG91dF9wdXQ7CiAJfQotCisJaWYgKCFTX0lTRElSKGxv d2VyX3Jvb3QtPmRfaW5vZGUtPmlfbW9kZSkpIHsKKwkJZXJyID0gLUVOT0VOVDsKKwkJZ290 byBvdXRfcHV0OworCX0KIAlTRVRfTE9XRVJfU0Ioc2IsIGxvd2VyX3Jvb3QtPmRfc2IpOwog CXNiLT5zX21heGJ5dGVzID0gbG93ZXJfcm9vdC0+ZF9zYi0+c19tYXhieXRlczsKIAlTRVRf TE9XRVJfREVOVFJZKHNiLT5zX3Jvb3QsIGxvd2VyX3Jvb3QsIGxvd2VyX21udCk7CkBAIC0y MTMsMTUgKzIyMCwxNiBAQCBzdGF0aWMgaW50IGRhenVrb2ZzX2dldF9zYihzdHJ1Y3QgZmls ZV9zCiAKIG91dF9hYm9ydDoKIAl1cF93cml0ZSgmc2ItPnNfdW1vdW50KTsKKwlkcHV0KHNi LT5zX3Jvb3QpOwogCWRlYWN0aXZhdGVfc3VwZXIoc2IpOwogb3V0OgogCXJldHVybiBlcnI7 CiB9CiAKLXN0YXRpYyB2b2lkIGluaXRfb25jZSh2b2lkICpkYXRhKQorc3RhdGljIHZvaWQg aW5pdF9vbmNlKHN0cnVjdCBrbWVtX2NhY2hlICpjYWNoZXAsIHZvaWQgKnZwdHIpCiB7CiAJ c3RydWN0IGRhenVrb2ZzX2lub2RlX2luZm8gKmlub2RlX2luZm8gPQotCQkoc3RydWN0IGRh enVrb2ZzX2lub2RlX2luZm8gKilkYXRhOworCQkoc3RydWN0IGRhenVrb2ZzX2lub2RlX2lu Zm8gKil2cHRyOwogCiAJbWVtc2V0KGlub2RlX2luZm8sIDAsIHNpemVvZihzdHJ1Y3QgZGF6 dWtvZnNfaW5vZGVfaW5mbykpOwogCWlub2RlX2luaXRfb25jZSgmKGlub2RlX2luZm8tPnZm c19pbm9kZSkpOwpAQCAtMzA1LDcgKzMxMyw3IEBAIHN0YXRpYyBzdHJ1Y3QgZmlsZV9zeXN0 ZW1fdHlwZSBkYXp1a29mc18KIAogc3RhdGljIGludCBfX2luaXQgaW5pdF9kYXp1a29mc19m cyh2b2lkKQogewotCWludCBlcnIgPSAwOworCWludCBlcnI7CiAKIAllcnIgPSBkYXp1a29m c19kZXZfaW5pdCgpOwogCWlmIChlcnIpCkBAIC0zMTksNyArMzI3LDcgQEAgc3RhdGljIGlu dCBfX2luaXQgaW5pdF9kYXp1a29mc19mcyh2b2lkKQogCWlmIChlcnIpCiAJCWdvdG8gZXJy b3Jfb3V0MzsKIAotCXByaW50ayhLRVJOX0lORk8gImRhenVrb2ZzOiBsb2FkZWQsIHZlcnNp b249JXNcbiIsIERBWlVLT0ZTX1ZFUlNJT04pOworCXByaW50ayhLRVJOX0lORk8gImRhenVr b2ZzOiBsb2FkZWQsIHZlcnNpb249IiBEQVpVS09GU19WRVJTSU9OICJcbiIpOwogCXJldHVy biAwOwogCiBlcnJvcl9vdXQzOgpAQCAtMzM1LDkgKzM0Myw4IEBAIHN0YXRpYyB2b2lkIF9f ZXhpdCBleGl0X2RhenVrb2ZzX2ZzKHZvaWQKIAl1bnJlZ2lzdGVyX2ZpbGVzeXN0ZW0oJmRh enVrb2ZzX2ZzX3R5cGUpOwogCWRlc3Ryb3lfY2FjaGVzKCk7CiAJZGF6dWtvZnNfZGV2X2Rl c3Ryb3koKTsKLQlwcmludGsoS0VSTl9JTkZPICJkYXp1a29mczogdW5sb2FkZWQsIHZlcnNp b249JXNcbiIsIERBWlVLT0ZTX1ZFUlNJT04pOworCXByaW50ayhLRVJOX0lORk8gImRhenVr b2ZzOiB1bmxvYWRlZCwgdmVyc2lvbj0iIERBWlVLT0ZTX1ZFUlNJT04gIlxuIik7CiB9Ci0K IE1PRFVMRV9BVVRIT1IoIkpvaG4gT2duZXNzIik7CiBNT0RVTEVfREVTQ1JJUFRJT04oImFj Y2VzcyBjb250cm9sIHN0YWNrYWJsZSBmaWxlc3lzdGVtIik7CiBNT0RVTEVfTElDRU5TRSgi R1BMIik7Cg== --------------040003060503060302000102 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Dazuko-devel mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/dazuko-devel --------------040003060503060302000102--