From mboxrd@z Thu Jan 1 00:00:00 1970 From: Changlong Xie Subject: [PATCH v13.1 26/26] cmdline switches and config vars to control colo-proxy Date: Mon, 28 Mar 2016 11:47:49 +0800 Message-ID: <56F8A965.6080905@cn.fujitsu.com> References: <1458888273-7469-1-git-send-email-xiecl.fnst@cn.fujitsu.com> <1458888273-7469-27-git-send-email-xiecl.fnst@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458888273-7469-27-git-send-email-xiecl.fnst@cn.fujitsu.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen devel , Konrad Rzeszutek Wilk , Andrew Cooper , Ian Campbell , Ian Jackson , Wei Liu Cc: Lars Kurth , Wen Congyang , Li Zhijian , Gui Jianfeng , Jiang Yunhong , Dong Eddie , Anthony Perard , Shriram Rajagopalan , Yang Hongyang List-Id: xen-devel@lists.xenproject.org IEZyb20gMWJmZDE0NjIyNDU1NjM1YzZjYWU2MTMwMzk2MjUwOTk2ZTQ5ZmFjYyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4K RGF0ZTogV2VkLCAxNSBKdWwgMjAxNSAxNzoxODo1NiArMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjEz LjEgMjYvMjZdIGNtZGxpbmUgc3dpdGNoZXMgYW5kIGNvbmZpZyB2YXJzIHRvIGNvbnRyb2wgCmNv bG8tcHJveHkKCkFkZCBjbWRsaW5lIHN3aXRjaGVzIHRvICd4bCBtaWdyYXRlLXJlY2VpdmUnIGNv bW1hbmQgdG8gc3BlY2lmeQphIGRvbWFpbi1zcGVjaWZpYyBob3RwbHVnIHNjcmlwdCB0byBzZXR1 cCBDT0xPIHByb3h5LgoKQWRkIGEgbmV3IGNvbmZpZyB2YXIgJ2NvbG8uZGVmYXVsdC5hZ2VudHNj cmlwdCcgdG8geGwuY29uZiwgdGhhdAphbGxvd3MgdGhlIHVzZXIgdG8gb3ZlcnJpZGUgdGhlIGRl ZmF1bHQgZ2xvYmFsIHNjcmlwdCB1c2VkIHRvCnNldHVwIENPTE8gcHJveHkuCgpTaWduZWQtb2Zm LWJ5OiBZYW5nIEhvbmd5YW5nIDxob25neWFuZy55YW5nQGVhc3lzdGFjay5jbj4KU2lnbmVkLW9m Zi1ieTogV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KU2lnbmVkLW9mZi1ieTog Q2hhbmdsb25nIFhpZSA8eGllY2wuZm5zdEBjbi5mdWppdHN1LmNvbT4KLS0tCiAgZG9jcy9tYW4v eGwuY29uZi5wb2QuNSAgICAgICAgICAgfCAgNiArKysrKwogIGRvY3MvbWFuL3hsLnBvZC4xICAg ICAgICAgICAgICAgIHwgIDcgKysrKy0tCiAgdG9vbHMvbGlieGwvbGlieGwuYyAgICAgICAgICAg ICAgfCAgNiArKysrKwogIHRvb2xzL2xpYnhsL2xpYnhsX2NvbG9fcmVzdG9yZS5jIHwgIDUgKysr KysKICB0b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYyAgICAgICB8ICA5ICsrKysrKy0tCiAgdG9v bHMvbGlieGwvbGlieGxfdHlwZXMuaWRsICAgICAgfCAgMSArCiAgdG9vbHMvbGlieGwveGwuYyAg ICAgICAgICAgICAgICAgfCAgMyArKysKICB0b29scy9saWJ4bC94bC5oICAgICAgICAgICAgICAg ICB8ICAxICsKICB0b29scy9saWJ4bC94bF9jbWRpbXBsLmMgICAgICAgICB8IDQ3IAorKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiAgOSBmaWxlcyBjaGFuZ2VkLCA3MSBp bnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2NzL21hbi94bC5j b25mLnBvZC41IGIvZG9jcy9tYW4veGwuY29uZi5wb2QuNQppbmRleCA4YWUxOWJiLi44ZjdmZDI4 IDEwMDY0NAotLS0gYS9kb2NzL21hbi94bC5jb25mLnBvZC41CisrKyBiL2RvY3MvbWFuL3hsLmNv bmYucG9kLjUKQEAgLTExMSw2ICsxMTEsMTIgQEAgQ29uZmlndXJlcyB0aGUgZGVmYXVsdCBzY3Jp cHQgdXNlZCBieSBSZW11cyB0byAKc2V0dXAgbmV0d29yayBidWZmZXJpbmcuCgogIERlZmF1bHQ6 IEM8L2V0Yy94ZW4vc2NyaXB0cy9yZW11cy1uZXRidWYtc2V0dXA+CgorPWl0ZW0gQjxjb2xvLmRl ZmF1bHQucHJveHlzY3JpcHQ9IlBBVEgiPgorCitDb25maWd1cmVzIHRoZSBkZWZhdWx0IHNjcmlw dCB1c2VkIGJ5IENPTE8gdG8gc2V0dXAgY29sby1wcm94eS4KKworRGVmYXVsdDogQzwvZXRjL3hl bi9zY3JpcHRzL2NvbG8tcHJveHktc2V0dXA+CisKICA9aXRlbSBCPG91dHB1dF9mb3JtYXQ9Impz b258c3hwIj4KCiAgQ29uZmlndXJlcyB0aGUgZGVmYXVsdCBvdXRwdXQgZm9ybWF0IHVzZWQgYnkg eGwgd2hlbiBwcmludGluZyAibWFjaGluZQpkaWZmIC0tZ2l0IGEvZG9jcy9tYW4veGwucG9kLjEg Yi9kb2NzL21hbi94bC5wb2QuMQppbmRleCAyNjY0NDAyLi45ZGYzMzAyIDEwMDY0NAotLS0gYS9k b2NzL21hbi94bC5wb2QuMQorKysgYi9kb2NzL21hbi94bC5wb2QuMQpAQCAtNDU4LDggKzQ1OCw2 IEBAIFJlbXVzIHN1cHBvcnQgaW4geGwgaXMgc3RpbGwgaW4gZXhwZXJpbWVudGFsIAoocHJvb2Yt b2YtY29uY2VwdCkgcGhhc2UuCiAgRGlzayByZXBsaWNhdGlvbiBzdXBwb3J0IGlzIGxpbWl0ZWQg dG8gRFJCRCBkaXNrcy4KCiAgQ09MTyBzdXBwb3J0IGluIHhsIGlzIHN0aWxsIGluIGV4cGVyaW1l bnRhbCAocHJvb2Ytb2YtY29uY2VwdCkgcGhhc2UuCi1UaGVyZSBpcyBubyBzdXBwb3J0IGZvciBu ZXR3b3JrLCBzbyB0aGUgZ3Vlc3Qgd2lsbCBjb25mdXNlIGl0cyBuZXR3b3JrCi1wZWVycyBhdCB0 aGUgbW9tZW50LgoKICA9YmFjawoKQEAgLTQ4Myw2ICs0ODEsMTEgQEAgYW5kIGl0J3MgdXNlZCBi eSBzZWNvbmRhcnkuCiAgPWl0ZW0gQjxoaWRkZW4tZGlzaz4gICAgOlByaW1hcnkncyBtb2RpZmll ZCBjb250ZW50cyB3aWxsIGJlIGJ1ZmZlcmVkIAppbiB0aGlzCiAgZGlzaywgYW5kIGl0J3MgdXNl ZCBieSBzZWNvbmRhcnkuCgorKGIpIEFuIGV4YW1wbGUgZm9yIENPTE8gbmV0d29yayBjb25maWd1 cmF0aW9uOiB2aWYgPVsgCicuLi4sZm9yd2FyZGRldj14eHgsLi4uJ10KKworPWl0ZW0gQjxmb3J3 YXJkZGV2PiAgICAgOkZvcndhcmQgZGV2aWNlcyBmb3IgcHJpbWFyeSBhbmQgc2Vjb25kYXJ5LCAK dGhlcmUgYXJlCitkaXJlY3RseSBjb25uZWN0ZWQuCisKICBOb3RlIHRoYXQgdGhlIENPTE8gY29u ZmlndXJhdGlvbiBzZXR0aW5ncyBzaG91bGQgYmUgY29uc2lkZXJlZCAKdW5zdGFibGUuIFRoZXkK ICBtYXkgY2hhbmdlIGluY29tcGF0aWJseSBpbiBmdXR1cmUgdmVyc2lvbnMgb2YgWGVuLgoKZGlm ZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMgYi90b29scy9saWJ4bC9saWJ4bC5jCmluZGV4 IDYzZmJlMTYuLmFhYmYzYTcgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMKKysrIGIv dG9vbHMvbGlieGwvbGlieGwuYwpAQCAtMzM3OCw2ICszMzc4LDExIEBAIHZvaWQgbGlieGxfX2Rl dmljZV9uaWNfYWRkKGxpYnhsX19lZ2MgKmVnYywgCnVpbnQzMl90IGRvbWlkLAogICAgICAgICAg ZmxleGFycmF5X2FwcGVuZChiYWNrLCBuaWMtPmlmbmFtZSk7CiAgICAgIH0KCisgICAgaWYgKG5p Yy0+Y29sb2Z0X2ZvcndhcmRkZXYpIHsKKyAgICAgICAgZmxleGFycmF5X2FwcGVuZChiYWNrLCAi Zm9yd2FyZGRldiIpOworICAgICAgICBmbGV4YXJyYXlfYXBwZW5kKGJhY2ssIG5pYy0+Y29sb2Z0 X2ZvcndhcmRkZXYpOworICAgIH0KKwogICAgICBmbGV4YXJyYXlfYXBwZW5kKGJhY2ssICJtYWMi KTsKICAgICAgZmxleGFycmF5X2FwcGVuZChiYWNrLEdDU1BSSU5URihMSUJYTF9NQUNfRk1ULCAK TElCWExfTUFDX0JZVEVTKG5pYy0+bWFjKSkpOwogICAgICBpZiAobmljLT5pcCkgewpAQCAtMzUw MCw2ICszNTA1LDcgQEAgc3RhdGljIGludCBsaWJ4bF9fZGV2aWNlX25pY19mcm9tX3hzX2JlKGxp YnhsX19nYyAqZ2MsCiAgICAgIG5pYy0+aXAgPSBSRUFEX0JBQ0tFTkQoTk9HQywgImlwIik7CiAg ICAgIG5pYy0+YnJpZGdlID0gUkVBRF9CQUNLRU5EKE5PR0MsICJicmlkZ2UiKTsKICAgICAgbmlj LT5zY3JpcHQgPSBSRUFEX0JBQ0tFTkQoTk9HQywgInNjcmlwdCIpOworICAgIG5pYy0+Y29sb2Z0 X2ZvcndhcmRkZXYgPSBSRUFEX0JBQ0tFTkQoTk9HQywgImZvcndhcmRkZXYiKTsKCiAgICAgIC8q IHZpZl9pb2VtdSBuaWNzIHVzZSB0aGUgc2FtZSB4ZW5zdG9yZSBlbnRyaWVzIGFzIHZpZiBpbnRl cmZhY2VzICovCiAgICAgIHRtcCA9IFJFQURfQkFDS0VORChnYywgInR5cGUiKTsKZGlmZiAtLWdp dCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NvbG9fcmVzdG9yZS5jIApiL3Rvb2xzL2xpYnhsL2xpYnhs X2NvbG9fcmVzdG9yZS5jCmluZGV4IGM4YWQ3OTYuLjM0ODNmMzkgMTAwNjQ0Ci0tLSBhL3Rvb2xz L2xpYnhsL2xpYnhsX2NvbG9fcmVzdG9yZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NvbG9f cmVzdG9yZS5jCkBAIC0yMzMsNiArMjMzLDExIEBAIHZvaWQgbGlieGxfX2NvbG9fcmVzdG9yZV9z ZXR1cChsaWJ4bF9fZWdjICplZ2MsCiAgICAgIGNyY3MtPmNycyA9IGNyczsKICAgICAgY3JzLT5x ZGlza19zZXR1cGVkID0gZmFsc2U7CiAgICAgIGNycy0+cWRpc2tfdXNlZCA9IGZhbHNlOworICAg IGlmIChkY3MtPmNvbG9fcHJveHlfc2NyaXB0KQorICAgICAgICBjcnMtPmNvbG9fcHJveHlfc2Ny aXB0ID0gbGlieGxfX3N0cmR1cChnYywgZGNzLT5jb2xvX3Byb3h5X3NjcmlwdCk7CisgICAgZWxz ZQorICAgICAgICBjcnMtPmNvbG9fcHJveHlfc2NyaXB0ID0gR0NTUFJJTlRGKCIlcy9jb2xvLXBy b3h5LXNldHVwIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs aWJ4bF9feGVuX3NjcmlwdF9kaXJfcGF0aCgpKTsKCiAgICAgIC8qIHNldHVwIGRzcHMgKi8KICAg ICAgY3Jjcy0+ZHNwcy5hbyA9IGFvOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfY3Jl YXRlLmMgYi90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYwppbmRleCBlMmVjMjVjLi5kNjAyOGFh IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYworKysgYi90b29scy9saWJ4 bC9saWJ4bF9jcmVhdGUuYwpAQCAtMTY5MCw2ICsxNjkwLDcgQEAgc3RhdGljIHZvaWQgZG9tYWlu X2NyZWF0ZV9jYihsaWJ4bF9fZWdjICplZ2MsCiAgc3RhdGljIGludCBkb19kb21haW5fY3JlYXRl KGxpYnhsX2N0eCAqY3R4LCBsaWJ4bF9kb21haW5fY29uZmlnICpkX2NvbmZpZywKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKmRvbWlkLCBpbnQgcmVzdG9yZV9mZCwgaW50 IApzZW5kX2JhY2tfZmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhs X2RvbWFpbl9yZXN0b3JlX3BhcmFtcyAqcGFyYW1zLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IGNoYXIgKmNvbG9fcHJveHlfc2NyaXB0LAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCBsaWJ4bF9hc3luY29wX2hvdyAqYW9faG93LAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9hc3luY3Byb2dyZXNzX2hvdyAKKmFvcF9jb25zb2xl X2hvdykKICB7CkBAIC0xNzEzLDYgKzE3MTQsNyBAQCBzdGF0aWMgaW50IGRvX2RvbWFpbl9jcmVh dGUobGlieGxfY3R4ICpjdHgsIApsaWJ4bF9kb21haW5fY29uZmlnICpkX2NvbmZpZywKICAgICAg fQogICAgICBjZGNzLT5kY3MuY2FsbGJhY2sgPSBkb21haW5fY3JlYXRlX2NiOwogICAgICBjZGNz LT5kY3MuZG9taWRfc29mdF9yZXNldCA9IElOVkFMSURfRE9NSUQ7CisgICAgY2Rjcy0+ZGNzLmNv bG9fcHJveHlfc2NyaXB0ID0gY29sb19wcm94eV9zY3JpcHQ7CiAgICAgIGxpYnhsX19hb19wcm9n cmVzc19nZXRob3coJmNkY3MtPmRjcy5hb3BfY29uc29sZV9ob3csIAphb3BfY29uc29sZV9ob3cp OwogICAgICBjZGNzLT5kb21pZF9vdXQgPSBkb21pZDsKCkBAIC0xOTAwLDcgKzE5MDIsNyBAQCBp bnQgbGlieGxfZG9tYWluX2NyZWF0ZV9uZXcobGlieGxfY3R4ICpjdHgsIApsaWJ4bF9kb21haW5f Y29uZmlnICpkX2NvbmZpZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGli eGxfYXN5bmNwcm9ncmVzc19ob3cgCiphb3BfY29uc29sZV9ob3cpCiAgewogICAgICB1bnNldF9k aXNrX2NvbG9fcmVzdG9yZShkX2NvbmZpZyk7Ci0gICAgcmV0dXJuIGRvX2RvbWFpbl9jcmVhdGUo Y3R4LCBkX2NvbmZpZywgZG9taWQsIC0xLCAtMSwgTlVMTCwKKyAgICByZXR1cm4gZG9fZG9tYWlu X2NyZWF0ZShjdHgsIGRfY29uZmlnLCBkb21pZCwgLTEsIC0xLCBOVUxMLCBOVUxMLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBhb19ob3csIGFvcF9jb25zb2xlX2hvdyk7CiAgfQoKQEAg LTE5MTEsMTQgKzE5MTMsMTcgQEAgaW50IGxpYnhsX2RvbWFpbl9jcmVhdGVfcmVzdG9yZShsaWJ4 bF9jdHggKmN0eCwgCmxpYnhsX2RvbWFpbl9jb25maWcgKmRfY29uZmlnLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfYXN5bmNvcF9ob3cgKmFvX2hvdywKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhsX2FzeW5jcHJvZ3Jlc3Nf aG93IAoqYW9wX2NvbnNvbGVfaG93KQogIHsKKyAgICBjaGFyICpjb2xvX3Byb3h5X3NjcmlwdCA9 IE5VTEw7CisKICAgICAgaWYgKHBhcmFtcy0+Y2hlY2twb2ludGVkX3N0cmVhbSA9PSBMSUJYTF9D SEVDS1BPSU5URURfU1RSRUFNX0NPTE8pIHsKKyAgICAgICAgY29sb19wcm94eV9zY3JpcHQgPSBw YXJhbXMtPmNvbG9fcHJveHlfc2NyaXB0OwogICAgICAgICAgc2V0X2Rpc2tfY29sb19yZXN0b3Jl KGRfY29uZmlnKTsKICAgICAgfSBlbHNlIHsKICAgICAgICAgIHVuc2V0X2Rpc2tfY29sb19yZXN0 b3JlKGRfY29uZmlnKTsKICAgICAgfQoKICAgICAgcmV0dXJuIGRvX2RvbWFpbl9jcmVhdGUoY3R4 LCBkX2NvbmZpZywgZG9taWQsIHJlc3RvcmVfZmQsIApzZW5kX2JhY2tfZmQsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgcGFyYW1zLCBhb19ob3csIGFvcF9jb25zb2xlX2hvdyk7CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLCBjb2xvX3Byb3h5X3NjcmlwdCwgYW9faG93 LCAKYW9wX2NvbnNvbGVfaG93KTsKICB9CgogIGludCBsaWJ4bF9kb21haW5fc29mdF9yZXNldChs aWJ4bF9jdHggKmN0eCwKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbCBi L3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbAppbmRleCBmODhmYWUwLi4xNjViNzg4IDEwMDY0 NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKKysrIGIvdG9vbHMvbGlieGwvbGli eGxfdHlwZXMuaWRsCkBAIC0zODYsNiArMzg2LDcgQEAgbGlieGxfZG9tYWluX2NyZWF0ZV9pbmZv ID0gU3RydWN0KCJkb21haW5fY3JlYXRlX2luZm8iLFsKICBsaWJ4bF9kb21haW5fcmVzdG9yZV9w YXJhbXMgPSBTdHJ1Y3QoImRvbWFpbl9yZXN0b3JlX3BhcmFtcyIsIFsKICAgICAgKCJjaGVja3Bv aW50ZWRfc3RyZWFtIiwgaW50ZWdlciksCiAgICAgICgic3RyZWFtX3ZlcnNpb24iLCB1aW50MzIs IHsnaW5pdF92YWwnOiAnMSd9KSwKKyAgICAoImNvbG9fcHJveHlfc2NyaXB0Iiwgc3RyaW5nKSwK ICAgICAgXSkKCiAgbGlieGxfZG9tYWluX3NjaGVkX3BhcmFtcyA9IFN0cnVjdCgiZG9tYWluX3Nj aGVkX3BhcmFtcyIsWwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwveGwuYyBiL3Rvb2xzL2xpYnhs L3hsLmMKaW5kZXggZGZhZTg0YS4uYTI3MjI1OCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwveGwu YworKysgYi90b29scy9saWJ4bC94bC5jCkBAIC00NSw2ICs0NSw3IEBAIGNoYXIgKmRlZmF1bHRf YnJpZGdlID0gTlVMTDsKICBjaGFyICpkZWZhdWx0X2dhdGV3YXlkZXYgPSBOVUxMOwogIGNoYXIg KmRlZmF1bHRfdmlmYmFja2VuZCA9IE5VTEw7CiAgY2hhciAqZGVmYXVsdF9yZW11c19uZXRidWZz Y3JpcHQgPSBOVUxMOworY2hhciAqZGVmYXVsdF9jb2xvX3Byb3h5X3NjcmlwdCA9IE5VTEw7CiAg ZW51bSBvdXRwdXRfZm9ybWF0IGRlZmF1bHRfb3V0cHV0X2Zvcm1hdCA9IE9VVFBVVF9GT1JNQVRf SlNPTjsKICBpbnQgY2xhaW1fbW9kZSA9IDE7CiAgYm9vbCBwcm9ncmVzc191c2VfY3IgPSAwOwpA QCAtMTc5LDYgKzE4MCw4IEBAIHN0YXRpYyB2b2lkIHBhcnNlX2dsb2JhbF9jb25maWcoY29uc3Qg Y2hhciAqY29uZmlnZmlsZSwKCiAgICAgIHhsdV9jZmdfcmVwbGFjZV9zdHJpbmcgKGNvbmZpZywg InJlbXVzLmRlZmF1bHQubmV0YnVmc2NyaXB0IiwKICAgICAgICAgICZkZWZhdWx0X3JlbXVzX25l dGJ1ZnNjcmlwdCwgMCk7CisgICAgeGx1X2NmZ19yZXBsYWNlX3N0cmluZyAoY29uZmlnLCAiY29s by5kZWZhdWx0LnByb3h5c2NyaXB0IiwKKyAgICAgICAgJmRlZmF1bHRfY29sb19wcm94eV9zY3Jp cHQsIDApOwoKICAgICAgeGx1X2NmZ19kZXN0cm95KGNvbmZpZyk7CiAgfQpkaWZmIC0tZ2l0IGEv dG9vbHMvbGlieGwveGwuaCBiL3Rvb2xzL2xpYnhsL3hsLmgKaW5kZXggMzA5NjI3YS4uZTYwMWNh MSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwveGwuaAorKysgYi90b29scy9saWJ4bC94bC5oCkBA IC0xOTQsNiArMTk0LDcgQEAgZXh0ZXJuIGNoYXIgKmRlZmF1bHRfYnJpZGdlOwogIGV4dGVybiBj aGFyICpkZWZhdWx0X2dhdGV3YXlkZXY7CiAgZXh0ZXJuIGNoYXIgKmRlZmF1bHRfdmlmYmFja2Vu ZDsKICBleHRlcm4gY2hhciAqZGVmYXVsdF9yZW11c19uZXRidWZzY3JpcHQ7CitleHRlcm4gY2hh ciAqZGVmYXVsdF9jb2xvX3Byb3h5X3NjcmlwdDsKICBleHRlcm4gY2hhciAqYmxrZGV2X3N0YXJ0 OwoKICBlbnVtIG91dHB1dF9mb3JtYXQgewpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwveGxfY21k aW1wbC5jIGIvdG9vbHMvbGlieGwveGxfY21kaW1wbC5jCmluZGV4IDI1YmQ4MWEuLjkxZGNiNjMg MTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL3hsX2NtZGltcGwuYworKysgYi90b29scy9saWJ4bC94 bF9jbWRpbXBsLmMKQEAgLTE1OCw2ICsxNTgsNyBAQCBzdHJ1Y3QgZG9tYWluX2NyZWF0ZSB7CiAg ICAgIGNvbnN0IGNoYXIgKmNvbmZpZ19maWxlOwogICAgICBjaGFyICpleHRyYV9jb25maWc7IC8q IGV4dHJhIGNvbmZpZyBzdHJpbmcgKi8KICAgICAgY29uc3QgY2hhciAqcmVzdG9yZV9maWxlOwor ICAgIGNoYXIgKmNvbG9fcHJveHlfc2NyaXB0OwogICAgICBpbnQgbWlncmF0ZV9mZDsgLyogLTEg bWVhbnMgbm9uZSAqLwogICAgICBpbnQgc2VuZF9iYWNrX2ZkOyAvKiAtMSBtZWFucyBub25lICov CiAgICAgIGNoYXIgKiptaWdyYXRpb25fZG9tbmFtZV9yOyAvKiBmcm9tIG1hbGxvYyAqLwpAQCAt MTA1Myw2ICsxMDU0LDggQEAgc3RhdGljIGludCBwYXJzZV9uaWNfY29uZmlnKGxpYnhsX2Rldmlj ZV9uaWMgKm5pYywgClhMVV9Db25maWcgKipjb25maWcsIGNoYXIgKnRvCiAgICAgICAgICByZXBs YWNlX3N0cmluZygmbmljLT5tb2RlbCwgb3BhcmcpOwogICAgICB9IGVsc2UgaWYgKE1BVENIX09Q VElPTigicmF0ZSIsIHRva2VuLCBvcGFyZykpIHsKICAgICAgICAgIHBhcnNlX3ZpZl9yYXRlKGNv bmZpZywgb3BhcmcsIG5pYyk7CisgICAgfSBlbHNlIGlmIChNQVRDSF9PUFRJT04oImZvcndhcmRk ZXYiLCB0b2tlbiwgb3BhcmcpKSB7CisgICAgICAgIHJlcGxhY2Vfc3RyaW5nKCZuaWMtPmNvbG9m dF9mb3J3YXJkZGV2LCBvcGFyZyk7CiAgICAgIH0gZWxzZSBpZiAoTUFUQ0hfT1BUSU9OKCJhY2Nl bCIsIHRva2VuLCBvcGFyZykpIHsKICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAidGhlIGFjY2Vs IHBhcmFtZXRlciBmb3IgdmlmcyBpcyBjdXJyZW50bHkgbm90IApzdXBwb3J0ZWRcbiIpOwogICAg ICB9IGVsc2UgewpAQCAtMzAwMSw2ICszMDA0LDcgQEAgc3RhcnQ6CiAgICAgICAgICBwYXJhbXMu Y2hlY2twb2ludGVkX3N0cmVhbSA9IGRvbV9pbmZvLT5jaGVja3BvaW50ZWRfc3RyZWFtOwogICAg ICAgICAgcGFyYW1zLnN0cmVhbV92ZXJzaW9uID0KICAgICAgICAgICAgICAoaGRyLm1hbmRhdG9y eV9mbGFncyAmIFhMX01BTkRBVE9SWV9GTEFHX1NUUkVBTXYyKSA/IDIgOiAxOworICAgICAgICBw YXJhbXMuY29sb19wcm94eV9zY3JpcHQgPSBkb21faW5mby0+Y29sb19wcm94eV9zY3JpcHQ7Cgog ICAgICAgICAgcmV0ID0gbGlieGxfZG9tYWluX2NyZWF0ZV9yZXN0b3JlKGN0eCwgJmRfY29uZmln LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkb21pZCwgcmVz dG9yZV9mZCwKQEAgLTQ3MzMsNyArNDczNyw4IEBAIHN0YXRpYyB2b2lkIG1pZ3JhdGVfZG9tYWlu KHVpbnQzMl90IGRvbWlkLCBjb25zdCAKY2hhciAqcnVuZSwgaW50IGRlYnVnLAoKICBzdGF0aWMg dm9pZCBtaWdyYXRlX3JlY2VpdmUoaW50IGRlYnVnLCBpbnQgZGFlbW9uaXplLCBpbnQgbW9uaXRv ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNlbmRfZmQsIGludCByZWN2X2Zk LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2NoZWNrcG9pbnRlZF9zdHJlYW0g Y2hlY2twb2ludGVkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2NoZWNrcG9p bnRlZF9zdHJlYW0gY2hlY2twb2ludGVkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNo YXIgKmNvbG9fcHJveHlfc2NyaXB0KQogIHsKICAgICAgdWludDMyX3QgZG9taWQ7CiAgICAgIGlu dCByYywgcmMyOwpAQCAtNDc2Miw2ICs0NzY3LDcgQEAgc3RhdGljIHZvaWQgbWlncmF0ZV9yZWNl aXZlKGludCBkZWJ1ZywgaW50IApkYWVtb25pemUsIGludCBtb25pdG9yLAogICAgICBkb21faW5m by5zZW5kX2JhY2tfZmQgPSBzZW5kX2ZkOwogICAgICBkb21faW5mby5taWdyYXRpb25fZG9tbmFt ZV9yID0gJm1pZ3JhdGlvbl9kb21uYW1lOwogICAgICBkb21faW5mby5jaGVja3BvaW50ZWRfc3Ry ZWFtID0gY2hlY2twb2ludGVkOworICAgIGRvbV9pbmZvLmNvbG9fcHJveHlfc2NyaXB0ID0gY29s b19wcm94eV9zY3JpcHQ7CgogICAgICByYyA9IGNyZWF0ZV9kb21haW4oJmRvbV9pbmZvKTsKICAg ICAgaWYgKHJjIDwgMCkgewpAQCAtNDk1NSw4ICs0OTYxLDExIEBAIGludCBtYWluX21pZ3JhdGVf cmVjZWl2ZShpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgIGludCBkZWJ1ZyA9IDAsIGRhZW1v bml6ZSA9IDEsIG1vbml0b3IgPSAxOwogICAgICBsaWJ4bF9jaGVja3BvaW50ZWRfc3RyZWFtIGNo ZWNrcG9pbnRlZCA9IApMSUJYTF9DSEVDS1BPSU5URURfU1RSRUFNX05PTkU7CiAgICAgIGludCBv cHQ7CisgICAgY2hhciAqc2NyaXB0ID0gTlVMTDsKICAgICAgc3RhdGljIHN0cnVjdCBvcHRpb24g b3B0c1tdID0gewogICAgICAgICAgeyJjb2xvIiwgMCwgMCwgMHgxMDB9LAorICAgICAgICAvKiBJ dCBpcyBhIHNoYW1lIHRoYXQgdGhlIG1hbmFnZW1lbnQgY29kZSBmb3IgZGlzayBpcyBub3QgaGVy ZS4gKi8KKyAgICAgICAgeyJjb2xvZnQtc2NyaXB0IiwgMSwgMCwgMHgyMDB9LAogICAgICAgICAg Q09NTU9OX0xPTkdfT1BUUwogICAgICB9OwoKQEAgLTQ5NzcsNiArNDk4Niw5IEBAIGludCBtYWlu X21pZ3JhdGVfcmVjZWl2ZShpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgIGNhc2UgMHgxMDA6 CiAgICAgICAgICBjaGVja3BvaW50ZWQgPSBMSUJYTF9DSEVDS1BPSU5URURfU1RSRUFNX0NPTE87 CiAgICAgICAgICBicmVhazsKKyAgICBjYXNlIDB4MjAwOgorICAgICAgICBzY3JpcHQgPSBvcHRh cmc7CisgICAgICAgIGJyZWFrOwogICAgICB9CgogICAgICBpZiAoYXJnYy1vcHRpbmQgIT0gMCkg ewpAQCAtNDk4NSw3ICs0OTk3LDcgQEAgaW50IG1haW5fbWlncmF0ZV9yZWNlaXZlKGludCBhcmdj LCBjaGFyICoqYXJndikKICAgICAgfQogICAgICBtaWdyYXRlX3JlY2VpdmUoZGVidWcsIGRhZW1v bml6ZSwgbW9uaXRvciwKICAgICAgICAgICAgICAgICAgICAgIFNURE9VVF9GSUxFTk8sIFNURElO X0ZJTEVOTywKLSAgICAgICAgICAgICAgICAgICAgY2hlY2twb2ludGVkKTsKKyAgICAgICAgICAg ICAgICAgICAgY2hlY2twb2ludGVkLCBzY3JpcHQpOwoKICAgICAgcmV0dXJuIDA7CiAgfQpAQCAt ODM5NSw4ICs4NDA3LDEwIEBAIGludCBtYWluX3JlbXVzKGludCBhcmdjLCBjaGFyICoqYXJndikK ICAgICAgICAgIHJfaW5mby5pbnRlcnZhbCA9IDIwMDsKCiAgICAgIGlmIChsaWJ4bF9kZWZib29s X3ZhbChyX2luZm8uY29sbykpIHsKLSAgICAgICAgaWYgKHJfaW5mby5pbnRlcnZhbCB8fCBsaWJ4 bF9kZWZib29sX3ZhbChyX2luZm8uYmxhY2tob2xlKSkgewotICAgICAgICAgICAgcGVycm9yKCJP cHRpb24gLWMgY29uZmxpY3RzIHdpdGggLWkgb3IgLWIiKTsKKyAgICAgICAgaWYgKHJfaW5mby5p bnRlcnZhbCB8fCBsaWJ4bF9kZWZib29sX3ZhbChyX2luZm8uYmxhY2tob2xlKSB8fAorICAgICAg ICAgICAgIWxpYnhsX2RlZmJvb2xfaXNfZGVmYXVsdChyX2luZm8ubmV0YnVmKSB8fAorICAgICAg ICAgICAgIWxpYnhsX2RlZmJvb2xfaXNfZGVmYXVsdChyX2luZm8uZGlza2J1ZikpIHsKKyAgICAg ICAgICAgIHBlcnJvcigib3B0aW9uIC1jIGlzIGNvbmZsaWN0IHdpdGggLWksIC1kLCAtbiBvciAt YiIpOwogICAgICAgICAgICAgIGV4aXQoLTEpOwogICAgICAgICAgfQoKQEAgLTg0MDcsOCArODQy MSwxMiBAQCBpbnQgbWFpbl9yZW11cyhpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgICB9 CiAgICAgIH0KCi0gICAgaWYgKCFyX2luZm8ubmV0YnVmc2NyaXB0KQotICAgICAgICByX2luZm8u bmV0YnVmc2NyaXB0ID0gZGVmYXVsdF9yZW11c19uZXRidWZzY3JpcHQ7CisgICAgaWYgKCFyX2lu Zm8ubmV0YnVmc2NyaXB0KSB7CisgICAgICAgIGlmIChsaWJ4bF9kZWZib29sX3ZhbChyX2luZm8u Y29sbykpCisgICAgICAgICAgICByX2luZm8ubmV0YnVmc2NyaXB0ID0gZGVmYXVsdF9jb2xvX3By b3h5X3NjcmlwdDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcl9pbmZvLm5ldGJ1ZnNjcmlw dCA9IGRlZmF1bHRfcmVtdXNfbmV0YnVmc2NyaXB0OworICAgIH0KCiAgICAgIGlmIChsaWJ4bF9k ZWZib29sX3ZhbChyX2luZm8uYmxhY2tob2xlKSkgewogICAgICAgICAgc2VuZF9mZCA9IG9wZW4o Ii9kZXYvbnVsbCIsIE9fUkRXUiwgMDY0NCk7CkBAIC04NDIxLDEwICs4NDM5LDE5IEBAIGludCBt YWluX3JlbXVzKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgICAgIGlmICghc3NoX2NvbW1h bmRbMF0pIHsKICAgICAgICAgICAgICBydW5lID0gaG9zdDsKICAgICAgICAgIH0gZWxzZSB7Ci0g ICAgICAgICAgICB4YXNwcmludGYoJnJ1bmUsICJleGVjICVzICVzIHhsIG1pZ3JhdGUtcmVjZWl2 ZSAlcyAlcyIsCi0gICAgICAgICAgICAgICAgICAgICAgc3NoX2NvbW1hbmQsIGhvc3QsCi0gICAg ICAgICAgICAgICAgICAgICAgbGlieGxfZGVmYm9vbF92YWwocl9pbmZvLmNvbG8pID8gIi1jIiA6 ICItciIsCi0gICAgICAgICAgICAgICAgICAgICAgZGFlbW9uaXplID8gIiIgOiAiIC1lIik7Cisg ICAgICAgICAgICBpZiAoIWxpYnhsX2RlZmJvb2xfdmFsKHJfaW5mby5jb2xvKSkgeworICAgICAg ICAgICAgICAgIHhhc3ByaW50ZigmcnVuZSwgImV4ZWMgJXMgJXMgeGwgbWlncmF0ZS1yZWNlaXZl ICVzICVzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3NoX2NvbW1hbmQsIGhvc3QsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICItciIsCisgICAgICAgICAgICAgICAgICAgICAgICAg IGRhZW1vbml6ZSA/ICIiIDogIiAtZSIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg ICAgICAgICB4YXNwcmludGYoJnJ1bmUsICJleGVjICVzICVzIHhsIG1pZ3JhdGUtcmVjZWl2ZSAl cyAlcyAKJXMgJXMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzc2hfY29tbWFuZCwgaG9z dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tY29sbyIsCisgICAgICAgICAgICAgICAg ICAgICAgICAgIHJfaW5mby5uZXRidWZzY3JpcHQgPyAiLS1jb2xvZnQtc2NyaXB0IiA6ICIiLAor ICAgICAgICAgICAgICAgICAgICAgICAgICByX2luZm8ubmV0YnVmc2NyaXB0ID8gcl9pbmZvLm5l dGJ1ZnNjcmlwdCA6ICIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBkYWVtb25pemUgPyAi IiA6ICIgLWUiKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgIH0KCiAgICAgICAgICBzYXZlX2Rv bWFpbl9jb3JlX2JlZ2luKGRvbWlkLCBOVUxMLCAmY29uZmlnX2RhdGEsICZjb25maWdfbGVuKTsK LS0gCjEuOS4zCgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6 Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=