From: Dmitry Lenev Date: June 15 2012 11:30am Subject: bzr push into mysql-trunk branch (Dmitry.Lenev:4017 to 4018) Bug#14096759 List-Archive: http://lists.mysql.com/commits/144245 X-Bug: 14096759 Message-Id: <20120615113028.23659.91756.4018@jubjub> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDQwMTggRG1pdHJ5IExlbmV2CTIwMTItMDYtMTUKICAgICAgRml4IGZvciBidWcjMTQwOTY3NTkg IklOUExBQ0UgQUxURVIsIEZJRUxEX0ZMQUcgRklFTERfSU5fQUREX0lOREVYIEhBUyAKICAgICAg QkVFTiBSRU1PVkVEIEZST00gU0VSVkVSIi4KICAgICAgCiAgICAgIEFmdGVyIFdMQDU1MzQgIk9u bGluZSBBTFRFUiwgUGhhc2UgMSIgaGFzIGludHJvZHVjZWQgbmV3IGluLXBsYWNlIEFMVEVSCiAg ICAgIFRBQkxFIEFQSSBzZW1hbnRpY3Mgb2YgRklFTERfSU5fQUREX0lOREVYIGZsYWcgYmVjYW1l IHVuY2xlYXIgYW5kIHRodXMKICAgICAgdGhpcyBmbGFnIHdhcyByZW1vdmVkIGZyb20gdGhlIGNv ZGUuCiAgICAgIAogICAgICBJdCB0dXJucyBvdXQgdGhhdCBDbHVzdGVyJ3MgaW1wbGVtZW50YXRp b24gb2YgT25saW5lIEFMVEVSIHN0aWxsIG5lZWRzCiAgICAgIHRoaXMgZmxhZyBhcyBpdCBhbGxv d3MgdG8gYXZvaWQgZXh0cmEgaXRlcmF0aW9ucyB0aHJvdWdoIGtleXMgbGlzdC4KICAgICAgCiAg ICAgIFRoaXMgcGF0Y2ggcmUtaW50cm9kdWNlcyB0aGlzIGZsYWcgd2l0aCBhIG5ldywgY2xlYXJs eSBkZWZpbmVkIAogICAgICBzZW1hbnRpY3M6CiAgICAgIC0gaXQgaXMgbm93IHNldCBmb3IgZmll bGRzIGluIFRBQkxFIG9iamVjdCB3aGljaCBjb3JyZXNwb25kIHRvIAogICAgICAgIG5ldyB2ZXJz aW9uIG9mIGFsdGVyZWQgdGFibGUuCiAgICAgIC0gaXQgaXMgc2V0IGZvciBhbGwgZmllbGRzIHdo aWNoIHBhcnRpY2lwYXRlIGluIG5ld2x5IGFkZGVkIGtleXMsCiAgICAgICAgaW5jbHVkaW5nIGZp ZWxkcyB0aGF0IGV4aXN0IGluIG9sZCB2ZXJzaW9uIG9mIHRhYmxlIGFuZCBmaWVsZHMgCiAgICAg ICAgdGhhdCB3ZXJlIGFkZGVkIGJ5IHRoZSBzYW1lIEFMVEVSIFRBQkxFLgoKICAgIG1vZGlmaWVk OgogICAgICBpbmNsdWRlL215c3FsX2NvbS5oCiAgICAgIHNxbC9zcWxfdGFibGUuY2MKIDQwMTcg TWFya28gTcOka2Vsw6QJMjAxMi0wNi0xNQogICAgICBCdWcjMTQxOTg3NjYgcm93X2Ryb3BfdGFi bGVfZm9yX215c3FsKCkgcmVsZWFzZXMgZGljdF9vcGVyYXRpb25fbG9jayBsYXRjaAogICAgICB3 aGlsZSBob2xkaW5nIHJlY29yZCBsb2NrcyBvbiBkYXRhIGRpY3Rpb25hcnkgdGFibGVzCiAgICAg IAogICAgICBUaGlzIGJ1ZyBtb3N0bHkgYWZmZWN0cyBhIHRhYmxlIHJlYnVpbGQsIHN1Y2ggYXMg QUREIFBSSU1BUlkgS0VZLgogICAgICAKICAgICAgaGFfaW5ub2Jhc2U6OmNvbW1pdF9pbnBsYWNl X2FsdGVyX3RhYmxlKCk6IEludm9rZQogICAgICBkaWN0X3N0YXRzX3dhaXRfYmdfdG9fc3RvcF91 c2luZ190YWJsZXMoKSBvbiBib3RoIHRhYmxlcyB1cGZyb250LgogICAgICAKICAgICAgcm93X2Ry b3BfdGFibGVfZm9yX215c3FsKCk6IERvIG5vdCBpbnZva2UKICAgICAgZGljdF9zdGF0c193YWl0 X2JnX3RvX3N0b3BfdXNpbmdfdGFibGVzKCkgaWYgZGF0YSBkaWN0aW9uYXJ5IGxvY2tzCiAgICAg IHdlcmUgYWxyZWFkeSBhY3F1aXJlZCBieSB0aGUgY2FsbGVyIChzaWduYWxsZWQgYnkgYSBuZXcg cGFyYW1ldGVyLAogICAgICBub25hdG9taWM9ZmFsc2UpLiBSZW1vdmUgdGhlIGNvZGUgdGhhdCB3 YWl0cyBmb3IgdGhlIGZ1bGwtdGV4dC1zZWFyY2gKICAgICAgcmVsYXRlZCBiYWNrZ3JvdW5kIHRo cmVhZHMgdG8gZXhpdC4gQWNjb3JkaW5nIHRvIEppbW15LCB0aGlzIGlzIHN0YWxlCiAgICAgIGNv ZGUgdGhhdCBzaG91bGQgYmUgcmVtb3ZlZC4gQWRkIGEgZGVidWcgYXNzZXJ0aW9uIHRvIGVuZm9y Y2UKICAgICAgIXRhYmxlLT5mdHMtPmFkZF93cS4KICAgICAgCiAgICAgIHJvd19tZXJnZV9kcm9w X3RhYmxlKCk6IEFkZCB0aGUgcGFyYW1ldGVyIG5vbmF0b21pYy4KICAgICAgCiAgICAgIHJiOjEx MTIgYXBwcm92ZWQgYnkgSmltbXkgWWFuZwoKICAgIG1vZGlmaWVkOgogICAgICBzdG9yYWdlL2lu bm9iYXNlL2hhbmRsZXIvaGFuZGxlcjBhbHRlci5jYwogICAgICBzdG9yYWdlL2lubm9iYXNlL2lu Y2x1ZGUvcm93MG1lcmdlLmgKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL3JvdzBteXNx bC5oCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzBtZXJnZS5jYwogICAgICBzdG9yYWdl L2lubm9iYXNlL3Jvdy9yb3cwbXlzcWwuY2MKPT09IG1vZGlmaWVkIGZpbGUgJ2luY2x1ZGUvbXlz cWxfY29tLmgnCi0tLSBhL2luY2x1ZGUvbXlzcWxfY29tLmgJMjAxMi0wNi0wNCAxNTozNToxOCAr MDAwMAorKysgYi9pbmNsdWRlL215c3FsX2NvbS5oCTIwMTItMDYtMTUgMTE6Mjk6NTIgKzAwMDAK QEAgLTExNCwxMCArMTE0LDExIEBAIGVudW0gZW51bV9zZXJ2ZXJfY29tbWFuZAogI2RlZmluZSBC SU5DTVBfRkxBRwkxMzEwNzIJCS8qIEludGVybjogVXNlZCBieSBzcWxfeWFjYyAqLwogI2RlZmlu ZSBHRVRfRklYRURfRklFTERTX0ZMQUcgKDEgPDwgMTgpIC8qIFVzZWQgdG8gZ2V0IGZpZWxkcyBp biBpdGVtIHRyZWUgKi8KICNkZWZpbmUgRklFTERfSU5fUEFSVF9GVU5DX0ZMQUcgKDEgPDwgMTkp LyogRmllbGQgcGFydCBvZiBwYXJ0aXRpb24gZnVuYyAqLwotLyoKLSAgI2RlZmluZSBGSUVMRF9J Tl9BRERfSU5ERVggKDE8PCAyMCkKLSAgV2FzIHBhcnQgb2Ygb2xkIG9ubGluZSBBTFRFUiBBUEks IGZsYWcgaXMgbm93IHVudXNlZC4KKy8qKgorICBJbnRlcm46IEZpZWxkIGluIFRBQkxFIG9iamVj dCBmb3IgbmV3IHZlcnNpb24gb2YgYWx0ZXJlZCB0YWJsZSwKKyAgICAgICAgICB3aGljaCBwYXJ0 aWNpcGF0ZXMgaW4gYSBuZXdseSBhZGRlZCBpbmRleC4KICovCisjZGVmaW5lIEZJRUxEX0lOX0FE RF9JTkRFWCAoMSA8PCAyMCkKICNkZWZpbmUgRklFTERfSVNfUkVOQU1FRCAoMTw8IDIxKSAgICAg ICAvKiBJbnRlcm46IEZpZWxkIGlzIGJlaW5nIHJlbmFtZWQgKi8KICNkZWZpbmUgRklFTERfRkxB R1NfU1RPUkFHRV9NRURJQSAyMiAgICAvKiBGaWVsZCBzdG9yYWdlIG1lZGlhLCBiaXQgMjItMjMg Ki8KICNkZWZpbmUgRklFTERfRkxBR1NfU1RPUkFHRV9NRURJQV9NQVNLICgzIDw8IEZJRUxEX0ZM QUdTX1NUT1JBR0VfTUVESUEpCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL3NxbF90YWJsZS5jYycK LS0tIGEvc3FsL3NxbF90YWJsZS5jYwkyMDEyLTA2LTEwIDEwOjQ5OjI0ICswMDAwCisrKyBiL3Nx bC9zcWxfdGFibGUuY2MJMjAxMi0wNi0xNSAxMToyOTo1MiArMDAwMApAQCAtNTY5Niw2ICs1Njk2 LDQ2IEBAIHN0YXRpYyBib29sIGZpbGxfYWx0ZXJfaW5wbGFjZV9pbmZvKFRIRAogCiAKIC8qKgor ICBNYXJrIGZpZWxkcyBwYXJ0aWNpcGF0aW5nIGluIG5ld2x5IGFkZGVkIGluZGV4ZXMgaW4gVEFC TEUgb2JqZWN0IHdoaWNoCisgIGNvcnJlc3BvbmRzIHRvIG5ldyB2ZXJzaW9uIG9mIGFsdGVyZWQg dGFibGUuCisKKyAgQHBhcmFtIGhhX2FsdGVyX2luZm8gIEFsdGVyX2lucGxhY2VfaW5mbyBkZXNj cmliaW5nIGluLXBsYWNlIEFMVEVSLgorICBAcGFyYW0gYWx0ZXJlZF90YWJsZSAgVEFCTEUgb2Jq ZWN0IGZvciBuZXcgdmVyc2lvbiBvZiBUQUJMRSBpbiB3aGljaAorICAgICAgICAgICAgICAgICAg ICAgICAgZmllbGRzIHNob3VsZCBiZSBtYXJrZWQuCisqLworCitzdGF0aWMgdm9pZCB1cGRhdGVf YWx0ZXJlZF90YWJsZShjb25zdCBBbHRlcl9pbnBsYWNlX2luZm8gJmhhX2FsdGVyX2luZm8sCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUQUJMRSAqYWx0ZXJlZF90YWJsZSkKK3sK KyAgdWludCBmaWVsZF9pZHgsIGFkZF9rZXlfaWR4OworICBLRVkgKmtleTsKKyAgS0VZX1BBUlRf SU5GTyAqZW5kLCAqa2V5X3BhcnQ7CisKKyAgLyoKKyAgICBDbGVhciBtYXJrZXIgZm9yIGFsbCBm aWVsZHMsIGFzIHdlIGFyZSBnb2luZyB0byBzZXQgaXQgb25seQorICAgIGZvciBmaWVsZHMgd2hp Y2ggcGFydGljaXBhdGUgaW4gbmV3IGluZGV4ZXMuCisgICovCisgIGZvciAoZmllbGRfaWR4PSAw OyBmaWVsZF9pZHggPCBhbHRlcmVkX3RhYmxlLT5zLT5maWVsZHM7ICsrZmllbGRfaWR4KQorICAg IGFsdGVyZWRfdGFibGUtPmZpZWxkW2ZpZWxkX2lkeF0tPmZsYWdzJj0gfkZJRUxEX0lOX0FERF9J TkRFWDsKKworICAvKgorICAgIEdvIHRocm91Z2ggYXJyYXkgb2YgbmV3bHkgYWRkZWQgaW5kZXhl cyBhbmQgbWFyayBmaWVsZHMKKyAgICBwYXJ0aWNpcGF0aW5nIGluIHRoZW0uCisgICovCisgIGZv ciAoYWRkX2tleV9pZHg9IDA7IGFkZF9rZXlfaWR4IDwgaGFfYWx0ZXJfaW5mby5pbmRleF9hZGRf Y291bnQ7CisgICAgICAgYWRkX2tleV9pZHgrKykKKyAgeworICAgIGtleT0gaGFfYWx0ZXJfaW5m by5rZXlfaW5mb19idWZmZXIgKworICAgICAgICAgaGFfYWx0ZXJfaW5mby5pbmRleF9hZGRfYnVm ZmVyW2FkZF9rZXlfaWR4XTsKKworICAgIGVuZD0ga2V5LT5rZXlfcGFydCArIGtleS0+a2V5X3Bh cnRzOworICAgIGZvciAoa2V5X3BhcnQ9IGtleS0+a2V5X3BhcnQ7IGtleV9wYXJ0IDwgZW5kOyBr ZXlfcGFydCsrKQorICAgICAgYWx0ZXJlZF90YWJsZS0+ZmllbGRba2V5X3BhcnQtPmZpZWxkbnJd LT5mbGFnc3w9IEZJRUxEX0lOX0FERF9JTkRFWDsKKyAgfQorfQorCisKKy8qKgogICBDb21wYXJl IHR3byB0YWJsZXMgdG8gc2VlIGlmIHRoZWlyIG1ldGFkYXRhIGFyZSBjb21wYXRpYmxlLgogICBP bmUgdGFibGUgc3BlY2lmaWVkIGJ5IGEgVEFCTEUgaW5zdGFuY2UsIHRoZSBvdGhlciB1c2luZyBB bHRlcl9pbmZvCiAgIGFuZCBIQV9DUkVBVEVfSU5GTy4KQEAgLTcyOTYsNiArNzMzNiw5IEBAIGJv b2wgbXlzcWxfYWx0ZXJfdGFibGUoVEhEICp0aGQsY2hhciAqbmUKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUsIGZhbHNlKSkpCiAgICAgICBnb3RvIGVy cl9uZXdfdGFibGVfY2xlYW51cDsKIAorICAgIC8qIFNldCBtYXJrZXJzIGZvciBmaWVsZHMgaW4g VEFCTEUgb2JqZWN0IGZvciBhbHRlcmVkIHRhYmxlLiAqLworICAgIHVwZGF0ZV9hbHRlcmVkX3Rh YmxlKGhhX2FsdGVyX2luZm8sIGFsdGVyZWRfdGFibGUpOworCiAgICAgaWYgKGhhX2FsdGVyX2lu Zm8uaGFuZGxlcl9mbGFncyA9PSAwKQogICAgIHsKICAgICAgIC8qCgpObyBidW5kbGUgKHJlYXNv bjogdXNlbGVzcyBmb3IgcHVzaCBlbWFpbHMpLg==