From: Ole John Aske Date: February 2 2011 2:47pm Subject: bzr commit into mysql-5.1 branch (ole.john.aske:3573) Bug#59308 List-Archive: http://lists.mysql.com/commits/130245 X-Bug: 59308 Message-Id: <20110202144730.E2102223@fimafeng09.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0196558217549047340==" --===============0196558217549047340== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline I0F0IGZpbGU6Ly8vbmV0L2ZpbWFmZW5nMDkvZXhwb3J0L2hvbWUvdG1wL29sZWphL215c3FsL215 c3FsLTUuMS8gYmFzZWQgb24gcmV2aWQ6ZG1pdHJ5LmxlbmV2QG9yYWNsZS5jb20tMjAxMTAyMDIx MzE3NDgtMWd2eXptZm9pajhrcGRkawoKIDM1NzMgT2xlIEpvaG4gQXNrZQkyMDExLTAyLTAyCiAg ICAgIFVwZGF0ZWQgRml4IGZvciBidWcjNTkzMDg6IEluY29ycmVjdCByZXN1bHQgZm9yIFNFTEVD VCBESVNUSU5DVCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2w+Li4uIE9S REVSIEJZIDxjb2w+IERFU0MuCiAgICAgICAgICAgIAogICAgICBBbHNvIGZpeCBidWcjNTkxMTA6 IE1lbW9yeSBsZWFrIG9mIFFVSUNLX1NFTEVDVF9JIGFsbG9jYXRlZCBtZW1vcnkuCiAgICAgIElu Y2x1ZGVzIErDuHJnZW4gTMO4bGFuZHMgcmV2aWV3IGNvbW1lbnRzLgogICAgICAgICAgICAKICAg ICAgUm9vdCBjYXVzZSBvZiB0aGVzZSBidWdzIGFyZSB0aGF0IHRlc3RfaWZfc2tpcF9zb3J0X29y ZGVyKCkgZGVjaWRlZCB0bwogICAgICByZXZlcnQgdGhlICdza2lwX3NvcnRfb3JkZXInIGRlc2Np c2lvbiAoYW5kIHVzZSBmaWxlc29ydCkgYWZ0ZXIgdGhlCiAgICAgIHF1ZXJ5IHBsYW4gaGFzIGJl ZW4gdXBkYXRlZCB0byByZWZsZWN0IGEgJ3NraXAnIG9mIHRoZSBzb3J0IG9yZGVyLgogICAgICAg ICAgICAKICAgICAgVGhpcyBtaWdodCBoYXBwZW4gaW4gJ2NoZWNrX3JldmVyc2Vfb3JkZXI6JyBp ZiB3ZSBoYXZlIGEgCiAgICAgIHNlbGVjdC0+cXVpY2sgd2hpY2ggY291bGQgbm90IGJlIG1hZGUg ZGVzY2VuZGluZyBieSBhcHBlbmRpbmcgCiAgICAgIGEgUVVJQ0tfU0VMRUNUX0RFU0MuICgpLgog ICAgICAgICAgICAKICAgICAgVGhlIG9yaWdpbmFsICdzYXZlX3F1aWNrJyB3YXMgdGhlbiByZXN0 b3JlZCBhZnRlciB0aGUgUUVQIGhhcyBiZWVuIG1vZGlmaWVkLAogICAgICB3aGljaCBjYXVzZWQ6 CiAgICAgICAgICAgIAogICAgICAgIC0gQW4gaW5jb3JyZWN0ICdwcmVjb21wdXRlZF9ncm91cF9i eT0gVFJVRScgbWF5IGhhdmUgYmVlbiBzZXQsIAogICAgICAgICAgYW5kIG5vdCByZXZlcnRlZCwg YXMgcGFydCBvZiB0aGUgYWxyZWFkeSBtb2RpZmlmaWVkIFFFUCAoQnVnIzU5MzA4KQogICAgICAg IC0gQSAnc2VsZWN0LT5xdWljaycgbWlnaHQgaGF2ZSBiZWVuIGNyZWF0ZWQgd2hpY2ggd2UgZmFp bCB0byBkZWxldGUgKGJ1ZyM1OTExMCkuCiAgICAgICAgICAgIAogICAgICBUaGlzIGZpeCBpcyBh IHJlZmFjdG9yaWNhdGlvbiBvZiB0ZXN0X2lmX3NraXBfc29ydF9vcmRlcigpIHdoZXJlIGFsbCBs b2dpYwogICAgICByZWxhdGVkIHRvIG1vZGlmaWNhdGlvbiBvZiBRRVAgKGNvbnRyb2xsZWQgYnkg YXJndW1lbnQgJ2Jvb2wgbm9fY2hhbmdlcycpLCBpcwogICAgICBtb3ZlZCB0byB0aGUgZW5kIG9m IHRlc3RfaWZfc2tpcF9zb3J0X29yZGVyKCksIGFuZCBkb25lIGFmdGVyICphbGwqICd0ZXN0X2lm X3NraXAnCiAgICAgIGNoZWNrcyBoYXMgYmVlbiBwZXJmb3JtZWQgLSBpbmNsdWRpbmcgdGhlICdj aGVja19yZXZlcnNlX29yZGVyOicgY2hlY2tzLgogICAgICAgICAgICAKICAgICAgVGhlIHJlZmFj dG9yaWNhdGlvbiBhYm92ZSBjb250YWlucyBub3cgaW50ZW50aW9uYWwgY2hhbmdlcyB0byB0aGUg bG9naWMgd2hpY2ggCiAgICAgIGhhcyBiZWVuIG1vdmVkIHRvIHRoZSBlbmQgb2YgdGhlIGZ1bmN0 aW9uLgogICAgICAgICAgICAKICAgICAgRnVydGhlcm1vcmUsIGEgc21hbGxlciBwYXJ0IG9mIHRo ZSBmaXggYWRkcmVzcyB0aGUgaGFuZGxpbmcgb2YgdGhlIAogICAgICBzZWxlY3QtPnF1aWNrIG9i amVjdHMgd2hpY2ggbWF5IGFscmVhZHkgZXhpc3RzIHdoZW4gd2UgY2FsbCAKICAgICAgJ3Rlc3Rf aWZfc2tpcF9zb3J0X29yZGVyKCknIChzYXZlX3F1aWNrKSAtYW5kCiAgICAgIG5ldyBzZWxlY3Qt PnF1aWNrJ3MgY3JlYXRlZCBkdXJpbmcgdGVzdF9pZl9za2lwX3NvcnRfb3JkZXIoKToKICAgICAg ICAgICAgCiAgICAgICAgLSBCZWZvcmUgbmV3IHNlbGVjdC0+cXVpY2sgbWF5IGJlIGNyZWF0ZWQg YnkgY2FsbGluZyA6OnRlc3RfcXVpY2tfc2VsZWN0KCksIHdlCiAgICAgICAgICBzZXQgJ3NlbGVj dC0+cXVpY2s9IDAnIHRvIGF2b2lkIHRoYXQgOjp0ZXN0X3F1aWNrX3NlbGVjdCgpIHByZW1hdHVy ZWx5CiAgICAgICAgICBkZWxldGUgdGhlIHNhdmVfcXVpY2sncy4gKEFmdGVyIHRoaXMgY2FsbCB3 ZSBtYXkgaGF2ZSBib3RoIGEgJ3NhdmVfcXVpY2snIAogICAgICAgICAgYW5kICdzZWxlY3QtPnF1 aWNrJykKICAgICAgICAgICAgCiAgICAgICAgLSBBbGwgcmV0dXJucyBmcm9tIDo6dGVzdF9pZl9z a2lwX3NvcnRfb3JkZXIoKSB3aGVyZSB3ZSBtYXkgaGF2ZSBib3RoIGEKICAgICAgICAgICdzYXZl X3F1aWNrJyBhbmQgYSAnc2VsZWN0LT5xdWljaycgaGFzIGJlZW4gY2hhbmdlZCB0byBnb3RvJ3Mg dG8gdGhlCiAgICAgICAgICBleGl0IHBvaW50cyAnc2tpcGVkX3NvcnRfb3JkZXI6JyBvciAnbmVl ZF9maWxlc29ydDonIHdoZXJlIHdlCiAgICAgICAgICBkZWNpZGUgd2hpY2ggb2YgdGhlIFFVSUNL X1NFTEVDVCdzIHRvIGtlZXAsIGFuZCBkZWxldGUgdGhlIG90aGVyLgoKICAgIG1vZGlmaWVkOgog ICAgICBteXNxbC10ZXN0L3Ivb3JkZXJfYnkucmVzdWx0CiAgICAgIG15c3FsLXRlc3QvdC9vcmRl cl9ieS50ZXN0CiAgICAgIHNxbC9zcWxfc2VsZWN0LmNjCj09PSBtb2RpZmllZCBmaWxlICdteXNx bC10ZXN0L3Ivb3JkZXJfYnkucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3Ivb3JkZXJfYnkucmVz dWx0CTIwMTAtMDktMTMgMTE6MzM6MTkgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9yL29yZGVyX2J5 LnJlc3VsdAkyMDExLTAyLTAyIDE0OjQ3OjI2ICswMDAwCkBAIC0xNjM4LDQgKzE2MzgsMjkgQEAg aWQJc2VsZWN0X3R5cGUJdGFibGUJdHlwZQlwb3NzaWJsZV9rZXlzCQogMQlTSU1QTEUJdDEJaW5k ZXgJTlVMTAlhCTgJTlVMTAkxMAlVc2luZyBpbmRleDsgVXNpbmcgdGVtcG9yYXJ5OyBVc2luZyBm aWxlc29ydAogMQlTSU1QTEUJdDIJZXFfcmVmCVBSSU1BUlkJUFJJTUFSWQk0CXRlc3QudDEuYgkx CVVzaW5nIHdoZXJlCiBEUk9QIFRBQkxFIHQxLCB0MjsKKyMKKyMgQnVnICM1OTExMDogTWVtb3J5 IGxlYWsgb2YgUVVJQ0tfU0VMRUNUX0kgYWxsb2NhdGVkIG1lbW9yeSAKKyMgIGFuZAorIyBCdWcg IzU5MzA4OiBJbmNvcnJlY3QgcmVzdWx0IGZvciAKK1NFTEVDVCBESVNUSU5DVCA8Y29sPi4uLiBP UkRFUiBCWSA8Y29sPiBERVNDIAorCisjIFVzZSBWYWxncmluZCB0byBkZXRlY3QgIzU5MTEwIQor IworQ1JFQVRFIFRBQkxFIHQxIChhIElOVCxLRVkgKGEpKTsKK0lOU0VSVCBJTlRPIHQxIFZBTFVF UyAoMSksKDIpLCgzKSwoNCksKDUpLCg2KSwoNyksKDgpLCg5KSwoMTApOworRVhQTEFJTiBTRUxF Q1QgRElTVElOQ1QgYSwxIEZST00gdDEgV0hFUkUgYSA8PiAxIE9SREVSIEJZIGEgREVTQzsKK2lk CXNlbGVjdF90eXBlCXRhYmxlCXR5cGUJcG9zc2libGVfa2V5cwlrZXkJa2V5X2xlbglyZWYJcm93 cwlFeHRyYQorMQlTSU1QTEUJdDEJaW5kZXgJYQlhCTUJTlVMTAkxMAlVc2luZyB3aGVyZTsgVXNp bmcgaW5kZXg7IFVzaW5nIGZpbGVzb3J0CitTRUxFQ1QgRElTVElOQ1QgYSwxIEZST00gdDEgV0hF UkUgYSA8PiAxIE9SREVSIEJZIGEgREVTQzsKK2EJMQorMTAJMQorOQkxCis4CTEKKzcJMQorNgkx Cis1CTEKKzQJMQorMwkxCisyCTEKK0RST1AgVEFCTEUgdDE7CiBFbmQgb2YgNS4xIHRlc3RzCgo9 PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC90L29yZGVyX2J5LnRlc3QnCi0tLSBhL215c3Fs LXRlc3QvdC9vcmRlcl9ieS50ZXN0CTIwMTAtMDktMTMgMTE6MzM6MTkgKzAwMDAKKysrIGIvbXlz cWwtdGVzdC90L29yZGVyX2J5LnRlc3QJMjAxMS0wMi0wMiAxNDo0NzoyNiArMDAwMApAQCAtMTQ5 Miw0ICsxNDkyLDIxIEBAIExJTUlUIDI7CiBEUk9QIFRBQkxFIHQxLCB0MjsKIAogCistLWVjaG8g IworLS1lY2hvICMgQnVnICM1OTExMDogTWVtb3J5IGxlYWsgb2YgUVVJQ0tfU0VMRUNUX0kgYWxs b2NhdGVkIG1lbW9yeSAKKy0tZWNobyAjICBhbmQKKy0tZWNobyAjIEJ1ZyAjNTkzMDg6IEluY29y cmVjdCByZXN1bHQgZm9yIAorLS1lY2hvICAgICAgICAgICAgICAgU0VMRUNUIERJU1RJTkNUIDxj b2w+Li4uIE9SREVSIEJZIDxjb2w+IERFU0MgCistLWVjaG8KKy0tZWNobyAjIFVzZSBWYWxncmlu ZCB0byBkZXRlY3QgIzU5MTEwIQorLS1lY2hvICMKKworQ1JFQVRFIFRBQkxFIHQxIChhIElOVCxL RVkgKGEpKTsKK0lOU0VSVCBJTlRPIHQxIFZBTFVFUyAoMSksKDIpLCgzKSwoNCksKDUpLCg2KSwo NyksKDgpLCg5KSwoMTApOworCitFWFBMQUlOIFNFTEVDVCBESVNUSU5DVCBhLDEgRlJPTSB0MSBX SEVSRSBhIDw+IDEgT1JERVIgQlkgYSBERVNDOworU0VMRUNUIERJU1RJTkNUIGEsMSBGUk9NIHQx IFdIRVJFIGEgPD4gMSBPUkRFUiBCWSBhIERFU0M7CisKK0RST1AgVEFCTEUgdDE7CisKIC0tZWNo byBFbmQgb2YgNS4xIHRlc3RzCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL3NxbF9zZWxlY3QuY2Mn Ci0tLSBhL3NxbC9zcWxfc2VsZWN0LmNjCTIwMTEtMDItMDEgMTI6MjA6MTYgKzAwMDAKKysrIGIv c3FsL3NxbF9zZWxlY3QuY2MJMjAxMS0wMi0wMiAxNDo0NzoyNiArMDAwMApAQCAtMTMzNjQsMTIg KzEzMzY0LDE0IEBAIHRlc3RfaWZfc2tpcF9zb3J0X29yZGVyKEpPSU5fVEFCICp0YWIsT1IKIHsK ICAgaW50IHJlZl9rZXk7CiAgIHVpbnQgcmVmX2tleV9wYXJ0czsKLSAgaW50IG9yZGVyX2RpcmVj dGlvbjsKKyAgaW50IG9yZGVyX2RpcmVjdGlvbj0gMDsKICAgdWludCB1c2VkX2tleV9wYXJ0czsK ICAgVEFCTEUgKnRhYmxlPXRhYi0+dGFibGU7CiAgIFNRTF9TRUxFQ1QgKnNlbGVjdD10YWItPnNl bGVjdDsKICAga2V5X21hcCB1c2FibGVfa2V5czsKICAgUVVJQ0tfU0VMRUNUX0kgKnNhdmVfcXVp Y2s9IDA7CisgIGludCBiZXN0X2tleT0gLTE7CisKICAgREJVR19FTlRFUigidGVzdF9pZl9za2lw X3NvcnRfb3JkZXIiKTsKICAgTElOVF9JTklUKHJlZl9rZXlfcGFydHMpOwogCkBAIC0xMzQ3Mywx MyArMTM0NzUsMTQgQEAgdGVzdF9pZl9za2lwX3NvcnRfb3JkZXIoSk9JTl9UQUIgKnRhYixPUgog ICAgICAgICAgIG5ld19yZWZfa2V5X21hcC5jbGVhcl9hbGwoKTsgIC8vIEZvcmNlIHRoZSBjcmVh dGlvbiBvZiBxdWljayBzZWxlY3QKICAgICAgICAgICBuZXdfcmVmX2tleV9tYXAuc2V0X2JpdChu ZXdfcmVmX2tleSk7IC8vIG9ubHkgZm9yIG5ld19yZWZfa2V5LgogCisgICAgICAgICAgc2VsZWN0 LT5xdWljaz0gMDsKICAgICAgICAgICBpZiAoc2VsZWN0LT50ZXN0X3F1aWNrX3NlbGVjdCh0YWIt PmpvaW4tPnRoZCwgbmV3X3JlZl9rZXlfbWFwLCAwLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICh0YWItPmpvaW4tPnNlbGVjdF9vcHRpb25zICYKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT1BUSU9OX0ZPVU5EX1JPV1MpID8KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIQV9QT1NfRVJST1IgOgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYi0+am9pbi0+dW5pdC0+c2VsZWN0 X2xpbWl0X2NudCwwKSA8PQogICAgICAgICAgICAgICAwKQotICAgICAgICAgICAgREJVR19SRVRV Uk4oMCk7CisgICAgICAgICAgICBnb3RvIG5lZWRfZmlsZXNvcnQ7CiAJfQogICAgICAgICByZWZf a2V5PSBuZXdfcmVmX2tleTsKICAgICAgIH0KQEAgLTEzNTA0LDcgKzEzNTA3LDYgQEAgdGVzdF9p Zl9za2lwX3NvcnRfb3JkZXIoSk9JTl9UQUIgKnRhYixPUgogICAgIGludCBiZXN0X2tleV9kaXJl Y3Rpb249IDA7CiAgICAgaGFfcm93cyBiZXN0X3JlY29yZHM9IDA7CiAgICAgZG91YmxlIHJlYWRf dGltZTsKLSAgICBpbnQgYmVzdF9rZXk9IC0xOwogICAgIGJvb2wgaXNfYmVzdF9jb3ZlcmluZz0g RkFMU0U7CiAgICAgZG91YmxlIGZhbm91dD0gMTsKICAgICBKT0lOICpqb2luPSB0YWItPmpvaW47 CkBAIC0xMzY4MSw3MiArMTM2ODMsMjEgQEAgdGVzdF9pZl9za2lwX3NvcnRfb3JkZXIoSk9JTl9U QUIgKnRhYixPUgogICAgICAgICAgdGFiLT5qb2luLT50YWJsZXMgPiB0YWItPmpvaW4tPmNvbnN0 X3RhYmxlcyArIDEpICYmCiAgICAgICAgICAoKHVuc2lnbmVkKSBiZXN0X2tleSAhPSB0YWJsZS0+ cy0+cHJpbWFyeV9rZXkgfHwKICAgICAgICAgICAhdGFibGUtPmZpbGUtPnByaW1hcnlfa2V5X2lz X2NsdXN0ZXJlZCgpKSkKLSAgICAgIERCVUdfUkVUVVJOKDApOworICAgICAgZ290byBuZWVkX2Zp bGVzb3J0OwogCiAgICAgaWYgKGJlc3Rfa2V5ID49IDApCiAgICAgewotICAgICAgYm9vbCBxdWlj a19jcmVhdGVkPSBGQUxTRTsKICAgICAgIGlmICh0YWJsZS0+cXVpY2tfa2V5cy5pc19zZXQoYmVz dF9rZXkpICYmIGJlc3Rfa2V5ICE9IHJlZl9rZXkpCiAgICAgICB7CiAgICAgICAgIGtleV9tYXAg bWFwOwogICAgICAgICBtYXAuY2xlYXJfYWxsKCk7ICAgICAgIC8vIEZvcmNlIHRoZSBjcmVhdGlv biBvZiBxdWljayBzZWxlY3QKICAgICAgICAgbWFwLnNldF9iaXQoYmVzdF9rZXkpOyAvLyBvbmx5 IGJlc3Rfa2V5LgotICAgICAgICBxdWlja19jcmVhdGVkPSAgICAgICAgIAotICAgICAgICAgIHNl bGVjdC0+dGVzdF9xdWlja19zZWxlY3Qoam9pbi0+dGhkLCBtYXAsIDAsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBqb2luLT5zZWxlY3Rfb3B0aW9ucyAmIE9QVElPTl9GT1VO RF9ST1dTID8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBX1BPU19FUlJP UiA6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqb2luLT51bml0LT5zZWxl Y3RfbGltaXRfY250LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCkgPiAw OwotICAgICAgfQotICAgICAgaWYgKCFub19jaGFuZ2VzKQotICAgICAgewotICAgICAgICAvKiAK LSAgICAgICAgICAgSWYgcmVmX2tleSB1c2VkIGluZGV4IHRyZWUgcmVhZGluZyBvbmx5ICgnVXNp bmcgaW5kZXgnIGluIEVYUExBSU4pLAotICAgICAgICAgICBhbmQgYmVzdF9rZXkgZG9lc24ndCwg dGhlbiByZXZlcnQgdGhlIGRlY2lzaW9uLgotICAgICAgICAqLwotICAgICAgICBpZiAoIXRhYmxl LT5jb3ZlcmluZ19rZXlzLmlzX3NldChiZXN0X2tleSkpCi0gICAgICAgICAgdGFibGUtPnNldF9r ZXlyZWFkKEZBTFNFKTsKLSAgICAgICAgaWYgKCFxdWlja19jcmVhdGVkKQotCXsKLSAgICAgICAg ICB0YWItPmluZGV4PSBiZXN0X2tleTsKLSAgICAgICAgICB0YWItPnJlYWRfZmlyc3RfcmVjb3Jk PSBiZXN0X2tleV9kaXJlY3Rpb24gPiAwID8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBqb2luX3JlYWRfZmlyc3Q6am9pbl9yZWFkX2xhc3Q7Ci0gICAgICAgICAgdGFiLT50eXBl PUpUX05FWFQ7ICAgICAgICAgICAvLyBSZWFkIHdpdGggaW5kZXhfZmlyc3QoKSwgaW5kZXhfbmV4 dCgpCi0gICAgICAgICAgaWYgKHNlbGVjdCAmJiBzZWxlY3QtPnF1aWNrKQotICAgICAgICAgIHsK LSAgICAgICAgICAgIGRlbGV0ZSBzZWxlY3QtPnF1aWNrOwotICAgICAgICAgICAgc2VsZWN0LT5x dWljaz0gMDsKLSAgICAgICAgICB9Ci0gICAgICAgICAgaWYgKHRhYmxlLT5jb3ZlcmluZ19rZXlz LmlzX3NldChiZXN0X2tleSkpCi0gICAgICAgICAgICB0YWJsZS0+c2V0X2tleXJlYWQoVFJVRSk7 Ci0gICAgICAgICAgdGFibGUtPmZpbGUtPmhhX2luZGV4X29yX3JuZF9lbmQoKTsKLSAgICAgICAg ICBpZiAoam9pbi0+c2VsZWN0X29wdGlvbnMgJiBTRUxFQ1RfREVTQ1JJQkUpCi0gICAgICAgICAg ewotICAgICAgICAgICAgdGFiLT5yZWYua2V5PSAtMTsKLSAgICAgICAgICAgIHRhYi0+cmVmLmtl eV9wYXJ0cz0gMDsKLSAgICAgICAgICAgIGlmIChzZWxlY3RfbGltaXQgPCB0YWJsZV9yZWNvcmRz KSAKLSAgICAgICAgICAgICAgdGFiLT5saW1pdD0gc2VsZWN0X2xpbWl0OwotICAgICAgICAgIH0K LSAgICAgICAgfQotICAgICAgICBlbHNlIGlmICh0YWItPnR5cGUgIT0gSlRfQUxMKQotICAgICAg ICB7Ci0gICAgICAgICAgLyoKLSAgICAgICAgICAgIFdlJ3JlIGFib3V0IHRvIHVzZSBhIHF1aWNr IGFjY2VzcyB0byB0aGUgdGFibGUuCi0gICAgICAgICAgICBXZSBuZWVkIHRvIGNoYW5nZSB0aGUg YWNjZXNzIG1ldGhvZCBzbyBhcyB0aGUgcXVpY2sgYWNjZXNzCi0gICAgICAgICAgICBtZXRob2Qg aXMgYWN0dWFsbHkgdXNlZC4KLSAgICAgICAgICAqLwotICAgICAgICAgIERCVUdfQVNTRVJUKHRh Yi0+c2VsZWN0LT5xdWljayk7Ci0gICAgICAgICAgdGFiLT50eXBlPUpUX0FMTDsKLSAgICAgICAg ICB0YWItPnVzZV9xdWljaz0xOwotICAgICAgICAgIHRhYi0+cmVmLmtleT0gLTE7Ci0gICAgICAg ICAgdGFiLT5yZWYua2V5X3BhcnRzPTA7CQkvLyBEb24ndCB1c2UgcmVmIGtleS4KLSAgICAgICAg ICB0YWItPnJlYWRfZmlyc3RfcmVjb3JkPSBqb2luX2luaXRfcmVhZF9yZWNvcmQ7Ci0gICAgICAg ICAgaWYgKHRhYi0+aXNfdXNpbmdfbG9vc2VfaW5kZXhfc2NhbigpKQotICAgICAgICAgICAgam9p bi0+dG1wX3RhYmxlX3BhcmFtLnByZWNvbXB1dGVkX2dyb3VwX2J5PSBUUlVFOwotICAgICAgICAg IC8qCi0gICAgICAgICAgICBUT0RPOiB1cGRhdGUgdGhlIG51bWJlciBvZiByZWNvcmRzIGluIGpv aW4tPmJlc3RfcG9zaXRpb25zW3RhYmxlbnJdCi0gICAgICAgICAgKi8KLSAgICAgICAgfQorICAg ICAgICBzZWxlY3QtPnF1aWNrPSAwOworICAgICAgICBzZWxlY3QtPnRlc3RfcXVpY2tfc2VsZWN0 KGpvaW4tPnRoZCwgbWFwLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpv aW4tPnNlbGVjdF9vcHRpb25zICYgT1BUSU9OX0ZPVU5EX1JPV1MgPworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEhBX1BPU19FUlJPUiA6CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgam9pbi0+dW5pdC0+c2VsZWN0X2xpbWl0X2NudCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAwKTsKICAgICAgIH0KICAgICAgIG9yZGVyX2RpcmVjdGlvbj0g YmVzdF9rZXlfZGlyZWN0aW9uOwogICAgICAgLyoKQEAgLTEzNzU5LDEwICsxMzcxMCwxMiBAQCB0 ZXN0X2lmX3NraXBfc29ydF9vcmRlcihKT0lOX1RBQiAqdGFiLE9SCiAgICAgICAgIHNhdmVkX2Jl c3Rfa2V5X3BhcnRzIDogIGJlc3Rfa2V5X3BhcnRzOwogICAgIH0KICAgICBlbHNlCi0gICAgICBE QlVHX1JFVFVSTigwKTsgCisgICAgICBnb3RvIG5lZWRfZmlsZXNvcnQ7CiAgIH0gCiAKIGNoZWNr X3JldmVyc2Vfb3JkZXI6ICAgICAgICAgICAgICAgICAgCisgIERCVUdfQVNTRVJUKG9yZGVyX2Rp cmVjdGlvbiAhPSAwKTsKKwogICBpZiAob3JkZXJfZGlyZWN0aW9uID09IC0xKQkJLy8gSWYgT1JE RVIgQlkgLi4uIERFU0MKICAgewogICAgIGlmIChzZWxlY3QgJiYgc2VsZWN0LT5xdWljaykKQEAg LTEzNzcxLDkgKzEzNzI0LDEwIEBAIGNoZWNrX3JldmVyc2Vfb3JkZXI6ICAgICAgICAgICAgICAg ICAgCiAJRG9uJ3QgcmV2ZXJzZSB0aGUgc29ydCBvcmRlciwgaWYgaXQncyBhbHJlYWR5IGRvbmUu CiAgICAgICAgIChJbiBzb21lIGNhc2VzIHRlc3RfaWZfb3JkZXJfYnlfa2V5KCkgY2FuIGJlIGNh bGxlZCBtdWx0aXBsZSB0aW1lcwogICAgICAgKi8KLSAgICAgIGlmICghc2VsZWN0LT5xdWljay0+ cmV2ZXJzZV9zb3J0ZWQoKSkKKyAgICAgIGlmIChzZWxlY3QtPnF1aWNrLT5yZXZlcnNlX3NvcnRl ZCgpKQorICAgICAgICBnb3RvIHNraXBlZF9zb3J0X29yZGVyOworICAgICAgZWxzZQogICAgICAg ewotICAgICAgICBRVUlDS19TRUxFQ1RfREVTQyAqdG1wOwogICAgICAgICBpbnQgcXVpY2tfdHlw ZT0gc2VsZWN0LT5xdWljay0+Z2V0X3R5cGUoKTsKICAgICAgICAgaWYgKHF1aWNrX3R5cGUgPT0g UVVJQ0tfU0VMRUNUX0k6OlFTX1RZUEVfSU5ERVhfTUVSR0UgfHwKICAgICAgICAgICAgIHF1aWNr X3R5cGUgPT0gUVVJQ0tfU0VMRUNUX0k6OlFTX1RZUEVfUk9SX0lOVEVSU0VDVCB8fApAQCAtMTM3 ODEsMzkgKzEzNzM1LDEzMiBAQCBjaGVja19yZXZlcnNlX29yZGVyOiAgICAgICAgICAgICAgICAg IAogICAgICAgICAgICAgcXVpY2tfdHlwZSA9PSBRVUlDS19TRUxFQ1RfSTo6UVNfVFlQRV9HUk9V UF9NSU5fTUFYKQogICAgICAgICB7CiAgICAgICAgICAgdGFiLT5saW1pdD0gMDsKLSAgICAgICAg ICBzZWxlY3QtPnF1aWNrPSBzYXZlX3F1aWNrOwotICAgICAgICAgIERCVUdfUkVUVVJOKDApOyAg ICAgICAgICAgICAgICAgICAvLyBVc2UgZmlsZXNvcnQKKyAgICAgICAgICBnb3RvIG5lZWRfZmls ZXNvcnQ7ICAgICAgICAgICAgICAgLy8gVXNlIGZpbGVzb3J0CiAgICAgICAgIH0KLSAgICAgICAg ICAgIAotICAgICAgICAvKiBPUkRFUiBCWSByYW5nZV9rZXkgREVTQyAqLwotCXRtcD0gbmV3IFFV SUNLX1NFTEVDVF9ERVNDKChRVUlDS19SQU5HRV9TRUxFQ1QqKShzZWxlY3QtPnF1aWNrKSwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZWRfa2V5X3BhcnRzKTsKLQlpZiAo IXRtcCB8fCB0bXAtPmVycm9yKQotCXsKLQkgIGRlbGV0ZSB0bXA7Ci0gICAgICAgICAgc2VsZWN0 LT5xdWljaz0gc2F2ZV9xdWljazsKLSAgICAgICAgICB0YWItPmxpbWl0PSAwOwotCSAgREJVR19S RVRVUk4oMCk7CQkvLyBSZXZlcnNlIHNvcnQgbm90IHN1cHBvcnRlZAotCX0KLQlzZWxlY3QtPnF1 aWNrPXRtcDsKICAgICAgIH0KICAgICB9Ci0gICAgZWxzZSBpZiAodGFiLT50eXBlICE9IEpUX05F WFQgJiYgdGFiLT50eXBlICE9IEpUX1JFRl9PUl9OVUxMICYmCi0gICAgICAgICAgICAgdGFiLT5y ZWYua2V5ID49IDAgJiYgdGFiLT5yZWYua2V5X3BhcnRzIDw9IHVzZWRfa2V5X3BhcnRzKQorICB9 CisKKyAgLyoKKyAgICBVcGRhdGUgcXVlcnkgcGxhbiB3aXRoIGFjY2VzcyBwYXR0ZXJuIGZvciBk b2luZyAKKyAgICBvcmRlcmVkIGFjY2VzcyBhY2NvcmRpbmcgdG8gd2hhdCB3ZSBoYXZlIGRlY2lk ZWQKKyAgICBhYm92ZS4KKyAgKi8KKyAgaWYgKCFub19jaGFuZ2VzKSAvLyBXZSBhcmUgYWxsb3dl ZCB0byB1cGRhdGUgUUVQCisgIHsKKyAgICBpZiAoYmVzdF9rZXkgPj0gMCkKICAgICB7Ci0gICAg ICAvKgotCVNFTEVDVCAqIEZST00gdDEgV0hFUkUgYT0xIE9SREVSIEJZIGEgREVTQyxiIERFU0MK KyAgICAgIGJvb2wgcXVpY2tfY3JlYXRlZD0gCisgICAgICAgIChzZWxlY3QgJiYgc2VsZWN0LT5x dWljayAmJiBzZWxlY3QtPnF1aWNrIT1zYXZlX3F1aWNrKTsKIAotCVVzZSBhIHRyYXZlcnNhbCBm dW5jdGlvbiB0aGF0IHN0YXJ0cyBieSByZWFkaW5nIHRoZSBsYXN0IHJvdwotCXdpdGgga2V5IHBh cnQgKEEpIGFuZCB0aGVuIHRyYXZlcnNlIHRoZSBpbmRleCBiYWNrd2FyZHMuCisgICAgICAvKiAK KyAgICAgICAgIElmIHJlZl9rZXkgdXNlZCBpbmRleCB0cmVlIHJlYWRpbmcgb25seSAoJ1VzaW5n IGluZGV4JyBpbiBFWFBMQUlOKSwKKyAgICAgICAgIGFuZCBiZXN0X2tleSBkb2Vzbid0LCB0aGVu IHJldmVydCB0aGUgZGVjaXNpb24uCiAgICAgICAqLwotICAgICAgdGFiLT5yZWFkX2ZpcnN0X3Jl Y29yZD0gam9pbl9yZWFkX2xhc3Rfa2V5OwotICAgICAgdGFiLT5yZWFkX3JlY29yZC5yZWFkX3Jl Y29yZD0gam9pbl9yZWFkX3ByZXZfc2FtZTsKKyAgICAgIGlmICghdGFibGUtPmNvdmVyaW5nX2tl eXMuaXNfc2V0KGJlc3Rfa2V5KSkKKyAgICAgICAgdGFibGUtPnNldF9rZXlyZWFkKEZBTFNFKTsK KyAgICAgIGlmICghcXVpY2tfY3JlYXRlZCkKKyAgICAgIHsKKyAgICAgICAgaWYgKHNlbGVjdCkg ICAgICAgICAgICAgICAgICAvLyBUaHJvdyBhbnkgZXhpc3RpbmcgcXVpY2sgc2VsZWN0CisgICAg ICAgICAgc2VsZWN0LT5xdWljaz0gMDsgICAgICAgICAgLy8gQ2xlYW51cCBlaXRoZXIgcmVzZXQg dG8gc2F2ZV9xdWljaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBv ciAnZGVsZXRlIHNhdmVfcXVpY2snCisgICAgICAgIHRhYi0+aW5kZXg9IGJlc3Rfa2V5OworICAg ICAgICB0YWItPnJlYWRfZmlyc3RfcmVjb3JkPSBvcmRlcl9kaXJlY3Rpb24gPiAwID8KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgam9pbl9yZWFkX2ZpcnN0OmpvaW5fcmVhZF9sYXN0 OworICAgICAgICB0YWItPnR5cGU9SlRfTkVYVDsgICAgICAgICAgIC8vIFJlYWQgd2l0aCBpbmRl eF9maXJzdCgpLCBpbmRleF9uZXh0KCkKKworICAgICAgICBpZiAodGFibGUtPmNvdmVyaW5nX2tl eXMuaXNfc2V0KGJlc3Rfa2V5KSkKKyAgICAgICAgICB0YWJsZS0+c2V0X2tleXJlYWQoVFJVRSk7 CisgICAgICAgIHRhYmxlLT5maWxlLT5oYV9pbmRleF9vcl9ybmRfZW5kKCk7CisgICAgICAgIGlm ICh0YWItPmpvaW4tPnNlbGVjdF9vcHRpb25zICYgU0VMRUNUX0RFU0NSSUJFKQorICAgICAgICB7 CisgICAgICAgICAgdGFiLT5yZWYua2V5PSAtMTsKKyAgICAgICAgICB0YWItPnJlZi5rZXlfcGFy dHM9IDA7CisgICAgICAgICAgaWYgKHNlbGVjdF9saW1pdCA8IHRhYmxlLT5maWxlLT5zdGF0cy5y ZWNvcmRzKSAKKyAgICAgICAgICAgIHRhYi0+bGltaXQ9IHNlbGVjdF9saW1pdDsKKyAgICAgICAg fQorICAgICAgfQorICAgICAgZWxzZSBpZiAodGFiLT50eXBlICE9IEpUX0FMTCkKKyAgICAgIHsK KyAgICAgICAgLyoKKyAgICAgICAgICBXZSdyZSBhYm91dCB0byB1c2UgYSBxdWljayBhY2Nlc3Mg dG8gdGhlIHRhYmxlLgorICAgICAgICAgIFdlIG5lZWQgdG8gY2hhbmdlIHRoZSBhY2Nlc3MgbWV0 aG9kIHNvIGFzIHRoZSBxdWljayBhY2Nlc3MKKyAgICAgICAgICBtZXRob2QgaXMgYWN0dWFsbHkg dXNlZC4KKyAgICAgICAgKi8KKyAgICAgICAgREJVR19BU1NFUlQodGFiLT5zZWxlY3QtPnF1aWNr KTsKKyAgICAgICAgdGFiLT50eXBlPUpUX0FMTDsKKyAgICAgICAgdGFiLT51c2VfcXVpY2s9MTsK KyAgICAgICAgdGFiLT5yZWYua2V5PSAtMTsKKyAgICAgICAgdGFiLT5yZWYua2V5X3BhcnRzPTA7 CQkvLyBEb24ndCB1c2UgcmVmIGtleS4KKyAgICAgICAgdGFiLT5yZWFkX2ZpcnN0X3JlY29yZD0g am9pbl9pbml0X3JlYWRfcmVjb3JkOworICAgICAgICBpZiAodGFiLT5pc191c2luZ19sb29zZV9p bmRleF9zY2FuKCkpCisgICAgICAgICAgdGFiLT5qb2luLT50bXBfdGFibGVfcGFyYW0ucHJlY29t cHV0ZWRfZ3JvdXBfYnk9IFRSVUU7CisgICAgICAgIC8qCisgICAgICAgICAgVE9ETzogdXBkYXRl IHRoZSBudW1iZXIgb2YgcmVjb3JkcyBpbiBqb2luLT5iZXN0X3Bvc2l0aW9uc1t0YWJsZW5yXQor ICAgICAgICAqLworICAgICAgfQorICAgIH0gLy8gYmVzdF9rZXkgPj0gMAorCisgICAgaWYgKG9y ZGVyX2RpcmVjdGlvbiA9PSAtMSkJCS8vIElmIE9SREVSIEJZIC4uLiBERVNDCisgICAgeworICAg ICAgaWYgKHNlbGVjdCAmJiBzZWxlY3QtPnF1aWNrKQorICAgICAgeworICAgICAgICBRVUlDS19T RUxFQ1RfREVTQyAqdG1wOworICAgICAgICAvKiBPUkRFUiBCWSByYW5nZV9rZXkgREVTQyAqLwor ICAgICAgICB0bXA9IG5ldyBRVUlDS19TRUxFQ1RfREVTQygoUVVJQ0tfUkFOR0VfU0VMRUNUKiko c2VsZWN0LT5xdWljayksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2Vk X2tleV9wYXJ0cyk7CisgICAgICAgIGlmICh0bXAgJiYgc2VsZWN0LT5xdWljayA9PSBzYXZlX3F1 aWNrKQorICAgICAgICAgIHNhdmVfcXVpY2s9IDA7ICAgIC8vIDo6UVVJQ0tfU0VMRUNUX0RFU0Mg Y29uc3VtZWQgaXQKKworICAgICAgICBpZiAoIXRtcCB8fCB0bXAtPmVycm9yKQorICAgICAgICB7 CisgICAgICAgICAgZGVsZXRlIHRtcDsKKyAgICAgICAgICB0YWItPmxpbWl0PSAwOworICAgICAg ICAgIGdvdG8gbmVlZF9maWxlc29ydDsgICAgICAgICAgIC8vIFJldmVyc2Ugc29ydCBmYWlsZWQg LT4gZmlsZXNvcnQKKyAgICAgICAgfQorICAgICAgICBzZWxlY3QtPnF1aWNrPSB0bXA7CisgICAg ICB9CisgICAgICBlbHNlIGlmICh0YWItPnR5cGUgIT0gSlRfTkVYVCAmJiB0YWItPnR5cGUgIT0g SlRfUkVGX09SX05VTEwgJiYKKyAgICAgICAgICAgICAgIHRhYi0+cmVmLmtleSA+PSAwICYmIHRh Yi0+cmVmLmtleV9wYXJ0cyA8PSB1c2VkX2tleV9wYXJ0cykKKyAgICAgIHsKKyAgICAgICAgLyoK KyAgICAgICAgICBTRUxFQ1QgKiBGUk9NIHQxIFdIRVJFIGE9MSBPUkRFUiBCWSBhIERFU0MsYiBE RVNDCisKKyAgICAgICAgICBVc2UgYSB0cmF2ZXJzYWwgZnVuY3Rpb24gdGhhdCBzdGFydHMgYnkg cmVhZGluZyB0aGUgbGFzdCByb3cKKyAgICAgICAgICB3aXRoIGtleSBwYXJ0IChBKSBhbmQgdGhl biB0cmF2ZXJzZSB0aGUgaW5kZXggYmFja3dhcmRzLgorICAgICAgICAqLworICAgICAgICB0YWIt PnJlYWRfZmlyc3RfcmVjb3JkPSBqb2luX3JlYWRfbGFzdF9rZXk7CisgICAgICAgIHRhYi0+cmVh ZF9yZWNvcmQucmVhZF9yZWNvcmQ9IGpvaW5fcmVhZF9wcmV2X3NhbWU7CisgICAgICB9CiAgICAg fQorICAgIGVsc2UgaWYgKHNlbGVjdCAmJiBzZWxlY3QtPnF1aWNrKQorICAgICAgc2VsZWN0LT5x dWljay0+c29ydGVkPSAxOworCisgIH0gLy8gUUVQIGhhcyBiZWVuIG1vZGlmaWVkCisKKyAgLyoK KyAgICBDbGVhbnVwOgorICAgIFdlIG1heSBoYXZlIGJvdGggYSAnc2VsZWN0LT5xdWljaycgYW5k ICdzYXZlX3F1aWNrJyAob3JpZ2luYWwpCisgICAgYXQgdGhpcyBwb2ludC4gRGVsZXRlIHRoZSBv bmUgdGhhdCB3ZSB3YW4ndCB1c2UuCisgICovCisKK3NraXBlZF9zb3J0X29yZGVyOgorICAvLyBL ZWVwIGN1cnJlbnQgKG9yZGVyZWQpIHNlbGVjdC0+cXVpY2sgCisgIGlmIChzZWxlY3QgJiYgc2F2 ZV9xdWljayAhPSBzZWxlY3QtPnF1aWNrKQorICB7CisgICAgZGVsZXRlIHNhdmVfcXVpY2s7Cisg ICAgc2F2ZV9xdWljaz0gTlVMTDsKICAgfQotICBlbHNlIGlmIChzZWxlY3QgJiYgc2VsZWN0LT5x dWljaykKLSAgICBzZWxlY3QtPnF1aWNrLT5zb3J0ZWQ9IDE7CiAgIERCVUdfUkVUVVJOKDEpOwor CituZWVkX2ZpbGVzb3J0OgorICAvLyBSZXN0b3JlIG9yaWdpbmFsIHNhdmVfcXVpY2sKKyAgaWYg KHNlbGVjdCAmJiBzZWxlY3QtPnF1aWNrICE9IHNhdmVfcXVpY2spCisgIHsKKyAgICBkZWxldGUg c2VsZWN0LT5xdWljazsKKyAgICBzZWxlY3QtPnF1aWNrPSBzYXZlX3F1aWNrOworICB9CisgIERC VUdfUkVUVVJOKDApOwogfQogCiAKCg== --===============0196558217549047340== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/ole.john.aske@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: ole.john.aske@stripped\ # 1062jtn6e0il7atm # target_branch: file:///net/fimafeng09/export/home/tmp/oleja/mysql\ # /mysql-5.1/ # testament_sha1: a204e3e7028984d4daba4c998b2c5ad552bf29d7 # timestamp: 2011-02-02 15:47:30 +0100 # base_revision_id: dmitry.lenev@stripped\ # 1gvyzmfoij8kpddk # # Begin bundle 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 x9Ao --===============0196558217549047340==--