/pidgin/main: 671723ed2a42: Merged in CMaiku/pidgin (pull reques...
Gary Kramlich <[email protected]> Wed, 19 Oct 2016 14:50:57 -0400
| Newsgroups | gmane.comp.gnome.gaim.cvs |
|---|---|
| Message-ID | <[email protected]> |
Q2hhbmdlc2V0OiA2NzE3MjNlZDJhNDI2MWViNmFjMDQ3NGVlYzdhYWIxNmJiYTVmNzkyCkF1dGhv cjoJIEdhcnkgS3JhbWxpY2ggPGdyaW1AcmVhcGVyd29ybGQuY29tPgpEYXRlOgkgMjAxNi0xMC0x OSAxODo1MCArMDAwMApCcmFuY2g6CSBkZWZhdWx0ClVSTDogaHR0cHM6Ly9oZy5waWRnaW4uaW0v cGlkZ2luL21haW4vcmV2LzY3MTcyM2VkMmE0MgoKRGVzY3JpcHRpb246CgpNZXJnZWQgaW4gQ01h aWt1L3BpZGdpbiAocHVsbCByZXF1ZXN0ICMxMjcpCgpNYWtlIGxpYnNlY3JldCBrZXlyaW5nIHVz YWJsZQoKZGlmZnN0YXQ6CgogY29uZmlndXJlLmFjICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAzNCArKy0KIGxpYnB1cnBsZS9wbHVnaW5zL2tleXJpbmdzL3NlY3JldHNlcnZpY2Uu YyB8ICAyMTYgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAx NDEgaW5zZXJ0aW9ucygrKSwgMTA5IGRlbGV0aW9ucygtKQoKZGlmZnMgKHRydW5jYXRlZCBmcm9t IDM3OSB0byAzMDAgbGluZXMpOgoKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3Vy ZS5hYwotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC0xNTIyLDE5ICsx NTIyLDI5IEBAIGRubCAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIGRubCAj IENoZWNrIGZvciBTZWNyZXQgU2VydmljZSBoZWFkZXJzCiBkbmwgIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAot IyBkaXNhYmxlZCAtIHNlZSBzZWNyZXRzZXJ2aWNlLmMKLSNBQ19BUkdfRU5BQkxFKGxpYnNlY3Jl dCwgW0FDX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtbGlic2VjcmV0XSwgW2VuYWJsZSBTZWNyZXQg U2VydmljZSBzdXBwb3J0XSldLCBlbmFibGVfc2VjcmV0X3NlcnZpY2U9bm8sIGVuYWJsZV9zZWNy ZXRfc2VydmljZT15ZXMpCitBQ19BUkdfRU5BQkxFKGxpYnNlY3JldCwKKwlbQUNfSEVMUF9TVFJJ TkcoWy0tZGlzYWJsZS1saWJzZWNyZXRdLCBbZW5hYmxlIFNlY3JldCBTZXJ2aWNlIHN1cHBvcnRd KV0sCisJZW5hYmxlX3NlY3JldF9zZXJ2aWNlPSIkZW5hYmxldmFsIiwgZW5hYmxlX3NlY3JldF9z ZXJ2aWNlPSIkaXNfbm90X3dpbjMyIikKIAotI2lmIHRlc3QgIngkZW5hYmxlX3NlY3JldF9zZXJ2 aWNlIiA9ICJ4eWVzIiA7IHRoZW4KLSMJUEtHX0NIRUNLX01PRFVMRVMoU0VDUkVUU0VSVklDRSwg W2xpYnNlY3JldC0xXSwgWwotIwkJQUNfU1VCU1QoU0VDUkVUU0VSVklDRV9DRkxBR1MpCi0jCQlB Q19TVUJTVChTRUNSRVRTRVJWSUNFX0xJQlMpCi0jCQlBQ19ERUZJTkUoSEFWRV9TRUNSRVRTRVJW SUNFLCAxLCBbRGVmaW5lIGlmIHdlIGhhdmUgU2VjcmV0IFNlcnZpY2UuXSkKLSMJXSkKLSNmaQor aWYgdGVzdCAieCRlbmFibGVfc2VjcmV0X3NlcnZpY2UiID0gInh5ZXMiIDsgdGhlbgorCVBLR19D SEVDS19NT0RVTEVTKFNFQ1JFVFNFUlZJQ0UsIFtsaWJzZWNyZXQtMV0sIFsKKwkJQUNfU1VCU1Qo U0VDUkVUU0VSVklDRV9DRkxBR1MpCisJCUFDX1NVQlNUKFNFQ1JFVFNFUlZJQ0VfTElCUykKKwkJ QUNfREVGSU5FKEhBVkVfU0VDUkVUU0VSVklDRSwgMSwgW0RlZmluZSBpZiB3ZSBoYXZlIFNlY3Jl dCBTZXJ2aWNlLl0pCisJXSwgWworCQlBQ19NU0dfUkVTVUxUKG5vKQorCQllbmFibGVfc2VjcmV0 X3NlcnZpY2U9Im5vIgorCQlpZiB0ZXN0ICJ4JGZvcmNlX2RlcHMiID0gInh5ZXMiIDsgdGhlbgor CQkJQUNfTVNHX0VSUk9SKFsKK0xpYnNlY3JldCBkZXZlbG9wbWVudCBoZWFkZXJzIG5vdCBmb3Vu ZAorVXNlIC0tZGlzYWJsZS1saWJzZWNyZXQgaWYgeW91IGRvIG5vdCBuZWVkIGl0LgorXSkKKwkJ ZmkKKwldKQogCi0jQU1fQ09ORElUSU9OQUwoRU5BQkxFX1NFQ1JFVFNFUlZJQ0UsIHRlc3QgIngk ZW5hYmxlX3NlY3JldF9zZXJ2aWNlIiA9ICJ4eWVzIikKLUFNX0NPTkRJVElPTkFMKEVOQUJMRV9T RUNSRVRTRVJWSUNFLCB0ZXN0ICJ4MSIgPSAieDIiKQorZmkKKworQU1fQ09ORElUSU9OQUwoRU5B QkxFX1NFQ1JFVFNFUlZJQ0UsIHRlc3QgIngkZW5hYmxlX3NlY3JldF9zZXJ2aWNlIiA9ICJ4eWVz IikKIAogZG5sICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiBkbmwgIyBDaGVjayBmb3IgR05PTUUgS2V5cmluZyBo ZWFkZXJzCkBAIC0yMjU0LDcgKzIyNjQsNyBAQCBlY2hvIEJ1aWxkIFVuaXR5IGludGVncmF0aW9u IHBsdWdpbi46ICRlCiBlY2hvCiBlY2hvIEJ1aWxkIHdpdGggR05PTUUgS2V5cmluZy4uLi4uLiA6 ICRlbmFibGVfZ25vbWVfa2V5cmluZwogZWNobyBCdWlsZCB3aXRoIEtXYWxsZXQuLi4uLi4uLi4u Li4gOiAkZW5hYmxlX2t3YWxsZXQKLSNlY2hvIEJ1aWxkIHdpdGggU2VjcmV0IFNlcnZpY2UuLi4u LiA6ICRlbmFibGVfc2VjcmV0X3NlcnZpY2UKK2VjaG8gQnVpbGQgd2l0aCBTZWNyZXQgU2Vydmlj ZS4uLi4uIDogJGVuYWJsZV9zZWNyZXRfc2VydmljZQogZWNobwogZWNobyBCdWlsZCB3aXRoIHBs dWdpbiBzdXBwb3J0Li4uLi4gOiAkZW5hYmxlX3BsdWdpbnMKIGVjaG8gRW5hYmxlIEludHJvc3Bl Y3Rpb24uLi4uLi4uLi4uLjogJGVuYWJsZV9pbnRyb3NwZWN0aW9uCmRpZmYgLS1naXQgYS9saWJw dXJwbGUvcGx1Z2lucy9rZXlyaW5ncy9zZWNyZXRzZXJ2aWNlLmMgYi9saWJwdXJwbGUvcGx1Z2lu cy9rZXlyaW5ncy9zZWNyZXRzZXJ2aWNlLmMKLS0tIGEvbGlicHVycGxlL3BsdWdpbnMva2V5cmlu Z3Mvc2VjcmV0c2VydmljZS5jCisrKyBiL2xpYnB1cnBsZS9wbHVnaW5zL2tleXJpbmdzL3NlY3Jl dHNlcnZpY2UuYwpAQCAtMjEsMTcgKzIxLDE1IEBACiAgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG cmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTExLTEzMDEgVVNBCiAg Ki8KIAotI2Vycm9yICJUaGlzIGtleXJpbmcgbmVlZHMgc29tZSBtb3JlIHdvcmsgKHNlZSBUT0RP KSIKLQogLyogVE9ETwogICoKLSAqIFRoaXMga2V5cmluZyBuZWVkcyBzb21lIG1vcmUgd29yaywg c28gaXQgd2lsbCBiZSBkaXNhYmxlZCB1bnRpbCBpdHMgcXVhbGl0eQotICogd2FzIHJhaXNlZC4g U29tZSBvZiB0aGUgcGFpbiBwb2ludHM6Ci0gKiAgLSB0aHJvd3MgYSBsb3Qgb2YgZ193YXJuaW5n cwotICogIC0gaXQgZG9lc24ndCBub3RpZnkgYWJvdXQgc29tZSBiYWNrZW5kIGZhdWx0cyAobGlr ZSBhY2Nlc3MgZGVuaWVkKSwgc29tZSBvZgotICogICAgdGhlbSBhcmUgbm90IGhhbmRsZWQgYXQg YWxsCi0gKiAgLSBpdCBjb3VsZCB1c2UgbGlic2VjcmV0J3MgQ29tcGxldGUgQVBJCi0gKiAgLSBj b2RlIGZvcm1hdHRpbmcgY291bGQgYmUgYmV0dGVyCisgKiBUaGlzIGtleXJpbmcgbm93IHdvcmtz IChhdCB0aGUgdGltZSBvZiB0aGlzIHdyaXRpbmcpLCBidXQgdGhlcmUgYXJlCisgKiBzb21lIGlu Y29udmVuaWVudCBlZGdlIGNhc2VzLiBXaGVuIGxvb2tpbmcgdXAgcGFzc3dvcmRzLCBsaWJzZWNy ZXQKKyAqIGRvZXNuJ3QgZXJyb3IgaWYgdGhlIGtleXJpbmcgaXMgbG9ja2VkLiBUaGVyZWZvcmUs IGl0IGFwcGVhcnMgdG8KKyAqIHRoaXMgcGx1Z2luIHRoYXQgdGhlcmUncyBubyBzdG9yZWQgcGFz c3dvcmQuIGxpYnB1cnBsZSBzZWVtcyB0bworICogaGFuZGxlIHRoaXMgYXMgZ3JhY2VmdWxseSBh cyBwb3NzaWJsZSwgYnV0IGl0J3Mgc3RpbGwgaW5jb252ZW5pZW50LgorICogVGhpcyBwbHVnaW4g Y291bGQgcG9zc2libHkgYmUgcG9ydGVkIHRvIHVzZSBsaWJzZWNyZXQncyAiQ29tcGxldGUgQVBJ IgorICogdG8gcmVzb2x2ZSB0aGlzIGlmIGRlc2lyZWQuCiAgKi8KIAogI2luY2x1ZGUgImludGVy bmFsLmgiCkBAIC01Myw2ICs1MSw3IEBACiAjZGVmaW5lIFNFQ1JFVFNFUlZJQ0VfRE9NQUlOICAg ICAgKGdfcXVhcmtfZnJvbV9zdGF0aWNfc3RyaW5nKFNFQ1JFVFNFUlZJQ0VfSUQpKQogCiBzdGF0 aWMgUHVycGxlS2V5cmluZyAqa2V5cmluZ19oYW5kbGVyID0gTlVMTDsKK3N0YXRpYyBHQ2FuY2Vs bGFibGUgKmtleXJpbmdfY2FuY2VsbGFibGUgPSBOVUxMOwogCiBzdGF0aWMgY29uc3QgU2VjcmV0 U2NoZW1hIHB1cnBsZV9zY2hlbWEgPSB7CiAJImltLnBpZGdpbi5QdXJwbGUiLCBTRUNSRVRfU0NI RU1BX05PTkUsCkBAIC03OCw2ICs3Nyw2MiBAQCBzdHJ1Y3QgX0luZm9TdG9yYWdlCiAvKiAgICAg S2V5cmluZyBpbnRlcmZhY2UgICAgICAgICAgICAgICAgICAgICAgICovCiAvKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBzdGF0aWMgdm9pZAorc3NfZ19l cnJvcl90b19rZXlyaW5nX2Vycm9yKEdFcnJvciAqKmVycm9yLCBQdXJwbGVBY2NvdW50ICphY2Nv dW50KQoreworCUdFcnJvciAqb2xkX2Vycm9yOworCUdFcnJvciAqbmV3X2Vycm9yID0gTlVMTDsK KworCWdfcmV0dXJuX2lmX2ZhaWwoZXJyb3IgIT0gTlVMTCk7CisKKwlvbGRfZXJyb3IgPSAqZXJy b3I7CisKKwlpZiAoZ19lcnJvcl9tYXRjaGVzKG9sZF9lcnJvciwgR19JT19FUlJPUiwgR19JT19F UlJPUl9DQU5DRUxMRUQpKSB7CisJCW5ld19lcnJvciA9IGdfZXJyb3JfbmV3KFBVUlBMRV9LRVlS SU5HX0VSUk9SLAorCQkJUFVSUExFX0tFWVJJTkdfRVJST1JfQ0FOQ0VMTEVELAorCQkJXygiT3Bl cmF0aW9uIGNhbmNlbGxlZC4iKSk7CisJfSBlbHNlIGlmIChnX2Vycm9yX21hdGNoZXMob2xkX2Vy cm9yLCBHX0RCVVNfRVJST1IsCisJCQkJR19EQlVTX0VSUk9SX1NQQVdOX1NFUlZJQ0VfTk9UX0ZP VU5EKSB8fAorCQkJZ19lcnJvcl9tYXRjaGVzKG9sZF9lcnJvciwgR19EQlVTX0VSUk9SLAorCQkJ CUdfREJVU19FUlJPUl9JT19FUlJPUikpIHsKKwkJcHVycGxlX2RlYnVnX2luZm8oImtleXJpbmct bGlic2VjcmV0IiwKKwkJCSJGYWlsZWQgdG8gY29tbXVuaWNhdGUgd2l0aCBTZWNyZXQgIgorCQkJ IlNlcnZpY2UgKGFjY291bnQ6ICVzICglcykpLlxuIiwKKwkJCXB1cnBsZV9hY2NvdW50X2dldF91 c2VybmFtZShhY2NvdW50KSwKKwkJCXB1cnBsZV9hY2NvdW50X2dldF9wcm90b2NvbF9pZChhY2Nv dW50KSk7CisJCW5ld19lcnJvciA9IGdfZXJyb3JfbmV3KFBVUlBMRV9LRVlSSU5HX0VSUk9SLAor CQkJUFVSUExFX0tFWVJJTkdfRVJST1JfQkFDS0VOREZBSUwsCisJCQkiRmFpbGVkIHRvIGNvbW11 bmljYXRlIHdpdGggU2VjcmV0ICIKKwkJCSJTZXJ2aWNlIChhY2NvdW50OiAlcykuIiwKKwkJCXB1 cnBsZV9hY2NvdW50X2dldF91c2VybmFtZShhY2NvdW50KSk7CisJfSBlbHNlIGlmIChnX2Vycm9y X21hdGNoZXMob2xkX2Vycm9yLCBTRUNSRVRfRVJST1IsCisJCQlTRUNSRVRfRVJST1JfSVNfTE9D S0VEKSkgeworCQlwdXJwbGVfZGVidWdfaW5mbygia2V5cmluZy1saWJzZWNyZXQiLAorCQkJIlNl Y3JldCBTZXJ2aWNlIGlzIGxvY2tlZCAoYWNjb3VudDogJXMgKCVzKSkuXG4iLAorCQkJcHVycGxl X2FjY291bnRfZ2V0X3VzZXJuYW1lKGFjY291bnQpLAorCQkJcHVycGxlX2FjY291bnRfZ2V0X3By b3RvY29sX2lkKGFjY291bnQpKTsKKwkJbmV3X2Vycm9yID0gZ19lcnJvcl9uZXcoUFVSUExFX0tF WVJJTkdfRVJST1IsCisJCQlQVVJQTEVfS0VZUklOR19FUlJPUl9BQ0NFU1NERU5JRUQsCisJCQki U2VjcmV0IFNlcnZpY2UgaXMgbG9ja2VkIChhY2NvdW50OiAlcykuIiwKKwkJCXB1cnBsZV9hY2Nv dW50X2dldF91c2VybmFtZShhY2NvdW50KSk7CisJfSBlbHNlIHsKKwkJcHVycGxlX2RlYnVnX2Vy cm9yKCJrZXlyaW5nLWxpYnNlY3JldCIsCisJCQkiVW5rbm93biBlcnJvciAoYWNjb3VudDogJXMg KCVzKSwgIgorCQkJImRvbWFpbjogJXMsIGNvZGU6ICVkKTogJXMuXG4iLAorCQkJcHVycGxlX2Fj Y291bnRfZ2V0X3VzZXJuYW1lKGFjY291bnQpLAorCQkJcHVycGxlX2FjY291bnRfZ2V0X3Byb3Rv Y29sX2lkKGFjY291bnQpLAorCQkJZ19xdWFya190b19zdHJpbmcob2xkX2Vycm9yLT5kb21haW4p LAorCQkJb2xkX2Vycm9yLT5jb2RlLCBvbGRfZXJyb3ItPm1lc3NhZ2UpOworCQluZXdfZXJyb3Ig PSBnX2Vycm9yX25ldyhQVVJQTEVfS0VZUklOR19FUlJPUiwKKwkJCVBVUlBMRV9LRVlSSU5HX0VS Uk9SX0JBQ0tFTkRGQUlMLAorCQkJIlVua25vd24gZXJyb3IgKGFjY291bnQ6ICVzKS4iLAorCQkJ cHVycGxlX2FjY291bnRfZ2V0X3VzZXJuYW1lKGFjY291bnQpKTsKKwl9CisKKwlnX2NsZWFyX2Vy cm9yKGVycm9yKTsKKwlnX3Byb3BhZ2F0ZV9lcnJvcihlcnJvciwgbmV3X2Vycm9yKTsKK30KKwor c3RhdGljIHZvaWQKIHNzX3JlYWRfY29udGludWUoR09iamVjdCAqb2JqZWN0LCBHQXN5bmNSZXN1 bHQgKnJlc3VsdCwgZ3BvaW50ZXIgZGF0YSkKIHsKIAlJbmZvU3RvcmFnZSAqc3RvcmFnZSA9IGRh dGE7CkBAIC04OSw1MyArMTQ0LDE5IEBAIHNzX3JlYWRfY29udGludWUoR09iamVjdCAqb2JqZWN0 LCBHQXN5bmMKIAlwYXNzd29yZCA9IHNlY3JldF9wYXNzd29yZF9sb29rdXBfZmluaXNoKHJlc3Vs dCwgJmVycm9yKTsKIAogCWlmIChlcnJvciAhPSBOVUxMKSB7Ci0JCWludCBjb2RlID0gZXJyb3It PmNvZGU7Ci0KLQkJc3dpdGNoIChjb2RlKSB7Ci0JCQljYXNlIEdfREJVU19FUlJPUl9TUEFXTl9T RVJWSUNFX05PVF9GT1VORDoKLQkJCWNhc2UgR19EQlVTX0VSUk9SX0lPX0VSUk9SOgotCQkJCWVy cm9yID0gZ19lcnJvcl9uZXcoUFVSUExFX0tFWVJJTkdfRVJST1IsCi0JCQkJCVBVUlBMRV9LRVlS SU5HX0VSUk9SX0JBQ0tFTkRGQUlMLAotCQkJCQkiRmFpbGVkIHRvIGNvbW11bmljYXRlIHdpdGgg U2VjcmV0ICIKLQkJCQkJIlNlcnZpY2UgKGFjY291bnQgOiAlcykuIiwKLQkJCQkJcHVycGxlX2Fj Y291bnRfZ2V0X3VzZXJuYW1lKGFjY291bnQpKTsKLQkJCQlpZiAoY2IgIT0gTlVMTCkKLQkJCQkJ Y2IoYWNjb3VudCwgTlVMTCwgZXJyb3IsIHN0b3JhZ2UtPnVzZXJfZGF0YSk7Ci0JCQkJZ19lcnJv cl9mcmVlKGVycm9yKTsKLQkJCQlicmVhazsKLQotCQkJZGVmYXVsdDoKLQkJCQlwdXJwbGVfZGVi dWdfZXJyb3IoImtleXJpbmctbGlic2VjcmV0IiwKLQkJCQkJIlVua25vd24gZXJyb3IgKGFjY291 bnQ6ICVzICglcyksICIKLQkJCQkJImRvbWFpbjogJXMsIGNvZGU6ICVkKTogJXMuXG4iLAotCQkJ CQlwdXJwbGVfYWNjb3VudF9nZXRfdXNlcm5hbWUoYWNjb3VudCksCi0JCQkJCXB1cnBsZV9hY2Nv dW50X2dldF9wcm90b2NvbF9pZChhY2NvdW50KSwKLQkJCQkJZ19xdWFya190b19zdHJpbmcoZXJy b3ItPmRvbWFpbiksIGNvZGUsCi0JCQkJCQllcnJvci0+bWVzc2FnZSk7Ci0JCQkJZXJyb3IgPSBn X2Vycm9yX25ldyhQVVJQTEVfS0VZUklOR19FUlJPUiwKLQkJCQkJUFVSUExFX0tFWVJJTkdfRVJS T1JfQkFDS0VOREZBSUwsCi0JCQkJCSJVbmtub3duIGVycm9yIChhY2NvdW50IDogJXMpLiIsCi0J CQkJCXB1cnBsZV9hY2NvdW50X2dldF91c2VybmFtZShhY2NvdW50KSk7Ci0JCQkJaWYgKGNiICE9 IE5VTEwpCi0JCQkJCWNiKGFjY291bnQsIE5VTEwsIGVycm9yLCBzdG9yYWdlLT51c2VyX2RhdGEp OwotCQkJCWdfZXJyb3JfZnJlZShlcnJvcik7Ci0JCQkJYnJlYWs7Ci0JCX0KLQorCQlzc19nX2Vy cm9yX3RvX2tleXJpbmdfZXJyb3IoJmVycm9yLCBhY2NvdW50KTsKIAl9IGVsc2UgaWYgKHBhc3N3 b3JkID09IE5VTEwpIHsKIAkJZXJyb3IgPSBnX2Vycm9yX25ldyhQVVJQTEVfS0VZUklOR19FUlJP UiwKIAkJCVBVUlBMRV9LRVlSSU5HX0VSUk9SX05PUEFTU1dPUkQsCiAJCQkiTm8gcGFzc3dvcmQg Zm91bmQgZm9yIGFjY291bnQ6ICVzIiwKIAkJCXB1cnBsZV9hY2NvdW50X2dldF91c2VybmFtZShh Y2NvdW50KSk7Ci0JCWlmIChjYiAhPSBOVUxMKQotCQkJY2IoYWNjb3VudCwgTlVMTCwgZXJyb3Is IHN0b3JhZ2UtPnVzZXJfZGF0YSk7Ci0JCWdfZXJyb3JfZnJlZShlcnJvcik7Ci0KLQl9IGVsc2Ug ewotCQlpZiAoY2IgIT0gTlVMTCkKLQkJCWNiKGFjY291bnQsIHBhc3N3b3JkLCBOVUxMLCBzdG9y YWdlLT51c2VyX2RhdGEpOwogCX0KIAorCWlmIChjYiAhPSBOVUxMKSB7CisJCWNiKGFjY291bnQs IHBhc3N3b3JkLCBlcnJvciwgc3RvcmFnZS0+dXNlcl9kYXRhKTsKKwl9CisKKwlnX2NsZWFyX2Vy cm9yKCZlcnJvcik7CiAJZ19mcmVlKHN0b3JhZ2UpOwogfQogCkBAIC0xNDgsNzQgKzE2OSw1NyBA QCBzc19yZWFkKFB1cnBsZUFjY291bnQgKmFjY291bnQsIFB1cnBsZUtlCiAJc3RvcmFnZS0+Y2Ig PSBjYjsKIAlzdG9yYWdlLT51c2VyX2RhdGEgPSBkYXRhOwogCi0Jc2VjcmV0X3Bhc3N3b3JkX2xv b2t1cCgmcHVycGxlX3NjaGVtYSwgTlVMTCwgc3NfcmVhZF9jb250aW51ZSwgc3RvcmFnZSwKKwlz ZWNyZXRfcGFzc3dvcmRfbG9va3VwKCZwdXJwbGVfc2NoZW1hLCBrZXlyaW5nX2NhbmNlbGxhYmxl LAorCQlzc19yZWFkX2NvbnRpbnVlLCBzdG9yYWdlLAogCQkidXNlciIsIHB1cnBsZV9hY2NvdW50 X2dldF91c2VybmFtZShhY2NvdW50KSwKIAkJInByb3RvY29sIiwgcHVycGxlX2FjY291bnRfZ2V0 X3Byb3RvY29sX2lkKGFjY291bnQpLCBOVUxMKTsKIH0KIAogc3RhdGljIHZvaWQKLXNzX3NhdmVf Y29udGludWUoR09iamVjdCAqb2JqZWN0LCBHQXN5bmNSZXN1bHQgKnJlc3VsdCwgZ3BvaW50ZXIg ZGF0YSkKK3NzX3NhdmVfY29udGludWUoR0Vycm9yICplcnJvciwgZ3BvaW50ZXIgZGF0YSkKIHsK IAlJbmZvU3RvcmFnZSAqc3RvcmFnZSA9IGRhdGE7CiAJUHVycGxlS2V5cmluZ1NhdmVDYWxsYmFj ayBjYjsKLQlHRXJyb3IgKmVycm9yID0gTlVMTDsKIAlQdXJwbGVBY2NvdW50ICphY2NvdW50Owog CiAJYWNjb3VudCA9IHN0b3JhZ2UtPmFjY291bnQ7CiAJY2IgPSBzdG9yYWdlLT5jYjsKIAotCXNl Y3JldF9wYXNzd29yZF9zdG9yZV9maW5pc2gocmVzdWx0LCAmZXJyb3IpOwotCiAJaWYgKGVycm9y ICE9IE5VTEwpIHsKLQkJaW50IGNvZGUgPSBlcnJvci0+Y29kZTsKLQotCQlzd2l0Y2ggKGNvZGUp IHsKLQkJCWNhc2UgR19EQlVTX0VSUk9SX1NQQVdOX1NFUlZJQ0VfTk9UX0ZPVU5EOgotCQkJY2Fz ZSBHX0RCVVNfRVJST1JfSU9fRVJST1I6Ci0JCQkJcHVycGxlX2RlYnVnX2luZm8oImtleXJpbmct bGlic2VjcmV0IiwKLQkJCQkJIkZhaWxlZCB0byBjb21tdW5pY2F0ZSB3aXRoIFNlY3JldCAiCi0J CQkJCSJTZXJ2aWNlIChhY2NvdW50IDogJXMgKCVzKSkuXG4iLAotCQkJCQlwdXJwbGVfYWNjb3Vu dF9nZXRfdXNlcm5hbWUoYWNjb3VudCksCi0JCQkJCXB1cnBsZV9hY2NvdW50X2dldF9wcm90b2Nv bF9pZChhY2NvdW50KSk7Ci0JCQkJZXJyb3IgPSBnX2Vycm9yX25ldyhQVVJQTEVfS0VZUklOR19F UlJPUiwKLQkJCQkJUFVSUExFX0tFWVJJTkdfRVJST1JfQkFDS0VOREZBSUwsCi0JCQkJCSJGYWls ZWQgdG8gY29tbXVuaWNhdGUgd2l0aCBTZWNyZXQgU2VydmljZSAoYWNjb3VudCA6ICVzKS4iLAot CQkJCQlwdXJwbGVfYWNjb3VudF9nZXRfdXNlcm5hbWUoYWNjb3VudCkpOwotCQkJCWlmIChjYiAh PSBOVUxMKQotCQkJCQljYihhY2NvdW50LCBlcnJvciwgc3RvcmFnZS0+dXNlcl9kYXRhKTsKLQkJ CQlnX2Vycm9yX2ZyZWUoZXJyb3IpOwotCQkJCWJyZWFrOwotCi0JCQlkZWZhdWx0OgotCQkJCXB1 cnBsZV9kZWJ1Z19lcnJvcigia2V5cmluZy1saWJzZWNyZXQiLAotCQkJCQkiVW5rbm93biBlcnJv ciAoYWNjb3VudDogJXMgKCVzKSwgIgotCQkJCQkiZG9tYWluOiAlcywgY29kZTogJWQpOiAlcy5c biIsCi0JCQkJCXB1cnBsZV9hY2NvdW50X2dldF91c2VybmFtZShhY2NvdW50KSwKLQkJCQkJcHVy cGxlX2FjY291bnRfZ2V0X3Byb3RvY29sX2lkKGFjY291bnQpLAotCQkJCQlnX3F1YXJrX3RvX3N0 cmluZyhlcnJvci0+ZG9tYWluKSwgY29kZSwKLQkJCQkJCWVycm9yLT5tZXNzYWdlKTsKLQkJCQll cnJvciA9IGdfZXJyb3JfbmV3KFBVUlBMRV9LRVlSSU5HX0VSUk9SLAotCQkJCQlQVVJQTEVfS0VZ UklOR19FUlJPUl9CQUNLRU5ERkFJTCwKLQkJCQkJIlVua25vd24gZXJyb3IgKGFjY291bnQgOiAl cykuIiwKLQkJCQkJcHVycGxlX2FjY291bnRfZ2V0X3VzZXJuYW1lKGFjY291bnQpKTsKLQkJCQlp ZiAoY2IgIT0gTlVMTCkKLQkJCQkJY2IoYWNjb3VudCwgZXJyb3IsIHN0b3JhZ2UtPnVzZXJfZGF0 YSk7Ci0JCQkJZ19lcnJvcl9mcmVlKGVycm9yKTsKLQkJCQlicmVhazsKLQkJfQotCisJCXNzX2df ZXJyb3JfdG9fa2V5cmluZ19lcnJvcigmZXJyb3IsIGFjY291bnQpOwogCX0gZWxzZSB7CiAJCXB1 cnBsZV9kZWJ1Z19pbmZvKCJrZXlyaW5nLWxpYnNlY3JldCIsICJQYXNzd29yZCBmb3IgJXMgdXBk YXRlZC5cbiIsCiAJCQlwdXJwbGVfYWNjb3VudF9nZXRfdXNlcm5hbWUoYWNjb3VudCkpOwotCi0J CWlmIChjYiAhPSBOVUxMKQotCQkJY2IoYWNjb3VudCwgTlVMTCwgc3RvcmFnZS0+dXNlcl9kYXRh KTsKIAl9CiAKKwlpZiAoY2IgIT0gTlVMTCkKKwkJY2IoYWNjb3VudCwgZXJyb3IsIHN0b3JhZ2Ut PnVzZXJfZGF0YSk7CisKKwlnX2NsZWFyX2Vycm9yKCZlcnJvcik7CiAJZ19mcmVlKHN0b3JhZ2Up OwogfQogCiBzdGF0aWMgdm9pZAorc3Nfc3RvcmVfY29udGludWUoR09iamVjdCAqb2JqZWN0LCBH QXN5bmNSZXN1bHQgKnJlc3VsdCwgZ3BvaW50ZXIgZGF0YSkKK3sKKwlHRXJyb3IgKmVycm9yID0g TlVMTDsKKworCXNlY3JldF9wYXNzd29yZF9zdG9yZV9maW5pc2gocmVzdWx0LCAmZXJyb3IpOwor CisJc3Nfc2F2ZV9jb250aW51ZShlcnJvciwgZGF0YSk7Cit9CgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpDb21taXRzIG1haWxpbmcgbGlzdApDb21taXRz QHBpZGdpbi5pbQpodHRwczovL3BpZGdpbi5pbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vY29t bWl0cw==