From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id C94251FF15E for ; Tue, 20 Jan 2026 10:21:53 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 220DB8EB2; Tue, 20 Jan 2026 10:22:03 +0100 (CET) Message-ID: <521b901c-e264-4ba9-8adb-2a5b05e89dcc@proxmox.com> Date: Tue, 20 Jan 2026 10:21:57 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Proxmox Backup Server development discussion , =?UTF-8?Q?Fabian_Gr=C3=BCnbichler?= References: <20260102160750.285157-1-s.rufinatscha@proxmox.com> <20260102160750.285157-4-s.rufinatscha@proxmox.com> <1768385989.rl12driouk.astroid@yuna.none> Content-Language: en-US From: Samuel Rufinatscha In-Reply-To: <1768385989.rl12driouk.astroid@yuna.none> X-SPAM-LEVEL: Spam detection results: 0 AWL -0.134 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_ASCII_DIVIDERS 0.8 Email that uses ascii formatting dividers and possible spam tricks KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [proxmox.com] Subject: Re: [pbs-devel] [PATCH proxmox-backup v3 3/4] pbs-config: invalidate token-secret cache on token.shadow changes X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Backup Server development discussion Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" T24gMS8xNC8yNiAxMTo0NCBBTSwgRmFiaWFuIEdyw7xuYmljaGxlciB3cm90ZToKPiBPbiBKYW51 YXJ5IDIsIDIwMjYgNTowNyBwbSwgU2FtdWVsIFJ1ZmluYXRzY2hhIHdyb3RlOgo+PiBQcmV2aW91 c2x5IHRoZSBpbi1tZW1vcnkgdG9rZW4tc2VjcmV0IGNhY2hlIHdhcyBvbmx5IHVwZGF0ZWQgdmlh Cj4+IHNldF9zZWNyZXQoKSBhbmQgZGVsZXRlX3NlY3JldCgpLCBzbyBtYW51YWwgZWRpdHMgdG8g dG9rZW4uc2hhZG93IHdlcmUKPj4gbm90IHJlZmxlY3RlZC4KPj4KPj4gVGhpcyBwYXRjaCBhZGRz IGZpbGUgY2hhbmdlIGRldGVjdGlvbiB0byB0aGUgY2FjaGUuIEl0IHRyYWNrcyB0aGUgbXRpbWUK Pj4gYW5kIGxlbmd0aCBvZiB0b2tlbi5zaGFkb3cgYW5kIGNsZWFycyB0aGUgaW4tbWVtb3J5IHRv a2VuIHNlY3JldCBjYWNoZQo+PiB3aGVuZXZlciB0aGVzZSB2YWx1ZXMgY2hhbmdlLgo+Pgo+PiBO b3RlLCB0aGlzIHBhdGNoIGZldGNoZXMgZmlsZSBzdGF0cyBvbiBldmVyeSByZXF1ZXN0LiBBbiBU VEwtYmFzZWQKPj4gb3B0aW1pemF0aW9uIHdpbGwgYmUgY292ZXJlZCBpbiBhIHN1YnNlcXVlbnQg cGF0Y2ggb2YgdGhlIHNlcmllcy4KPj4KPj4gVGhpcyBwYXRjaCBpcyBwYXJ0IG9mIHRoZSBzZXJp ZXMgd2hpY2ggZml4ZXMgYnVnICM3MDE3IFsxXS4KPj4KPj4gWzFdIGh0dHBzOi8vYnVnemlsbGEu cHJveG1veC5jb20vc2hvd19idWcuY2dpP2lkPTcwMTcKPj4KPj4gU2lnbmVkLW9mZi1ieTogU2Ft dWVsIFJ1ZmluYXRzY2hhIDxzLnJ1ZmluYXRzY2hhQHByb3htb3guY29tPgo+PiAtLS0KPj4gQ2hh bmdlcyBmcm9tIHYxIHRvIHYyOgo+Pgo+PiAqIEFkZCBmaWxlIG1ldGFkYXRhIHRyYWNraW5nIChm aWxlX210aW1lLCBmaWxlX2xlbikgYW5kCj4+ICAgIEZJTEVfR0VORVJBVElPTi4KPj4gKiBTdG9y ZSBmaWxlX2dlbiBpbiBDYWNoZWRTZWNyZXQgYW5kIHZlcmlmeSBpdCBhZ2FpbnN0IHRoZSBjdXJy ZW50Cj4+ICAgIEZJTEVfR0VORVJBVElPTiB0byBlbnN1cmUgY2FjaGVkIGVudHJpZXMgYmVsb25n IHRvIHRoZSBjdXJyZW50IGZpbGUKPj4gICAgc3RhdGUuCj4+ICogQWRkIHNoYWRvd19tdGltZV9s ZW4oKSBoZWxwZXIgYW5kIGNvbnZlcnQgcmVmcmVzaCB0byBiZXN0LWVmZm9ydAo+PiAgICAodHJ5 X3dyaXRlLCByZXR1cm5zIGJvb2wpLgo+PiAqIFBhc3MgYSBwcmUtd3JpdGUgbWV0YWRhdGEgc25h cHNob3QgaW50byBhcHBseV9hcGlfbXV0YXRpb24gYW5kCj4+ICAgIGNsZWFyL2J1bXAgZ2VuZXJh dGlvbiBpZiB0aGUgY2FjaGUgbWV0YWRhdGEgaW5kaWNhdGVzIG1pc3NlZCBleHRlcm5hbAo+PiAg ICBlZGl0cy4KPj4KPj4gQ2hhbmdlcyBmcm9tIHYyIHRvIHYzOgo+Pgo+PiAqIENhY2hlIG5vdyB0 cmFja3MgbGFzdF9jaGVja2VkIChlcG9jaCBzZWNvbmRzKS4KPj4gKiBTaW1wbGlmaWVkIHJlZnJl c2hfY2FjaGVfaWZfZmlsZV9jaGFuZ2VkLCByZW1vdmVkCj4+IEZJTEVfR0VORVJBVElPTiBsb2dp Ywo+PiAqIE9uIGZpcnN0IGxvYWQsIGluaXRpYWxpemVzIGZpbGUgbWV0YWRhdGEgYW5kIGtlZXBz IGVtcHR5IGNhY2hlLgo+Pgo+PiAgIHBicy1jb25maWcvc3JjL3Rva2VuX3NoYWRvdy5ycyB8IDEy MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KPj4gICAxIGZpbGUgY2hhbmdlZCwg MTE4IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9wYnMt Y29uZmlnL3NyYy90b2tlbl9zaGFkb3cucnMgYi9wYnMtY29uZmlnL3NyYy90b2tlbl9zaGFkb3cu cnMKPj4gaW5kZXggZmE4NGFlZTUuLjAyZmIxOTFiIDEwMDY0NAo+PiAtLS0gYS9wYnMtY29uZmln L3NyYy90b2tlbl9zaGFkb3cucnMKPj4gKysrIGIvcGJzLWNvbmZpZy9zcmMvdG9rZW5fc2hhZG93 LnJzCj4+IEBAIC0xLDUgKzEsOCBAQAo+PiAgIHVzZSBzdGQ6OmNvbGxlY3Rpb25zOjpIYXNoTWFw Owo+PiArdXNlIHN0ZDo6ZnM7Cj4+ICt1c2Ugc3RkOjppbzo6RXJyb3JLaW5kOwo+PiAgIHVzZSBz dGQ6OnN5bmM6OkxhenlMb2NrOwo+PiArdXNlIHN0ZDo6dGltZTo6U3lzdGVtVGltZTsKPj4gICAK Pj4gICB1c2UgYW55aG93Ojp7YmFpbCwgZm9ybWF0X2VyciwgRXJyb3J9Owo+PiAgIHVzZSBwYXJr aW5nX2xvdDo6UndMb2NrOwo+PiBAQCAtNyw2ICsxMCw3IEBAIHVzZSBzZXJkZTo6e0Rlc2VyaWFs aXplLCBTZXJpYWxpemV9Owo+PiAgIHVzZSBzZXJkZV9qc29uOjp7ZnJvbV92YWx1ZSwgVmFsdWV9 Owo+PiAgIAo+PiAgIHVzZSBwcm94bW94X3N5czo6ZnM6OkNyZWF0ZU9wdGlvbnM7Cj4+ICt1c2Ug cHJveG1veF90aW1lOjplcG9jaF9pNjQ7Cj4+ICAgCj4+ICAgdXNlIHBic19hcGlfdHlwZXM6OkF1 dGhpZDsKPj4gICAvL3VzZSBjcmF0ZTo6YXV0aDsKPj4gQEAgLTI0LDYgKzI4LDkgQEAgc3RhdGlj IFRPS0VOX1NFQ1JFVF9DQUNIRTogTGF6eUxvY2s8UndMb2NrPEFwaVRva2VuU2VjcmV0Q2FjaGU+ PiA9IExhenlMb2NrOjpuZXcKPj4gICAgICAgUndMb2NrOjpuZXcoQXBpVG9rZW5TZWNyZXRDYWNo ZSB7Cj4+ICAgICAgICAgICBzZWNyZXRzOiBIYXNoTWFwOjpuZXcoKSwKPj4gICAgICAgICAgIHNo YXJlZF9nZW46IDAsCj4+ICsgICAgICAgIGZpbGVfbXRpbWU6IE5vbmUsCj4+ICsgICAgICAgIGZp bGVfbGVuOiBOb25lLAo+PiArICAgICAgICBsYXN0X2NoZWNrZWQ6IE5vbmUsCj4+ICAgICAgIH0p Cj4+ICAgfSk7Cj4+ICAgCj4+IEBAIC02Miw2ICs2OSw2MyBAQCBmbiB3cml0ZV9maWxlKGRhdGE6 IEhhc2hNYXA8QXV0aGlkLCBTdHJpbmc+KSAtPiBSZXN1bHQ8KCksIEVycm9yPiB7Cj4+ICAgICAg IHByb3htb3hfc3lzOjpmczo6cmVwbGFjZV9maWxlKENPTkZfRklMRSwgJmpzb24sIG9wdGlvbnMs IHRydWUpCj4+ICAgfQo+PiAgIAo+PiArLy8vIFJlZnJlc2hlcyB0aGUgaW4tbWVtb3J5IGNhY2hl IGlmIHRoZSBvbi1kaXNrIHRva2VuLnNoYWRvdyBmaWxlIGNoYW5nZWQuCj4+ICsvLy8gUmV0dXJu cyB0cnVlIGlmIHRoZSBjYWNoZSBpcyB2YWxpZCB0byB1c2UsIGZhbHNlIGlmIG5vdC4KPj4gK2Zu IHJlZnJlc2hfY2FjaGVfaWZfZmlsZV9jaGFuZ2VkKCkgLT4gYm9vbCB7Cj4+ICsgICAgbGV0IG5v dyA9IGVwb2NoX2k2NCgpOwo+PiArCj4+ICsgICAgLy8gQmVzdC1lZmZvcnQgcmVmcmVzaCB1bmRl ciB3cml0ZSBsb2NrLgo+PiArICAgIGxldCBTb21lKG11dCBjYWNoZSkgPSBUT0tFTl9TRUNSRVRf Q0FDSEUudHJ5X3dyaXRlKCkgZWxzZSB7Cj4+ICsgICAgICAgIHJldHVybiBmYWxzZTsKPj4gKyAg ICB9Owo+PiArCj4+ICsgICAgbGV0IFNvbWUoc2hhcmVkX2dlbl9ub3cpID0gdG9rZW5fc2hhZG93 X3NoYXJlZF9nZW4oKSBlbHNlIHsKPj4gKyAgICAgICAgcmV0dXJuIGZhbHNlOwo+PiArICAgIH07 Cj4+ICsKPj4gKyAgICAvLyBJZiBhbm90aGVyIHByb2Nlc3MgYnVtcGVkIHRoZSBnZW5lcmF0aW9u LCB3ZSBkb24ndCBrbm93IHdoYXQgY2hhbmdlZCAtPiBjbGVhciBjYWNoZQo+PiArICAgIGlmIGNh Y2hlLnNoYXJlZF9nZW4gIT0gc2hhcmVkX2dlbl9ub3cgewo+PiArICAgICAgICBpbnZhbGlkYXRl X2NhY2hlX3N0YXRlKCZtdXQgY2FjaGUpOwo+PiArICAgICAgICBjYWNoZS5zaGFyZWRfZ2VuID0g c2hhcmVkX2dlbl9ub3c7Cj4+ICsgICAgfQo+PiArCj4+ICsgICAgLy8gU3RhdCB0aGUgZmlsZSB0 byBkZXRlY3QgbWFudWFsIGVkaXRzLgo+PiArICAgIGxldCBPaygobmV3X210aW1lLCBuZXdfbGVu KSkgPSBzaGFkb3dfbXRpbWVfbGVuKCkgZWxzZSB7Cj4+ICsgICAgICAgIHJldHVybiBmYWxzZTsK Pj4gKyAgICB9Owo+PiArCj4+ICsgICAgLy8gSW5pdGlhbGl6ZSBmaWxlIHN0YXRzIGlmIHdlIGhh dmUgbm8gcHJpb3Igc3RhdGUuCj4+ICsgICAgaWYgY2FjaGUubGFzdF9jaGVja2VkLmlzX25vbmUo KSB7Cj4+ICsgICAgICAgIGNhY2hlLnNlY3JldHMuY2xlYXIoKTsgLy8gZW5zdXJlIGNhY2hlIGlz IGVtcHR5IG9uIGZpcnN0IGxvYWQKPj4gKyAgICAgICAgY2FjaGUuZmlsZV9tdGltZSA9IG5ld19t dGltZTsKPj4gKyAgICAgICAgY2FjaGUuZmlsZV9sZW4gPSBuZXdfbGVuOwo+PiArICAgICAgICBj YWNoZS5sYXN0X2NoZWNrZWQgPSBTb21lKG5vdyk7Cj4+ICsgICAgICAgIHJldHVybiB0cnVlOwo+ IAo+IHRoaXMgY29kZSBoZXJlCj4gCj4+ICsgICAgfQo+PiArCj4+ICsgICAgLy8gTm8gY2hhbmdl IGRldGVjdGVkLgo+PiArICAgIGlmIGNhY2hlLmZpbGVfbXRpbWUgPT0gbmV3X210aW1lICYmIGNh Y2hlLmZpbGVfbGVuID09IG5ld19sZW4gewo+PiArICAgICAgICBjYWNoZS5sYXN0X2NoZWNrZWQg PSBTb21lKG5vdyk7Cj4+ICsgICAgICAgIHJldHVybiB0cnVlOwo+PiArICAgIH0KPj4gKwo+PiAr ICAgIC8vIE1hbnVhbCBlZGl0IGRldGVjdGVkIC0+IGludmFsaWRhdGUgY2FjaGUgYW5kIHVwZGF0 ZSBzdGF0Lgo+PiArICAgIGNhY2hlLnNlY3JldHMuY2xlYXIoKTsKPj4gKyAgICBjYWNoZS5maWxl X210aW1lID0gbmV3X210aW1lOwo+PiArICAgIGNhY2hlLmZpbGVfbGVuID0gbmV3X2xlbjsKPj4g KyAgICBjYWNoZS5sYXN0X2NoZWNrZWQgPSBTb21lKG5vdyk7Cj4gCj4gYW5kIHRoaXMgY29kZSBo ZXJlIGFyZSBpZGVudGljYWwuIGlmIHRoaXMgaXMgdGhlIGZpcnN0IGludm9jYXRpb24sIHRoZW4K PiB0aGUgY2hhbmdlIGRldGVjdGlvbiBjaGVjayBhYm92ZSBjYW5ub3QgYmUgdHJ1ZSAodGhlIGNh Y2hlZCBtdGltZSBhbmQKPiBsZW4gd2lsbCBiZSBOb25lKS4KPiAKPiBzbyB3ZSBjYW4gZHJvcCB0 aGUgZmlyc3QgaWYgYWJvdmUsIGFuZCByZXBsYWNlIHRoZSBsYXN0IGxpbmUgaW4gdGhpcwo+IGh1 bmsgd2l0aAo+IAo+IGxldCBwcmV2X2xhc3RfY2hlY2tlZCA9IGNhY2hlLmxhc3RfY2hlY2tlZC5y ZXBsYWNlKFNvbWUobm93KSk7Cj4KPiBhbmQgdGhlbiBza2lwIGJ1bXBpbmcgdGhlIGdlbmVyYXRp b24gaWYgdGhpcyBpc19ub25lKCkKCkdyZWF0IGlkZWEgYWJvdXQgdGhlIC5yZXBsYWNlKCkhIElu dGVncmF0aW5nIGl0IHdpdGggdGhlIG5ldwpTaGFkb3dGaWxlSW5mbyA6KQoKPiAKPiBPVE9ILCBp ZiB3ZSBqdXN0IGNsZWFyZWQgdGhlIGNhY2hlIGhlcmUsIGRvZXMgaXQgbWFrZSBzZW5zZSB0byBy ZXR1cm4KPiB0cnVlPyB0aGUgY2FjaGUgaXMgZW1wdHksIHNvIGxpa2VseSBxdWVyeWluZyBpdCAq bm93KiBtYWtlcyBubyBzZW5zZT8KCkFncmVlLCB3ZSBzaG91bGQganVzdCByZXR1cm4gZmFsc2Ug aGVyZQoKPiAKPj4gKwo+PiArICAgIC8vIEJlc3QtZWZmb3J0IHByb3BhZ2F0aW9uIHRvIG90aGVy IHByb2Nlc3NlcyArIHVwZGF0ZSBsb2NhbCB2aWV3Lgo+PiArICAgIGlmIGxldCBTb21lKHNoYXJl ZF9nZW5fbmV3KSA9IGJ1bXBfdG9rZW5fc2hhZG93X3NoYXJlZF9nZW4oKSB7Cj4+ICsgICAgICAg IGNhY2hlLnNoYXJlZF9nZW4gPSBzaGFyZWRfZ2VuX25ldzsKPj4gKyAgICB9IGVsc2Ugewo+PiAr ICAgICAgICAvLyBEbyBub3QgZmFpbDogbG9jYWwgY2FjaGUgaXMgYWxyZWFkeSBzYWZlIGFzIHdl IGNsZWFyZWQgaXQgYWJvdmUuCj4+ICsgICAgICAgIC8vIEtlZXAgbG9jYWwgc2hhcmVkX2dlbiBh cy1pcyB0byBhdm9pZCByZXBlYXRlZCBmYWlsZWQgYXR0ZW1wdHMuCj4+ICsgICAgfQo+PiArCj4+ ICsgICAgdHJ1ZQo+PiArfQo+PiArCj4+ICAgLy8vIFZlcmlmaWVzIHRoYXQgYW4gZW50cnkgZm9y IGdpdmVuIHRva2VuaWQgLyBBUEkgdG9rZW4gc2VjcmV0IGV4aXN0cwo+PiAgIHB1YiBmbiB2ZXJp Znlfc2VjcmV0KHRva2VuaWQ6ICZBdXRoaWQsIHNlY3JldDogJnN0cikgLT4gUmVzdWx0PCgpLCBF cnJvcj4gewo+PiAgICAgICBpZiAhdG9rZW5pZC5pc190b2tlbigpIHsKPj4gQEAgLTY5LDcgKzEz Myw3IEBAIHB1YiBmbiB2ZXJpZnlfc2VjcmV0KHRva2VuaWQ6ICZBdXRoaWQsIHNlY3JldDogJnN0 cikgLT4gUmVzdWx0PCgpLCBFcnJvcj4gewo+PiAgICAgICB9Cj4+ICAgCj4+ICAgICAgIC8vIEZh c3QgcGF0aAo+PiAtICAgIGlmIGNhY2hlX3RyeV9zZWNyZXRfbWF0Y2hlcyh0b2tlbmlkLCBzZWNy ZXQpIHsKPj4gKyAgICBpZiByZWZyZXNoX2NhY2hlX2lmX2ZpbGVfY2hhbmdlZCgpICYmIGNhY2hl X3RyeV9zZWNyZXRfbWF0Y2hlcyh0b2tlbmlkLCBzZWNyZXQpIHsKPj4gICAgICAgICAgIHJldHVy biBPaygoKSk7Cj4+ICAgICAgIH0KPj4gICAKPj4gQEAgLTEwOSwxMiArMTczLDE1IEBAIGZuIHNl dF9zZWNyZXQodG9rZW5pZDogJkF1dGhpZCwgc2VjcmV0OiAmc3RyKSAtPiBSZXN1bHQ8KCksIEVy cm9yPiB7Cj4+ICAgCj4+ICAgICAgIGxldCBfZ3VhcmQgPSBsb2NrX2NvbmZpZygpPzsKPj4gICAK Pj4gKyAgICAvLyBDYXB0dXJlIHN0YXRlIGJlZm9yZSB3ZSB3cml0ZSB0byBkZXRlY3QgZXh0ZXJu YWwgZWRpdHMuCj4+ICsgICAgbGV0IHByZV9tZXRhID0gc2hhZG93X210aW1lX2xlbigpLnVud3Jh cF9vcigoTm9uZSwgTm9uZSkpOwo+PiArCj4+ICAgICAgIGxldCBtdXQgZGF0YSA9IHJlYWRfZmls ZSgpPzsKPj4gICAgICAgbGV0IGhhc2hlZF9zZWNyZXQgPSBwcm94bW94X3N5czo6Y3J5cHQ6OmVu Y3J5cHRfcHcoc2VjcmV0KT87Cj4+ICAgICAgIGRhdGEuaW5zZXJ0KHRva2VuaWQuY2xvbmUoKSwg aGFzaGVkX3NlY3JldCk7Cj4+ICAgICAgIHdyaXRlX2ZpbGUoZGF0YSk/Owo+PiAgIAo+PiAtICAg IGFwcGx5X2FwaV9tdXRhdGlvbih0b2tlbmlkLCBTb21lKHNlY3JldCkpOwo+PiArICAgIGFwcGx5 X2FwaV9tdXRhdGlvbih0b2tlbmlkLCBTb21lKHNlY3JldCksIHByZV9tZXRhKTsKPj4gICAKPj4g ICAgICAgT2soKCkpCj4+ICAgfQo+PiBAQCAtMTI3LDExICsxOTQsMTQgQEAgcHViIGZuIGRlbGV0 ZV9zZWNyZXQodG9rZW5pZDogJkF1dGhpZCkgLT4gUmVzdWx0PCgpLCBFcnJvcj4gewo+PiAgIAo+ PiAgICAgICBsZXQgX2d1YXJkID0gbG9ja19jb25maWcoKT87Cj4+ICAgCj4+ICsgICAgLy8gQ2Fw dHVyZSBzdGF0ZSBiZWZvcmUgd2Ugd3JpdGUgdG8gZGV0ZWN0IGV4dGVybmFsIGVkaXRzLgo+PiAr ICAgIGxldCBwcmVfbWV0YSA9IHNoYWRvd19tdGltZV9sZW4oKS51bndyYXBfb3IoKE5vbmUsIE5v bmUpKTsKPj4gKwo+PiAgICAgICBsZXQgbXV0IGRhdGEgPSByZWFkX2ZpbGUoKT87Cj4+ICAgICAg IGRhdGEucmVtb3ZlKHRva2VuaWQpOwo+PiAgICAgICB3cml0ZV9maWxlKGRhdGEpPzsKPj4gICAK Pj4gLSAgICBhcHBseV9hcGlfbXV0YXRpb24odG9rZW5pZCwgTm9uZSk7Cj4+ICsgICAgYXBwbHlf YXBpX211dGF0aW9uKHRva2VuaWQsIE5vbmUsIHByZV9tZXRhKTsKPj4gICAKPj4gICAgICAgT2so KCkpCj4+ICAgfQo+PiBAQCAtMTQ1LDYgKzIxNSwxMiBAQCBzdHJ1Y3QgQXBpVG9rZW5TZWNyZXRD YWNoZSB7Cj4+ICAgICAgIHNlY3JldHM6IEhhc2hNYXA8QXV0aGlkLCBDYWNoZWRTZWNyZXQ+LAo+ PiAgICAgICAvLy8gU2hhcmVkIGdlbmVyYXRpb24gdG8gZGV0ZWN0IG11dGF0aW9ucyBvZiB0aGUg dW5kZXJseWluZyB0b2tlbi5zaGFkb3cgZmlsZS4KPj4gICAgICAgc2hhcmVkX2dlbjogdXNpemUs Cj4+ICsgICAgLy8gc2hhZG93IGZpbGUgbXRpbWUgdG8gZGV0ZWN0IGNoYW5nZXMKPj4gKyAgICBm aWxlX210aW1lOiBPcHRpb248U3lzdGVtVGltZT4sCj4+ICsgICAgLy8gc2hhZG93IGZpbGUgbGVu Z3RoIHRvIGRldGVjdCBjaGFuZ2VzCj4+ICsgICAgZmlsZV9sZW46IE9wdGlvbjx1NjQ+LAo+PiAr ICAgIC8vIGxhc3QgdGltZSB0aGUgZmlsZSBtZXRhZGF0YSB3YXMgY2hlY2tlZAo+PiArICAgIGxh c3RfY2hlY2tlZDogT3B0aW9uPGk2ND4sCj4gCj4gdGhlc2UgdGhyZWUgYXJlIGFsd2F5cyBzZXQg dG9nZXRoZXIsIHNvIHdvdWxkbid0IGl0IG1ha2UgbW9yZSBzZW5zZSB0bwo+IG1ha2UgdGhlbSBh biBPcHRpb248U2hhZG93RmlsZUluZm8+ID8KPgo+PiAgIH0KPj4gICAKPj4gICAvLy8gQ2FjaGVk IHNlY3JldC4KPj4gQEAgLTIwNCw3ICsyODAsMTMgQEAgZm4gY2FjaGVfdHJ5X3NlY3JldF9tYXRj aGVzKHRva2VuaWQ6ICZBdXRoaWQsIHNlY3JldDogJnN0cikgLT4gYm9vbCB7Cj4+ICAgICAgIGVx ICYmIGdlbjIgPT0gY2FjaGVfZ2VuCj4+ICAgfQo+PiAgIAo+PiAtZm4gYXBwbHlfYXBpX211dGF0 aW9uKHRva2VuaWQ6ICZBdXRoaWQsIG5ld19zZWNyZXQ6IE9wdGlvbjwmc3RyPikgewo+PiArZm4g YXBwbHlfYXBpX211dGF0aW9uKAo+PiArICAgIHRva2VuaWQ6ICZBdXRoaWQsCj4+ICsgICAgbmV3 X3NlY3JldDogT3B0aW9uPCZzdHI+LAo+PiArICAgIHByZV93cml0ZV9tZXRhOiAoT3B0aW9uPFN5 c3RlbVRpbWU+LCBPcHRpb248dTY0PiksCj4+ICspIHsKPj4gKyAgICBsZXQgbm93ID0gZXBvY2hf aTY0KCk7Cj4+ICsKPj4gICAgICAgLy8gU2lnbmFsIGNhY2hlIGludmFsaWRhdGlvbiB0byBvdGhl ciBwcm9jZXNzZXMgKGJlc3QtZWZmb3J0KS4KPj4gICAgICAgbGV0IG5ld19zaGFyZWRfZ2VuID0g YnVtcF90b2tlbl9zaGFkb3dfc2hhcmVkX2dlbigpOwo+PiAgIAo+PiBAQCAtMjIwLDYgKzMwMiwx MyBAQCBmbiBhcHBseV9hcGlfbXV0YXRpb24odG9rZW5pZDogJkF1dGhpZCwgbmV3X3NlY3JldDog T3B0aW9uPCZzdHI+KSB7Cj4+ICAgICAgIC8vIFVwZGF0ZSB0byB0aGUgcG9zdC1tdXRhdGlvbiBn ZW5lcmF0aW9uLgo+PiAgICAgICBjYWNoZS5zaGFyZWRfZ2VuID0gZ2VuOwo+PiAgIAo+PiArICAg IC8vIElmIG91ciBjYWNoZWQgZmlsZSBtZXRhZGF0YSBkb2VzIG5vdCBtYXRjaCB0aGUgb24tZGlz ayBzdGF0ZSBiZWZvcmUgb3VyIHdyaXRlLAo+PiArICAgIC8vIHdlIGxpa2VseSBtaXNzZWQgYW4g ZXh0ZXJuYWwvbWFudWFsIGVkaXQuIFdlIGNhbiBubyBsb25nZXIgdHJ1c3QgYW55IGNhY2hlZCBz ZWNyZXRzLgo+PiArICAgIGxldCAocHJlX210aW1lLCBwcmVfbGVuKSA9IHByZV93cml0ZV9tZXRh Owo+PiArICAgIGlmIGNhY2hlLmZpbGVfbXRpbWUgIT0gcHJlX210aW1lIHx8IGNhY2hlLmZpbGVf bGVuICE9IHByZV9sZW4gewo+PiArICAgICAgICBjYWNoZS5zZWNyZXRzLmNsZWFyKCk7Cj4+ICsg ICAgfQo+PiArCj4+ICAgICAgIC8vIEFwcGx5IHRoZSBuZXcgbXV0YXRpb24uCj4+ICAgICAgIG1h dGNoIG5ld19zZWNyZXQgewo+PiAgICAgICAgICAgU29tZShzZWNyZXQpID0+IHsKPj4gQEAgLTIz NCw2ICszMjMsMjAgQEAgZm4gYXBwbHlfYXBpX211dGF0aW9uKHRva2VuaWQ6ICZBdXRoaWQsIG5l d19zZWNyZXQ6IE9wdGlvbjwmc3RyPikgewo+PiAgICAgICAgICAgICAgIGNhY2hlLnNlY3JldHMu cmVtb3ZlKHRva2VuaWQpOwo+PiAgICAgICAgICAgfQo+PiAgICAgICB9Cj4+ICsKPj4gKyAgICAv LyBVcGRhdGUgb3VyIHZpZXcgb2YgdGhlIGZpbGUgbWV0YWRhdGEgdG8gdGhlIHBvc3Qtd3JpdGUg c3RhdGUgKGJlc3QtZWZmb3J0KS4KPj4gKyAgICAvLyAoSWYgdGhpcyBmYWlscywgZHJvcCBsb2Nh bCBjYWNoZSBzbyBjYWxsZXJzIGZhbGwgYmFjayB0byBzbG93IHBhdGggdW50aWwgcmVmcmVzaGVk LikKPj4gKyAgICBtYXRjaCBzaGFkb3dfbXRpbWVfbGVuKCkgewo+PiArICAgICAgICBPaygobXRp bWUsIGxlbikpID0+IHsKPj4gKyAgICAgICAgICAgIGNhY2hlLmZpbGVfbXRpbWUgPSBtdGltZTsK Pj4gKyAgICAgICAgICAgIGNhY2hlLmZpbGVfbGVuID0gbGVuOwo+PiArICAgICAgICAgICAgY2Fj aGUubGFzdF9jaGVja2VkID0gU29tZShub3cpOwo+PiArICAgICAgICB9Cj4+ICsgICAgICAgIEVy cihfKSA9PiB7Cj4+ICsgICAgICAgICAgICAvLyBJZiB3ZSBjYW5ub3QgdmFsaWRhdGUgc3RhdGUs IGRvIG5vdCB0cnVzdCBjYWNoZS4KPj4gKyAgICAgICAgICAgIGludmFsaWRhdGVfY2FjaGVfc3Rh dGUoJm11dCBjYWNoZSk7Cj4+ICsgICAgICAgIH0KPj4gKyAgICB9Cj4+ICAgfQo+PiAgIAo+PiAg IC8vLyBHZXQgdGhlIGN1cnJlbnQgc2hhcmVkIGdlbmVyYXRpb24uCj4+IEBAIC0yNTMsNCArMzU2 LDE1IEBAIGZuIGJ1bXBfdG9rZW5fc2hhZG93X3NoYXJlZF9nZW4oKSAtPiBPcHRpb248dXNpemU+ IHsKPj4gICAvLy8gSW52YWxpZGF0ZXMgdGhlIGNhY2hlIHN0YXRlIGFuZCBvbmx5IGtlZXBzIHRo ZSBzaGFyZWQgZ2VuZXJhdGlvbi4KPj4gICBmbiBpbnZhbGlkYXRlX2NhY2hlX3N0YXRlKGNhY2hl OiAmbXV0IEFwaVRva2VuU2VjcmV0Q2FjaGUpIHsKPj4gICAgICAgY2FjaGUuc2VjcmV0cy5jbGVh cigpOwo+PiArICAgIGNhY2hlLmZpbGVfbXRpbWUgPSBOb25lOwo+PiArICAgIGNhY2hlLmZpbGVf bGVuID0gTm9uZTsKPj4gKyAgICBjYWNoZS5sYXN0X2NoZWNrZWQgPSBOb25lOwo+PiArfQo+PiAr Cj4+ICtmbiBzaGFkb3dfbXRpbWVfbGVuKCkgLT4gUmVzdWx0PChPcHRpb248U3lzdGVtVGltZT4s IE9wdGlvbjx1NjQ+KSwgRXJyb3I+IHsKPj4gKyAgICBtYXRjaCBmczo6bWV0YWRhdGEoQ09ORl9G SUxFKSB7Cj4+ICsgICAgICAgIE9rKG1ldGEpID0+IE9rKChtZXRhLm1vZGlmaWVkKCkub2soKSwg U29tZShtZXRhLmxlbigpKSkpLAo+PiArICAgICAgICBFcnIoZSkgaWYgZS5raW5kKCkgPT0gRXJy b3JLaW5kOjpOb3RGb3VuZCA9PiBPaygoTm9uZSwgTm9uZSkpLAo+PiArICAgICAgICBFcnIoZSkg PT4gRXJyKGUuaW50bygpKSwKPj4gKyAgICB9Cj4+ICAgfQo+PiAtLSAKPj4gMi40Ny4zCj4+Cj4+ Cj4+Cj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+ IHBicy1kZXZlbCBtYWlsaW5nIGxpc3QKPj4gcGJzLWRldmVsQGxpc3RzLnByb3htb3guY29tCj4+ IGh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3Bicy1k ZXZlbAo+Pgo+Pgo+Pgo+IAo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCj4gcGJzLWRldmVsIG1haWxpbmcgbGlzdAo+IHBicy1kZXZlbEBsaXN0cy5w cm94bW94LmNvbQo+IGh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xp c3RpbmZvL3Bicy1kZXZlbAo+IAo+IAoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpwYnMtZGV2ZWwgbWFpbGluZyBsaXN0CnBicy1kZXZlbEBsaXN0cy5w cm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0 aW5mby9wYnMtZGV2ZWwK