From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pve-devel-bounces@lists.proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9])
	by lore.proxmox.com (Postfix) with ESMTPS id 6D51E1FF189
	for <inbox@lore.proxmox.com>; Fri, 21 Mar 2025 14:50:52 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id 9CCDB1F926;
	Fri, 21 Mar 2025 14:49:32 +0100 (CET)
From: Fiona Ebner <f.ebner@proxmox.com>
To: pve-devel@lists.proxmox.com
Date: Fri, 21 Mar 2025 14:48:49 +0100
Message-Id: <20250321134852.103871-30-f.ebner@proxmox.com>
X-Mailer: git-send-email 2.39.5
In-Reply-To: <20250321134852.103871-1-f.ebner@proxmox.com>
References: <20250321134852.103871-1-f.ebner@proxmox.com>
MIME-Version: 1.0
X-SPAM-LEVEL: Spam detection results:  0
 AWL -0.041 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DMARC_MISSING             0.1 Missing DMARC policy
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
Subject: [pve-devel] [PATCH container v5 29/32] restore tar archive: check
 potentially untrusted archive
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: pve-devel-bounces@lists.proxmox.com
Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com>

J3RhcicgaXRzZWxmIGFscmVhZHkgcHJvdGVjdHMgYWdhaW5zdCAnLi4nIGluIGNvbXBvbmVudCBu
YW1lcyBhbmQKc3RyaXBzIGFic29sdXRlIG1lbWJlciBuYW1lcyB3aGVuIGV4dHJhY3RpbmcgKGlm
IG5vdCB1c2VkIHdpdGggdGhlCi0tYWJzb2x1dGUtbmFtZXMgb3B0aW9uKSBhbmQgaW4gZ2VuZXJh
bCBzZWVtcyBzYW5lIGZvciBleHRyYWN0aW5nLgpBZGRpdGlvbmFsbHksIHRoZSBleHRyYWN0aW9u
IGFscmVhZHkgaGFwcGVucyBpbiB0aGUgdXNlciBuYW1lc3BhY2UKYXNzb2NpYXRlZCB0byB0aGUg
Y29udGFpbmVyLiBTbyBmb3Igbm93LCBzdGFydCBvdXQgd2l0aCBzb21lIGJhc2ljCnNhbml0eSBj
aGVja3MuIFRoZSBoZWxwZXIgY2FuIHN0aWxsIGJlIGV4dGVuZGVkIHdpdGggbW9yZSBjaGVja3Mu
CgpDaGVja3M6CgoqIGxpc3QgZmlsZXMgaW4gYXJjaGl2ZSAtIHdpbGwgYWxyZWFkeSBjYXRjaCBt
YW55IGNvcnJ1cHRlZC9ib2d1cwogIGFyY2hpdmVzLgoKKiBjaGVjayB0aGF0IHRoZXJlIGFyZSBh
dCBsZWFzdCAxMCBtZW1iZXJzIC0gc2hvdWxkIGFsc28gY2F0Y2gKICBhcmNoaXZlcyBub3QgYWN0
dWFsbHkgY29udGFpbmluZyBhIGNvbnRhaW5lciByb290IGZpbGVzeXN0ZW0gb3IKICBzdHJ1Y3R1
cmFsIGlzc3VlcyBlYXJseS4KCiogY2hlY2sgdGhhdCAvc2JpbiBkaXJlY3Rvcnkgb3IgbGluayBl
eGlzdHMgaW4gYXJjaGl2ZSAtIGlkZWFsbHkgdGhlCiAgY2hlY2sgd291bGQgYmUgZm9yIC9zYmlu
L2luaXQsIGJ1dCB0aGlzIGNhbm5vdCBiZSBkb25lIGVmZmljaWVudGx5CiAgYmVmb3JlIGV4dHJh
Y3Rpb24sIGJlY2F1c2UgaXQgd291bGQgcmVxdWlyZSB0byBrZWVwIHRyYWNrIG9mIHRoZQogIHdo
b2xlIGFyY2hpdmUgdG8gYmUgYWJsZSB0byBmb2xsb3cgc3ltbGlua3MuCgoqIGFib3J0IGlmIHRo
ZXJlIGlzIGEgbXVsdGktdm9sdW1lIG1lbWJlciBpbiB0aGUgYXJjaGl2ZSAtIGNoZWFwIGFuZAog
IGlzIG5ldmVyIGV4cGVjdGVkLgoKQ2hlY2tzIHRoYXQgd2VyZSBjb25zaWRlcmVkLCBidXQgbm90
ICh5ZXQpIGFkZGVkOgoKKiBhYm9ydCB3aGVuIGEgZmlsZSBoYXMgdW5yZWFsaXN0aWNhbGx5IGxh
cmdlIHNpemUgLSB3aGlsZSB0aGlzIGNvdWxkCiAgaGVscCB0byBkZXRlY3QgY2VydGFpbiBraW5k
cyBvZiBib2d1cyBhcmNoaXZlcywgdGhlcmUgY2FuIGJlIHZhbGlkLgogIHVzZSBjYXNlcyBmb3Ig
ZXh0cmVtZWx5IGxhcmdlIHNwYXJzZSBmaWxlcywgc28gaXQncyBub3QgY2xlYXIgd2hhdAogIGEg
Z29vZCBsaW1pdCB3b3VsZCBiZSAoMSBFaUIgbWF5YmU/KS4gQWxzbywgYW4gYXR0YWNrZXIgY291
bGQganVzdAogIGFkYXB0IHRvIHN1Y2ggYSBsaW1pdCBjcmVhdGluZyBtdWx0aXBsZSBmaWxlcyBh
bmQgdGhlIGFjdHVhbAogIGV4dHJhY3Rpb24gaXMgYWxyZWFkeSBsaW1pdGVkIGJ5IHRoZSBzaXpl
IG9mIHRoZSBhbGxvY2F0ZWQgY29udGFpbmVyCiAgdm9sdW1lLgoKKiBjaGVjayB0aGF0IC9zYmlu
L2luaXQgZXhpc3RzIGFmdGVyIGV4dHJhY3RpbmcgLSBjYW5ub3QgYmUgZG9uZQogIGVmZmljaWVu
dGx5IGJlZm9yZSBleHRyYWN0aW9uLCBiZWNhdXNlIGl0IHdvdWxkIHJlcXVpcmUgdG8ga2VlcAog
IHRyYWNrIG9mIHRoZSB3aG9sZSBhcmNoaXZlIHRvIGJlIGFibGUgdG8gZm9sbG93IHN5bWxpbmtz
LiBEdXJpbmcKICBzZXR1cCB0aGVyZSBhbHJlYWR5IGlzIGRldGVjdGlvbiBvZiAvZXRjL29zLXJl
bGVhc2UsIHNvIGlzc3VlcyB3aXRoCiAgdGhlIHN0cnVjdHVyZSB3aWxsIGFscmVhZHkgYmUgbm90
aWNlZC4gQWRkaW5nIGEgaGFyZCBmYWlsIGZvcgogIHVudHJ1c3RlZCBhcmNoaXZlcyB3b3VsZCBy
ZXF1aXJlIGVpdGhlciBwYXNzaW5nIHRoYXQgaW5mb3JtYXRpb24gdG8KICB0aGUgc2V0dXAgcGhh
c2Ugb3IgZXh0cmFjdGluZyB0aGUgcHJvdGVjdGVkX2NhbGwgbWV0aG9kIGZyb20gdGhlcmUKICBp
bnRvIGEgaGVscGVyLgoKKiBhZGRpbmcgJ3Jlc3RyaWN0JyB0byB0aGUgKGNvbW1vbikgdGFyIGZs
YWdzIC0gdGhlIHRhciBtYW51YWwgKG5vdAogIHRoZSBtYW4gcGFnZSkgZG9jdW1lbnRzOiAiRGlz
YWJsZSB1c2Ugb2Ygc29tZSBwb3RlbnRpYWxseSBoYXJtZnVsCiAgJ3Rhcicgb3B0aW9ucy4gIEN1
cnJlbnRseSB0aGlzIG9wdGlvbiBkaXNhYmxlcyBzaGVsbCBpbnZvY2F0aW9uIGZyb20KICBtdWx0
aS12b2x1bWUgbWVudS4iLiBUaGUgZmxhZyB3YXMgaW50cm9kdWNlZCBpbiAyMDA1IGFuZCB0aGlz
IGlzCiAgc3RpbGwgdGhlIG9ubHkgdGhpbmcgaXQgaXMgdXNlZCBmb3IuIFRyeWluZyB0byByZXN0
b3JlIGEKICBtdWx0aS12b2x1bWUgYXJjaGl2ZSBhbHJlYWR5IGZhaWxzIHdpdGhvdXQgZ2l2aW5n
IG11bHRpcGxlICctLWZpbGUnCiAgYXJndW1lbnRzIGFuZCAnLS1tdWx0aS12b2x1bWUnLCBzbyBk
b24ndCBib3RoZXIgYWRkaW5nIHRoZSBmbGFnLgoKKiBjaGVjayBmb3JtYXQgb2YgdGFyIGZpbGUg
LSB3b3VsZCByZXF1aXJlIHlldCBhbm90aGVyIGludm9jYXRpb24gb2YKICB0aGUgZGVjb21wcmVz
c29yIGFuZCB0aGVyZSBzZWVtcyB0byBiZSBubyBidWlsdC1pbiB3YXkgdG8ganVzdAogIGRpc3Bs
YXkgdGhlIGZvcm1hdCB3aXRoICd0YXInLiBUaGUgJ2ZpbGUnIHByb2dyYW0gY291bGQgYmUgdXNl
ZCwgYnV0CiAgaXQgc2VlbXMgdG8gbm90IG1ha2UgYSBkaXN0aW5jdGlvbiBiZXR3ZWVuIG9sZCBH
TlUgYW5kIEdOVSBhbmQgb2xkCiAgUE9TSVggYW5kIFBPU0lYIGZvcm1hdHMsIHdpdGggdGhlIG9s
ZCBvbmVzIGJlaW5nIGNhbmRpZGF0ZXMgdG8KICBwcm9oaWJpdC4gU28gdGhhdCB3b3VsZCBsZWF2
ZSBqdXN0IGRldGVjdGluZyB0aGUgb2xkICd2NycgZm9ybWF0LgoKU3VnZ2VzdGVkLWJ5OiBGYWJp
YW4gR3LDvG5iaWNobGVyIDxmLmdydWVuYmljaGxlckBwcm94bW94LmNvbT4KU2lnbmVkLW9mZi1i
eTogRmlvbmEgRWJuZXIgPGYuZWJuZXJAcHJveG1veC5jb20+Ci0tLQoKQ2hhbmdlcyBpbiB2NToK
KiBQcmludCBsaW5lcyB0aGF0IGNhbm5vdCBiZSBwYXJzZWQuCiogSGFuZGxlIGVkZ2UgY2FzZSB3
aGVyZSBzaXplIGlzIG5vdCBhIHNpbmdsZSBudW1iZXIgKGUuZy4gZm9yIGNoYXJhY3RlcgogIGRl
dmljZXMpLgoKIHNyYy9QVkUvTFhDL0NyZWF0ZS5wbSB8IDc1ICsrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCA3MSBpbnNlcnRpb25zKCsp
LCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9QVkUvTFhDL0NyZWF0ZS5wbSBiL3Ny
Yy9QVkUvTFhDL0NyZWF0ZS5wbQppbmRleCAxZDA0NzRkLi5jNzYyZDU0IDEwMDY0NAotLS0gYS9z
cmMvUFZFL0xYQy9DcmVhdGUucG0KKysrIGIvc3JjL1BWRS9MWEMvQ3JlYXRlLnBtCkBAIC05OSwx
MiArOTksNzMgQEAgbXkgc3ViIHRhcl9jb21wcmVzc2lvbl9vcHRpb24gewogICAgIH0KIH0KIAor
IyBCYXNpYyBjaGVja3MgdHJ5aW5nIHRvIGRldGVjdCBpc3N1ZXMgd2l0aCBhIHBvdGVudGlhbGx5
IHVudHJ1c3RlZCBvciBib2d1cyB0YXIgYXJjaGl2ZS4KKyMgSnVzdCBsaXN0aW5nIHRoZSBmaWxl
cyBpcyBhbHJlYWR5IGEgZ29vZCBjaGVjayBhZ2FpbnN0IGNvcnJ1cHRpb24uCisjICd0YXInIGl0
c2VsZiBhbHJlYWR5IHByb3RlY3RzIGFnYWluc3QgJy4uJyBpbiBjb21wb25lbnQgbmFtZXMgYW5k
IHN0cmlwcyBhYnNvbHV0ZSBtZW1iZXIgbmFtZXMKKyMgd2hlbiBleHRyYWN0aW5nLCBzbyBubyBu
ZWVkIHRvIGNoZWNrIGZvciB0aG9zZSBoZXJlLgorbXkgc3ViIGNoZWNrX3Rhcl9hcmNoaXZlIHsK
KyAgICBteSAoJGFyY2hpdmUpID0gQF87CisKKyAgICBwcmludCAiY2hlY2tpbmcgYXJjaGl2ZS4u
XG4iOworCisgICAgIyBUbyByZXNvbHZlIGxpbmtzIHRvIGdldCB0byAnc2Jpbi9pbml0JyB3b3Vs
ZCBtZWFuIGtlZXBpbmcgdHJhY2sgb2YgZXZlcnl0aGluZyBpbiB0aGUgYXJjaGl2ZSwKKyAgICAj
IGJlY2F1c2UgdGhlIHRhcmdldCBtaWdodCBiZSBvcmRlcmVkIGZpcnN0LiBDaGVjayBvbmx5IHRo
YXQgJ3NiaW4nIGV4aXN0cyBoZXJlLgorICAgIG15ICRmb3VuZF9zYmluOworCisgICAgIyBKdXN0
IHRvIGRldGVjdCBib2d1cyBhcmNoaXZlcywgYW55IHZhbGlkIGNvbnRhaW5lciBmaWxlc3lzdGVt
IHNob3VsZCBoYXZlIG1vcmUgdGhhbiB0aGlzLgorICAgIG15ICRyZXF1aXJlZF9tZW1iZXJzID0g
MTA7CisgICAgbXkgJG1lbWJlcl9jb3VudCA9IDA7CisKKyAgICBteSAkY2hlY2tfZmlsZV9saXN0
ID0gc3ViIHsKKwlteSAoJGxpbmUpID0gQF87CisKKwkkbWVtYmVyX2NvdW50Kys7CisKKwkjIE5v
dCBhbHdheXMganVzdCBhIHNpbmdsZSBudW1iZXIsIGUuZy4gZm9yIGNoYXJhY3RlciBkZXZpY2Vz
LgorCW15ICRzaXplX3JlID0gcXIvXGQrKD86LFxkKyk/LzsKKworCSMgVGhlIGRhdGUgaXMgaW4g
SVNPIDg2MDEgZm9ybWF0LiBUaGUgbGFzdCBwYXJ0IGNvbnRhaW5zIHRoZSBwb3RlbnRpYWxseSBx
dW90ZWQgZmlsZSBuYW1lLAorCSMgcG90ZW50aWFsbHkgZm9sbG93ZWQgYnkgc29tZSBhZGRpdGlv
bmFsIGluZm8gKGUuZy4gd2hlcmUgYSBsaW5rIHBvaW50cyB0bykuCisJbXkgKCR0eXBlLCAkcGVy
bXMsICR1aWQsICRnaWQsICRzaXplLCAkZGF0ZSwgJHRpbWUsICRmaWxlX2luZm8pID0KKwkgICAg
JGxpbmUgPX4gbSFeKFthLXpBLVpcLV0pKFxTKylccysoXGQrKS8oXGQrKVxzKygkc2l6ZV9yZSlc
cysoXFMrKVxzKyhcUyspXHMrKC4qKSQhOworCWlmICghZGVmaW5lZCgkdHlwZSkpIHsKKwkgICAg
cHJpbnQgImNoZWNrIHRhcjogdW5hYmxlIHRvIHBhcnNlIGxpbmU6ICRsaW5lXG4iOworCSAgICBy
ZXR1cm47CisJfQorCisJZGllICJmb3VuZCBtdWx0aS12b2x1bWUgbWVtYmVyIGluIGFyY2hpdmVc
biIgaWYgJHR5cGUgZXEgJ00nOworCisJaWYgKCEkZm91bmRfc2JpbiAmJiAoCisJICAgICgkZmls
ZV9pbmZvID1+IG0hXig/OlwuLyk/c2Jpbi8kISAmJiAkdHlwZSBlcSAnZCcpCisJICAgIHx8ICgk
ZmlsZV9pbmZvID1+IG0hXig/OlwuLyk/c2JpbiAtPiEgJiYgJHR5cGUgZXEgJ2wnKQorCSAgICB8
fCAoJGZpbGVfaW5mbyA9fiBtIV4oPzpcLi8pP3NiaW4gbGluayB0byEgJiYgJHR5cGUgZXEgJ2gn
KQorCSkpIHsKKwkgICAgJGZvdW5kX3NiaW4gPSAxOworCX0KKworICAgIH07CisKKyAgICBteSAk
Y29tcHJlc3Npb25fb3B0ID0gdGFyX2NvbXByZXNzaW9uX29wdGlvbigkYXJjaGl2ZSk7CisKKyAg
ICBteSAkY21kID0gWyd0YXInLCAnLXR2ZicsICRhcmNoaXZlXTsKKyAgICBwdXNoICRjbWQtPkAq
LCAkY29tcHJlc3Npb25fb3B0IGlmICRjb21wcmVzc2lvbl9vcHQ7CisgICAgcHVzaCAkY21kLT5A
KiwgJy0tbnVtZXJpYy1vd25lcic7CisKKyAgICBQVkU6OlRvb2xzOjpydW5fY29tbWFuZCgkY21k
LCBvdXRmdW5jID0+ICRjaGVja19maWxlX2xpc3QpOworCisgICAgZGllICJubyAnc2JpbicgZGly
ZWN0b3J5IChvciBsaW5rKSBmb3VuZCBpbiBhcmNoaXZlICckYXJjaGl2ZSdcbiIgaWYgISRmb3Vu
ZF9zYmluOworICAgIGRpZSAibGVzcyB0aGFuIDEwIG1lbWJlcnMgaW4gYXJjaGl2ZSAnJGFyY2hp
dmUnXG4iIGlmICRtZW1iZXJfY291bnQgPCAkcmVxdWlyZWRfbWVtYmVyczsKK30KKwogbXkgc3Vi
IHJlc3RvcmVfdGFyX2FyY2hpdmVfY29tbWFuZCB7Ci0gICAgbXkgKCRjb25mLCAkY29tcHJlc3Np
b25fb3B0LCAkcm9vdGRpciwgJGJ3bGltaXQpID0gQF87CisgICAgbXkgKCRjb25mLCAkY29tcHJl
c3Npb25fb3B0LCAkcm9vdGRpciwgJGJ3bGltaXQsICR1bnRydXN0ZWQpID0gQF87CiAKICAgICBt
eSAoJGlkX21hcCwgJHJvb3RfdWlkLCAkcm9vdF9naWQpID0gUFZFOjpMWEM6OnBhcnNlX2lkX21h
cHMoJGNvbmYpOwogICAgIG15ICR1c2VybnNfY21kID0gUFZFOjpMWEM6OnVzZXJuc19jb21tYW5k
KCRpZF9tYXApOwogCisgICAgZGllICJyZWZ1c2luZyB0byByZXN0b3JlIHByaXZpbGVnZWQgY29u
dGFpbmVyIGJhY2t1cCBmcm9tIGV4dGVybmFsIHNvdXJjZVxuIgorCWlmICR1bnRydXN0ZWQgJiYg
KCRyb290X3VpZCA9PSAwIHx8ICRyb290X2dpZCA9PSAwKTsKKwogICAgIG15ICRjbWQgPSBbQCR1
c2VybnNfY21kLCAndGFyJywgJ3hwZicsICctJ107CiAgICAgcHVzaCAkY21kLT5AKiwgJGNvbXBy
ZXNzaW9uX29wdCBpZiAkY29tcHJlc3Npb25fb3B0OwogICAgIHB1c2ggJGNtZC0+QCosICctLXRv
dGFscyc7CkBAIC0xMjcsNyArMTg4LDcgQEAgbXkgc3ViIHJlc3RvcmVfdGFyX2FyY2hpdmVfY29t
bWFuZCB7CiB9CiAKIHN1YiByZXN0b3JlX3Rhcl9hcmNoaXZlIHsKLSAgICBteSAoJGFyY2hpdmUs
ICRyb290ZGlyLCAkY29uZiwgJG5vX3VucGFja19lcnJvciwgJGJ3bGltaXQpID0gQF87CisgICAg
bXkgKCRhcmNoaXZlLCAkcm9vdGRpciwgJGNvbmYsICRub191bnBhY2tfZXJyb3IsICRid2xpbWl0
LCAkdW50cnVzdGVkKSA9IEBfOwogCiAgICAgbXkgJGFyY2hpdmVfZmg7CiAgICAgbXkgJHRhcl9p
bnB1dCA9ICc8JlNURElOJzsKQEAgLTE0Miw3ICsyMDMsMTIgQEAgc3ViIHJlc3RvcmVfdGFyX2Fy
Y2hpdmUgewogCSR0YXJfaW5wdXQgPSAnPCYnLmZpbGVubygkYXJjaGl2ZV9maCk7CiAgICAgfQog
Ci0gICAgbXkgJGNtZCA9IHJlc3RvcmVfdGFyX2FyY2hpdmVfY29tbWFuZCgkY29uZiwgJGNvbXBy
ZXNzaW9uX29wdCwgJHJvb3RkaXIsICRid2xpbWl0KTsKKyAgICBpZiAoJHVudHJ1c3RlZCkgewor
CWRpZSAiY2Fubm90IHZlcmlmeSB1bnRydXN0ZWQgYXJjaGl2ZSBvbiBTVERJTlxuIiBpZiAkYXJj
aGl2ZSBlcSAnLSc7CisJY2hlY2tfdGFyX2FyY2hpdmUoJGFyY2hpdmUpOworICAgIH0KKworICAg
IG15ICRjbWQgPSByZXN0b3JlX3Rhcl9hcmNoaXZlX2NvbW1hbmQoJGNvbmYsICRjb21wcmVzc2lv
bl9vcHQsICRyb290ZGlyLCAkYndsaW1pdCwgJHVudHJ1c3RlZCk7CiAKICAgICBpZiAoJGFyY2hp
dmUgZXEgJy0nKSB7CiAJcHJpbnQgImV4dHJhY3RpbmcgYXJjaGl2ZSBmcm9tIFNURElOXG4iOwpA
QCAtMTcwLDcgKzIzNiw3IEBAIHN1YiByZXN0b3JlX2V4dGVybmFsX2FyY2hpdmUgewogCSAgICBt
eSAkdGFyX3BhdGggPSAkaW5mby0+eyd0YXItcGF0aCd9CiAJCW9yIGRpZSAiZGlkIG5vdCBnZXQg
cGF0aCB0byB0YXIgZmlsZSBmcm9tIGJhY2t1cCBwcm92aWRlclxuIjsKIAkgICAgZGllICJub3Qg
YSByZWd1bGFyIGZpbGUgJyR0YXJfcGF0aCciIGlmICEtZiAkdGFyX3BhdGg7Ci0JICAgIHJlc3Rv
cmVfdGFyX2FyY2hpdmUoJHRhcl9wYXRoLCAkcm9vdGRpciwgJGNvbmYsICRub191bnBhY2tfZXJy
b3IsICRid2xpbWl0KTsKKwkgICAgcmVzdG9yZV90YXJfYXJjaGl2ZSgkdGFyX3BhdGgsICRyb290
ZGlyLCAkY29uZiwgJG5vX3VucGFja19lcnJvciwgJGJ3bGltaXQsIDEpOwogCX0gZWxzaWYgKCRt
ZWNoYW5pc20gZXEgJ2RpcmVjdG9yeScpIHsKIAkgICAgbXkgJGRpcmVjdG9yeSA9ICRpbmZvLT57
J2FyY2hpdmUtZGlyZWN0b3J5J30KIAkJb3IgZGllICJkaWQgbm90IGdldCBwYXRoIHRvIGFyY2hp
dmUgZGlyZWN0b3J5IGZyb20gYmFja3VwIHByb3ZpZGVyXG4iOwpAQCAtMTg5LDYgKzI1NSw3IEBA
IHN1YiByZXN0b3JlX2V4dGVybmFsX2FyY2hpdmUgewogCQknLicsCiAJICAgIF07CiAKKwkgICAg
IyBhcmNoaXZlIGlzIHRydXN0ZWQsIHdlIGNyZWF0ZWQgaXQKIAkgICAgbXkgJGV4dHJhY3RfY21k
ID0gcmVzdG9yZV90YXJfYXJjaGl2ZV9jb21tYW5kKCRjb25mLCB1bmRlZiwgJHJvb3RkaXIsICRi
d2xpbWl0KTsKIAogCSAgICBteSAkY21kOwotLSAKMi4zOS41CgoKCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCnB2ZS1kZXZlbCBtYWlsaW5nIGxpc3QKcHZl
LWRldmVsQGxpc3RzLnByb3htb3guY29tCmh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJp
bi9tYWlsbWFuL2xpc3RpbmZvL3B2ZS1kZXZlbAo=