From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH 10/12] tools/xl: add support for setting generic per-domain parameters Date: Tue, 18 Sep 2018 08:03:07 +0200 Message-ID: <20180918060309.7186-11-jgross@suse.com> References: <20180918060309.7186-1-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1g2970-0000ib-GJ for xen-devel@lists.xenproject.org; Tue, 18 Sep 2018 06:03:50 +0000 In-Reply-To: <20180918060309.7186-1-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Wei Liu , Ian Jackson List-Id: xen-devel@lists.xenproject.org QWRkIGEgbmV3IHhsIGNvbW1hbmQgImRvbWFpbi1zZXQtcGFyYW1ldGVycyIgYW5kIGRvbWFpbiBj b25maWcgZmlsZQpzdXBwb3J0IGZvciBzZXR0aW5nIHBlci1kb21haW4gZ2VuZXJpYyBwYXJhbWV0 ZXJzLgoKU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgotLS0K IGRvY3MvbWFuL3hsLmNmZy5wb2QuNS5pbiAgICB8IDEyICsrKysrKysrKysrKwogZG9jcy9tYW4v eGwucG9kLjEuaW4gICAgICAgIHwgMTkgKysrKysrKysrKysrKysrKysrCiB0b29scy9saWJ4bC9s aWJ4bC5oICAgICAgICAgfCAxMCArKysrKysrKysrCiB0b29scy9saWJ4bC9saWJ4bF9jcmVhdGUu YyAgfCAxMCArKysrKysrKysrCiB0b29scy9saWJ4bC9saWJ4bF9kb21haW4uYyAgfCA0NyArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHRvb2xzL2xpYnhsL2xp YnhsX3R5cGVzLmlkbCB8ICAxICsKIHRvb2xzL3hsL3hsLmggICAgICAgICAgICAgICB8ICAxICsK IHRvb2xzL3hsL3hsX2NtZHRhYmxlLmMgICAgICB8ICA2ICsrKysrKwogdG9vbHMveGwveGxfcGFy c2UuYyAgICAgICAgIHwgIDMgKysrCiB0b29scy94bC94bF92bWNvbnRyb2wuYyAgICAgfCAyNSAr KysrKysrKysrKysrKysrKysrKysrKysKIDEwIGZpbGVzIGNoYW5nZWQsIDEzNCBpbnNlcnRpb25z KCspCgpkaWZmIC0tZ2l0IGEvZG9jcy9tYW4veGwuY2ZnLnBvZC41LmluIGIvZG9jcy9tYW4veGwu Y2ZnLnBvZC41LmluCmluZGV4IGI3MjcxODE1MWIuLmM5N2FlNzcxMjkgMTAwNjQ0Ci0tLSBhL2Rv Y3MvbWFuL3hsLmNmZy5wb2QuNS5pbgorKysgYi9kb2NzL21hbi94bC5jZmcucG9kLjUuaW4KQEAg LTYwNCw2ICs2MDQsMTggQEAgb3B0aW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBhIHRydXN0 ZWQgZGV2aWNlIHRyZWUuCiBOb3RlIHRoYXQgdGhlIHBhcnRpYWwgZGV2aWNlIHRyZWUgc2hvdWxk IGF2b2lkIHVzaW5nIHRoZSBwaGFuZGxlIDY1MDAwCiB3aGljaCBpcyByZXNlcnZlZCBieSB0aGUg dG9vbHN0YWNrLgogCis9aXRlbSBCPHBhcmFtZXRlcnM9IlBBUkFNUyI+CisKK1NwZWNpZmllcyBn ZW5lcmljIHBhcmFtZXRlcnMgZm9yIHRoZSBkb21haW4uIEM8UEFSQU1TPiBpcyBhIGxpc3Qgb2YK K3BhcmFtZXRlciBzZXR0aW5ncyBpbiB0aGUgZm9ybSBvZiAibmFtZVs9dmFsdWVdIiBzZXBhcmF0 ZWQgYnkgYmxhbmtzLgorVGhlIGZvbGxvd2luZyBwYXJhbWV0ZXIgc2V0dGluZ3MgYXJlIHN1cHBv cnRlZDoKKworPW92ZXIgNAorCitOT05FCisKKz1iYWNrCisKID1iYWNrCiAKID1oZWFkMiBEZXZp Y2VzCmRpZmYgLS1naXQgYS9kb2NzL21hbi94bC5wb2QuMS5pbiBiL2RvY3MvbWFuL3hsLnBvZC4x LmluCmluZGV4IGEyZGRjNGIyZTAuLjdhYjNlMzA0ZDcgMTAwNjQ0Ci0tLSBhL2RvY3MvbWFuL3hs LnBvZC4xLmluCisrKyBiL2RvY3MvbWFuL3hsLnBvZC4xLmluCkBAIC0yNjMsNiArMjYzLDI1IEBA IHVzaW5nIGEgaGFyZHdhcmUgZG9tYWluIHNlcGFyYXRlZCBmcm9tIGRvbWFpbiAwLgogCiA9YmFj awogCis9aXRlbSBCPGRvbWFpbi1zZXQtcGFyYW1ldGVycz4gW0k8T1BUSU9OUz5dIEk8ZG9tYWlu LWlkPiBJPHBhcmFtcz4KKworU2V0cyBnZW5lcmljIHBhcmFtZXRlcnMgSTxwYXJhbXM+IGZvciBJ PGRvbWFpbi1pZD4uCisKK1NlZSB0aGUgTDx4bC5jZmcoNSk+IG1hbnBhZ2UgZm9yIHN1cHBvcnRl ZCBwYXJhbWV0ZXJzLgorCitCPE9QVElPTlM+CisKKz1vdmVyIDQKKworPWl0ZW0gSTwtdD4KKwor U2V0IHRoZSBwYXJhbWV0ZXIgb25seSB0ZW1wb3JhcnkuIFRoZSBwYXJhbWV0ZXIgaXNuJ3QgYWRk ZWQgdG8gdGhlIGRvbWFpbgorY29uZmlnIGRhdGEsIHNvIGl0IHdvbid0IHBlcnNpc3QgYWNyb3Nz IG1pZ3JhdGlvbiBvciBkb21haW4gc2F2ZS9yZXN0b3JlLgorCis9YmFjaworCis9YmFjaworCiA9 aXRlbSBCPGRvbWlkPiBJPGRvbWFpbi1uYW1lPgogCiBDb252ZXJ0cyBhIGRvbWFpbiBuYW1lIHRv IGEgZG9tYWluIGlkLgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuaCBiL3Rvb2xzL2xp YnhsL2xpYnhsLmgKaW5kZXggYmQyNmQ5ZmQ0YS4uYTNjODc0MDdhNSAxMDA2NDQKLS0tIGEvdG9v bHMvbGlieGwvbGlieGwuaAorKysgYi90b29scy9saWJ4bC9saWJ4bC5oCkBAIC0xMTY0LDYgKzEx NjQsMTMgQEAgdm9pZCBsaWJ4bF9tYWNfY29weShsaWJ4bF9jdHggKmN0eCwgbGlieGxfbWFjICpk c3QsIGNvbnN0IGxpYnhsX21hYyAqc3JjKTsKICAqLwogI2RlZmluZSBMSUJYTF9IQVZFX1BWQ0FM TFMgMQogCisvKgorICogTElCWExfSEFWRV9ET01BSU5fU0VUX1BBUkFNRVRFUlMKKyAqCisgKiBJ ZiB0aGlzIGlzIGRlZmluZWQgc2V0dGluZyBwZXItZG9tYWluIHBhcmFtZXRlcnMgaXMgc3VwcG9y dGVkLgorICovCisjZGVmaW5lIExJQlhMX0hBVkVfRE9NQUlOX1NFVF9QQVJBTUVURVJTIDEKKwog LyoKICAqIExJQlhMX0hBVkVfQ1BVUE9PTF9TRVRfUEFSQU1FVEVSUwogICoKQEAgLTE1NTQsNiAr MTU2MSw5IEBAIGludCBsaWJ4bF9kb21haW5fZGVzdHJveShsaWJ4bF9jdHggKmN0eCwgdWludDMy X3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWExfRVhURVJOQUxfQ0FMTEVS U19PTkxZOwogaW50IGxpYnhsX2RvbWFpbl9wcmVzZXJ2ZShsaWJ4bF9jdHggKmN0eCwgdWludDMy X3QgZG9taWQsIGxpYnhsX2RvbWFpbl9jcmVhdGVfaW5mbyAqaW5mbywgY29uc3QgY2hhciAqbmFt ZV9zdWZmaXgsIGxpYnhsX3V1aWQgbmV3X3V1aWQpOwogCitpbnQgbGlieGxfZG9tYWluX3NldF9w YXJhbWV0ZXJzKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwgY2hhciAqcGFyYW1zLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHRlbXApOworCiAvKiBnZXQgbWF4 LiBudW1iZXIgb2YgY3B1cyBzdXBwb3J0ZWQgYnkgaHlwZXJ2aXNvciAqLwogaW50IGxpYnhsX2dl dF9tYXhfY3B1cyhsaWJ4bF9jdHggKmN0eCk7CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xp YnhsX2NyZWF0ZS5jIGIvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKaW5kZXggZGNmZGU3Nzg3 ZS4uMWViMGU4ZjYzOSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKKysr IGIvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKQEAgLTU5Nyw2ICs1OTcsMTYgQEAgaW50IGxp YnhsX19kb21haW5fbWFrZShsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9kb21haW5fY29uZmlnICpkX2Nv bmZpZywKICAgICAgICAgICAgIGdvdG8gb3V0OwogICAgICAgICB9CiAKKyAgICAgICAgaWYgKGRf Y29uZmlnLT5iX2luZm8ucGFyYW1ldGVycykgeworICAgICAgICAgICAgcmV0ID0geGNfc2V0X2Rv bWFpbl9wYXJhbWV0ZXJzKGN0eC0+eGNoLCAqZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZF9jb25maWctPmJfaW5mby5wYXJhbWV0ZXJzKTsKKyAgICAg ICAgICAgIGlmIChyZXQgPCAwKSB7CisgICAgICAgICAgICAgICAgTE9HRUQoRVJST1IsICpkb21p ZCwgImZhaWwgdG8gc2V0IGRvbWFpbiBwYXJhbWV0ZXJzIik7CisgICAgICAgICAgICAgICAgcmMg PSBFUlJPUl9GQUlMOworICAgICAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICAgICAgfQor ICAgICAgICB9CisKICAgICAgICAgcmMgPSBsaWJ4bF9fYXJjaF9kb21haW5fc2F2ZV9jb25maWco Z2MsIGRfY29uZmlnLCBzdGF0ZSwgJmNyZWF0ZSk7CiAgICAgICAgIGlmIChyYyA8IDApCiAgICAg ICAgICAgICBnb3RvIG91dDsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbWFpbi5j IGIvdG9vbHMvbGlieGwvbGlieGxfZG9tYWluLmMKaW5kZXggMzM3N2JiYTk5NC4uZTBmNzhhYzQ4 OSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG9tYWluLmMKKysrIGIvdG9vbHMvbGli eGwvbGlieGxfZG9tYWluLmMKQEAgLTE3NzMsNiArMTc3Myw1MyBAQCBvdXQ6CiAgICAgcmV0dXJu IHJjOwogfQogCitpbnQgbGlieGxfZG9tYWluX3NldF9wYXJhbWV0ZXJzKGxpYnhsX2N0eCAqY3R4 LCB1aW50MzJfdCBkb21pZCwgY2hhciAqcGFyYW1zLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBib29sIHRlbXApCit7CisgICAgbGlieGxfX2RvbWFpbl91c2VyZGF0YV9sb2NrICps b2NrID0gTlVMTDsKKyAgICBsaWJ4bF9kb21haW5fY29uZmlnIGRfY29uZmlnOworICAgIEdDX0lO SVQoY3R4KTsKKyAgICBpbnQgcmM7CisKKyAgICBsaWJ4bF9kb21haW5fY29uZmlnX2luaXQoJmRf Y29uZmlnKTsKKworICAgIHJjID0geGNfc2V0X2RvbWFpbl9wYXJhbWV0ZXJzKGN0eC0+eGNoLCBk b21pZCwgcGFyYW1zKTsKKyAgICBpZiAocmMpIHsKKyAgICAgICAgTE9HRVYoRVJST1IsIHJjLCAi RXJyb3Igc2V0dGluZyBkb21haW4gcGFyYW1ldGVycyIpOworICAgICAgICByYyA9IEVSUk9SX0ZB SUw7CisgICAgICAgIGdvdG8gb3V0OworICAgIH0KKworICAgIGlmICghdGVtcCkgeworICAgICAg ICBsb2NrID0gbGlieGxfX2xvY2tfZG9tYWluX3VzZXJkYXRhKGdjLCBkb21pZCk7CisgICAgICAg IGlmICghbG9jaykgeworICAgICAgICAgICAgcmMgPSBFUlJPUl9MT0NLX0ZBSUw7CisgICAgICAg ICAgICBnb3RvIG91dDsKKyAgICAgICAgfQorCisgICAgICAgIHJjID0gbGlieGxfX2dldF9kb21h aW5fY29uZmlndXJhdGlvbihnYywgZG9taWQsICZkX2NvbmZpZyk7CisgICAgICAgIGlmIChyYykg Z290byBvdXQ7CisKKyAgICAgICAgaWYgKGRfY29uZmlnLmJfaW5mby5wYXJhbWV0ZXJzKSB7Cisg ICAgICAgICAgICBkX2NvbmZpZy5iX2luZm8ucGFyYW1ldGVycyA9CisgICAgICAgICAgICAgICAg bGlieGxfX3JlYWxsb2MoZ2MsIGRfY29uZmlnLmJfaW5mby5wYXJhbWV0ZXJzLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cmxlbihkX2NvbmZpZy5iX2luZm8ucGFyYW1ldGVycykg KworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmxlbihwYXJhbXMpICsgMik7Cisg ICAgICAgICAgICBzdHJjYXQoZF9jb25maWcuYl9pbmZvLnBhcmFtZXRlcnMsICIgIik7CisgICAg ICAgICAgICBzdHJjYXQoZF9jb25maWcuYl9pbmZvLnBhcmFtZXRlcnMsIHBhcmFtcyk7CisgICAg ICAgIH0gZWxzZQorICAgICAgICAgICAgZF9jb25maWcuYl9pbmZvLnBhcmFtZXRlcnMgPSBsaWJ4 bF9fc3RyZHVwKGdjLCBwYXJhbXMpOworCisgICAgICAgIHJjID0gbGlieGxfX3NldF9kb21haW5f Y29uZmlndXJhdGlvbihnYywgZG9taWQsICZkX2NvbmZpZyk7CisgICAgfQorCitvdXQ6CisgICAg aWYgKGxvY2spIGxpYnhsX191bmxvY2tfZG9tYWluX3VzZXJkYXRhKGxvY2spOworICAgIGxpYnhs X2RvbWFpbl9jb25maWdfZGlzcG9zZSgmZF9jb25maWcpOworICAgIEdDX0ZSRUU7CisgICAgcmV0 dXJuIHJjOworfQorCiAvKgogICogTG9jYWwgdmFyaWFibGVzOgogICogbW9kZTogQwpkaWZmIC0t Z2l0IGEvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsIGIvdG9vbHMvbGlieGwvbGlieGxfdHlw ZXMuaWRsCmluZGV4IDJjY2ViOGMwNTcuLjM4MmE2YzFkNmUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xp YnhsL2xpYnhsX3R5cGVzLmlkbAorKysgYi90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKQEAg LTQ4OCw2ICs0ODgsNyBAQCBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyA9IFN0cnVjdCgiZG9tYWlu X2J1aWxkX2luZm8iLFsKIAogICAgICgibWF4X2dyYW50X2ZyYW1lcyIsICAgIHVpbnQzMiwgeydp bml0X3ZhbCc6ICdMSUJYTF9NQVhfR1JBTlRfRlJBTUVTX0RFRkFVTFQnfSksCiAgICAgKCJtYXhf bWFwdHJhY2tfZnJhbWVzIiwgdWludDMyLCB7J2luaXRfdmFsJzogJ0xJQlhMX01BWF9NQVBUUkFD S19GUkFNRVNfREVGQVVMVCd9KSwKKyAgICAoInBhcmFtZXRlcnMiLCAgICAgIHN0cmluZyksCiAg ICAgCiAgICAgKCJkZXZpY2VfbW9kZWxfdmVyc2lvbiIsIGxpYnhsX2RldmljZV9tb2RlbF92ZXJz aW9uKSwKICAgICAoImRldmljZV9tb2RlbF9zdHViZG9tYWluIiwgbGlieGxfZGVmYm9vbCksCmRp ZmYgLS1naXQgYS90b29scy94bC94bC5oIGIvdG9vbHMveGwveGwuaAppbmRleCBhNTFhY2M0MjU2 Li4zMTUzYTM1ZjIyIDEwMDY0NAotLS0gYS90b29scy94bC94bC5oCisrKyBiL3Rvb2xzL3hsL3hs LmgKQEAgLTE1MSw2ICsxNTEsNyBAQCBpbnQgbWFpbl9zY2hlZF9jcmVkaXQyKGludCBhcmdjLCBj aGFyICoqYXJndik7CiBpbnQgbWFpbl9zY2hlZF9ydGRzKGludCBhcmdjLCBjaGFyICoqYXJndik7 CiBpbnQgbWFpbl9kb21pZChpbnQgYXJnYywgY2hhciAqKmFyZ3YpOwogaW50IG1haW5fZG9tbmFt ZShpbnQgYXJnYywgY2hhciAqKmFyZ3YpOworaW50IG1haW5fZG9tYWluc2V0cGFyYW1ldGVycyhp bnQgYXJnYywgY2hhciAqKmFyZ3YpOwogaW50IG1haW5fcmVuYW1lKGludCBhcmdjLCBjaGFyICoq YXJndik7CiBpbnQgbWFpbl90cmlnZ2VyKGludCBhcmdjLCBjaGFyICoqYXJndik7CiBpbnQgbWFp bl9zeXNycShpbnQgYXJnYywgY2hhciAqKmFyZ3YpOwpkaWZmIC0tZ2l0IGEvdG9vbHMveGwveGxf Y21kdGFibGUuYyBiL3Rvb2xzL3hsL3hsX2NtZHRhYmxlLmMKaW5kZXggM2E0NjlkYWNjMy4uNDFl NWJkMjdhMyAxMDA2NDQKLS0tIGEvdG9vbHMveGwveGxfY21kdGFibGUuYworKysgYi90b29scy94 bC94bF9jbWR0YWJsZS5jCkBAIC0yODUsNiArMjg1LDEyIEBAIHN0cnVjdCBjbWRfc3BlYyBjbWRf dGFibGVbXSA9IHsKICAgICAgICItYiBCVURHRVQsIC0tYnVkZ2V0PUJVREdFVCAgICAgQnVkZ2V0 ICh1cylcbiIKICAgICAgICItZSBFeHRyYXRpbWUsIC0tZXh0cmF0aW1lPUV4dHJhdGltZSBFeHRy YXRpbWUgKDE9eWVzLCAwPW5vKVxuIgogICAgIH0sCisgICAgeyAiZG9tYWluLXNldC1wYXJhbWV0 ZXJzIiwKKyAgICAgICZtYWluX2RvbWFpbnNldHBhcmFtZXRlcnMsIDAsIDEsCisgICAgICAiU2V0 cyBnZW5lcmljIHBhcmFtZXRlcnMgZm9yIGEgZG9tYWluIiwKKyAgICAgICJbLXRdIDxEb21haW4+ IDxQYXJhbXM+IiwKKyAgICAgICIgIC10ICAgICAgICAgICAgICAgICAgICAgICAgICAgU2V0IHBh cmFtZXRlciBvbmx5IHRlbXBvcmFyeSIsCisgICAgfSwKICAgICB7ICJkb21pZCIsCiAgICAgICAm bWFpbl9kb21pZCwgMCwgMCwKICAgICAgICJDb252ZXJ0IGEgZG9tYWluIG5hbWUgdG8gZG9tYWlu IGlkIiwKZGlmZiAtLWdpdCBhL3Rvb2xzL3hsL3hsX3BhcnNlLmMgYi90b29scy94bC94bF9wYXJz ZS5jCmluZGV4IDk3MWVjMWJjNTYuLjBhNmZlMTQxYjkgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3hsL3hs X3BhcnNlLmMKKysrIGIvdG9vbHMveGwveGxfcGFyc2UuYwpAQCAtMTU1OCw2ICsxNTU4LDkgQEAg dm9pZCBwYXJzZV9jb25maWdfZGF0YShjb25zdCBjaGFyICpjb25maWdfc291cmNlLAogCiAgICAg eGx1X2NmZ19nZXRfZGVmYm9vbChjb25maWcsICJuZXN0ZWRodm0iLCAmYl9pbmZvLT5uZXN0ZWRf aHZtLCAwKTsKIAorICAgIGlmICgheGx1X2NmZ19nZXRfc3RyaW5nIChjb25maWcsICJwYXJhbWV0 ZXJzIiwgJmJ1ZiwgMCkpCisgICAgICAgIHhsdV9jZmdfcmVwbGFjZV9zdHJpbmcoY29uZmlnLCAi cGFyYW1ldGVycyIsICZiX2luZm8tPnBhcmFtZXRlcnMsIDApOworCiAgICAgc3dpdGNoKGJfaW5m by0+dHlwZSkgewogICAgIGNhc2UgTElCWExfRE9NQUlOX1RZUEVfSFZNOgogICAgICAgICBrZXJu ZWxfYmFzZW5hbWUgPSBsaWJ4bF9iYXNlbmFtZShiX2luZm8tPmtlcm5lbCk7CmRpZmYgLS1naXQg YS90b29scy94bC94bF92bWNvbnRyb2wuYyBiL3Rvb2xzL3hsL3hsX3ZtY29udHJvbC5jCmluZGV4 IGExZDYzMzc5NWMuLjhmYTIzMzg2MjEgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3hsL3hsX3ZtY29udHJv bC5jCisrKyBiL3Rvb2xzL3hsL3hsX3ZtY29udHJvbC5jCkBAIC0yNzUsNiArMjc1LDMxIEBAIGlu dCBtYWluX3JlYm9vdChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgcmV0dXJuIG1haW5fc2h1 dGRvd25fb3JfcmVib290KDEsIGFyZ2MsIGFyZ3YpOwogfQogCitpbnQgbWFpbl9kb21haW5zZXRw YXJhbWV0ZXJzKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKyAgICBpbnQgb3B0OworICAgIGNo YXIgKnBhcmFtczsKKyAgICB1aW50MzJfdCBkb21pZDsKKyAgICBib29sIHRlbXAgPSBmYWxzZTsK KworICAgIFNXSVRDSF9GT1JFQUNIX09QVChvcHQsICJ0IiwgTlVMTCwgImRvbWFpbi1zZXQtcGFy YW1ldGVycyIsIDIpIHsKKyAgICBjYXNlICd0JzoKKyAgICAgICAgdGVtcCA9IHRydWU7CisgICAg ICAgIGJyZWFrOworICAgIH0KKworICAgIGRvbWlkID0gZmluZF9kb21haW4oYXJndltvcHRpbmRd KTsKKyAgICBwYXJhbXMgPSBhcmd2Wysrb3B0aW5kXTsKKworICAgIGlmIChsaWJ4bF9kb21haW5f c2V0X3BhcmFtZXRlcnMoY3R4LCBkb21pZCwgcGFyYW1zLCB0ZW1wKSkgeworICAgICAgICBmcHJp bnRmKHN0ZGVyciwgImNhbm5vdCBzZXQgcGFyYW1ldGVyczogJXNcbiIsIHBhcmFtcyk7CisgICAg ICAgIGZwcmludGYoc3RkZXJyLCAiVXNlIFwieGwgZG1lc2dcIiB0byBsb29rIGZvciBwb3NzaWJs ZSByZWFzb24uXG4iKTsKKyAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKKyAgICB9CisKKyAg ICByZXR1cm4gRVhJVF9TVUNDRVNTOworfQorCiBzdGF0aWMgdm9pZCBldmRpc2FibGVfZGlza19l amVjdHMobGlieGxfZXZnZW5fZGlza19lamVjdCAqKmRpc2t3cywKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGludCBudW1fZGlza3MpCiB7Ci0tIAoyLjE2LjQKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2pl Y3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs