From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 205984A318 for ; Tue, 26 Mar 2024 17:29:54 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 935EA68CFD1; Tue, 26 Mar 2024 19:29:51 +0200 (EET) Received: from mail-lj1-f177.google.com (mail-lj1-f177.google.com [209.85.208.177]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id ED46B68CD00 for ; Tue, 26 Mar 2024 19:29:44 +0200 (EET) Received: by mail-lj1-f177.google.com with SMTP id 38308e7fff4ca-2d485886545so101727881fa.2 for ; Tue, 26 Mar 2024 10:29:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711474184; x=1712078984; darn=ffmpeg.org; h=user-agent:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:mail-followup-to :message-id:subject:to:from:date:from:to:cc:subject:date:message-id :reply-to; bh=4nREXtsr5DHLynZO6H5fp0znoNpYvyuXJzt8puF+ljo=; b=fb6IDhBDaVSWA2/Xku8Mc727t8T8kgkCbov9Dfw5A1BjrWu6wI3ZAQmrjBp04eBoYo 8PmZPHpJhnnotCWCbnjTQ6KlcEA4NvltvWKPVsuMby98PSpSevrPPUSvzV7Jz33E0Vdb P2yFoN3jGrFjUhIBLzx809rZDsLnF9PlZxfmchPD9MPX7pU+4Xn/mIpXXdvpq53XW6a9 133efkNicwoGB0NvO33mdB/vD/GkoOjvWwRNqZXSGFwVkO24uUc4QvuIxvgpGocEO9Wl 04ods66ihRaIv5ITTBSGE7cDHSY9dtY+lscJeayBNXBSsZMbumYL/NAGWq/e9MsqjNCr IHeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711474184; x=1712078984; h=user-agent:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:mail-followup-to :message-id:subject:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4nREXtsr5DHLynZO6H5fp0znoNpYvyuXJzt8puF+ljo=; b=DJhGHJDex7ibvhoaTeKTiVLQqYj4LZAm8daJfwAAQqUdkwXAIEw1O1rcMjXNBaayLQ BnFCFkNd+YfRfYMn472O4A2x9EQR2jwkbKU0NtHRmgLrA3Vj2GTb8LzXlrfrQqFbJ+SE flw+71qHtoX1mK6C1li9fV/w2GHcQ9wgGj3bp1RZkxE6ib+utlaUHrVXgfLJb1xm9NZq DgkB5EPIu3+KCIqpGzfyEnKsTi7MSAKCd6AQcXC3taWfsBPmu/1gY4s32X4vQYl0ArPA KqZW5qx+Sdti4C9lA/jQ/Q/YTLWMNY48koGnKBNfNcBNOPrktLsOBqJuvbvsUkmgaT+L 0Ilw== X-Gm-Message-State: AOJu0YwtCiJ4R5kLAO3dFzdaG7mg/cjB+KSg8ry05j9k6LUEe3vRxm6C dNFNfyy9KpfKbI6Ekw+sEvki5Qsli0ptGz4GQMbevj5S6wszZyWS9B2KE9Zi X-Google-Smtp-Source: AGHT+IEzCEsMo+GrhA57uElagB/dlBvTBPttVV3vUq9ZnBrog3KkVDFe0WSQbTOqiVudd8xdrbbqFg== X-Received: by 2002:a05:651c:10b9:b0:2d6:f408:fafe with SMTP id k25-20020a05651c10b900b002d6f408fafemr262540ljn.42.1711474183522; Tue, 26 Mar 2024 10:29:43 -0700 (PDT) Received: from mariano (net-93-70-84-101.cust.vodafonedsl.it. [93.70.84.101]) by smtp.gmail.com with ESMTPSA id ao11-20020a170907358b00b00a4a377ee13asm2312378ejc.218.2024.03.26.10.29.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Mar 2024 10:29:43 -0700 (PDT) Received: by mariano (Postfix, from userid 1000) id 9FABBBFCE0; Tue, 26 Mar 2024 18:23:54 +0100 (CET) Date: Tue, 26 Mar 2024 18:23:54 +0100 From: Stefano Sabatini To: FFmpeg development discussions and patches Message-ID: Mail-Followup-To: FFmpeg development discussions and patches References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/2.1.4 (2021-12-11) Subject: Re: [FFmpeg-devel] [PATCH] avformat/httpauth: add SHA-256 Digest Authorization X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: T24gZGF0ZSBUdWVzZGF5IDIwMjQtMDMtMjYgMDU6NTI6NTkgKzAwMDAsIO+/ve+/ve+/ve+/ve+/ ve+/vSB8IEV1Z2VuZSB3cm90ZToKPiAtIGFkZCBTSEEtMjU2IERpZ2VzdCBBdXRob3JpemF0aW9u IGZvciBSRkM3NjE2IHVzaW5nIGF2dXRpbC9oYXNoLmgKPiAKPiBTaWduZWQtb2ZmLWJ5OiBFdWdl bmUtYml0c2Vuc2luZyA8ZXVnZW5lQGJpdHNlbnNpbmcuY29tPgo+IC0tLQo+ICBsaWJhdmZvcm1h dC9odHRwYXV0aC5jIHwgMTE2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystCj4gIGxpYmF2Zm9ybWF0L2h0dHBhdXRoLmggfCAgIDggKysrCj4gIDIgZmlsZXMgY2hhbmdl ZCwgMTIzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCm1pc3NpbmcgZW50cnkgdG8gQ2hh bmdlbG9nCgo+IAo+IGRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9odHRwYXV0aC5jIGIvbGliYXZm b3JtYXQvaHR0cGF1dGguYwo+IGluZGV4IDk3ODA5MjgzNTcuLjgzOTFiNmYzMmYgMTAwNjQ0Cj4g LS0tIGEvbGliYXZmb3JtYXQvaHR0cGF1dGguYwo+ICsrKyBiL2xpYmF2Zm9ybWF0L2h0dHBhdXRo LmMKPiBAQCAtMjUsNiArMjUsNyBAQAo+ICAjaW5jbHVkZSAiaW50ZXJuYWwuaCIKPiAgI2luY2x1 ZGUgImxpYmF2dXRpbC9yYW5kb21fc2VlZC5oIgo+ICAjaW5jbHVkZSAibGliYXZ1dGlsL21kNS5o Igo+ICsjaW5jbHVkZSAibGliYXZ1dGlsL2hhc2guaCIKPiAgI2luY2x1ZGUgInVybGRlY29kZS5o Igo+ICAKPiAgc3RhdGljIHZvaWQgaGFuZGxlX2Jhc2ljX3BhcmFtcyhIVFRQQXV0aFN0YXRlICpz dGF0ZSwgY29uc3QgY2hhciAqa2V5LAo+IEBAIC0yMzYsNiArMjM3LDExNCBAQCBzdGF0aWMgY2hh ciAqbWFrZV9kaWdlc3RfYXV0aChIVFRQQXV0aFN0YXRlICpzdGF0ZSwgY29uc3QgY2hhciAqdXNl cm5hbWUsCj4gICAgICByZXR1cm4gYXV0aHN0cjsKPiAgfQo+ICAKPiArLyoqCj4gKyAqIEdlbmVy YXRlIGEgZGlnZXN0IHJlcGx5IFNIQS0yNTYsIGFjY29yZGluZyB0byBSRkMgNzYxNi4KCj4gKyAq IFRPRE8gOiBzdXBwb3J0IG90aGVyIFJGSUMgNzYxNiBBbGdvcml0aG0gCgp0eXBvOiBSRkMgLi4u IGFsZ29yaXRobXMKCj4gKyAqLwo+ICtzdGF0aWMgY2hhciAqbWFrZV9kaWdlc3RfYXV0aF9zaGEo SFRUUEF1dGhTdGF0ZSAqc3RhdGUsIGNvbnN0IGNoYXIgKnVzZXJuYW1lLAoKPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcGFzc3dvcmQsIGNvbnN0IGNoYXIgKnVy aSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbWV0aG9kLCBj b25zdCBjaGFyICphbGdvcml0aG0pCgpuaXQ6IHdlaXJkIGluZGVudCwgYWxpZ24gdG8gSFRUUEF1 dGhTdGF0ZQoKPiArewo+ICsgICAgRGlnZXN0UGFyYW1zICpkaWdlc3QgPSAmc3RhdGUtPmRpZ2Vz dF9wYXJhbXM7Cj4gKyAgICBpbnQgbGVuOwo+ICsgICAgdWludDMyX3QgY25vbmNlX2J1ZlsyXTsK PiArICAgIGNoYXIgY25vbmNlWzE3XTsKPiArICAgIGNoYXIgbmNbOV07Cj4gKyAgICBpbnQgaTsK Cj4gKyAgICBjaGFyIEExaGFzaFs2NV0sIEEyaGFzaFs2NV0sIHJlc3BvbnNlWzY1XTsKCnN0eWxl OiB1c2Ugc25ha2VfY2FzZSAoYTFfaGFzaCBldGMuKQoKPiArICAgIHN0cnVjdCBBVkhhc2hDb250 ZXh0ICpoYXNoY3R4Owo+ICsgICAgdWludDhfdCBoYXNoWzY0XTsKPiArICAgIGNoYXIgKmF1dGhz dHI7Cj4gKwo+ICsgICAgZGlnZXN0LT5uYysrOwo+ICsgICAgc25wcmludGYobmMsIHNpemVvZihu YyksICIlMDh4IiwgZGlnZXN0LT5uYyk7Cj4gKwo+ICsgICAgLyogR2VuZXJhdGUgYSBjbGllbnQg bm9uY2UuICovCj4gKyAgICBmb3IgKGkgPSAwOyBpIDwgMjsgaSsrKQo+ICsgICAgICAgIGNub25j ZV9idWZbaV0gPSBhdl9nZXRfcmFuZG9tX3NlZWQoKTsKCj4gKyAgICBmZl9kYXRhX3RvX2hleChj bm9uY2UsIChjb25zdCB1aW50OF90KikgY25vbmNlX2J1Ziwgc2l6ZW9mKGNub25jZV9idWYpLCAx KTsKCm5pdCsrOiAoY29uc3QgdWludDhfdCAqKWNub25jZV9idWYKCj4gKwo+ICsgICAgLyogQWxs b2NhdGUgYSBoYXNoIGNvbnRleHQgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGFsZ29yaXRobSAqLwoK PiArICAgIGludCByZXQgPSBhdl9oYXNoX2FsbG9jKCZoYXNoY3R4LCBhbGdvcml0aG0pOwo+ICsg ICAgaWYgKHJldCA8IDApIHsKPiArICAgICAgICByZXR1cm4gTlVMTDsKPiArICAgIH0KCnVucmVs YXRlZCwgYnV0IGl0IG1pZ2h0IGJlIGdvb2QgdG8gcHJvcGFnYXRlIHRoZSBlcnJvciBjb2RlIChp dCBtaWdodApmYWlsIGZvciBzZXZlcmFsIHJlYXNvbnMgLSBub3QgYmxvY2tpbmcgc2luY2UgdGhp cyBhbHNvIGltcGFjdHMgdGhlCm90aGVyIGZ1bmN0aW9uIGFuZCBjYW4gYmUgZG9uZSBpbiBhIGxh dGVyIGNoYW5nZSkKCj4gKwo+ICsgICAgLyogSW5pdGlhbGl6ZSB0aGUgaGFzaCBjb250ZXh0ICov Cj4gKyAgICBhdl9oYXNoX2luaXQoaGFzaGN0eCk7Cj4gKwo+ICsgICAgLyogVXBkYXRlIHRoZSBo YXNoIGNvbnRleHQgd2l0aCBBMSBkYXRhICovCj4gKyAgICBhdl9oYXNoX3VwZGF0ZShoYXNoY3R4 LCAoY29uc3QgdWludDhfdCAqKXVzZXJuYW1lLCBzdHJsZW4odXNlcm5hbWUpKTsKPiArICAgIGF2 X2hhc2hfdXBkYXRlKGhhc2hjdHgsIChjb25zdCB1aW50OF90ICopIjoiLCAxKTsKPiArICAgIGF2 X2hhc2hfdXBkYXRlKGhhc2hjdHgsIChjb25zdCB1aW50OF90ICopc3RhdGUtPnJlYWxtLCBzdHJs ZW4oc3RhdGUtPnJlYWxtKSk7Cj4gKyAgICBhdl9oYXNoX3VwZGF0ZShoYXNoY3R4LCAoY29uc3Qg dWludDhfdCAqKSI6IiwgMSk7Cj4gKyAgICBhdl9oYXNoX3VwZGF0ZShoYXNoY3R4LCAoY29uc3Qg dWludDhfdCAqKXBhc3N3b3JkLCBzdHJsZW4ocGFzc3dvcmQpKTsKPiArICAgIGF2X2hhc2hfZmlu YWwoaGFzaGN0eCwgaGFzaCk7Cj4gKyAgICBmZl9kYXRhX3RvX2hleChBMWhhc2gsIGhhc2gsIGF2 X2hhc2hfZ2V0X3NpemUoaGFzaGN0eCksIDEpOwo+ICsKPiArICAgIC8qIEluaXRpYWxpemUgdGhl IGhhc2ggY29udGV4dCBmb3IgQTIgKi8KPiArICAgIGF2X2hhc2hfaW5pdChoYXNoY3R4KTsKPiAr ICAgIGF2X2hhc2hfdXBkYXRlKGhhc2hjdHgsIChjb25zdCB1aW50OF90ICopbWV0aG9kLCBzdHJs ZW4obWV0aG9kKSk7Cj4gKyAgICBhdl9oYXNoX3VwZGF0ZShoYXNoY3R4LCAoY29uc3QgdWludDhf dCAqKSI6IiwgMSk7Cj4gKyAgICBhdl9oYXNoX3VwZGF0ZShoYXNoY3R4LCAoY29uc3QgdWludDhf dCAqKXVyaSwgc3RybGVuKHVyaSkpOwo+ICsgICAgYXZfaGFzaF9maW5hbChoYXNoY3R4LCBoYXNo KTsKPiArICAgIGZmX2RhdGFfdG9faGV4KEEyaGFzaCwgaGFzaCwgYXZfaGFzaF9nZXRfc2l6ZSho YXNoY3R4KSwgMSk7Cj4gKwo+ICsgICAgLyogSW5pdGlhbGl6ZSB0aGUgaGFzaCBjb250ZXh0IGZv ciByZXNwb25zZSAqLwo+ICsgICAgYXZfaGFzaF9pbml0KGhhc2hjdHgpOwo+ICsgICAgYXZfaGFz aF91cGRhdGUoaGFzaGN0eCwgKGNvbnN0IHVpbnQ4X3QgKilBMWhhc2gsIHN0cmxlbihBMWhhc2gp KTsKPiArICAgIGF2X2hhc2hfdXBkYXRlKGhhc2hjdHgsIChjb25zdCB1aW50OF90ICopIjoiLCAx KTsKPiArICAgIGF2X2hhc2hfdXBkYXRlKGhhc2hjdHgsIChjb25zdCB1aW50OF90ICopZGlnZXN0 LT5ub25jZSwgc3RybGVuKGRpZ2VzdC0+bm9uY2UpKTsKPiArICAgIGF2X2hhc2hfdXBkYXRlKGhh c2hjdHgsIChjb25zdCB1aW50OF90ICopIjoiLCAxKTsKPiArICAgIGF2X2hhc2hfdXBkYXRlKGhh c2hjdHgsIChjb25zdCB1aW50OF90ICopbmMsIHN0cmxlbihuYykpOwo+ICsgICAgYXZfaGFzaF91 cGRhdGUoaGFzaGN0eCwgKGNvbnN0IHVpbnQ4X3QgKikiOiIsIDEpOwo+ICsgICAgYXZfaGFzaF91 cGRhdGUoaGFzaGN0eCwgKGNvbnN0IHVpbnQ4X3QgKiljbm9uY2UsIHN0cmxlbihjbm9uY2UpKTsK PiArICAgIGF2X2hhc2hfdXBkYXRlKGhhc2hjdHgsIChjb25zdCB1aW50OF90ICopIjoiLCAxKTsK PiArICAgIGF2X2hhc2hfdXBkYXRlKGhhc2hjdHgsIChjb25zdCB1aW50OF90ICopZGlnZXN0LT5x b3AsIHN0cmxlbihkaWdlc3QtPnFvcCkpOwo+ICsgICAgYXZfaGFzaF91cGRhdGUoaGFzaGN0eCwg KGNvbnN0IHVpbnQ4X3QgKikiOiIsIDEpOwo+ICsgICAgYXZfaGFzaF91cGRhdGUoaGFzaGN0eCwg KGNvbnN0IHVpbnQ4X3QgKilBMmhhc2gsIHN0cmxlbihBMmhhc2gpKTsKPiArICAgIGF2X2hhc2hf ZmluYWwoaGFzaGN0eCwgaGFzaCk7Cj4gKyAgICBmZl9kYXRhX3RvX2hleChyZXNwb25zZSwgaGFz aCwgYXZfaGFzaF9nZXRfc2l6ZShoYXNoY3R4KSwgMSk7Cj4gKwo+ICsgICAgLyogRnJlZSB0aGUg aGFzaCBjb250ZXh0ICovCj4gKyAgICBhdl9oYXNoX2ZyZWVwKCZoYXNoY3R4KTsKPiArCj4gKyAg ICBsZW4gPSBzdHJsZW4odXNlcm5hbWUpICsgc3RybGVuKHN0YXRlLT5yZWFsbSkgKyBzdHJsZW4o ZGlnZXN0LT5ub25jZSkgKwo+ICsgICAgICAgICAgICAgIHN0cmxlbih1cmkpICsgc3RybGVuKHJl c3BvbnNlKSArIHN0cmxlbihkaWdlc3QtPmFsZ29yaXRobSkgKwo+ICsgICAgICAgICAgICAgIHN0 cmxlbihkaWdlc3QtPm9wYXF1ZSkgKyBzdHJsZW4oZGlnZXN0LT5xb3ApICsgc3RybGVuKGNub25j ZSkgKwo+ICsgICAgICAgICAgICAgIHN0cmxlbihuYykgKyAxNTA7Cj4gKwo+ICsgICAgYXV0aHN0 ciA9IGF2X21hbGxvYyhsZW4pOwo+ICsgICAgaWYgKCFhdXRoc3RyKSB7Cj4gKyAgICAgICAgcmV0 dXJuIE5VTEw7Cj4gKyAgICB9Cj4gKwo+ICsgICAgLyogR2VuZXJhdGUgSGVhZGVyIHNhbWUgd2F5 IGFzICptYWtlX2RpZ2VzdF9hdXRoICovCj4gKyAgICBzbnByaW50ZihhdXRoc3RyLCBsZW4sICJB dXRob3JpemF0aW9uOiBEaWdlc3QgIik7Cj4gKwo+ICsgICAgYXZfc3RybGNhdGYoYXV0aHN0ciwg bGVuLCAidXNlcm5hbWU9XCIlc1wiIiwgICB1c2VybmFtZSk7Cj4gKyAgICBhdl9zdHJsY2F0Zihh dXRoc3RyLCBsZW4sICIsIHJlYWxtPVwiJXNcIiIsICAgICBzdGF0ZS0+cmVhbG0pOwo+ICsgICAg YXZfc3RybGNhdGYoYXV0aHN0ciwgbGVuLCAiLCBub25jZT1cIiVzXCIiLCAgICAgZGlnZXN0LT5u b25jZSk7Cj4gKyAgICBhdl9zdHJsY2F0ZihhdXRoc3RyLCBsZW4sICIsIHVyaT1cIiVzXCIiLCAg ICAgICB1cmkpOwo+ICsgICAgYXZfc3RybGNhdGYoYXV0aHN0ciwgbGVuLCAiLCByZXNwb25zZT1c IiVzXCIiLCAgcmVzcG9uc2UpOwo+ICsgICAgCj4gKyAgICBpZiAoZGlnZXN0LT5hbGdvcml0aG1b MF0pCj4gKyAgICAgICAgYXZfc3RybGNhdGYoYXV0aHN0ciwgbGVuLCAiLCBhbGdvcml0aG09XCIl c1wiIiwgIGRpZ2VzdC0+YWxnb3JpdGhtKTsKPiArCj4gKyAgICBpZiAoZGlnZXN0LT5vcGFxdWVb MF0pCj4gKyAgICAgICAgYXZfc3RybGNhdGYoYXV0aHN0ciwgbGVuLCAiLCBvcGFxdWU9XCIlc1wi IiwgZGlnZXN0LT5vcGFxdWUpOwo+ICsgICAgaWYgKGRpZ2VzdC0+cW9wWzBdKSB7Cj4gKyAgICAg ICAgYXZfc3RybGNhdGYoYXV0aHN0ciwgbGVuLCAiLCBxb3A9XCIlc1wiIiwgICAgZGlnZXN0LT5x b3ApOwo+ICsgICAgICAgIGF2X3N0cmxjYXRmKGF1dGhzdHIsIGxlbiwgIiwgY25vbmNlPVwiJXNc IiIsIGNub25jZSk7Cj4gKyAgICAgICAgYXZfc3RybGNhdGYoYXV0aHN0ciwgbGVuLCAiLCBuYz0l cyIsICAgICAgICAgbmMpOwo+ICsgICAgfQo+ICsKPiArICAgIGF2X3N0cmxjYXRmKGF1dGhzdHIs IGxlbiwgIlxyXG4iKTsKPiArCj4gKyAgICByZXR1cm4gYXV0aHN0cjsKPiArfQo+ICsKPiArCj4g IGNoYXIgKmZmX2h0dHBfYXV0aF9jcmVhdGVfcmVzcG9uc2UoSFRUUEF1dGhTdGF0ZSAqc3RhdGUs IGNvbnN0IGNoYXIgKmF1dGgsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqbWV0aG9kKQo+ICB7Cj4gQEAgLTI3Niw3ICsz ODUsMTIgQEAgY2hhciAqZmZfaHR0cF9hdXRoX2NyZWF0ZV9yZXNwb25zZShIVFRQQXV0aFN0YXRl ICpzdGF0ZSwgY29uc3QgY2hhciAqYXV0aCwKPiAgCj4gICAgICAgICAgaWYgKChwYXNzd29yZCA9 IHN0cmNocih1c2VybmFtZSwgJzonKSkpIHsKPiAgICAgICAgICAgICAgKnBhc3N3b3JkKysgPSAw Owo+IC0gICAgICAgICAgICBhdXRoc3RyID0gbWFrZV9kaWdlc3RfYXV0aChzdGF0ZSwgdXNlcm5h bWUsIHBhc3N3b3JkLCBwYXRoLCBtZXRob2QpOwo+ICsgICAgICAgICAgICAvKiBhZGQgZGlnZXN0 IGFsZ29yaXRobSBTSEEtMjU2ICovCj4gKyAgICAgICAgICAgIGlmICghc3RyY21wKHN0YXRlLT5k aWdlc3RfcGFyYW1zLmFsZ29yaXRobSwgIlNIQS0yNTYiKSkgewoKPiArICAgICAgICAgICAgICAg IGF1dGhzdHIgPSBtYWtlX2RpZ2VzdF9hdXRoX3NoYShzdGF0ZSwgdXNlcm5hbWUsIHBhc3N3b3Jk LCBwYXRoLCBtZXRob2QsIlNIQTI1NiIpOwoKbml0Kys6IG1ldGhvZCxfIlNIQTI1NiIKCj4gKyAg ICAgICAgICAgIH0gZWxzZSB7Cj4gKyAgICAgICAgICAgICAgICBhdXRoc3RyID0gbWFrZV9kaWdl c3RfYXV0aChzdGF0ZSwgdXNlcm5hbWUsIHBhc3N3b3JkLCBwYXRoLCBtZXRob2QpOwo+ICsgICAg ICAgICAgICB9Cj4gICAgICAgICAgfQo+ICAgICAgICAgIGF2X2ZyZWUodXNlcm5hbWUpOwo+ICAg ICAgfQo+IGRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9odHRwYXV0aC5oIGIvbGliYXZmb3JtYXQv aHR0cGF1dGguaAo+IGluZGV4IDBlNzA4NTkwMWMuLjRmNDViNGEwYjkgMTAwNjQ0Cj4gLS0tIGEv bGliYXZmb3JtYXQvaHR0cGF1dGguaAo+ICsrKyBiL2xpYmF2Zm9ybWF0L2h0dHBhdXRoLmgKPiBA QCAtNzYsNCArNzYsMTIgQEAgdm9pZCBmZl9odHRwX2F1dGhfaGFuZGxlX2hlYWRlcihIVFRQQXV0 aFN0YXRlICpzdGF0ZSwgY29uc3QgY2hhciAqa2V5LAo+ICBjaGFyICpmZl9odHRwX2F1dGhfY3Jl YXRlX3Jlc3BvbnNlKEhUVFBBdXRoU3RhdGUgKnN0YXRlLCBjb25zdCBjaGFyICphdXRoLAo+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0 IGNoYXIgKm1ldGhvZCk7Cj4gIAo+ICsvKioKPiArICogTmV3IGZ1bmN0aW9uIGRlY2xhcmF0aW9u IGZvciBSRkM3NjE2Cj4gKyAqIFNIQS0yNTYgZGlnZXN0IGF1dGhlbnRpY2F0aW9uCj4gKyAqIFNI QS0yNTYtc2VzcywgU0hBLTUxMi0yNTYgYW5kIFNIQS01MTItMjU2LXNlc3Mgbm90IHN1cHBvcnRl ZCB5ZXQKPiArICovCgo+ICtzdGF0aWMgY2hhciAqbWFrZV9kaWdlc3RfYXV0aF9zaGEoSFRUUEF1 dGhTdGF0ZSAqc3RhdGUsIGNvbnN0IGNoYXIgKnVzZXJuYW1lLAo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zdCBjaGFyICpwYXNzd29yZCwgY29uc3QgY2hhciAqdXJpLAo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICptZXRob2QsIGNvbnN0IGNo YXIgKmFsZ29yaXRobSk7CgpuaXQ6IHdlaXJkIGluZGVudAoKWy4uLl0KX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlz dApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0 aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBl bWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJz Y3JpYmUiLgo=