From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from zmcc-2-mx.zmailcloud.com (zmcc-2-mx.zmailcloud.com [52.37.197.7]) by sourceware.org (Postfix) with ESMTPS id C1968385780B for ; Tue, 22 Sep 2020 20:46:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org C1968385780B Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=symas.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=hyc@symas.com Received: from zmcc-2.zmailcloud.com (zmcc-2-mta-1.zmailcloud.com [146.148.52.56]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by zmcc-2-mx.zmailcloud.com (Postfix) with ESMTPS id EA5A84063E; Tue, 22 Sep 2020 15:46:33 -0500 (CDT) Received: from zmcc-2.zmailcloud.com (localhost [127.0.0.1]) by zmcc-2-mta-1.zmailcloud.com (Postfix) with ESMTPS id 77355CE944; Tue, 22 Sep 2020 15:46:33 -0500 (CDT) Received: from localhost (localhost [127.0.0.1]) by zmcc-2-mta-1.zmailcloud.com (Postfix) with ESMTP id 5E4A5CE943; Tue, 22 Sep 2020 15:46:33 -0500 (CDT) DKIM-Filter: OpenDKIM Filter v2.10.3 zmcc-2-mta-1.zmailcloud.com 5E4A5CE943 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=symas.com; s=37C7994C-28CA-11EA-A30F-68F90BB9D764; t=1600807593; bh=EEqOshWkG7X47rm//tO3/Wn4TMzF7gND8yFl89DlRZ4=; h=From:To:Message-ID:Date:MIME-Version; b=qJrFXhpQJOT88zkZdSlwUffXMr6qbHP3+XN4vEiKT/GEFnWxTxPVKm9ddOFjvVzOs 52ziqF/0CphoY7LJMqlfjhw0yzSlL/jmDdo1Qmjl3SYYjpm53IZJmleXUQoaZ3rftp 2lo684fCSSgwK/xmU7sVJlVGgTFXreCf7VOTr02N0zghQbYGtztDyyK4nYBf0irT6X 7tISslI6owSa0hnzzcDAwr1CD16F8hVzhGc15tC46YC74CDkEdQ2lkpKkTcNJQvHwj c7SvQA9pfw0vbr9y6Ug+i+zq95r8+aqoEmEmj1Wq9LVRS+dq8wTouAj2PeszFbhrvO 0VQRozlph+TkA== Received: from zmcc-2.zmailcloud.com ([127.0.0.1]) by localhost (zmcc-2-mta-1.zmailcloud.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id KW8ZhyHraxuw; Tue, 22 Sep 2020 15:46:33 -0500 (CDT) Received: from [192.168.1.155] (unknown [84.203.28.168]) by zmcc-2-mta-1.zmailcloud.com (Postfix) with ESMTPSA id 946B5CE942; Tue, 22 Sep 2020 15:46:32 -0500 (CDT) Subject: Re: [PATCH] dependency list for static libraries From: Howard Chu To: Nick Clifton Cc: binutils@sourceware.org References: <53b8973b-40a4-2550-3307-66d7f13707d5@symas.com> <64fe82bd-9c00-b232-98d2-f46182fb16ba@symas.com> <9889c54b-4dd3-2275-6621-c2391cfd268d@redhat.com> Message-ID: <31f9062e-175d-06e9-695a-797c7ee11420@symas.com> Date: Tue, 22 Sep 2020 21:46:29 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0 SeaMonkey/2.53.3 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/mixed; boundary="------------6FEC74DC3D9A3F45607C1168" X-Spam-Status: No, score=-10.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, NICE_REPLY_A, SPF_HELO_NONE, SPF_PASS, TXREP, URIBL_RED autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Sep 2020 20:46:37 -0000 This is a multi-part message in MIME format. --------------6FEC74DC3D9A3F45607C1168 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Howard Chu wrote: > Nick Clifton wrote: >> Hi Howard, >> >>>> * It is not clear to me why you create a binary bfd for Libdeps_bfd but >>>> then convert it to a plugin type bfd. Can you explain what you are >>>> doing here ? >>> >>> This was a major hassle, I should have commented it. The bfd gets created >>> with type "plugin", and that refuses the bfd_bwrite() call. (Just fails.) >>> The write only succeeded if I set it to "binary" type first. But then, trying >>> to add this bfd to the archive failed unless I changed the type back to "plugin." >> >> OK - please could you add a comment to this effect to enlighten future readers. > > OK, new patch attached. Added comments, NEWS entry, texi doc, test case. Sorry for the noise, this attached is the same as previous but with fixes to whitespace / indentation. -- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/ --------------6FEC74DC3D9A3F45607C1168 Content-Type: text/x-patch; name="0001-Add-ar-support-for-dependencies.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Add-ar-support-for-dependencies.patch" RnJvbSBlNjkxODUxYmIzY2ZhMDIxNjEzZjcxZGVhMzgxZTMzYjE2N2JmMzYyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIb3dhcmQgQ2h1IDxoeWNAc3ltYXMuY29tPgpEYXRl OiBUaHUsIDMgU2VwIDIwMjAgMTc6MzQ6MTYgKzAxMDAKU3ViamVjdDogW1BBVENIXSBBZGQg YXIgc3VwcG9ydCBmb3IgZGVwZW5kZW5jaWVzCgpSZWNvcmQgLUwvLWwgZGVwZW5kZW5jaWVz IG9mIGEgc3RhdGljIGxpYnJhcnkgaW4gYSBfXy5MSUJERVAgZW50cnkuCk9wdGlvbnMgc2hv dWxkIGJlIHBhc3NlZCBsaXRlcmFsbHkgYXMgYSBzaW5nbGUgYXJndW1lbnQsIGUuZy4KIGFy IHJMICItTC91c3IvbG9jYWwvbGliIC1sZm9vIC1sYmFyIiBsaWJuZXcuYSBvYmoxLm8gb2Jq Mi5vCi0tLQogYmludXRpbHMvTkVXUyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNSAr KwogYmludXRpbHMvYXIuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCA5MSArKysrKysr KysrKysrKysrKysrKysrKy0tLQogYmludXRpbHMvYmluZW11bC5jICAgICAgICAgICAgICAg ICAgICAgfCA1MyArKysrKysrKysrLS0tLS0KIGJpbnV0aWxzL2JpbmVtdWwuaCAgICAgICAg ICAgICAgICAgICAgIHwgMTUgKysrLS0KIGJpbnV0aWxzL2RvYy9iaW51dGlscy50ZXhpICAg ICAgICAgICAgIHwgMTkgKysrKystCiBiaW51dGlscy9lbXVsX2FpeC5jICAgICAgICAgICAg ICAgICAgICB8IDE2ICstLS0tCiBiaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL2Fy LmV4cCB8IDQxICsrKysrKysrKysrKwogNyBmaWxlcyBjaGFuZ2VkLCAxOTQgaW5zZXJ0aW9u cygrKSwgNDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYmludXRpbHMvTkVXUyBiL2Jp bnV0aWxzL05FV1MKaW5kZXggYzBkYzczZDdkOC4uOTJhODU1ZjVkMyAxMDA2NDQKLS0tIGEv YmludXRpbHMvTkVXUworKysgYi9iaW51dGlscy9ORVdTCkBAIC0xLDUgKzEsMTAgQEAKIC0q LSB0ZXh0IC0qLQogCisqIFRoZSBhciB0b29sIG5vdyBoYXMgYSBMIG1vZGlmaWVyIChvciAt LXJlY29yZC1saWJkZXBzKSBvcHRpb24gZm9yCisgIHNwZWNpZnlpbmcgZGVwZW5kZW5jaWVz IG9mIGEgc3RhdGljIGxpYnJhcnkuIFRoZSBhcmd1bWVudHMgb2YgdGhpcworICBvcHRpb24g d2lsbCBiZSBzdG9yZWQgdmVyYmF0aW0gaW4gdGhlIF9fLkxJQkRFUCBtZW1iZXIgb2YgdGhl IGFyY2hpdmUsCisgIHdoaWNoIHRoZSBsaW5rZXIgbWF5IHJlYWQgYXQgbGluayB0aW1lLgor CiAqIFJlYWRlbGYgbm93IGFjY2VwdHMgdGhlIC1DIGNvbW1hbmQgbGluZSBvcHRpb24gdG8g ZW5hYmxlIHRoZSBkZW1hbmdsaW5nIG9mCiAgIHN5bWJvbCBuYW1lcy4gIEluIGFkZGl0aW9u IHRoZSAtLWRlbWFuZ2xlPTxzdHlsZT4sIC0tbm8tZGVtYW5nbGUsCiAgIC0tcmVjdXJzZS1s aW1pdCBhbmQgLS1uby1yZWN1cnNlLWxpbWl0IG9wdGlvbnMgYXJlIGFsc28gbm93IGF2YWls YWxlLgpkaWZmIC0tZ2l0IGEvYmludXRpbHMvYXIuYyBiL2JpbnV0aWxzL2FyLmMKaW5kZXgg ODViMzQyYTY1MC4uYzkzN2QzMjY4ZiAxMDA2NDQKLS0tIGEvYmludXRpbHMvYXIuYworKysg Yi9iaW51dGlscy9hci5jCkBAIC0xMzgsNiArMTM4LDExIEBAIHN0YXRpYyBiZmRfYm9vbGVh biBmdWxsX3BhdGhuYW1lID0gRkFMU0U7CiAvKiBXaGV0aGVyIHRvIGNyZWF0ZSBhICJ0aGlu IiBhcmNoaXZlIChzeW1ib2wgaW5kZXggb25seSAtLSBubyBmaWxlcykuICAqLwogc3RhdGlj IGJmZF9ib29sZWFuIG1ha2VfdGhpbl9hcmNoaXZlID0gRkFMU0U7CiAKKyNkZWZpbmUgTElC REVQUwkiX18uTElCREVQIgorLyogRGVwZW5kZW5jaWVzIHRvIHN0b3JlIGluIF9fLkxJQkRF UCBmb3IgbGlua2VyIHRvIHVzZSAqLworY2hhciAqTGliZGVwczsKK3N0YXRpYyBiZmQgKiBM aWJkZXBzX2JmZDsKKwogc3RhdGljIGludCBzaG93X3ZlcnNpb24gPSAwOwogCiBzdGF0aWMg aW50IHNob3dfaGVscCA9IDA7CkBAIC0xNjYsNiArMTcxLDcgQEAgc3RhdGljIHN0cnVjdCBv cHRpb24gbG9uZ19vcHRpb25zW10gPQogICB7InRhcmdldCIsIHJlcXVpcmVkX2FyZ3VtZW50 LCBOVUxMLCBPUFRJT05fVEFSR0VUfSwKICAgeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsICZz aG93X3ZlcnNpb24sIDF9LAogICB7Im91dHB1dCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxM LCBPUFRJT05fT1VUUFVUfSwKKyAgeyJyZWNvcmQtbGliZGVwcyIsIHJlcXVpcmVkX2FyZ3Vt ZW50LCBOVUxMLCAnTCd9LAogICB7TlVMTCwgbm9fYXJndW1lbnQsIE5VTEwsIDB9CiB9Owog CkBAIC0yNzksMTMgKzI4NSwxMyBAQCB1c2FnZSAoaW50IGhlbHApCiAjaWYgQkZEX1NVUFBP UlRTX1BMVUdJTlMKICAgLyogeGdldHRleHQ6Yy1mb3JtYXQgKi8KICAgY29uc3QgY2hhciAq Y29tbWFuZF9saW5lCi0gICAgPSBfKCJVc2FnZTogJXMgW2VtdWxhdGlvbiBvcHRpb25zXSBb LV17ZG1wcXJzdHh9W2FiY0RmaWxNTm9PUHNTVHV2Vl0iCisgICAgPSBfKCJVc2FnZTogJXMg W2VtdWxhdGlvbiBvcHRpb25zXSBbLV17ZG1wcXJzdHh9W2FiY0RmaWxMTU5vT1BzU1R1dlZd IgogCSIgWy0tcGx1Z2luIDxuYW1lPl0gW21lbWJlci1uYW1lXSBbY291bnRdIGFyY2hpdmUt ZmlsZSBmaWxlLi4uXG4iKTsKIAogI2Vsc2UKICAgLyogeGdldHRleHQ6Yy1mb3JtYXQgKi8K ICAgY29uc3QgY2hhciAqY29tbWFuZF9saW5lCi0gICAgPSBfKCJVc2FnZTogJXMgW2VtdWxh dGlvbiBvcHRpb25zXSBbLV17ZG1wcXJzdHh9W2FiY0RmaWxNTm9PUHNTVHV2Vl0iCisgICAg PSBfKCJVc2FnZTogJXMgW2VtdWxhdGlvbiBvcHRpb25zXSBbLV17ZG1wcXJzdHh9W2FiY0Rm aWxMTU5vT1BzU1R1dlZdIgogCSIgW21lbWJlci1uYW1lXSBbY291bnRdIGFyY2hpdmUtZmls ZSBmaWxlLi4uXG4iKTsKICNlbmRpZgogICBzID0gaGVscCA/IHN0ZG91dCA6IHN0ZGVycjsK QEAgLTMyOSw2ICszMzUsNyBAQCB1c2FnZSAoaW50IGhlbHApCiAgIGZwcmludGYgKHMsIF8o IiBnZW5lcmljIG1vZGlmaWVyczpcbiIpKTsKICAgZnByaW50ZiAocywgXygiICBbY10gICAg ICAgICAgLSBkbyBub3Qgd2FybiBpZiB0aGUgbGlicmFyeSBoYWQgdG8gYmUgY3JlYXRlZFxu IikpOwogICBmcHJpbnRmIChzLCBfKCIgIFtzXSAgICAgICAgICAtIGNyZWF0ZSBhbiBhcmNo aXZlIGluZGV4IChjZi4gcmFubGliKVxuIikpOworICBmcHJpbnRmIChzLCBfKCIgIFtMIExJ QkRFUFNdICAtIHNwZWNpZnkgZGVwZW5kZW5jaWVzIG9mIHRoaXMgbGlicmFyeVxuIikpOwog ICBmcHJpbnRmIChzLCBfKCIgIFtTXSAgICAgICAgICAtIGRvIG5vdCBidWlsZCBhIHN5bWJv bCB0YWJsZVxuIikpOwogICBmcHJpbnRmIChzLCBfKCIgIFtUXSAgICAgICAgICAtIG1ha2Ug YSB0aGluIGFyY2hpdmVcbiIpKTsKICAgZnByaW50ZiAocywgXygiICBbdl0gICAgICAgICAg LSBiZSB2ZXJib3NlXG4iKSk7CkBAIC0zMzYsNiArMzQzLDcgQEAgdXNhZ2UgKGludCBoZWxw KQogICBmcHJpbnRmIChzLCBfKCIgIEA8ZmlsZT4gICAgICAtIHJlYWQgb3B0aW9ucyBmcm9t IDxmaWxlPlxuIikpOwogICBmcHJpbnRmIChzLCBfKCIgIC0tdGFyZ2V0PUJGRE5BTUUgLSBz cGVjaWZ5IHRoZSB0YXJnZXQgb2JqZWN0IGZvcm1hdCBhcyBCRkROQU1FXG4iKSk7CiAgIGZw cmludGYgKHMsIF8oIiAgLS1vdXRwdXQ9RElSTkFNRSAtIHNwZWNpZnkgdGhlIG91dHB1dCBk aXJlY3RvcnkgZm9yIGV4dHJhY3Rpb24gb3BlcmF0aW9uc1xuIikpOworICBmcHJpbnRmIChz LCBfKCIgIC0tcmVjb3JkLWxpYmRlcHM9TElCREVQUyAtIHNwZWNpZnkgZGVwZW5kZW5jaWVz IG9mIHRoaXMgbGlicmFyeVxuIikpOwogI2lmIEJGRF9TVVBQT1JUU19QTFVHSU5TCiAgIGZw cmludGYgKHMsIF8oIiBvcHRpb25hbDpcbiIpKTsKICAgZnByaW50ZiAocywgXygiICAtLXBs dWdpbiA8cD4gLSBsb2FkIHRoZSBzcGVjaWZpZWQgcGx1Z2luXG4iKSk7CkBAIC00ODcsNyAr NDk1LDcgQEAgZGVjb2RlX29wdGlvbnMgKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAg IGFyZ3YgPSBuZXdfYXJndjsKICAgICB9CiAKLSAgd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcg KGFyZ2MsIGFyZ3YsICJoZG1wcXJ0eGxjb09Wc1N1dmFiaU1OZlBURFUiLAorICB3aGlsZSAo KGMgPSBnZXRvcHRfbG9uZyAoYXJnYywgYXJndiwgImhkbXBxcnR4bEw6Y29PVnNTdXZhYmlN TmZQVERVIiwKIAkJCSAgIGxvbmdfb3B0aW9ucywgTlVMTCkpICE9IEVPRikKICAgICB7CiAg ICAgICBzd2l0Y2ggKGMpCkBAIC01MzYsNiArNTQ0LDExIEBAIGRlY29kZV9vcHRpb25zIChp bnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2Ug J2wnOgogICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICdMJzoKKyAgICAgICAgICBp ZiAoTGliZGVwcyAhPSBOVUxMKQorICAgICAgICAgICAgZmF0YWwgKF8oIkxpYmRlcHMgc3Bl Y2lmaWVkIG1vcmUgdGhhbiBvbmNlIikpOworICAgICAgICAgIExpYmRlcHMgPSBvcHRhcmc7 CisgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgJ2MnOgogICAgICAgICAgIHNpbGVu dF9jcmVhdGUgPSAxOwogICAgICAgICAgIGJyZWFrOwpAQCAtODQ3LDYgKzg2MCw1MCBAQCBt YWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICBpZiAob3BlcmF0aW9uID09IGV4 dHJhY3QgJiYgYmZkX2lzX3RoaW5fYXJjaGl2ZSAoYXJjaCkpCiAJZmF0YWwgKF8oImB4JyBj YW5ub3QgYmUgdXNlZCBvbiB0aGluIGFyY2hpdmVzLiIpKTsKIAorICAgICAgaWYgKExpYmRl cHMpCisJeworCSAgY2hhciAqKm5ld19maWxlczsKKwkgIGJmZF9zaXplX3R5cGUgcmVjbGVu ID0gc3RybGVuKExpYmRlcHMpKzE7CisKKwkgIC8qIENyZWF0ZSBhIGJmZCB0byBjb250YWlu IHRoZSBkZXBlbmRlbmNpZXMuCisJICAgICBJdCBpbmhlcml0cyBpdHMgdHlwZSBmcm9tIGFy Y2gsIGJ1dCB3ZSBtdXN0CisJICAgICBzZXQgdGhlIHR5cGUgdG8gImJpbmFyeSIgb3RoZXJ3 aXNlIGJmZF9id3JpdGUoKQorCSAgICAgd2lsbCBmYWlsLiBBZnRlciB3cml0aW5nLCB3ZSBt dXN0IHNldCB0aGUgdHlwZQorCSAgICAgYmFjayB0byAicGx1Z2luIiBvdGhlcndpc2UgYWRk aW5nIGl0IHRvIHRoZQorCSAgICAgYXJjaGl2ZSB3aWxsIGZhaWwuICovCisJICBMaWJkZXBz X2JmZCA9IGJmZF9jcmVhdGUoTElCREVQUywgYXJjaCk7CisJICBpZiAoTGliZGVwc19iZmQg PT0gTlVMTCkKKwkgICAgZmF0YWwgKF8oIkNhbm5vdCBjcmVhdGUgTGliZGVwcyByZWNvcmQu IikpOworCisJICBpZiAoYmZkX2ZpbmRfdGFyZ2V0KCJiaW5hcnkiLCBMaWJkZXBzX2JmZCkg PT0gTlVMTCkKKwkgICAgZmF0YWwgKF8oIkNhbm5vdCBzZXQgTGliZGVwcyByZWNvcmQgdHlw ZSB0byBiaW5hcnkuIikpOworCisJICBpZiAoIWJmZF9zZXRfZm9ybWF0KExpYmRlcHNfYmZk LCBiZmRfb2JqZWN0KSkKKwkgICAgZmF0YWwgKF8oIkNhbm5vdCBzZXQgTGliZGVwcyBvYmpl Y3QgZm9ybWF0LiIpKTsKKworCSAgaWYgKCFiZmRfbWFrZV93cml0YWJsZShMaWJkZXBzX2Jm ZCkpCisJICAgIGZhdGFsIChfKCJDYW5ub3QgbWFrZSBMaWJkZXBzIG9iamVjdCB3cml0YWJs ZS4iKSk7CisKKwkgIGlmIChiZmRfYndyaXRlKExpYmRlcHMsIHJlY2xlbiwgTGliZGVwc19i ZmQpICE9IHJlY2xlbikKKwkgICAgZmF0YWwgKF8oIkNhbm5vdCB3cml0ZSBMaWJkZXBzIHJl Y29yZC4iKSk7CisKKwkgIGlmICghYmZkX21ha2VfcmVhZGFibGUoTGliZGVwc19iZmQpKQor CSAgICBmYXRhbCAoXygiQ2Fubm90IG1ha2UgTGliZGVwcyBvYmplY3QgcmVhZGFibGUuIikp OworCisJICBpZiAoYmZkX2ZpbmRfdGFyZ2V0KCJwbHVnaW4iLCBMaWJkZXBzX2JmZCkgPT0g TlVMTCkKKwkgICAgZmF0YWwgKF8oIkNhbm5vdCByZXNldCBMaWJkZXBzIHJlY29yZCB0eXBl LiIpKTsKKworCSAgLyogQXBwZW5kIG91ciBMaWJkZXBzIHJlY29yZCB0byB0aGUgbGlzdCBv ZiBmaWxlcworCSAgICAgYmVpbmcgb3BlcmF0ZWQgb24uICovCisJICBuZXdfZmlsZXMgPSB4 bWFsbG9jKChmaWxlX2NvdW50KzIpICogc2l6ZW9mKGNoYXIgKikpOworCSAgZm9yIChpPTA7 IGk8ZmlsZV9jb3VudDsgaSsrKQorCSAgICBuZXdfZmlsZXNbaV0gPSBmaWxlc1tpXTsKKwkg IG5ld19maWxlc1tpKytdID0gTElCREVQUzsKKwkgIGZpbGVfY291bnQgPSBpOworCSAgZmls ZXMgPSBuZXdfZmlsZXM7CisJICBmaWxlc1tpXSA9IE5VTEw7CisJfQorCiAgICAgICBzd2l0 Y2ggKG9wZXJhdGlvbikKIAl7CiAJY2FzZSBwcmludF90YWJsZToKQEAgLTE0MzIsNiArMTQ4 OSw3IEBAIHJlcGxhY2VfbWVtYmVycyAoYmZkICphcmNoLCBjaGFyICoqZmlsZXNfdG9fbW92 ZSwgYmZkX2Jvb2xlYW4gcXVpY2spCiAJCQkJbm9ybWFsaXplIChiZmRfZ2V0X2ZpbGVuYW1l IChjdXJyZW50KSwgYXJjaCkpID09IDAKIAkJICAmJiBjdXJyZW50LT5hcmVsdF9kYXRhICE9 IE5VTEwpCiAJCXsKKwkJICBiZmRfYm9vbGVhbiByZXBsYWNlZDsKIAkJICBpZiAobmV3ZXJf b25seSkKIAkJICAgIHsKIAkJICAgICAgc3RydWN0IHN0YXQgZnNidWYsIGFzYnVmOwpAQCAt MTQ1Myw4ICsxNTExLDE4IEBAIHJlcGxhY2VfbWVtYmVycyAoYmZkICphcmNoLCBjaGFyICoq ZmlsZXNfdG9fbW92ZSwgYmZkX2Jvb2xlYW4gcXVpY2spCiAKIAkJICBhZnRlcl9iZmQgPSBn ZXRfcG9zX2JmZCAoJmFyY2gtPmFyY2hpdmVfbmV4dCwgcG9zX2FmdGVyLAogCQkJCQkgICBi ZmRfZ2V0X2ZpbGVuYW1lIChjdXJyZW50KSk7Ci0JCSAgaWYgKGFyX2VtdWxfcmVwbGFjZSAo YWZ0ZXJfYmZkLCAqZmlsZXNfdG9fbW92ZSwKLQkJCQkgICAgICAgdGFyZ2V0LCB2ZXJib3Nl KSkKKwkJICBpZiAoTGliZGVwcyAmJiBGSUxFTkFNRV9DTVAgKG5vcm1hbGl6ZSAoKmZpbGVz X3RvX21vdmUsIGFyY2gpLAorCQkJCQkgICAgICAgTElCREVQUykgPT0gMCkKKwkJICAgIHsK KwkJICAgICAgcmVwbGFjZWQgPSBhcl9lbXVsX3JlcGxhY2VfYmZkIChhZnRlcl9iZmQsIExp YmRlcHNfYmZkLAorCQkJCQkJICAgICAgdmVyYm9zZSk7CisJCSAgICB9CisJCSAgZWxzZQor CQkgICAgeworCQkgICAgICByZXBsYWNlZCA9IGFyX2VtdWxfcmVwbGFjZSAoYWZ0ZXJfYmZk LCAqZmlsZXNfdG9fbW92ZSwKKwkJCQkJCSAgdGFyZ2V0LCB2ZXJib3NlKTsKKwkJICAgIH0K KwkJICBpZiAocmVwbGFjZWQpCiAJCSAgICB7CiAJCSAgICAgIC8qIFNuaXAgb3V0IHRoaXMg ZW50cnkgZnJvbSB0aGUgY2hhaW4uICAqLwogCQkgICAgICAqY3VycmVudF9wdHIgPSAoKmN1 cnJlbnRfcHRyKS0+YXJjaGl2ZV9uZXh0OwpAQCAtMTQ3MCw5ICsxNTM4LDE2IEBAIHJlcGxh Y2VfbWVtYmVycyAoYmZkICphcmNoLCBjaGFyICoqZmlsZXNfdG9fbW92ZSwgYmZkX2Jvb2xl YW4gcXVpY2spCiAgICAgICAvKiBBZGQgdG8gdGhlIGVuZCBvZiB0aGUgYXJjaGl2ZS4gICov CiAgICAgICBhZnRlcl9iZmQgPSBnZXRfcG9zX2JmZCAoJmFyY2gtPmFyY2hpdmVfbmV4dCwg cG9zX2VuZCwgTlVMTCk7CiAKLSAgICAgIGlmIChhcl9lbXVsX2FwcGVuZCAoYWZ0ZXJfYmZk LCAqZmlsZXNfdG9fbW92ZSwgdGFyZ2V0LAotCQkJICB2ZXJib3NlLCBtYWtlX3RoaW5fYXJj aGl2ZSkpCi0JY2hhbmdlZCA9IFRSVUU7CisgICAgICBpZiAoTGliZGVwcyAmJiBGSUxFTkFN RV9DTVAgKG5vcm1hbGl6ZSAoKmZpbGVzX3RvX21vdmUsIGFyY2gpLCBMSUJERVBTKSA9PSAw KQorICAgICAgICB7CisJICBjaGFuZ2VkIHw9IGFyX2VtdWxfYXBwZW5kX2JmZCAoYWZ0ZXJf YmZkLCBMaWJkZXBzX2JmZCwKKwkJCQkJIHZlcmJvc2UsIG1ha2VfdGhpbl9hcmNoaXZlKTsK Kwl9CisgICAgICBlbHNlCisgICAgICAgIHsKKwkgIGNoYW5nZWQgfD0gYXJfZW11bF9hcHBl bmQgKGFmdGVyX2JmZCwgKmZpbGVzX3RvX21vdmUsIHRhcmdldCwKKwkJCQkgICAgIHZlcmJv c2UsIG1ha2VfdGhpbl9hcmNoaXZlKTsKKwl9CiAKICAgICBuZXh0X2ZpbGU6OwogCmRpZmYg LS1naXQgYS9iaW51dGlscy9iaW5lbXVsLmMgYi9iaW51dGlscy9iaW5lbXVsLmMKaW5kZXgg N2M3MWI1Yjc4Yy4uOGEwNTEyZWJkOSAxMDA2NDQKLS0tIGEvYmludXRpbHMvYmluZW11bC5j CisrKyBiL2JpbnV0aWxzL2JpbmVtdWwuYwpAQCAtNDEsOSArNDEsMjQgQEAgYXJfZW11bF9k ZWZhdWx0X3VzYWdlIChGSUxFICpmcCkKIGJmZF9ib29sZWFuCiBhcl9lbXVsX2FwcGVuZCAo YmZkICoqYWZ0ZXJfYmZkLCBjaGFyICpmaWxlX25hbWUsIGNvbnN0IGNoYXIgKnRhcmdldCwK IAkJYmZkX2Jvb2xlYW4gdmVyYm9zZSwgYmZkX2Jvb2xlYW4gZmxhdHRlbikKK3sKKyAgYmZk ICpuZXdfYmZkOworCisgIG5ld19iZmQgPSBiZmRfb3BlbnIgKGZpbGVfbmFtZSwgdGFyZ2V0 KTsKKyAgQVJfRU1VTF9FTEVNRU5UX0NIRUNLIChuZXdfYmZkLCBmaWxlX25hbWUpOworICBp ZiAoYmluX2R1bW15X2VtdWxhdGlvbi5hcl9hcHBlbmQpCisgICAgcmV0dXJuIGJpbl9kdW1t eV9lbXVsYXRpb24uYXJfYXBwZW5kIChhZnRlcl9iZmQsIG5ld19iZmQsCisJCQkJCSAgdmVy Ym9zZSwgZmxhdHRlbik7CisKKyAgcmV0dXJuIEZBTFNFOworfQorCitiZmRfYm9vbGVhbgor YXJfZW11bF9hcHBlbmRfYmZkIChiZmQgKiphZnRlcl9iZmQsIGJmZCAqbmV3X2JmZCwKKwkJ YmZkX2Jvb2xlYW4gdmVyYm9zZSwgYmZkX2Jvb2xlYW4gZmxhdHRlbikKIHsKICAgaWYgKGJp bl9kdW1teV9lbXVsYXRpb24uYXJfYXBwZW5kKQotICAgIHJldHVybiBiaW5fZHVtbXlfZW11 bGF0aW9uLmFyX2FwcGVuZCAoYWZ0ZXJfYmZkLCBmaWxlX25hbWUsIHRhcmdldCwKKyAgICBy ZXR1cm4gYmluX2R1bW15X2VtdWxhdGlvbi5hcl9hcHBlbmQgKGFmdGVyX2JmZCwgbmV3X2Jm ZCwKIAkJCQkJICB2ZXJib3NlLCBmbGF0dGVuKTsKIAogICByZXR1cm4gRkFMU0U7CkBAIC05 MywxNCArMTA4LDkgQEAgZG9fYXJfZW11bF9hcHBlbmQgKGJmZCAqKmFmdGVyX2JmZCwgYmZk ICpuZXdfYmZkLAogfQogCiBiZmRfYm9vbGVhbgotYXJfZW11bF9kZWZhdWx0X2FwcGVuZCAo YmZkICoqYWZ0ZXJfYmZkLCBjaGFyICpmaWxlX25hbWUsCi0JCQljb25zdCBjaGFyICp0YXJn ZXQsIGJmZF9ib29sZWFuIHZlcmJvc2UsCi0JCQliZmRfYm9vbGVhbiBmbGF0dGVuKQorYXJf ZW11bF9kZWZhdWx0X2FwcGVuZCAoYmZkICoqYWZ0ZXJfYmZkLCBiZmQgKm5ld19iZmQsCisJ CQliZmRfYm9vbGVhbiB2ZXJib3NlLCBiZmRfYm9vbGVhbiBmbGF0dGVuKQogewotICBiZmQg Km5ld19iZmQ7Ci0KLSAgbmV3X2JmZCA9IGJmZF9vcGVuciAoZmlsZV9uYW1lLCB0YXJnZXQp OwotICBBUl9FTVVMX0VMRU1FTlRfQ0hFQ0sgKG5ld19iZmQsIGZpbGVfbmFtZSk7CiAgIHJl dHVybiBkb19hcl9lbXVsX2FwcGVuZCAoYWZ0ZXJfYmZkLCBuZXdfYmZkLCB2ZXJib3NlLCBm bGF0dGVuLCBhbnlfb2spOwogfQogCkBAIC0xMDgsMjMgKzExOCwzNCBAQCBiZmRfYm9vbGVh bgogYXJfZW11bF9yZXBsYWNlIChiZmQgKiphZnRlcl9iZmQsIGNoYXIgKmZpbGVfbmFtZSwg Y29uc3QgY2hhciAqdGFyZ2V0LAogCQkgYmZkX2Jvb2xlYW4gdmVyYm9zZSkKIHsKKyAgYmZk ICpuZXdfYmZkOworCisgIG5ld19iZmQgPSBiZmRfb3BlbnIgKGZpbGVfbmFtZSwgdGFyZ2V0 KTsKKyAgQVJfRU1VTF9FTEVNRU5UX0NIRUNLIChuZXdfYmZkLCBmaWxlX25hbWUpOworCiAg IGlmIChiaW5fZHVtbXlfZW11bGF0aW9uLmFyX3JlcGxhY2UpCi0gICAgcmV0dXJuIGJpbl9k dW1teV9lbXVsYXRpb24uYXJfcmVwbGFjZSAoYWZ0ZXJfYmZkLCBmaWxlX25hbWUsCi0JCQkJ CSAgIHRhcmdldCwgdmVyYm9zZSk7CisgICAgcmV0dXJuIGJpbl9kdW1teV9lbXVsYXRpb24u YXJfcmVwbGFjZSAoYWZ0ZXJfYmZkLCBuZXdfYmZkLAorCQkJCQkgICB2ZXJib3NlKTsKIAog ICByZXR1cm4gRkFMU0U7CiB9CiAKIGJmZF9ib29sZWFuCi1hcl9lbXVsX2RlZmF1bHRfcmVw bGFjZSAoYmZkICoqYWZ0ZXJfYmZkLCBjaGFyICpmaWxlX25hbWUsCi0JCQkgY29uc3QgY2hh ciAqdGFyZ2V0LCBiZmRfYm9vbGVhbiB2ZXJib3NlKQorYXJfZW11bF9yZXBsYWNlX2JmZCAo YmZkICoqYWZ0ZXJfYmZkLCBiZmQgKm5ld19iZmQsCisJCSBiZmRfYm9vbGVhbiB2ZXJib3Nl KQogewotICBiZmQgKm5ld19iZmQ7CisgIGlmIChiaW5fZHVtbXlfZW11bGF0aW9uLmFyX3Jl cGxhY2UpCisgICAgcmV0dXJuIGJpbl9kdW1teV9lbXVsYXRpb24uYXJfcmVwbGFjZSAoYWZ0 ZXJfYmZkLCBuZXdfYmZkLAorCQkJCQkgICB2ZXJib3NlKTsKIAotICBuZXdfYmZkID0gYmZk X29wZW5yIChmaWxlX25hbWUsIHRhcmdldCk7Ci0gIEFSX0VNVUxfRUxFTUVOVF9DSEVDSyAo bmV3X2JmZCwgZmlsZV9uYW1lKTsKKyAgcmV0dXJuIEZBTFNFOworfQogCi0gIEFSX0VNVUxf UkVQTEFDRV9QUklOVF9WRVJCT1NFICh2ZXJib3NlLCBmaWxlX25hbWUpOworYmZkX2Jvb2xl YW4KK2FyX2VtdWxfZGVmYXVsdF9yZXBsYWNlIChiZmQgKiphZnRlcl9iZmQsIGJmZCAqbmV3 X2JmZCwKKwkJCSBiZmRfYm9vbGVhbiB2ZXJib3NlKQoreworICBBUl9FTVVMX1JFUExBQ0Vf UFJJTlRfVkVSQk9TRSAodmVyYm9zZSwgYmZkX2dldF9maWxlbmFtZSAobmV3X2JmZCkpOwog CiAgIG5ld19iZmQtPmFyY2hpdmVfbmV4dCA9ICphZnRlcl9iZmQ7CiAgICphZnRlcl9iZmQg PSBuZXdfYmZkOwpkaWZmIC0tZ2l0IGEvYmludXRpbHMvYmluZW11bC5oIGIvYmludXRpbHMv YmluZW11bC5oCmluZGV4IGQ0YTE0ZWRmZWIuLjU3YjJlMjBiN2EgMTAwNjQ0Ci0tLSBhL2Jp bnV0aWxzL2JpbmVtdWwuaAorKysgYi9iaW51dGlscy9iaW5lbXVsLmgKQEAgLTMwLDE1ICsz MCwxOSBAQCBleHRlcm4gdm9pZCBhcl9lbXVsX3VzYWdlIChGSUxFICopOwogZXh0ZXJuIHZv aWQgYXJfZW11bF9kZWZhdWx0X3VzYWdlIChGSUxFICopOwogZXh0ZXJuIGJmZF9ib29sZWFu IGFyX2VtdWxfYXBwZW5kIChiZmQgKiosIGNoYXIgKiwgY29uc3QgY2hhciAqLAogCQkJCSAg IGJmZF9ib29sZWFuLCBiZmRfYm9vbGVhbik7Ci1leHRlcm4gYmZkX2Jvb2xlYW4gYXJfZW11 bF9kZWZhdWx0X2FwcGVuZCAoYmZkICoqLCBjaGFyICosIGNvbnN0IGNoYXIgKiwKK2V4dGVy biBiZmRfYm9vbGVhbiBhcl9lbXVsX2FwcGVuZF9iZmQgKGJmZCAqKiwgYmZkICosCisJCQkJ ICAgICAgIGJmZF9ib29sZWFuLCBiZmRfYm9vbGVhbik7CitleHRlcm4gYmZkX2Jvb2xlYW4g YXJfZW11bF9kZWZhdWx0X2FwcGVuZCAoYmZkICoqLCBiZmQgKiwKIAkJCQkJICAgYmZkX2Jv b2xlYW4sIGJmZF9ib29sZWFuKTsKIGV4dGVybiBiZmRfYm9vbGVhbiBkb19hcl9lbXVsX2Fw cGVuZCAoYmZkICoqLCBiZmQgKiwKIAkJCQkgICAgICBiZmRfYm9vbGVhbiwgYmZkX2Jvb2xl YW4sCiAJCQkJICAgICAgYmZkX2Jvb2xlYW4gKCopKGJmZCAqKSk7CiBleHRlcm4gYmZkX2Jv b2xlYW4gYXJfZW11bF9yZXBsYWNlIChiZmQgKiosIGNoYXIgKiwgY29uc3QgY2hhciAqLAog CQkJCSAgICBiZmRfYm9vbGVhbik7Ci1leHRlcm4gYmZkX2Jvb2xlYW4gYXJfZW11bF9kZWZh dWx0X3JlcGxhY2UgKGJmZCAqKiwgY2hhciAqLAotCQkJCQkgICAgY29uc3QgY2hhciAqLCBi ZmRfYm9vbGVhbik7CitleHRlcm4gYmZkX2Jvb2xlYW4gYXJfZW11bF9yZXBsYWNlX2JmZCAo YmZkICoqLCBiZmQgKiwKKwkJCQkJYmZkX2Jvb2xlYW4pOworZXh0ZXJuIGJmZF9ib29sZWFu IGFyX2VtdWxfZGVmYXVsdF9yZXBsYWNlIChiZmQgKiosIGJmZCAqLAorCQkJCQkgICAgYmZk X2Jvb2xlYW4pOwogZXh0ZXJuIGJmZF9ib29sZWFuIGFyX2VtdWxfcGFyc2VfYXJnIChjaGFy ICopOwogZXh0ZXJuIGJmZF9ib29sZWFuIGFyX2VtdWxfZGVmYXVsdF9wYXJzZV9hcmcgKGNo YXIgKik7CiAKQEAgLTYxLDkgKzY1LDggQEAgdHlwZWRlZiBzdHJ1Y3QgYmluX2VtdWxhdGlv bl94ZmVyX3N0cnVjdAogewogICAvKiBQcmludCBvdXQgdGhlIGV4dHJhIG9wdGlvbnMuICAq LwogICB2b2lkICgqIGFyX3VzYWdlKSAoRklMRSAqZnApOwotICBiZmRfYm9vbGVhbiAoKiBh cl9hcHBlbmQpIChiZmQgKiosIGNoYXIgKiwgY29uc3QgY2hhciAqLCBiZmRfYm9vbGVhbiwK LQkJCSAgICAgYmZkX2Jvb2xlYW4pOwotICBiZmRfYm9vbGVhbiAoKiBhcl9yZXBsYWNlKSAo YmZkICoqLCBjaGFyICosIGNvbnN0IGNoYXIgKiwgYmZkX2Jvb2xlYW4pOworICBiZmRfYm9v bGVhbiAoKiBhcl9hcHBlbmQpIChiZmQgKiosIGJmZCAqLCBiZmRfYm9vbGVhbiwgYmZkX2Jv b2xlYW4pOworICBiZmRfYm9vbGVhbiAoKiBhcl9yZXBsYWNlKSAoYmZkICoqLCBiZmQgKiwg YmZkX2Jvb2xlYW4pOwogICBiZmRfYm9vbGVhbiAoKiBhcl9wYXJzZV9hcmcpIChjaGFyICop OwogfQogYmluX2VtdWxhdGlvbl94ZmVyX3R5cGU7CmRpZmYgLS1naXQgYS9iaW51dGlscy9k b2MvYmludXRpbHMudGV4aSBiL2JpbnV0aWxzL2RvYy9iaW51dGlscy50ZXhpCmluZGV4IDM1 YTVhNjcwNDEuLjcwZDk3NTY1YjUgMTAwNjQ0Ci0tLSBhL2JpbnV0aWxzL2RvYy9iaW51dGls cy50ZXhpCisrKyBiL2JpbnV0aWxzL2RvYy9iaW51dGlscy50ZXhpCkBAIC0xNzAsNyArMTcw LDcgQEAgaW4gdGhlIHNlY3Rpb24gZW50aXRsZWQgYGBHTlUgRnJlZSBEb2N1bWVudGF0aW9u IExpY2Vuc2UnJy4KIEBjIG1hbiB0aXRsZSBhciBjcmVhdGUsIG1vZGlmeSwgYW5kIGV4dHJh Y3QgZnJvbSBhcmNoaXZlcwogCiBAc21hbGxleGFtcGxlCi1hciBbLV1AdmFye3B9W0B2YXJ7 bW9kfV0gW0BvcHRpb257LS1wbHVnaW59IEB2YXJ7bmFtZX1dIFtAb3B0aW9uey0tdGFyZ2V0 fSBAdmFye2JmZG5hbWV9XSBbQG9wdGlvbnstLW91dHB1dH0gQHZhcntkaXJuYW1lfV0gW0B2 YXJ7cmVscG9zfV0gW0B2YXJ7Y291bnR9XSBAdmFye2FyY2hpdmV9IFtAdmFye21lbWJlcn1A ZG90c3t9XQorYXIgWy1dQHZhcntwfVtAdmFye21vZH1dIFtAb3B0aW9uey0tcGx1Z2lufSBA dmFye25hbWV9XSBbQG9wdGlvbnstLXRhcmdldH0gQHZhcntiZmRuYW1lfV0gW0BvcHRpb257 LS1vdXRwdXR9IEB2YXJ7ZGlybmFtZX1dIFtAb3B0aW9uey0tcmVjb3JkLWxpYmRlcHN9IEB2 YXJ7bGliZGVwc31dIFtAdmFye3JlbHBvc31dIFtAdmFye2NvdW50fV0gQHZhcnthcmNoaXZl fSBbQHZhcnttZW1iZXJ9QGRvdHN7fV0KIGFyIC1NIFsgPG1yaS1zY3JpcHQgXQogQGVuZCBz bWFsbGV4YW1wbGUKIApAQCAtMTk2LDcgKzE5Niw5IEBAIGNoYXJhY3RlcnMgKHR5cGljYWwg b2YgZm9ybWF0cyByZWxhdGVkIHRvIGNvZmYpLgogQGNpbmRleCBsaWJyYXJpZXMKIEBjb21t YW5ke2FyfSBpcyBjb25zaWRlcmVkIGEgYmluYXJ5IHV0aWxpdHkgYmVjYXVzZSBhcmNoaXZl cyBvZiB0aGlzIHNvcnQKIGFyZSBtb3N0IG9mdGVuIHVzZWQgYXMgQGRmbntsaWJyYXJpZXN9 IGhvbGRpbmcgY29tbW9ubHkgbmVlZGVkCi1zdWJyb3V0aW5lcy4KK3N1YnJvdXRpbmVzLiAg U2luY2UgbGlicmFyaWVzIG9mdGVuIHdpbGwgZGVwZW5kIG9uIG90aGVyIGxpYnJhcmllcywK K0Bjb21tYW5ke2FyfSBjYW4gYWxzbyByZWNvcmQgdGhlIGRlcGVuZGVuY2llcyBvZiBhIGxp YnJhcnkgd2hlbiB0aGUKK0BvcHRpb257LS1yZWNvcmQtbGliZGVwc30gb3B0aW9uIGlzIHNw ZWNpZmllZC4KIAogQGNpbmRleCBzeW1ib2wgaW5kZXgKIEBjb21tYW5ke2FyfSBjcmVhdGVz IGFuIGluZGV4IHRvIHRoZSBzeW1ib2xzIGRlZmluZWQgaW4gcmVsb2NhdGFibGUKQEAgLTI1 NCw3ICsyNTYsNyBAQCBwcm9ncmFtLgogCiBAc21hbGxleGFtcGxlCiBAYyBtYW4gYmVnaW4g U1lOT1BTSVMgYXIKLWFyIFtAb3B0aW9uey1YMzJfNjR9XSBbQG9wdGlvbnstfV1AdmFye3B9 W0B2YXJ7bW9kfV0gW0BvcHRpb257LS1wbHVnaW59IEB2YXJ7bmFtZX1dIFtAb3B0aW9uey0t dGFyZ2V0fSBAdmFye2JmZG5hbWV9XSBbQG9wdGlvbnstLW91dHB1dH0gQHZhcntkaXJuYW1l fV0gW0B2YXJ7cmVscG9zfV0gW0B2YXJ7Y291bnR9XSBAdmFye2FyY2hpdmV9IFtAdmFye21l bWJlcn1AZG90c3t9XQorYXIgW0BvcHRpb257LVgzMl82NH1dIFtAb3B0aW9uey19XUB2YXJ7 cH1bQHZhcnttb2R9XSBbQG9wdGlvbnstLXBsdWdpbn0gQHZhcntuYW1lfV0gW0BvcHRpb257 LS10YXJnZXR9IEB2YXJ7YmZkbmFtZX1dIFtAb3B0aW9uey0tb3V0cHV0fSBAdmFye2Rpcm5h bWV9XSBbQG9wdGlvbnstLXJlY29yZC1saWJkZXBzfSBAdmFye2xpYmRlcHN9XSBbQHZhcnty ZWxwb3N9XSBbQHZhcntjb3VudH1dIEB2YXJ7YXJjaGl2ZX0gW0B2YXJ7bWVtYmVyfUBkb3Rz e31dCiBAYyBtYW4gZW5kCiBAZW5kIHNtYWxsZXhhbXBsZQogCkBAIC00NTIsNiArNDU0LDEz IEBAIFRoaXMgbW9kaWZpZXIgaXMgYWNjZXB0ZWQgYnV0IG5vdCB1c2VkLgogQGMgd2hhZmZv ciBhciBsIG1vZGlmaWVyPz8/IHByZXN1bWFibHkgY29tcGF0OyB3aXRoCiBAYyB3aGF0Pz8/ LS0tZG9jQEBjeWdudXMuY29tLCAyNWphbjkxCiAKK0BpdGVtIEwKK1NwZWNpZnkgZGVwZW5k ZW5jaWVzIG9mIHRoaXMgbGlicmFyeS4gIFRoZSBkZXBlbmRlbmNpZXMgbXVzdCBpbW1lZGlh dGVseQorZm9sbG93IHRoaXMgb3B0aW9uIGNoYXJhY3RlciwgbXVzdCB1c2UgdGhlIHNhbWUg c3ludGF4IGFzIHRoZSBsaW5rZXIKK2NvbW1hbmQgbGluZSwgYW5kIG11c3QgYmUgc3BlY2lm aWVkIHdpdGhpbiBhIHNpbmdsZSBhcmd1bWVudC4gIEkuZS4sIGlmCittdWx0aXBsZSBpdGVt cyBhcmUgbmVlZGVkLCB0aGV5IG11c3QgYmUgcXVvdGVkIHRvIGZvcm0gYSBzaW5nbGUgY29t bWFuZAorbGluZSBhcmd1bWVudC4gIEZvciBleGFtcGxlIEBzYW1we0wgIi1ML3Vzci9sb2Nh bC9saWIgLWxteWRlcDEgLWxteWRlcDIifQorCiBAaXRlbSBOCiBVc2VzIHRoZSBAdmFye2Nv dW50fSBwYXJhbWV0ZXIuICBUaGlzIGlzIHVzZWQgaWYgdGhlcmUgYXJlIG11bHRpcGxlCiBl bnRyaWVzIGluIHRoZSBhcmNoaXZlIHdpdGggdGhlIHNhbWUgbmFtZS4gIEV4dHJhY3Qgb3Ig ZGVsZXRlIGluc3RhbmNlCkBAIC01OTIsNiArNjAxLDEwIEBAIE5vdGUgLSBhbHRob3VnaCB0 aGUgcHJlc2VuY2Ugb2YgdGhpcyBvcHRpb24gZG9lcyBpbXBseSBhIEBvcHRpb257eH0KIGV4 dHJhY3Rpb24gb3BlcmF0aW9uIHRoYXQgb3B0aW9uIG11c3Qgc3RpbGwgYmUgaW5jbHVkZWQg b24gdGhlIGNvbW1hbmQKIGxpbmUuCiAKK0BpdGVtIC0tcmVjb3JkLWxpYmRlcHMgQHZhcnts aWJkZXBzfQorVGhlIEBvcHRpb257LS1yZWNvcmQtbGliZGVwc30gb3B0aW9uIGlzIGlkZW50 aWNhbCB0byB0aGUgQG9wdGlvbntMfSBtb2RpZmllciwKK2p1c3QgaGFuZGxlZCBpbiBsb25n IGZvcm0uCisKIEBlbmQgdGFibGUKIEBjIG1hbiBlbmQKIApkaWZmIC0tZ2l0IGEvYmludXRp bHMvZW11bF9haXguYyBiL2JpbnV0aWxzL2VtdWxfYWl4LmMKaW5kZXggYzU0ZTEwODNlNS4u NzI2Y2IzYjcwYyAxMDA2NDQKLS0tIGEvYmludXRpbHMvZW11bF9haXguYworKysgYi9iaW51 dGlscy9lbXVsX2FpeC5jCkBAIC02NywzMCArNjcsMjAgQEAgY2hlY2tfYWl4IChiZmQgKnRy eV9iZmQpCiB9CiAKIHN0YXRpYyBiZmRfYm9vbGVhbgotYXJfZW11bF9haXhfYXBwZW5kIChi ZmQgKiphZnRlcl9iZmQsIGNoYXIgKmZpbGVfbmFtZSwgY29uc3QgY2hhciAqdGFyZ2V0LAor YXJfZW11bF9haXhfYXBwZW5kIChiZmQgKiphZnRlcl9iZmQsIGJmZCAqbmV3X2JmZCwKIAkJ ICAgIGJmZF9ib29sZWFuIHZlcmJvc2UsIGJmZF9ib29sZWFuIGZsYXR0ZW4pCiB7Ci0gIGJm ZCAqbmV3X2JmZDsKLQotICBuZXdfYmZkID0gYmZkX29wZW5yIChmaWxlX25hbWUsIHRhcmdl dCk7Ci0gIEFSX0VNVUxfRUxFTUVOVF9DSEVDSyAobmV3X2JmZCwgZmlsZV9uYW1lKTsKLQog ICByZXR1cm4gZG9fYXJfZW11bF9hcHBlbmQgKGFmdGVyX2JmZCwgbmV3X2JmZCwgdmVyYm9z ZSwgZmxhdHRlbiwgY2hlY2tfYWl4KTsKIH0KIAogc3RhdGljIGJmZF9ib29sZWFuCi1hcl9l bXVsX2FpeF9yZXBsYWNlIChiZmQgKiphZnRlcl9iZmQsIGNoYXIgKmZpbGVfbmFtZSwgY29u c3QgY2hhciAqdGFyZ2V0LAorYXJfZW11bF9haXhfcmVwbGFjZSAoYmZkICoqYWZ0ZXJfYmZk LCBiZmQgKm5ld19iZmQsCiAJCSAgICAgYmZkX2Jvb2xlYW4gdmVyYm9zZSkKIHsKLSAgYmZk ICpuZXdfYmZkOwotCi0gIG5ld19iZmQgPSBiZmRfb3BlbnIgKGZpbGVfbmFtZSwgdGFyZ2V0 KTsKLSAgQVJfRU1VTF9FTEVNRU5UX0NIRUNLIChuZXdfYmZkLCBmaWxlX25hbWUpOwotCiAg IGlmICghY2hlY2tfYWl4IChuZXdfYmZkKSkKICAgICByZXR1cm4gRkFMU0U7CiAKLSAgQVJf RU1VTF9SRVBMQUNFX1BSSU5UX1ZFUkJPU0UgKHZlcmJvc2UsIGZpbGVfbmFtZSk7CisgIEFS X0VNVUxfUkVQTEFDRV9QUklOVF9WRVJCT1NFICh2ZXJib3NlLCBiZmRfZ2V0X2ZpbGVuYW1l IChuZXdfYmZkKSk7CiAKICAgbmV3X2JmZC0+YXJjaGl2ZV9uZXh0ID0gKmFmdGVyX2JmZDsK ICAgKmFmdGVyX2JmZCA9IG5ld19iZmQ7CmRpZmYgLS1naXQgYS9iaW51dGlscy90ZXN0c3Vp dGUvYmludXRpbHMtYWxsL2FyLmV4cCBiL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1h bGwvYXIuZXhwCmluZGV4IDVhOWQyN2M2ZDAuLjI3M2EwYTM5MDkgMTAwNjQ0Ci0tLSBhL2Jp bnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvYXIuZXhwCisrKyBiL2JpbnV0aWxzL3Rl c3RzdWl0ZS9iaW51dGlscy1hbGwvYXIuZXhwCkBAIC03MTUsNiArNzE1LDQ2IEBAIHByb2Mg bWFueV9maWxlcyB7IH0gewogICAgIHBhc3MgJHRlc3RuYW1lCiB9CiAKK3Byb2MgdGVzdF9h ZGRfZGVwZW5kZW5jaWVzIHsgfSB7CisgICAgZ2xvYmFsIEFSCisgICAgZ2xvYmFsIEFTCisg ICAgZ2xvYmFsIHNyY2RpcgorICAgIGdsb2JhbCBzdWJkaXIKKyAgICBnbG9iYWwgb2JqCisK KyAgICBzZXQgdGVzdG5hbWUgImFyIGFkZGluZyBsaWJyYXJ5IGRlcGVuZGVuY2llcyIKKwor ICAgIGlmICFbYmludXRpbHNfYXNzZW1ibGUgJHNyY2Rpci8kc3ViZGlyL2JpbnRlc3QucyB0 bXBkaXIvYmludGVzdC4ke29ian1dIHsKKwl1bnJlc29sdmVkICR0ZXN0bmFtZQorCXJldHVy bgorICAgIH0KKworICAgIGlmIFtpc19yZW1vdGUgaG9zdF0geworCXNldCBhcmNoaXZlIGFy dGVzdC5hCisJc2V0IG9iamZpbGUgW3JlbW90ZV9kb3dubG9hZCBob3N0IHRtcGRpci9iaW50 ZXN0LiR7b2JqfV0KKwlyZW1vdGVfZmlsZSBob3N0IGRlbGV0ZSAkYXJjaGl2ZQorICAgIH0g ZWxzZSB7CisJc2V0IGFyY2hpdmUgdG1wZGlyL2FydGVzdC5hCisJc2V0IG9iamZpbGUgdG1w ZGlyL2JpbnRlc3QuJHtvYmp9CisgICAgfQorCisgICAgcmVtb3RlX2ZpbGUgYnVpbGQgZGVs ZXRlIHRtcGRpci9hcnRlc3QuYQorCisgICAgc2V0IGdvdCBbYmludXRpbHNfcnVuICRBUiAi LXIgLWMgJGFyY2hpdmUgLS1yZWNvcmQtbGliZGVwcyAvZm9vL2JhciAke29iamZpbGV9Il0K KyAgICBpZiAhW3N0cmluZyBtYXRjaCAiIiAkZ290XSB7CisJZmFpbCAkdGVzdG5hbWUKKwly ZXR1cm4KKyAgICB9CisKKyAgICBzZXQgZ290IFtiaW51dGlsc19ydW4gJEFSICItdCAkYXJj aGl2ZSJdCisgICAgaWYgIVtzdHJpbmcgbWF0Y2ggIipiaW50ZXN0LiR7b2JqfQ1fXy5MSUJE RVAqIiAkZ290XSB7CisJZmFpbCAkdGVzdG5hbWUKKwlyZXR1cm4KKyAgICB9CisKKyAgICBw YXNzICR0ZXN0bmFtZQorfQorCiAjIFJ1biB0aGUgdGVzdHMuCiAKICMgT25seSBydW4gdGhl IGJmZHRlc3QgY2hlY2tzIGlmIHRoZSBwcm9ncmFtcyBleGlzdC4gIFNpbmNlIHRoZXNlCkBA IC03NDMsNiArNzgzLDcgQEAgbW92ZV9hbl9lbGVtZW50CiBlbXB0eV9hcmNoaXZlCiBleHRy YWN0X2FuX2VsZW1lbnQKIG1hbnlfZmlsZXMKK3Rlc3RfYWRkX2RlcGVuZGVuY2llcwogCiBp ZiB7IFtpc19lbGZfZm9ybWF0XSAmJiBbc3VwcG9ydHNfZ251X3VuaXF1ZV0gfSB7CiAgICAg dW5pcXVlX3N5bWJvbAotLSAKMi4yMC4xCgo= --------------6FEC74DC3D9A3F45607C1168--