From: Jon Olav Hauglid Date: September 27 2012 10:10am Subject: bzr push into mysql-trunk-wl6406 branch (jon.hauglid:3991 to 3992) WL#6406 List-Archive: http://lists.mysql.com/commits/144900 Message-Id: <20120927101043.20867.12233.3992@atum08.no.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDM5OTIgSm9uIE9sYXYgSGF1Z2xpZAkyMDEyLTA5LTI3CiAgICAgIFdMIzY0MDYgU3RhY2tlZCBk aWFnbm9zdGljIGFyZWFzCiAgICAgIAogICAgICBGaXhlZCBidWcgd2l0aCBSRVNJR05BTCBvZiB3 YXJuaW5nLiBTaW5jZSB0aGUgaGFuZGxlciBjb250aW51ZXMKICAgICAgaW4gdGhpcyBjYXNlLCBw dXNoIGFub3RoZXIgRGlhZ25vc3RpY3MgQXJlYSBhdCB0aGUgZW5kIG9mIFJFU0lHTkFMLAogICAg ICBzbyB0aGF0IGl0IGNhbiBiZSBwb3BwZWQgd2hlbiB0aGUgaGFuZGxlciBleGl0cy4KICAgICAg CiAgICAgIEFsc28gc2ltcGxpZmllZCBjb2RlIGhhbmRsaW5nIFNQIGV4aXQuIEltcHJvdmVkIGNv ZGUgZG9jdW1lbnRhdGlvbi4KICAgICAgCiAgICAgIEFkZGVkIG1vcmUgdGVzdCBjb3ZlcmFnZS4K CiAgICBtb2RpZmllZDoKICAgICAgbXlzcWwtdGVzdC9yL3NpZ25hbC5yZXN1bHQKICAgICAgbXlz cWwtdGVzdC90L3NpZ25hbC50ZXN0CiAgICAgIHNxbC9zcF9oZWFkLmNjCiAgICAgIHNxbC9zcWxf c2lnbmFsLmNjCiAzOTkxIEpvbiBPbGF2IEhhdWdsaWQJMjAxMi0wOS0xOQogICAgICBSZXZpZXcg Zml4ZXMsIHBhcnQgMgoKICAgIG1vZGlmaWVkOgogICAgICBsaWJteXNxbGQvbGliX3NxbC5jYwog ICAgICBzcWwvYmlubG9nLmNjCiAgICAgIHNxbC9ldmVudF9zY2hlZHVsZXIuY2MKICAgICAgc3Fs L2ZpZWxkLmNjCiAgICAgIHNxbC9maWxlc29ydC5jYwogICAgICBzcWwvaGFuZGxlci5jYwogICAg ICBzcWwvbG9nX2V2ZW50LmNjCiAgICAgIHNxbC9sb2dfZXZlbnRfb2xkLmNjCiAgICAgIHNxbC9v cHRfc3VtLmNjCiAgICAgIHNxbC9wcm90b2NvbC5jYwogICAgICBzcWwvcnBsX3JlcG9ydGluZy5j YwogICAgICBzcWwvcnBsX3NsYXZlLmNjCiAgICAgIHNxbC9zcF9oZWFkLmNjCiAgICAgIHNxbC9z cF9pbnN0ci5jYwogICAgICBzcWwvc3BfcmNvbnRleHQuY2MKICAgICAgc3FsL3NwX3Jjb250ZXh0 LmgKICAgICAgc3FsL3NxbF9hY2wuY2MKICAgICAgc3FsL3NxbF9hZG1pbi5jYwogICAgICBzcWwv c3FsX2F1ZGl0LmgKICAgICAgc3FsL3NxbF9iYXNlLmNjCiAgICAgIHNxbC9zcWxfY2xhc3MuY2MK ICAgICAgc3FsL3NxbF9jbGFzcy5oCiAgICAgIHNxbC9zcWxfY29ubmVjdC5jYwogICAgICBzcWwv c3FsX2Rlcml2ZWQuY2MKICAgICAgc3FsL3NxbF9lcnJvci5jYwogICAgICBzcWwvc3FsX2Vycm9y LmgKICAgICAgc3FsL3NxbF9leGVjdXRvci5jYwogICAgICBzcWwvc3FsX2dldF9kaWFnbm9zdGlj cy5jYwogICAgICBzcWwvc3FsX2luc2VydC5jYwogICAgICBzcWwvc3FsX2xvYWQuY2MKICAgICAg c3FsL3NxbF9wYXJzZS5jYwogICAgICBzcWwvc3FsX3ByZXBhcmUuY2MKICAgICAgc3FsL3NxbF9w cmVwYXJlLmgKICAgICAgc3FsL3NxbF9zZXJ2ZXJzLmNjCiAgICAgIHNxbC9zcWxfc2hvdy5jYwog ICAgICBzcWwvc3FsX3NpZ25hbC5jYwogICAgICBzcWwvc3FsX3RhYmxlLmNjCiAgICAgIHNxbC9z cWxfdGltZS5jYwogICAgICBzcWwvc3FsX3VwZGF0ZS5jYwogICAgICBzcWwvdGFibGUuY2MKICAg ICAgc3FsL3R6dGltZS5jYwogICAgICBzdG9yYWdlL3BlcmZzY2hlbWEvcGZzLmNjCiAgICAgIHVu aXR0ZXN0L2d1bml0L2dldF9kaWFnbm9zdGljcy10LmNjCj09PSBtb2RpZmllZCBmaWxlICdteXNx bC10ZXN0L3Ivc2lnbmFsLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL3NpZ25hbC5yZXN1bHQJ MjAxMS0xMC0zMSAxMTo1MjoyMCArMDAwMAorKysgYi9teXNxbC10ZXN0L3Ivc2lnbmFsLnJlc3Vs dAkyMDEyLTA5LTI3IDEwOjA5OjU2ICswMDAwCkBAIC0yMzcxLDMgKzIzNzEsOTIgQEAgYmVnaW4K IFNJR05BTCBTUUxTVEFURSAnNzc3NzcnIFNFVCBNWVNRTF9FUlJOTyA9IDEwMDAsIE1FU1NBR0Vf VEVYVD0nw4HDgsODw4XDhCc7CiBlbmQgJCQKIGRyb3AgcHJvY2VkdXJlIHRlc3Rfc2lnbmFsICQk CisjCisjIFdMIzY0MDYgU3RhY2tlZCBkaWFnbm9zdGljIGFyZWFzCisjCisjIERvdWJsZSBSRVNJ R05BTCBvZiB3YXJuaW5nCisjCitDUkVBVEUgUFJPQ0VEVVJFIHAxKCkKK0JFR0lOCitERUNMQVJF IENPTlRJTlVFIEhBTkRMRVIgRk9SIFNRTFdBUk5JTkcKK0JFR0lOCitSRVNJR05BTDsKK1JFU0lH TkFMOworRU5EOworU0VMRUNUIDEwICsgJ2EnOworRU5EICQkCitDQUxMIHAxKCk7CisxMCArICdh JworMTAKK1dhcm5pbmdzOgorV2FybmluZwkxMjkyCVRydW5jYXRlZCBpbmNvcnJlY3QgRE9VQkxF IHZhbHVlOiAnYScKK0RST1AgUFJPQ0VEVVJFIHAxOworQ1JFQVRFIFBST0NFRFVSRSBwMSgpCitC RUdJTgorREVDTEFSRSBDT05USU5VRSBIQU5ETEVSIEZPUiBTUUxXQVJOSU5HCitCRUdJTgorUkVT SUdOQUwgU0VUIE1FU1NBR0VfVEVYVD0gJzFzdCByZXNpZ25hbCc7CitSRVNJR05BTCBTRVQgTUVT U0FHRV9URVhUPSAnMm5kIHJlc2lnbmFsJzsKK0VORDsKK1NFTEVDVCAxMCArICdhJzsKK0VORCAk JAorQ0FMTCBwMSgpOworMTAgKyAnYScKKzEwCitXYXJuaW5nczoKK1dhcm5pbmcJMTI5MgkybmQg cmVzaWduYWwKK0RST1AgUFJPQ0VEVVJFIHAxOworQ1JFQVRFIFBST0NFRFVSRSBwMSgpCitCRUdJ TgorREVDTEFSRSBDT05USU5VRSBIQU5ETEVSIEZPUiBTUUxXQVJOSU5HCitCRUdJTgorUkVTSUdO QUwgU1FMU1RBVEUgJzAxMDAwJyBTRVQgTUVTU0FHRV9URVhUPSAnMXN0IHJlc2lnbmFsJzsKK1JF U0lHTkFMIFNRTFNUQVRFICcwMTAwMCcgU0VUIE1FU1NBR0VfVEVYVD0gJzJuZCByZXNpZ25hbCc7 CitFTkQ7CitTRUxFQ1QgMTAgKyAnYSc7CitFTkQgJCQKK0NBTEwgcDEoKTsKKzEwICsgJ2EnCisx MAorV2FybmluZ3M6CitXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBET1VCTEUgdmFs dWU6ICdhJworV2FybmluZwkxNjQyCTFzdCByZXNpZ25hbAorV2FybmluZwkxNjQyCTJuZCByZXNp Z25hbAorRFJPUCBQUk9DRURVUkUgcDE7CisjIFJFU0lHTkFMIHdhcm5pbmcgKyBSRVNJR05BTCBl cnJvcgorIworQ1JFQVRFIFBST0NFRFVSRSBwMSgpCitCRUdJTgorREVDTEFSRSBDT05USU5VRSBI QU5ETEVSIEZPUiBTUUxXQVJOSU5HCitCRUdJTgorUkVTSUdOQUwgU1FMU1RBVEUgJzAxMDAwJyBT RVQgTUVTU0FHRV9URVhUPSAnMXN0IHJlc2lnbmFsJzsKK1JFU0lHTkFMIFNRTFNUQVRFICdIWTAw MCcgU0VUIE1FU1NBR0VfVEVYVD0gJzJuZCByZXNpZ25hbCc7CitFTkQ7CitTRUxFQ1QgMTAgKyAn YSc7CitFTkQgJCQKK0NBTEwgcDEoKTsKKzEwICsgJ2EnCisxMAorRVJST1IgSFkwMDA6IDJuZCBy ZXNpZ25hbAorU0hPVyBXQVJOSU5HUzsKK0xldmVsCUNvZGUJTWVzc2FnZQorV2FybmluZwkxMjky CVRydW5jYXRlZCBpbmNvcnJlY3QgRE9VQkxFIHZhbHVlOiAnYScKK1dhcm5pbmcJMTY0Mgkxc3Qg cmVzaWduYWwKK0Vycm9yCTE2NDQJMm5kIHJlc2lnbmFsCitEUk9QIFBST0NFRFVSRSBwMTsKKyMg VW5oYW5kbGVkIGVycm9ycyByYWlzZWQgaW4gbmVzdGVkIGhhbmRsZXJzCisjCitDUkVBVEUgUFJP Q0VEVVJFIHAxKCkKK0JFR0lOCitERUNMQVJFIENPTlRJTlVFIEhBTkRMRVIgRk9SIDEwNTEKK0JF R0lOCitEUk9QIERBVEFCQVNFIG5vbmU7ICAjIEVycm9yIDEwMDgKK0VORDsKK0RST1AgVEFCTEUg bm9uZTsgICMgRXJyb3IgMTA1MQorRU5EICQkCitDQUxMIHAxKCk7CitFUlJPUiBIWTAwMDogQ2Fu J3QgZHJvcCBkYXRhYmFzZSAnbm9uZSc7IGRhdGFiYXNlIGRvZXNuJ3QgZXhpc3QKK1NIT1cgV0FS TklOR1M7CitMZXZlbAlDb2RlCU1lc3NhZ2UKK0Vycm9yCTEwMDgJQ2FuJ3QgZHJvcCBkYXRhYmFz ZSAnbm9uZSc7IGRhdGFiYXNlIGRvZXNuJ3QgZXhpc3QKK0RST1AgUFJPQ0VEVVJFIHAxOwoKPT09 IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvdC9zaWduYWwudGVzdCcKLS0tIGEvbXlzcWwtdGVz dC90L3NpZ25hbC50ZXN0CTIwMTEtMTAtMzEgMTE6NTI6MjAgKzAwMDAKKysrIGIvbXlzcWwtdGVz dC90L3NpZ25hbC50ZXN0CTIwMTItMDktMjcgMTA6MDk6NTYgKzAwMDAKQEAgLTI2NzgsNSArMjY3 OCwxMDAgQEAgZW5kICQkCiAjIGNhbGwgdGVzdF9zaWduYWwgJCQKIGRyb3AgcHJvY2VkdXJlIHRl c3Rfc2lnbmFsICQkCiAKLWRlbGltaXRlciA7ICQkCitkZWxpbWl0ZXIgOyQkCiAKKworLS1lY2hv ICMKKy0tZWNobyAjIFdMIzY0MDYgU3RhY2tlZCBkaWFnbm9zdGljIGFyZWFzCistLWVjaG8gIwor CistLWVjaG8gIyBEb3VibGUgUkVTSUdOQUwgb2Ygd2FybmluZworLS1lY2hvICMKKworZGVsaW1p dGVyICQkOworQ1JFQVRFIFBST0NFRFVSRSBwMSgpCitCRUdJTgorICBERUNMQVJFIENPTlRJTlVF IEhBTkRMRVIgRk9SIFNRTFdBUk5JTkcKKyAgQkVHSU4KKyAgICBSRVNJR05BTDsKKyAgICBSRVNJ R05BTDsKKyAgRU5EOworCisgIFNFTEVDVCAxMCArICdhJzsKK0VORCAkJAorZGVsaW1pdGVyIDsk JAorCitDQUxMIHAxKCk7CitEUk9QIFBST0NFRFVSRSBwMTsKKworZGVsaW1pdGVyICQkOworQ1JF QVRFIFBST0NFRFVSRSBwMSgpCitCRUdJTgorICBERUNMQVJFIENPTlRJTlVFIEhBTkRMRVIgRk9S IFNRTFdBUk5JTkcKKyAgQkVHSU4KKyAgICBSRVNJR05BTCBTRVQgTUVTU0FHRV9URVhUPSAnMXN0 IHJlc2lnbmFsJzsKKyAgICBSRVNJR05BTCBTRVQgTUVTU0FHRV9URVhUPSAnMm5kIHJlc2lnbmFs JzsKKyAgRU5EOworCisgIFNFTEVDVCAxMCArICdhJzsKK0VORCAkJAorZGVsaW1pdGVyIDskJAor CitDQUxMIHAxKCk7CitEUk9QIFBST0NFRFVSRSBwMTsKKworZGVsaW1pdGVyICQkOworQ1JFQVRF IFBST0NFRFVSRSBwMSgpCitCRUdJTgorICBERUNMQVJFIENPTlRJTlVFIEhBTkRMRVIgRk9SIFNR TFdBUk5JTkcKKyAgQkVHSU4KKyAgICBSRVNJR05BTCBTUUxTVEFURSAnMDEwMDAnIFNFVCBNRVNT QUdFX1RFWFQ9ICcxc3QgcmVzaWduYWwnOworICAgIFJFU0lHTkFMIFNRTFNUQVRFICcwMTAwMCcg U0VUIE1FU1NBR0VfVEVYVD0gJzJuZCByZXNpZ25hbCc7CisgIEVORDsKKworICBTRUxFQ1QgMTAg KyAnYSc7CitFTkQgJCQKK2RlbGltaXRlciA7JCQKKworQ0FMTCBwMSgpOworRFJPUCBQUk9DRURV UkUgcDE7CisKKy0tZWNobyAjIFJFU0lHTkFMIHdhcm5pbmcgKyBSRVNJR05BTCBlcnJvcgorLS1l Y2hvICMKKworZGVsaW1pdGVyICQkOworQ1JFQVRFIFBST0NFRFVSRSBwMSgpCitCRUdJTgorICBE RUNMQVJFIENPTlRJTlVFIEhBTkRMRVIgRk9SIFNRTFdBUk5JTkcKKyAgQkVHSU4KKyAgICBSRVNJ R05BTCBTUUxTVEFURSAnMDEwMDAnIFNFVCBNRVNTQUdFX1RFWFQ9ICcxc3QgcmVzaWduYWwnOwor ICAgIFJFU0lHTkFMIFNRTFNUQVRFICdIWTAwMCcgU0VUIE1FU1NBR0VfVEVYVD0gJzJuZCByZXNp Z25hbCc7CisgIEVORDsKKworICBTRUxFQ1QgMTAgKyAnYSc7CitFTkQgJCQKK2RlbGltaXRlciA7 JCQKKworLS1lcnJvciBFUl9TSUdOQUxfRVhDRVBUSU9OCitDQUxMIHAxKCk7CitTSE9XIFdBUk5J TkdTOworRFJPUCBQUk9DRURVUkUgcDE7CisKKy0tZWNobyAjIFVuaGFuZGxlZCBlcnJvcnMgcmFp c2VkIGluIG5lc3RlZCBoYW5kbGVycworLS1lY2hvICMKKworZGVsaW1pdGVyICQkOworQ1JFQVRF IFBST0NFRFVSRSBwMSgpCitCRUdJTgorICBERUNMQVJFIENPTlRJTlVFIEhBTkRMRVIgRk9SIDEw NTEKKyAgQkVHSU4KKyAgICBEUk9QIERBVEFCQVNFIG5vbmU7ICAjIEVycm9yIDEwMDgKKyAgRU5E OworICBEUk9QIFRBQkxFIG5vbmU7ICAjIEVycm9yIDEwNTEKK0VORCAkJAorZGVsaW1pdGVyIDsk JAorCistLWVycm9yIEVSX0RCX0RST1BfRVhJU1RTCitDQUxMIHAxKCk7CitTSE9XIFdBUk5JTkdT OyAKK0RST1AgUFJPQ0VEVVJFIHAxOwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9zcF9oZWFkLmNj JwotLS0gYS9zcWwvc3BfaGVhZC5jYwkyMDEyLTA5LTE5IDE5OjA1OjQ5ICswMDAwCisrKyBiL3Nx bC9zcF9oZWFkLmNjCTIwMTItMDktMjcgMTA6MDk6NTYgKzAwMDAKQEAgLTQzNyw2ICs0MzcsNyBA QCBib29sIHNwX2hlYWQ6OmV4ZWN1dGUoVEhEICp0aGQsIGJvb2wgbWVyCiAgIE9iamVjdF9jcmVh dGlvbl9jdHggKnNhdmVkX2NyZWF0aW9uX2N0eDsKICAgRGlhZ25vc3RpY3NfYXJlYSAqY2FsbGVy X2RhPSB0aGQtPmdldF9zdG10X2RhKCk7CiAgIERpYWdub3N0aWNzX2FyZWEgc3BfZGEoY2FsbGVy X2RhLT5zdGF0ZW1lbnRfaWQoKSwgZmFsc2UpOworICBEaWFnbm9zdGljc19hcmVhICppbm5lcl9k YT0gTlVMTDsKIAogICAvKgogICAgIEp1c3QgcmVwb3J0aW5nIGEgc3RhY2sgb3ZlcnJ1biBlcnJv cgpAQCAtNzA2LDQxICs3MDcsMzEgQEAgYm9vbCBzcF9oZWFkOjpleGVjdXRlKFRIRCAqdGhkLCBi b29sIG1lcgogICB0aGQtPnN0bXRfYXJlbmE9IG9sZF9hcmVuYTsKICAgc3RhdGU9IFNUTVRfRVhF Q1VURUQ7CiAKLSAgLyoKLSAgICBSZXN0b3JlIHRoZSBjYWxsZXIncyBvcmlnaW5hbCBEaWFnbm9z dGljcyBBcmVhOgotICAgICAgLSBjb25kaXRpb25zIGdlbmVyYXRlZCBkdXJpbmcgdHJpZ2dlciBl eGVjdXRpb24gc2hvdWxkIG5vdCBiZQotICAgICAgICBwcm9wYWdhdGVkIHRvIHRoZSBjYWxsZXIg b24gc3VjY2VzczsKLSAgICAgIC0gaWYgdGhlcmUgd2FzIGFuIGV4Y2VwdGlvbiBkdXJpbmcgZXhl Y3V0aW9uLCBjb25kaXRpb25zIHNob3VsZCBiZQotICAgICAgICBwcm9wYWdhdGVkIHRvIHRoZSBj YWxsZXIgaW4gYW55IGNhc2UuCi0gICovCi0gIHdoaWxlICh0aGQtPmdldF9zdG10X2RhKCkgIT0g Y2FsbGVyX2RhKQotICB7Ci0gICAgRGlhZ25vc3RpY3NfYXJlYSAqaW5uZXJfZGE9IHRoZC0+Z2V0 X3N0bXRfZGEoKTsKKyAgaW5uZXJfZGE9IHRoZC0+Z2V0X3N0bXRfZGEoKTsKKyAgLy8gUmVzdG9y ZSB0aGUgY2FsbGVyJ3Mgb3JpZ2luYWwgRGlhZ25vc3RpY3MgQXJlYS4KKyAgd2hpbGUgKHRoZC0+ Z2V0X3N0bXRfZGEoKSAhPSAmc3BfZGEpCiAgICAgdGhkLT5wb3BfZGlhZ25vc3RpY3NfYXJlYSgp OwotICAgIERpYWdub3N0aWNzX2FyZWEgKm91dGVyX2RhPSB0aGQtPmdldF9zdG10X2RhKCk7Cisg IHRoZC0+cG9wX2RpYWdub3N0aWNzX2FyZWEoKTsKKyAgREJVR19BU1NFUlQodGhkLT5nZXRfc3Rt dF9kYSgpID09IGNhbGxlcl9kYSk7CiAKLSAgICAvLyBJZiB3ZSBoYXZlIHVuaGFuZGxlZCBlcnJv cnMsIHByb3BhZ2F0ZSB0aGVtLgotICAgIGlmIChpbm5lcl9kYS0+aXNfZXJyb3IoKSkKLSAgICB7 Ci0gICAgICAvLyBDb3B5IHRoZSBleGNlcHRpb24gY29uZGl0aW9uIGluZm9ybWF0aW9uLgotICAg ICAgb3V0ZXJfZGEtPnNldF9lcnJvcl9zdGF0dXMoaW5uZXJfZGEtPm15c3FsX2Vycm5vKCksCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbm5lcl9kYS0+bWVzc2FnZV90ZXh0KCks Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbm5lcl9kYS0+cmV0dXJuZWRfc3Fs c3RhdGUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlubmVyX2RhLT5lcnJv cl9jb25kaXRpb24oKSk7Ci0gICAgfQorICBpZiAoZXJyX3N0YXR1cykKKyAgewogICAgIC8qCi0g ICAgICBXZSdyZSBwb3BwaW5nIGEgZGlhZ25vc3RpY3MgYXJlYSBmb3IgYSBoYW5kbGVyIHdoaWNo IHN1Y2Nlc3NmdWxseQotICAgICAgZXhlY3V0ZWQuIFByb3BhZ2F0ZSBhbnkgY29uZGl0aW9ucyBw dXNoZWQgZHVyaW5nIGhhbmRsZXIgZXhlY3V0aW9uLgotICAgICAgTm90ZTogVGhpcyBpcyB1c3Vh bGx5IGRvbmUgYnkgc3BfaW5zdHJfaHJldHVybjo6ZXhlY3V0ZSgpLCBidXQKLSAgICAgIGlmIHRo ZSBoYW5kbGVyIGNvbnRhaW5zIFJFVFVSTiB3ZSBjYW4gZW5kIHVwIGhlcmUgaW5zdGVhZC4KKyAg ICAgIElmIHRoZSBTUCBlbmRlZCB3aXRoIGFuIGV4Y2VwdGlvbiwgdHJhbnNmZXIgdGhlIGV4Y2Vw dGlvbiBjb25kaXRpb24KKyAgICAgIGluZm9ybWF0aW9uIHRvIHRoZSBEaWFnbm9zdGljcyBBcmVh IG9mIHRoZSBjYWxsZXIuCiAgICAgKi8KLSAgICBlbHNlIGlmIChvdXRlcl9kYSAhPSBjYWxsZXJf ZGEpCi0gICAgewotICAgICAgb3V0ZXJfZGEtPnJlc2V0X2NvbmRpdGlvbl9pbmZvKHRoZC0+cXVl cnlfaWQpOwotICAgICAgb3V0ZXJfZGEtPmNvcHlfdW5tYXJrZWRfc3FsX2NvbmRpdGlvbnModGhk LCBpbm5lcl9kYSk7Ci0gICAgfQorICAgIGNhbGxlcl9kYS0+c2V0X2Vycm9yX3N0YXR1cyhpbm5l cl9kYS0+bXlzcWxfZXJybm8oKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5u ZXJfZGEtPm1lc3NhZ2VfdGV4dCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bm5lcl9kYS0+cmV0dXJuZWRfc3Fsc3RhdGUoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaW5uZXJfZGEtPmVycm9yX2NvbmRpdGlvbigpKTsKICAgfQogCisgIC8qCisgICAgLSBj b25kaXRpb25zIGdlbmVyYXRlZCBkdXJpbmcgdHJpZ2dlciBleGVjdXRpb24gc2hvdWxkIG5vdCBi ZQorICAgIHByb3BhZ2F0ZWQgdG8gdGhlIGNhbGxlciBvbiBzdWNjZXNzOworICAgIC0gaWYgdGhl cmUgd2FzIGFuIGV4Y2VwdGlvbiBkdXJpbmcgZXhlY3V0aW9uLCBjb25kaXRpb25zIHNob3VsZCBi ZQorICAgIHByb3BhZ2F0ZWQgdG8gdGhlIGNhbGxlciBpbiBhbnkgY2FzZS4KKyAgKi8KICAgaWYg KGVycl9zdGF0dXMgfHwgbWVyZ2VfZGFfb25fc3VjY2VzcykKICAgewogICAgIC8qCkBAIC03NzAs NyArNzYxLDI1IEBAIGJvb2wgc3BfaGVhZDo6ZXhlY3V0ZShUSEQgKnRoZCwgYm9vbCBtZXIKICAg ICAgICAgZXNjYWxhdGlvbiBvZiB3YXJuaW5ncyB0byBlcnJvcnMuCiAgICAgICAqLwogICAgICAg Y2FsbGVyX2RhLT5vcHRfcmVzZXRfY29uZGl0aW9uX2luZm8odGhkLT5xdWVyeV9pZCk7Ci0gICAg ICBjYWxsZXJfZGEtPmNvcHlfc3FsX2NvbmRpdGlvbnNfZnJvbV9kYSh0aGQsICZzcF9kYSk7CisK KyAgICAgIGlmICghZXJyX3N0YXR1cyAmJiBpbm5lcl9kYSAhPSAmc3BfZGEpCisgICAgICB7Cisg ICAgICAgIC8qCisgICAgICAgICAgSWYgd2UgYXJlIFJFVFVSTmluZyBkaXJlY3RseSBmcm9tIGEg aGFuZGxlciBhbmQgdGhlIGhhbmRsZXIgaGFzCisgICAgICAgICAgZXhlY3V0ZWQgc3VjY2Vzc2Z1 bGx5LCBvbmx5IHRyYW5zZmVyIHRoZSBjb25kaXRpb25zIHRoYXQgd2VyZQorICAgICAgICAgIHJh aXNlZCBkdXJpbmcgaGFuZGxlciBleGVjdXRpb24uIENvbmRpdGlvbnMgdGhhdCB3ZXJlIHByZXNl bnQKKyAgICAgICAgICB3aGVuIHRoZSBoYW5kbGVyIHdhcyBhY3RpdmF0ZWQsIGFyZSBjb25zaWRl cmVkIGhhbmRsZWQuCisgICAgICAgICovCisgICAgICAgIGNhbGxlcl9kYS0+Y29weV91bm1hcmtl ZF9zcWxfY29uZGl0aW9ucyh0aGQsIGlubmVyX2RhKTsKKyAgICAgIH0KKyAgICAgIGVsc2UgLy8g ZXJyX3N0YXR1cyB8fCBpbm5lcl9kYSA9PSBzcF9kYQorICAgICAgeworICAgICAgICAvKgorICAg ICAgICAgIElmIHdlIGVuZGVkIHdpdGggYW4gZXhjZXB0aW9uIG9yIHRoZSBTUCBleGl0ZWQgd2l0 aG91dCBhbnkgaGFuZGxlcgorICAgICAgICAgIGFjdGl2ZSwgdHJhbnNmZXIgYWxsIGNvbmRpdGlv bnMgdG8gdGhlIERpYWdub3N0aWNzIEFyZWEgb2YgdGhlIGNhbGxlci4KKyAgICAgICAgKi8KKyAg ICAgICAgY2FsbGVyX2RhLT5jb3B5X3NxbF9jb25kaXRpb25zX2Zyb21fZGEodGhkLCBpbm5lcl9k YSk7CisgICAgICB9CiAgICAgfQogICB9CiAKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvc3FsX3Np Z25hbC5jYycKLS0tIGEvc3FsL3NxbF9zaWduYWwuY2MJMjAxMi0wOS0xOSAxOTowNTo0OSArMDAw MAorKysgYi9zcWwvc3FsX3NpZ25hbC5jYwkyMDEyLTA5LTI3IDEwOjA5OjU2ICswMDAwCkBAIC00 ODQsOCArNDg0LDEwIEBAIGJvb2wgU3FsX2NtZF9yZXNpZ25hbDo6ZXhlY3V0ZShUSEQgKnRoZCkK IAogICB0aGQtPnBvcF9kaWFnbm9zdGljc19hcmVhKCk7CiAKLSAgLy8gVGhpcyBpcyBhIHdheSB0 byBmb3JjZSBzcWxfY29uZGl0aW9ucyBmcm9tIHRoZSBjdXJyZW50IERpYWdub3N0aWNzX2FyZWEK LSAgLy8gdG8gYmUgcGFzc2VkIHRvIHRoZSBjYWxsZXIncyBEaWFnbm9zdGljc19hcmVhLgorICAv KgorICAgIFRoaXMgaXMgYSB3YXkgdG8gZm9yY2Ugc3FsX2NvbmRpdGlvbnMgZnJvbSB0aGUgY3Vy cmVudCBEaWFnbm9zdGljcyBBcmVhCisgICAgdG8gYmUgcGFzc2VkIHRvIHRoZSBjYWxsZXIncyBE aWFnbm9zdGljcyBBcmVhLgorICAqLwogICBEaWFnbm9zdGljc19hcmVhICpkYT0gdGhkLT5nZXRf c3RtdF9kYSgpOwogICBkYS0+c2V0X3N0YXRlbWVudF9pZCh0aGQtPnF1ZXJ5X2lkKTsKIApAQCAt NTAwLDcgKzUwMiw3IEBAIGJvb2wgU3FsX2NtZF9yZXNpZ25hbDo6ZXhlY3V0ZShUSEQgKnRoZCkK ICAgewogICAgIHF1ZXJ5X2NhY2hlX2Fib3J0KCZ0aGQtPnF1ZXJ5X2NhY2hlX3Rscyk7CiAKLSAg ICAvKiBNYWtlIHJvb20gZm9yIHRoZSBuZXcgUkVTSUdOQUwgY29uZGl0aW9uLiAqLworICAgIC8v IE1ha2Ugcm9vbSBmb3IgdGhlIG5ldyBSRVNJR05BTCBjb25kaXRpb24uCiAgICAgZGEtPnJlc2Vy dmVfbnVtYmVyX29mX2NvbmRpdGlvbnModGhkLCAxKTsKICAgfQogICBlbHNlCkBAIC01MDksNSAr NTExLDI4IEBAIGJvb2wgU3FsX2NtZF9yZXNpZ25hbDo6ZXhlY3V0ZShUSEQgKnRoZCkKICAgICBk YS0+cmVtb3ZlX2NvbmRpdGlvbigmc2lnbmFsZWRfZXJyKTsKICAgfQogCi0gIERCVUdfUkVUVVJO KHJhaXNlX2NvbmRpdGlvbih0aGQsICZzaWduYWxlZF9lcnIpKTsKKyAgYm9vbCBlcnJvcj0gcmFp c2VfY29uZGl0aW9uKHRoZCwgJnNpZ25hbGVkX2Vycik7CisKKyAgLyoKKyAgICBJZiB3ZSBSRVNJ R05BTCBhIHdhcm5pbmcsIHRoZSBoYW5kbGVyIHdpbGwgY29udGludWUuIFNpbmNlIGFub3RoZXIK KyAgICBEaWFnbm9zdGljcyBBcmVhIHdpbGwgYmUgcG9wcGVkIHdoZW4gdGhlIGhhbmRsZXIgZXhp dHMsIHJlc3RvcmUgdGhlCisgICAgRGlhZ25vc3RpY3MgQXJlYSB3ZSBqdXN0IHBvcHBlZC4gQnkg ZG9pbmcgcG9wK3B1c2ggcmF0aGVyIHRoYW4gbm90aGluZywKKyAgICB3ZSBtYWtlIHN1cmUgdGhh dCB0aGUgY29uZGl0aW9uIG1vZGlmaWVkIGJ5IFJFU0lHTkFMIChpZiBhbnkpIGlzIG1vZGlmaWVk CisgICAgaW4gYm90aCB0aGUgZmlyc3QgYW5kIHRoZSBzZWNvbmQgRGlhZ25vc3RpY3MgQXJlYSwg bm90IGp1c3QgdGhlIGZpcnN0LgorICAqLworICBpZiAoc2lnbmFsZWRfZXJyLnNldmVyaXR5KCkg PT0gU3FsX2NvbmRpdGlvbjo6U0xfV0FSTklORykKKyAgeworICAgIC8qCisgICAgICBSZXNldCB0 aGUgREEgd2hpY2ggcmFpc2VfY29uZGl0aW9uKCkgY2FsbGVkIG15X29rKCkgb24gYWJvdmUuCisg ICAgICBUaGlzIHByZXBhcmVzIGl0IGZvciB0aGUgc3RhdGVtZW50IHdoaWNoIHdpbGwgYmUgZXhl Y3V0ZWQgYWZ0ZXIKKyAgICAgIG5leHQgcG9wLgorICAgICovCisgICAgZGEtPnJlc2V0X2RpYWdu b3N0aWNzX2FyZWEoKTsKKworICAgIERpYWdub3N0aWNzX2FyZWEgKm5ld19kYT0gbmV3ICh0aGQt PnNwX3J1bnRpbWVfY3R4LT5jYWxsZXJzX2FyZW5hLT5tZW1fcm9vdCkKKyAgICAgIERpYWdub3N0 aWNzX2FyZWEoZGEtPnN0YXRlbWVudF9pZCgpLCBmYWxzZSk7CisgICAgdGhkLT5wdXNoX2RpYWdu b3N0aWNzX2FyZWEobmV3X2RhKTsKKyAgfQorCisgIERCVUdfUkVUVVJOKGVycm9yKTsKIH0KCk5v IGJ1bmRsZSAocmVhc29uOiB1c2VsZXNzIGZvciBwdXNoIGVtYWlscyku