From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by 10.42.179.196 with SMTP id br4cs150278icb; Sun, 28 Nov 2010 15:47:38 -0800 (PST) Received: by 10.224.175.17 with SMTP id v17mr2824742qaz.296.1290988057568; Sun, 28 Nov 2010 15:47:37 -0800 (PST) Return-Path: Received: from rubyforge.org (rubyforge.org [205.234.109.19]) by mx.google.com with ESMTP id l27si10849708qck.187.2010.11.28.15.47.37; Sun, 28 Nov 2010 15:47:37 -0800 (PST) Received-SPF: pass (google.com: domain of sup-devel-bounces@rubyforge.org designates 205.234.109.19 as permitted sender) client-ip=205.234.109.19; Authentication-Results: mx.google.com; spf=pass (google.com: domain of sup-devel-bounces@rubyforge.org designates 205.234.109.19 as permitted sender) smtp.mail=sup-devel-bounces@rubyforge.org; dkim=neutral (body hash did not verify) header.i=@gmail.com Received: from rubyforge.org (rubyforge.org [127.0.0.1]) by rubyforge.org (Postfix) with ESMTP id 1FF1E1858374 for ; Sun, 28 Nov 2010 18:47:37 -0500 (EST) Received: from mail-qy0-f171.google.com (mail-qy0-f171.google.com [209.85.216.171]) by rubyforge.org (Postfix) with ESMTP id 213611858357 for ; Sun, 28 Nov 2010 17:51:43 -0500 (EST) Received: by qyk32 with SMTP id 32so8730202qyk.2 for ; Sun, 28 Nov 2010 14:51:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=RoXSblIb58RTJ4t+05gYAoqE7JLjINgAW3rz02mJsIs=; b=wn0z1IbTZHYY6tIYlxIpwuCS9BxtgXE+MkLdveoc+fgS3EHMY66A3+CkB0DKNr3cpr OW7JCmE+ovGg1XKnt4e5R4VBXBolZZmK48Qj8vZgQHoZrMCRRb2MaDKg56BEnZ5n3FSS t+su46GHu3yqONzXae/9VwV4DmnzFeUlSXmWU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=rH3eHxqs6kKI3catKFpYszDXBt50U/BQSo03FTf85ZWFNwZJc5X8RT2j2yRPDnIwqb CRhvtG5z2hfKpERTIHBQQnTiXJqdtce2TEk8T9pdxnh6GvVJnlcHu7hj9dXdKwQvepq9 Z1kGt/5FyHsQfPBXHcQOSFIL/74EjH6dQMzeM= MIME-Version: 1.0 Received: by 10.229.189.145 with SMTP id de17mr2738349qcb.257.1290984703681; Sun, 28 Nov 2010 14:51:43 -0800 (PST) Received: by 10.229.219.68 with HTTP; Sun, 28 Nov 2010 14:51:43 -0800 (PST) In-Reply-To: References: <1289466286-sup-7540@meteor.durcheinandertal.local> <1289907535-sup-3989@meteor.durcheinandertal.local> <1289932061-sup-96@meteor.durcheinandertal.local> Date: Sun, 28 Nov 2010 22:51:43 +0000 Message-ID: From: Hamish D To: Sup developer discussion Content-Type: multipart/mixed; boundary=0016361e811eac6544049624cc14 Subject: Re: [sup-devel] [PATCH] Converted crypto to use the gpgme gem X-BeenThere: sup-devel@rubyforge.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: Sup developer discussion List-Id: Sup developer discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: sup-devel-bounces@rubyforge.org Errors-To: sup-devel-bounces@rubyforge.org --0016361e811eac6544049624cc14 Content-Type: text/plain; charset=UTF-8 OK, here is a set of 4 patches that implement the change over to the gpgme library. There's quite a bit of work in there so I thought I'd leave it as a few patches, but I have done some tidying. I have some more ideas for improvements, but I'm happy that this reproduces the behaviour of using the gpg binary, and I find sup usage much smoother with this change. I'll leave it for others to decide whether to stick this in sup 0.12 - I guess it could be risky to stick it in without it being tested, but maybe it could be applied to the next tree, and then moved to main after 0.12 has been released. Hamish Downer > > >> I am also working on having extra information generated when the key > >> is not trusted, but this is not done yet. And I am also working on a > >> hook where you can generate as much information as you want from the > >> signature for the CryptoNotice. Hopefully be ready to submit before > >> the weekend. > > > > This sounds nice. Thanks for your work! > > And thank you for your testing and patience :) > > The github version also has the sig-output hook set up. From the hook text: > > START > Runs when the signature output is being generated, allowing you to > add extra information to your signatures if you want. > > Variables: > signature: the signature object (class is GPGME::Signature) > from_key: the key that generated the signature (class is GPGME::Key) > > Return value: an array of lines of output > END > > I've attached a sample hook file if you want to have a play with it. > I'll document this all on the wiki if it gets accepted. > > I'll give you a few days to find some more problems, but if you fail > to find any then I'll package this up as a single patch and resubmit > it all. > > Hamish --0016361e811eac6544049624cc14 Content-Type: text/x-patch; charset=US-ASCII; name="0001-Converted-crypto-to-use-the-gpgme-gem.patch" Content-Disposition: attachment; filename="0001-Converted-crypto-to-use-the-gpgme-gem.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gh2isbek1 RnJvbSAwOWRjNGMxNzYwMDc0MjU3MmM2MTYwNWY5Nzc0NTBkMzI4Mjk2OTY0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBIYW1pc2ggRG93bmVyIDxkbWlzaGRAZ21haWwuY29tPgpEYXRl OiBGcmksIDUgTm92IDIwMTAgMjI6MzA6NTUgKzAwMDAKU3ViamVjdDogW1BBVENIIDEvNF0gQ29u dmVydGVkIGNyeXB0byB0byB1c2UgdGhlIGdwZ21lIGdlbQoKLS0tCiBiaW4vc3VwICAgICAgICAg ICB8ICAgMTEgKysrCiBsaWIvc3VwL2NyeXB0by5yYiB8ICAyMzEgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTQx IGluc2VydGlvbnMoKyksIDEwMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9iaW4vc3VwIGIv YmluL3N1cAppbmRleCAxMGJlMTYxLi5hZDdhMGQxIDEwMDc1NQotLS0gYS9iaW4vc3VwCisrKyBi L2Jpbi9zdXAKQEAgLTEwLDYgKzEwLDEzIEBAIHJlc2N1ZSBMb2FkRXJyb3IKICAgbm9fbmN1cnNl c3cgPSB0cnVlCiBlbmQKIAorbm9fZ3BnbWUgPSBmYWxzZQorYmVnaW4KKyAgcmVxdWlyZSAnZ3Bn bWUnCityZXNjdWUgTG9hZEVycm9yCisgIG5vX2dwZ21lID0gdHJ1ZQorZW5kCisKIHJlcXVpcmUg J2ZpbGV1dGlscycKIHJlcXVpcmUgJ3Ryb2xsb3AnCiByZXF1aXJlICJzdXAiOyBSZWR3b29kOjpj aGVja19saWJyYXJ5X3ZlcnNpb25fYWdhaW5zdCAiZ2l0IgpAQCAtMjMsNiArMzAsMTAgQEAgaWYg bm9fbmN1cnNlc3cKICAgaW5mbyAiTm8gJ25jdXJzZXN3JyBnZW0gZGV0ZWN0ZWQuIEluc3RhbGwg aXQgZm9yIHdpZGUgY2hhcmFjdGVyIHN1cHBvcnQuIgogZW5kCiAKK2lmIG5vX2dwZ21lCisgIGlu Zm8gIk5vICdncGdtZScgZ2VtIGRldGVjdGVkLiBJbnN0YWxsIGl0IGZvciBlbWFpbCBlbmNyeXB0 aW9uLCBkZWNyeXB0aW9uIGFuZCBzaWduYXR1cmVzLiIKK2VuZAorCiAkb3B0cyA9IFRyb2xsb3A6 Om9wdGlvbnMgZG8KICAgdmVyc2lvbiAic3VwIHYje1JlZHdvb2Q6OlZFUlNJT059IgogICBiYW5u ZXIgPDxFT1MKZGlmZiAtLWdpdCBhL2xpYi9zdXAvY3J5cHRvLnJiIGIvbGliL3N1cC9jcnlwdG8u cmIKaW5kZXggYzdiNTdjMS4uOWQyMWVhMCAxMDA2NDQKLS0tIGEvbGliL3N1cC9jcnlwdG8ucmIK KysrIGIvbGliL3N1cC9jcnlwdG8ucmIKQEAgLTEsMyArMSw4IEBACitiZWdpbgorICByZXF1aXJl ICdncGdtZScKK3Jlc2N1ZSBMb2FkRXJyb3IKK2VuZAorCiBtb2R1bGUgUmVkd29vZAogCiBjbGFz cyBDcnlwdG9NYW5hZ2VyCkBAIC0xMSw3NiArMTYsNzkgQEAgY2xhc3MgQ3J5cHRvTWFuYWdlcgog ICAgIFs6ZW5jcnlwdCwgIkVuY3J5cHQgb25seSJdCiAgICkKIAotICBIb29rTWFuYWdlci5yZWdp c3RlciAiZ3BnLWFyZ3MiLCA8PEVPUwotUnVucyBiZWZvcmUgZ3BnIGlzIGV4ZWN1dGVkLCBhbGxv d2luZyB5b3UgdG8gbW9kaWZ5IHRoZSBhcmd1bWVudHMgKG1vc3QKKyAgSG9va01hbmFnZXIucmVn aXN0ZXIgImdwZy1vcHRpb25zIiwgPDxFT1MKK1J1bnMgYmVmb3JlIGdwZyBpcyBjYWxsZWQsIGFs bG93aW5nIHlvdSB0byBtb2RpZnkgdGhlIG9wdGlvbnMgKG1vc3QKIGxpa2VseSB5b3Ugd291bGQg d2FudCB0byBhZGQgc29tZXRoaW5nIHRvIGNlcnRhaW4gY29tbWFuZHMsIGxpa2UKLS0tdHJ1c3Qt bW9kZWwgYWx3YXlzIHRvIHNpZ25pbmcvZW5jcnlwdGluZyBhIG1lc3NhZ2UsIGJ1dCB3aG8ga25v d3MpLgorezphbHdheXNfdHJ1c3QgPT4gdHJ1ZX0gdG8gZW5jcnlwdGluZyBhIG1lc3NhZ2UsIGJ1 dCB3aG8ga25vd3MpLgogCiBWYXJpYWJsZXM6Ci1hcmdzOiBhcmd1bWVudHMgZm9yIHJ1bm5pbmcg R1BHCitvcGVyYXRpb246IHdoYXQgb3BlcmF0aW9uIHdpbGwgYmUgZG9uZSAoInNpZ24iLCAiZW5j cnlwdCIsICJkZWNyeXB0IiBvciAidmVyaWZ5IikKK29wdGlvbnM6IGEgZGljdGlvbmFyeSBvZiB2 YWx1ZXMgdG8gYmUgcGFzc2VkIHRvIEdQR01FCiAKLVJldHVybiB2YWx1ZTogdGhlIGFyZ3VtZW50 cyBmb3IgcnVubmluZyBHUEcKK1JldHVybiB2YWx1ZTogYSBkaWN0aW9uYXJ5IHRvIGJlIHBhc3Nl ZCB0byBHUEdNRQogRU9TCiAKICAgZGVmIGluaXRpYWxpemUKICAgICBAbXV0ZXggPSBNdXRleC5u ZXcKIAotICAgIGJpbiA9IGB3aGljaCBncGdgLmNob21wCi0gICAgQGNtZCA9IGNhc2UgYmluCi0g ICAgd2hlbiAvXFMvCi0gICAgICBkZWJ1ZyAiY3J5cHRvOiBkZXRlY3RlZCBncGcgYmluYXJ5IGlu ICN7YmlufSIKLSAgICAgICIje2Jpbn0gLS1xdWlldCAtLWJhdGNoIC0tbm8tdmVyYm9zZSAtLWxv Z2dlci1mZCAxIC0tdXNlLWFnZW50IgotICAgIGVsc2UKLSAgICAgIGRlYnVnICJjcnlwdG86IG5v IGdwZyBiaW5hcnkgZGV0ZWN0ZWQiCi0gICAgICBuaWwKKyAgICAjIHRlc3QgaWYgdGhlIGdwZ21l IGdlbSBpcyBhdmFpbGFibGUKKyAgICBAZ3BnbWVfcHJlc2VudCA9IHRydWUKKyAgICBiZWdpbgor ICAgIEdQR01FLmNoZWNrX3ZlcnNpb24oezpwcm90b2NvbCA9PiBHUEdNRTo6UFJPVE9DT0xfT3Bl blBHUH0pCisgICAgcmVzY3VlIE5hbWVFcnJvciwgR1BHTUU6OkVycm9yCisgICAgICBAZ3BnbWVf cHJlc2VudCA9IGZhbHNlCiAgICAgZW5kCiAgIGVuZAogCi0gIGRlZiBoYXZlX2NyeXB0bz87ICFA Y21kLm5pbD8gZW5kCisgIGRlZiBoYXZlX2NyeXB0bz87IEBncGdtZV9wcmVzZW50IGVuZAogCiAg IGRlZiBzaWduIGZyb20sIHRvLCBwYXlsb2FkCi0gICAgcGF5bG9hZF9mbiA9IFRlbXBmaWxlLm5l dyAicmVkd29vZC5wYXlsb2FkIgotICAgIHBheWxvYWRfZm4ud3JpdGUgZm9ybWF0X3BheWxvYWQo cGF5bG9hZCkKLSAgICBwYXlsb2FkX2ZuLmNsb3NlCisgICAgcmV0dXJuIHVua25vd25fc3RhdHVz KGNhbnRfZmluZF9ncGdtZSkgdW5sZXNzIEBncGdtZV9wcmVzZW50CiAKLSAgICBzaWdfZm4gPSBU ZW1wZmlsZS5uZXcgInJlZHdvb2Quc2lnbmF0dXJlIjsgc2lnX2ZuLmNsb3NlCisgICAgZ3BnX29w dHMgPSB7OnByb3RvY29sID0+IEdQR01FOjpQUk9UT0NPTF9PcGVuUEdQLCA6YXJtb3IgPT4gdHJ1 ZSwgOnRleHRtb2RlID0+IHRydWV9CisgICAgZ3BnX29wdHMubWVyZ2UoZ2VuX3NpZ25fdXNlcl9v cHRzKGZyb20pKQorICAgIGdwZ19vcHRzID0gSG9va01hbmFnZXIucnVuKCJncGctb3B0aW9ucyIs IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHs6b3BlcmF0aW9uID0+ICJzaWduIiwg Om9wdGlvbnMgPT4gZ3BnX29wdHN9KSB8fCBncGdfb3B0cwogCi0gICAgc2lnbl91c2VyX29wdHMg PSBnZW5fc2lnbl91c2VyX29wdHMgZnJvbQotICAgIG1lc3NhZ2UgPSBydW5fZ3BnICItLW91dHB1 dCAje3NpZ19mbi5wYXRofSAtLXllcyAtLWFybW9yIC0tZGV0YWNoLXNpZ24gLS10ZXh0bW9kZSAt LWRpZ2VzdC1hbGdvIHNoYTI1NiAje3NpZ25fdXNlcl9vcHRzfSAje3BheWxvYWRfZm4ucGF0aH0i LCA6aW50ZXJhY3RpdmUgPT4gdHJ1ZQotICAgIHVubGVzcyAkPy5zdWNjZXNzPwotICAgICAgaW5m byAiRXJyb3Igd2hpbGUgcnVubmluZyBncGc6ICN7bWVzc2FnZX0iCisgICAgYmVnaW4KKyAgICAg IHNpZyA9IEdQR01FLmRldGFjaF9zaWduKGZvcm1hdF9wYXlsb2FkKHBheWxvYWQpLCBncGdfb3B0 cykKKyAgICByZXNjdWUgR1BHTUU6OkVycm9yID0+IGV4YworICAgICAgaW5mbyAiRXJyb3Igd2hp bGUgcnVubmluZyBncGc6ICN7ZXhjLm1lc3NhZ2V9IgogICAgICAgcmFpc2UgRXJyb3IsICJHUEcg Y29tbWFuZCBmYWlsZWQuIFNlZSBsb2cgZm9yIGRldGFpbHMuIgogICAgIGVuZAogCiAgICAgZW52 ZWxvcGUgPSBSTWFpbDo6TWVzc2FnZS5uZXcKLSAgICBlbnZlbG9wZS5oZWFkZXJbIkNvbnRlbnQt VHlwZSJdID0gJ211bHRpcGFydC9zaWduZWQ7IHByb3RvY29sPWFwcGxpY2F0aW9uL3BncC1zaWdu YXR1cmU7IG1pY2FsZz1wZ3Atc2hhMjU2JworICAgIGVudmVsb3BlLmhlYWRlclsiQ29udGVudC1U eXBlIl0gPSAnbXVsdGlwYXJ0L3NpZ25lZDsgcHJvdG9jb2w9YXBwbGljYXRpb24vcGdwLXNpZ25h dHVyZScKIAogICAgIGVudmVsb3BlLmFkZF9wYXJ0IHBheWxvYWQKLSAgICBzaWduYXR1cmUgPSBS TWFpbDo6TWVzc2FnZS5tYWtlX2F0dGFjaG1lbnQgSU8ucmVhZChzaWdfZm4ucGF0aCksICJhcHBs aWNhdGlvbi9wZ3Atc2lnbmF0dXJlIiwgbmlsLCAic2lnbmF0dXJlLmFzYyIKKyAgICBzaWduYXR1 cmUgPSBSTWFpbDo6TWVzc2FnZS5tYWtlX2F0dGFjaG1lbnQgc2lnLCAiYXBwbGljYXRpb24vcGdw LXNpZ25hdHVyZSIsIG5pbCwgInNpZ25hdHVyZS5hc2MiCiAgICAgZW52ZWxvcGUuYWRkX3BhcnQg c2lnbmF0dXJlCiAgICAgZW52ZWxvcGUKICAgZW5kCiAKICAgZGVmIGVuY3J5cHQgZnJvbSwgdG8s IHBheWxvYWQsIHNpZ249ZmFsc2UKLSAgICBwYXlsb2FkX2ZuID0gVGVtcGZpbGUubmV3ICJyZWR3 b29kLnBheWxvYWQiCi0gICAgcGF5bG9hZF9mbi53cml0ZSBmb3JtYXRfcGF5bG9hZChwYXlsb2Fk KQotICAgIHBheWxvYWRfZm4uY2xvc2UKLQotICAgIGVuY3J5cHRlZF9mbiA9IFRlbXBmaWxlLm5l dyAicmVkd29vZC5lbmNyeXB0ZWQiOyBlbmNyeXB0ZWRfZm4uY2xvc2UKLQotICAgIHJlY2lwaWVu dF9vcHRzID0gKHRvICsgWyBmcm9tIF0gKS5tYXAgeyB8cnwgIi0tcmVjaXBpZW50ICc8I3tyfT4n IiB9LmpvaW4oIiAiKQotICAgIHNpZ25fb3B0cyA9ICIiCi0gICAgc2lnbl9vcHRzID0gIi0tc2ln biAtLWRpZ2VzdC1hbGdvIHNoYTI1NiAiICsgZ2VuX3NpZ25fdXNlcl9vcHRzKGZyb20pIGlmIHNp Z24KLSAgICBtZXNzYWdlID0gcnVuX2dwZyAiLS1vdXRwdXQgI3tlbmNyeXB0ZWRfZm4ucGF0aH0g LS15ZXMgLS1hcm1vciAtLWVuY3J5cHQgLS10ZXh0bW9kZSAje3NpZ25fb3B0c30gI3tyZWNpcGll bnRfb3B0c30gI3twYXlsb2FkX2ZuLnBhdGh9IiwgOmludGVyYWN0aXZlID0+IHRydWUKLSAgICB1 bmxlc3MgJD8uc3VjY2Vzcz8KLSAgICAgIGluZm8gIkVycm9yIHdoaWxlIHJ1bm5pbmcgZ3BnOiAj e21lc3NhZ2V9IgorICAgIHJldHVybiB1bmtub3duX3N0YXR1cyhjYW50X2ZpbmRfZ3BnbWUpIHVu bGVzcyBAZ3BnbWVfcHJlc2VudAorCisgICAgZ3BnX29wdHMgPSB7OnByb3RvY29sID0+IEdQR01F OjpQUk9UT0NPTF9PcGVuUEdQLCA6YXJtb3IgPT4gdHJ1ZSwgOnRleHRtb2RlID0+IHRydWV9Cisg ICAgaWYgc2lnbgorICAgICAgZ3BnX29wdHMubWVyZ2UoZ2VuX3NpZ25fdXNlcl9vcHRzKGZyb20p KSAKKyAgICAgIGdwZ19vcHRzLm1lcmdlKHs6c2lnbiA9PiB0cnVlfSkKKyAgICBlbmQKKyAgICBn cGdfb3B0cyA9IEhvb2tNYW5hZ2VyLnJ1bigiZ3BnLW9wdGlvbnMiLCAKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7Om9wZXJhdGlvbiA9PiAiZW5jcnlwdCIsIDpvcHRpb25zID0+IGdw Z19vcHRzfSkgfHwgZ3BnX29wdHMKKyAgICByZWNpcGllbnRzID0gdG8gKyBbZnJvbV0KKworICAg IGJlZ2luCisgICAgICBjaXBoZXIgPSBHUEdNRS5lbmNyeXB0KHJlY2lwaWVudHMsIGZvcm1hdF9w YXlsb2FkKHBheWxvYWQpLCBncGdfb3B0cykKKyAgICByZXNjdWUgR1BHTUU6OkVycm9yID0+IGV4 YworICAgICAgaW5mbyAiRXJyb3Igd2hpbGUgcnVubmluZyBncGc6ICN7ZXhjLm1lc3NhZ2V9Igog ICAgICAgcmFpc2UgRXJyb3IsICJHUEcgY29tbWFuZCBmYWlsZWQuIFNlZSBsb2cgZm9yIGRldGFp bHMuIgogICAgIGVuZAogCiAgICAgZW5jcnlwdGVkX3BheWxvYWQgPSBSTWFpbDo6TWVzc2FnZS5u ZXcKICAgICBlbmNyeXB0ZWRfcGF5bG9hZC5oZWFkZXJbIkNvbnRlbnQtVHlwZSJdID0gImFwcGxp Y2F0aW9uL29jdGV0LXN0cmVhbSIKICAgICBlbmNyeXB0ZWRfcGF5bG9hZC5oZWFkZXJbIkNvbnRl bnQtRGlzcG9zaXRpb24iXSA9ICdpbmxpbmU7IGZpbGVuYW1lPSJtc2cuYXNjIicKLSAgICBlbmNy eXB0ZWRfcGF5bG9hZC5ib2R5ID0gSU8ucmVhZChlbmNyeXB0ZWRfZm4ucGF0aCkKKyAgICBlbmNy eXB0ZWRfcGF5bG9hZC5ib2R5ID0gY2lwaGVyCiAKICAgICBjb250cm9sID0gUk1haWw6Ok1lc3Nh Z2UubmV3CiAgICAgY29udHJvbC5oZWFkZXJbIkNvbnRlbnQtVHlwZSJdID0gImFwcGxpY2F0aW9u L3BncC1lbmNyeXB0ZWQiCkBAIC05OSw3MCArMTA3LDg1IEBAIEVPUwogICAgIGVuY3J5cHQgZnJv bSwgdG8sIHBheWxvYWQsIHRydWUKICAgZW5kCiAKLSAgZGVmIHZlcmlmaWVkX29rPyBvdXRwdXQs IHJjCi0gICAgb3V0cHV0X2xpbmVzID0gb3V0cHV0LnNwbGl0KC9cbi8pCi0KLSAgICBpZiBvdXRw dXQgPX4gL15ncGc6ICguKiBzaWduYXR1cmUgZnJvbSAuKiQpLwotICAgICAgaWYgcmMgPT0gMAot ICAgICAgICBDaHVuazo6Q3J5cHRvTm90aWNlLm5ldyA6dmFsaWQsICQxLCBvdXRwdXRfbGluZXMK LSAgICAgIGVsc2UKLSAgICAgICAgQ2h1bms6OkNyeXB0b05vdGljZS5uZXcgOmludmFsaWQsICQx LCBvdXRwdXRfbGluZXMKKyAgZGVmIHZlcmlmaWVkX29rPyB2ZXJpZnlfcmVzdWx0CisgICAgdmFs aWQgPSB0cnVlCisgICAgdW5rbm93biA9IGZhbHNlCisgICAgb3V0cHV0X2xpbmVzID0gW10KKwor ICAgIHZlcmlmeV9yZXN1bHQuc2lnbmF0dXJlcy5lYWNoIGRvIHxzaWduYXR1cmV8CisgICAgICBv dXRwdXRfbGluZXMucHVzaChzaWdfb3V0cHV0X2xpbmVzKHNpZ25hdHVyZSkpCisgICAgICBvdXRw dXRfbGluZXMuZmxhdHRlbiEKKyAgICAgIGVycl9jb2RlID0gR1BHTUU6OmdwZ21lX2Vycl9jb2Rl KHNpZ25hdHVyZS5zdGF0dXMpCisgICAgICBpZiBlcnJfY29kZSA9PSBHUEdNRTo6R1BHX0VSUl9C QURfU0lHTkFUVVJFCisgICAgICAgIHZhbGlkID0gZmFsc2UgCisgICAgICBlbHNpZiBlcnJfY29k ZSAhPSBHUEdNRTo6R1BHX0VSUl9OT19FUlJPUgorICAgICAgICB2YWxpZCA9IGZhbHNlCisgICAg ICAgIHVua25vd24gPSB0cnVlCiAgICAgICBlbmQKLSAgICBlbHNpZiBvdXRwdXRfbGluZXMubGVu Z3RoID09IDAgJiYgcmMgPT0gMAotICAgICAgIyB0aGUgbWVzc2FnZSB3YXNuJ3Qgc2lnbmVkCisg ICAgZW5kCisKKyAgICBpZiBvdXRwdXRfbGluZXMubGVuZ3RoID09IDAKICAgICAgIENodW5rOjpD cnlwdG9Ob3RpY2UubmV3IDp2YWxpZCwgIkVuY3J5cHRlZCBtZXNzYWdlIHdhc24ndCBzaWduZWQi LCBvdXRwdXRfbGluZXMKKyAgICBlbHNpZiB2YWxpZAorICAgICAgQ2h1bms6OkNyeXB0b05vdGlj ZS5uZXcoOnZhbGlkLCBzaW1wbGlmeV9zaWdfbGluZSh2ZXJpZnlfcmVzdWx0LnNpZ25hdHVyZXNb MF0udG9fcyksIG91dHB1dF9saW5lcykKKyAgICBlbHNpZiAhdW5rbm93bgorICAgICAgQ2h1bms6 OkNyeXB0b05vdGljZS5uZXcoOmludmFsaWQsIHNpbXBsaWZ5X3NpZ19saW5lKHZlcmlmeV9yZXN1 bHQuc2lnbmF0dXJlc1swXS50b19zKSwgb3V0cHV0X2xpbmVzKQogICAgIGVsc2UKICAgICAgIHVu a25vd25fc3RhdHVzIG91dHB1dF9saW5lcwogICAgIGVuZAogICBlbmQKIAogICBkZWYgdmVyaWZ5 IHBheWxvYWQsIHNpZ25hdHVyZSwgZGV0YWNoZWQ9dHJ1ZSAjIGJvdGggUnVieU1haWw6Ok1lc3Nh Z2Ugb2JqZWN0cwotICAgIHJldHVybiB1bmtub3duX3N0YXR1cyhjYW50X2ZpbmRfYmluYXJ5KSB1 bmxlc3MgQGNtZAorICAgIHJldHVybiB1bmtub3duX3N0YXR1cyhjYW50X2ZpbmRfZ3BnbWUpIHVu bGVzcyBAZ3BnbWVfcHJlc2VudAogCisgICAgZ3BnX29wdHMgPSB7OnByb3RvY29sID0+IEdQR01F OjpQUk9UT0NPTF9PcGVuUEdQfQorICAgIGdwZ19vcHRzID0gSG9va01hbmFnZXIucnVuKCJncGct b3B0aW9ucyIsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHs6b3BlcmF0aW9uID0+ ICJ2ZXJpZnkiLCA6b3B0aW9ucyA9PiBncGdfb3B0c30pIHx8IGdwZ19vcHRzCisgICAgY3R4ID0g R1BHTUU6OkN0eC5uZXcoZ3BnX29wdHMpIAorICAgIHNpZ19kYXRhID0gR1BHTUU6OkRhdGEuZnJv bV9zdHIgc2lnbmF0dXJlLmRlY29kZQogICAgIGlmIGRldGFjaGVkCi0gICAgICBwYXlsb2FkX2Zu ID0gVGVtcGZpbGUubmV3ICJyZWR3b29kLnBheWxvYWQiCi0gICAgICBwYXlsb2FkX2ZuLndyaXRl IGZvcm1hdF9wYXlsb2FkKHBheWxvYWQpCi0gICAgICBwYXlsb2FkX2ZuLmNsb3NlCi0gICAgZW5k Ci0KLSAgICBzaWduYXR1cmVfZm4gPSBUZW1wZmlsZS5uZXcgInJlZHdvb2Quc2lnbmF0dXJlIgot ICAgIHNpZ25hdHVyZV9mbi53cml0ZSBzaWduYXR1cmUuZGVjb2RlCi0gICAgc2lnbmF0dXJlX2Zu LmNsb3NlCi0KLSAgICBpZiBkZXRhY2hlZAotICAgICAgb3V0cHV0ID0gcnVuX2dwZyAiLS12ZXJp ZnkgI3tzaWduYXR1cmVfZm4ucGF0aH0gI3twYXlsb2FkX2ZuLnBhdGh9IgorICAgICAgc2lnbmVk X3RleHRfZGF0YSA9IEdQR01FOjpEYXRhLmZyb21fc3RyKGZvcm1hdF9wYXlsb2FkKHBheWxvYWQp KQorICAgICAgcGxhaW5fZGF0YSA9IG5pbAogICAgIGVsc2UKLSAgICAgIG91dHB1dCA9IHJ1bl9n cGcgIi0tdmVyaWZ5ICN7c2lnbmF0dXJlX2ZuLnBhdGh9IgorICAgICAgc2lnbmVkX3RleHRfZGF0 YSA9IG5pbAorICAgICAgcGxhaW5fZGF0YSA9IEdQR01FOjpEYXRhLmVtcHR5CiAgICAgZW5kCi0K LSAgICBzZWxmLnZlcmlmaWVkX29rPyBvdXRwdXQsICQ/CisgICAgYmVnaW4KKyAgICAgIGN0eC52 ZXJpZnkoc2lnX2RhdGEsIHNpZ25lZF90ZXh0X2RhdGEsIHBsYWluX2RhdGEpCisgICAgcmVzY3Vl IEdQR01FOjpFcnJvciA9PiBleGMKKyAgICAgIHJldHVybiB1bmtub3duX3N0YXR1cyBleGMubWVz c2FnZSAKKyAgICBlbmQKKyAgICBzZWxmLnZlcmlmaWVkX29rPyBjdHgudmVyaWZ5X3Jlc3VsdAog ICBlbmQKIAogICAjIyByZXR1cm5zIGRlY3J5cHRlZF9tZXNzYWdlLCBzdGF0dXMsIGRlc2MsIGxp bmVzCiAgIGRlZiBkZWNyeXB0IHBheWxvYWQsIGFybW9yPWZhbHNlICMgYSBSdWJ5TWFpbDo6TWVz c2FnZSBvYmplY3QKLSAgICByZXR1cm4gdW5rbm93bl9zdGF0dXMoY2FudF9maW5kX2JpbmFyeSkg dW5sZXNzIEBjbWQKLQotICAgIHBheWxvYWRfZm4gPSBUZW1wZmlsZS5uZXcoWyJyZWR3b29kLnBh eWxvYWQiLCAiLmFzYyJdKQotICAgIHBheWxvYWRfZm4ud3JpdGUgcGF5bG9hZC50b19zCi0gICAg cGF5bG9hZF9mbi5jbG9zZQotCi0gICAgb3V0cHV0X2ZuID0gVGVtcGZpbGUubmV3ICJyZWR3b29k Lm91dHB1dCIKLSAgICBvdXRwdXRfZm4uY2xvc2UKLQotICAgIG1lc3NhZ2UgPSBydW5fZ3BnICIt LW91dHB1dCAje291dHB1dF9mbi5wYXRofSAtLXNraXAtdmVyaWZ5IC0teWVzIC0tZGVjcnlwdCAj e3BheWxvYWRfZm4ucGF0aH0iLCA6aW50ZXJhY3RpdmUgPT4gdHJ1ZQotCi0gICAgdW5sZXNzICQ/ LnN1Y2Nlc3M/Ci0gICAgICBpbmZvICJFcnJvciB3aGlsZSBydW5uaW5nIGdwZzogI3ttZXNzYWdl fSIKLSAgICAgIHJldHVybiBDaHVuazo6Q3J5cHRvTm90aWNlLm5ldyg6aW52YWxpZCwgIlRoaXMg bWVzc2FnZSBjb3VsZCBub3QgYmUgZGVjcnlwdGVkIiwgbWVzc2FnZS5zcGxpdCgiXG4iKSkKKyAg ICByZXR1cm4gdW5rbm93bl9zdGF0dXMoY2FudF9maW5kX2dwZ21lKSB1bmxlc3MgQGdwZ21lX3By ZXNlbnQKKworICAgIGdwZ19vcHRzID0gezpwcm90b2NvbCA9PiBHUEdNRTo6UFJPVE9DT0xfT3Bl blBHUH0KKyAgICBncGdfb3B0cyA9IEhvb2tNYW5hZ2VyLnJ1bigiZ3BnLW9wdGlvbnMiLCAKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Om9wZXJhdGlvbiA9PiAiZGVjcnlwdCIsIDpv cHRpb25zID0+IGdwZ19vcHRzfSkgfHwgZ3BnX29wdHMKKyAgICBjdHggPSBHUEdNRTo6Q3R4Lm5l dyhncGdfb3B0cykgCisgICAgY2lwaGVyX2RhdGEgPSBHUEdNRTo6RGF0YS5mcm9tX3N0cihmb3Jt YXRfcGF5bG9hZChwYXlsb2FkKSkKKyAgICBwbGFpbl9kYXRhID0gR1BHTUU6OkRhdGEuZW1wdHkK KyAgICBiZWdpbgorICAgICAgY3R4LmRlY3J5cHRfdmVyaWZ5KGNpcGhlcl9kYXRhLCBwbGFpbl9k YXRhKQorICAgIHJlc2N1ZSBHUEdNRTo6RXJyb3IgPT4gZXhjCisgICAgICBpbmZvICJFcnJvciB3 aGlsZSBydW5uaW5nIGdwZzogI3tleGMubWVzc2FnZX0iCisgICAgICByZXR1cm4gQ2h1bms6OkNy eXB0b05vdGljZS5uZXcoOmludmFsaWQsICJUaGlzIG1lc3NhZ2UgY291bGQgbm90IGJlIGRlY3J5 cHRlZCIsIGV4Yy5tZXNzYWdlKQogICAgIGVuZAotCi0gICAgb3V0cHV0ID0gSU8ucmVhZCBvdXRw dXRfZm4ucGF0aAorICAgIHNpZyA9IHNlbGYudmVyaWZpZWRfb2s/IGN0eC52ZXJpZnlfcmVzdWx0 CisgICAgcGxhaW5fZGF0YS5zZWVrKDAsIElPOjpTRUVLX1NFVCkKKyAgICBvdXRwdXQgPSBwbGFp bl9kYXRhLnJlYWQKICAgICBvdXRwdXQuZm9yY2VfZW5jb2RpbmcgRW5jb2Rpbmc6OkFTQ0lJXzhC SVQgaWYgb3V0cHV0LnJlc3BvbmRfdG8/IDpmb3JjZV9lbmNvZGluZwogCisgICAgIyMgVE9ETzog dGVzdCB0byBzZWUgaWYgaXQgaXMgc3RpbGwgbmVjZXNzYXJ5IHRvIGRvIGEgMm5kIHJ1biBpZiB2 ZXJpZnkKKyAgICAjIyBmYWlscy4KKyAgICAjCiAgICAgIyMgY2hlY2sgZm9yIGEgdmFsaWQgc2ln bmF0dXJlIGluIGFuIGV4dHJhIHJ1biBiZWNhdXNlIGdwZyBhYm9ydHMgaWYgdGhlCiAgICAgIyMg c2lnbmF0dXJlIGNhbm5vdCBiZSB2ZXJpZmllZCAoYnV0IGl0IGlzIHN0aWxsIGFibGUgdG8gZGVj cnlwdCkKLSAgICBzaWdvdXRwdXQgPSBydW5fZ3BnICIje3BheWxvYWRfZm4ucGF0aH0iCi0gICAg c2lnID0gc2VsZi52ZXJpZmllZF9vaz8gc2lnb3V0cHV0LCAkPworICAgICNzaWdvdXRwdXQgPSBy dW5fZ3BnICIje3BheWxvYWRfZm4ucGF0aH0iCisgICAgI3NpZyA9IHNlbGYub2xkX3ZlcmlmaWVk X29rPyBzaWdvdXRwdXQsICQ/CiAKICAgICBpZiBhcm1vcgogICAgICAgbXNnID0gUk1haWw6Ok1l c3NhZ2UubmV3CkBAIC0yMDcsOCArMjMwLDggQEAgcHJpdmF0ZQogICAgIENodW5rOjpDcnlwdG9O b3RpY2UubmV3IDp1bmtub3duLCAiVW5hYmxlIHRvIGRldGVybWluZSB2YWxpZGl0eSBvZiBjcnlw dG9ncmFwaGljIHNpZ25hdHVyZSIsIGxpbmVzCiAgIGVuZAogCi0gIGRlZiBjYW50X2ZpbmRfYmlu YXJ5Ci0gICAgWyJDYW4ndCBmaW5kIGdwZyBiaW5hcnkgaW4gcGF0aC4iXQorICBkZWYgY2FudF9m aW5kX2dwZ21lCisgICAgWyJDYW4ndCBmaW5kIGdwZ21lIGdlbS4iXQogICBlbmQKIAogICAjIyBo ZXJlJ3Mgd2hlcmUgd2UgbXVuZ2Ugcm1haWwgb3V0cHV0IGludG8gdGhlIGZvcm1hdCB0aGF0IHNp Z25lZC9lbmNyeXB0ZWQKQEAgLTIxNyw2ICsyNDAsMjggQEAgcHJpdmF0ZQogICAgIHBheWxvYWQu dG9fcy5nc3ViKC8oXnxbXlxyXSlcbi8sICJcXDFcclxuIikKICAgZW5kCiAKKyAgIyByZW1vdmUg dGhlIGhleCBrZXlfaWQgYW5kIGluZm8gaW4gKCkKKyAgZGVmIHNpbXBsaWZ5X3NpZ19saW5lIHNp Z19saW5lCisgICAgc2lnX2xpbmUgPSBzaWdfbGluZS5zdWIoL2Zyb20gWzAtOUEtRl17MTZ9IC8s ICJmcm9tICIpCisgICAgc2lnX2xpbmUuc3ViKC9cKC4rXCkgPC8sICI8IikKKyAgZW5kCisKKyAg ZGVmIHNpZ19vdXRwdXRfbGluZXMgc2lnbmF0dXJlCisgICAgdGltZV9saW5lID0gIlNpZ25hdHVy ZSBtYWRlICIgKyBzaWduYXR1cmUudGltZXN0YW1wLnN0cmZ0aW1lKCIlYSAlZCAlYiAlWSAlSDol TTolUyAlWiIpICsKKyAgICAgICAgICAgICAgICAiIHVzaW5nIGtleSBJRCAiICsgc2lnbmF0dXJl LmZpbmdlcnByaW50Wy04Li4tMV0KKyAgICBmaXJzdF9zaWcgPSBzaWduYXR1cmUudG9fcy5zdWIo L2Zyb20gWzAtOUEtRl17MTZ9IC8sICdmcm9tICInKSArICciJworICAgIG91dHB1dF9saW5lcyA9 IFt0aW1lX2xpbmUsIGZpcnN0X3NpZ10KKworICAgIGN0eCA9IEdQR01FOjpDdHgubmV3CisgICAg aWYgZnJvbV9rZXkgPSBjdHguZ2V0X2tleShzaWduYXR1cmUuZmluZ2VycHJpbnQpCisgICAgICBp ZiBmcm9tX2tleS51aWRzLmxlbmd0aCA+IDEKKyAgICAgICAgYWthX2xpc3QgPSBmcm9tX2tleS51 aWRzWzEuLi0xXQorICAgICAgICBha2FfbGlzdC5lYWNoIHsgfGFrYXwgb3V0cHV0X2xpbmVzIDw8 ICcgICAgICAgICAgICAgICAgYWthICInICsgYWthLnVpZCArICciJyB9CisgICAgICBlbmQKKyAg ICBlbmQKKyAgICBvdXRwdXRfbGluZXMKKyAgZW5kCisKICAgIyBsb2dpYyBpczoKICAgIyBpZiAg ICBncGdrZXkgc2V0IGZvciB0aGlzIGFjY291bnQsIHRoZW4gdXNlIHRoYXQKICAgIyBlbHNpZiBv bmx5IG9uZSBhY2NvdW50LCAgICAgICAgICAgIHRoZW4gbGVhdmUgYmxhbmsgc28gZ3BnIGRlZmF1 bHQgd2lsbCBiZSB1c2VyCkBAIC0yMjQsMzAgKzI2OSwxNCBAQCBwcml2YXRlCiAgIGRlZiBnZW5f c2lnbl91c2VyX29wdHMgZnJvbQogICAgIGFjY291bnQgPSBBY2NvdW50TWFuYWdlci5hY2NvdW50 X2ZvciBmcm9tCiAgICAgaWYgIWFjY291bnQuZ3Bna2V5Lm5pbD8KLSAgICAgIG9wdHMgPSAiLS1s b2NhbC11c2VyICcje2FjY291bnQuZ3Bna2V5fSciCisgICAgICBvcHRzID0gezpzaWduZXJzID0+ IGFjY291bnQuZ3Bna2V5fQogICAgIGVsc2lmIEFjY291bnRNYW5hZ2VyLnVzZXJfZW1haWxzLmxl bmd0aCA9PSAxCiAgICAgICAjIG9ubHkgb25lIGFjY291bnQKLSAgICAgIG9wdHMgPSAiIgorICAg ICAgb3B0cyA9IHt9CiAgICAgZWxzZQotICAgICAgb3B0cyA9ICItLWxvY2FsLXVzZXIgJyN7ZnJv bX0nIiAKKyAgICAgIG9wdHMgPSB7OnNpZ25lcnMgPT4gZnJvbX0KICAgICBlbmQKICAgICBvcHRz CiAgIGVuZAotCi0gIGRlZiBydW5fZ3BnIGFyZ3MsIG9wdHM9e30KLSAgICBhcmdzID0gSG9va01h bmFnZXIucnVuKCJncGctYXJncyIsIHsgOmFyZ3MgPT4gYXJncyB9KSB8fCBhcmdzCi0gICAgY21k ID0gIkxDX01FU1NBR0VTPUMgI3tAY21kfSAje2FyZ3N9IgotICAgIGlmIG9wdHNbOmludGVyYWN0 aXZlXSAmJiBCdWZmZXJNYW5hZ2VyLmluc3RhbnRpYXRlZD8KLSAgICAgIG91dHB1dF9mbiA9IFRl bXBmaWxlLm5ldyAicmVkd29vZC5vdXRwdXQiCi0gICAgICBvdXRwdXRfZm4uY2xvc2UKLSAgICAg IGNtZCArPSAiID4gI3tvdXRwdXRfZm4ucGF0aH0gMj4gL2Rldi9udWxsIgotICAgICAgZGVidWcg ImNyeXB0bzogcnVubmluZzogI3tjbWR9IgotICAgICAgQnVmZmVyTWFuYWdlci5zaGVsbF9vdXQg Y21kCi0gICAgICBJTy5yZWFkKG91dHB1dF9mbi5wYXRoKSByZXNjdWUgImNhbid0IHJlYWQgb3V0 cHV0IgotICAgIGVsc2UKLSAgICAgIGRlYnVnICJjcnlwdG86IHJ1bm5pbmc6ICN7Y21kfSIKLSAg ICAgIGAje2NtZH0gMj4gL2Rldi9udWxsYAotICAgIGVuZAotICBlbmQKIGVuZAogZW5kCi0tIAox LjcuMQoK --0016361e811eac6544049624cc14 Content-Type: text/x-patch; charset=US-ASCII; name="0002-catch-exception-when-no-public-key-present.patch" Content-Disposition: attachment; filename="0002-catch-exception-when-no-public-key-present.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gh2isi1w2 RnJvbSA2NjE1YTMyNWQ4NjQwYjUzZTRmNWJkYTMxNjFkOGFkNTZmOWMxZWQ2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBIYW1pc2ggRG93bmVyIDxkbWlzaGRAZ21haWwuY29tPgpEYXRl OiBNb24sIDggTm92IDIwMTAgMjI6MzE6MDEgKzAwMDAKU3ViamVjdDogW1BBVENIIDIvNF0gY2F0 Y2ggZXhjZXB0aW9uIHdoZW4gbm8gcHVibGljIGtleSBwcmVzZW50CgotLS0KIGxpYi9zdXAvY3J5 cHRvLnJiIHwgICAxNiArKysrKysrKysrKystLS0tCiAxIGZpbGVzIGNoYW5nZWQsIDEyIGluc2Vy dGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliL3N1cC9jcnlwdG8ucmIg Yi9saWIvc3VwL2NyeXB0by5yYgppbmRleCA5ZDIxZWEwLi44MzE3NmQ5IDEwMDY0NAotLS0gYS9s aWIvc3VwL2NyeXB0by5yYgorKysgYi9saWIvc3VwL2NyeXB0by5yYgpAQCAtMjQ3LDE5ICsyNDcs MjcgQEAgcHJpdmF0ZQogICBlbmQKIAogICBkZWYgc2lnX291dHB1dF9saW5lcyBzaWduYXR1cmUK KyAgICAjIEl0IGFwcGVhcnMgdGhhdCB0aGUgc2lnbmF0dXJlLnRvX3MgY2FsbCBjYW4gbGVhZCB0 byBhIEVPRkVycm9yIGlmCisgICAgIyB0aGUga2V5IGlzIG5vdCBmb3VuZC4gU28gc3RhcnQgYnkg bG9va2luZyBmb3IgdGhlIGtleS4KKyAgICBjdHggPSBHUEdNRTo6Q3R4Lm5ldworICAgIGJlZ2lu CisgICAgICBmcm9tX2tleSA9IGN0eC5nZXRfa2V5KHNpZ25hdHVyZS5maW5nZXJwcmludCkKKyAg ICAgIGZpcnN0X3NpZyA9IHNpZ25hdHVyZS50b19zLnN1YigvZnJvbSBbMC05QS1GXXsxNn0gLywg J2Zyb20gIicpICsgJyInCisgICAgcmVzY3VlIEVPRkVycm9yID0+IGVycm9yCisgICAgICBmaXJz dF9zaWcgPSAiTm8gcHVibGljIGtleSBhdmFpbGFibGUgZm9yICN7c2lnbmF0dXJlLmZpbmdlcnBy aW50fSIKKyAgICBlbmQKKwogICAgIHRpbWVfbGluZSA9ICJTaWduYXR1cmUgbWFkZSAiICsgc2ln bmF0dXJlLnRpbWVzdGFtcC5zdHJmdGltZSgiJWEgJWQgJWIgJVkgJUg6JU06JVMgJVoiKSArCiAg ICAgICAgICAgICAgICAgIiB1c2luZyBrZXkgSUQgIiArIHNpZ25hdHVyZS5maW5nZXJwcmludFst OC4uLTFdCi0gICAgZmlyc3Rfc2lnID0gc2lnbmF0dXJlLnRvX3Muc3ViKC9mcm9tIFswLTlBLUZd ezE2fSAvLCAnZnJvbSAiJykgKyAnIicKICAgICBvdXRwdXRfbGluZXMgPSBbdGltZV9saW5lLCBm aXJzdF9zaWddCiAKLSAgICBjdHggPSBHUEdNRTo6Q3R4Lm5ldwotICAgIGlmIGZyb21fa2V5ID0g Y3R4LmdldF9rZXkoc2lnbmF0dXJlLmZpbmdlcnByaW50KQorICAgIGlmIGZyb21fa2V5IAogICAg ICAgaWYgZnJvbV9rZXkudWlkcy5sZW5ndGggPiAxCiAgICAgICAgIGFrYV9saXN0ID0gZnJvbV9r ZXkudWlkc1sxLi4tMV0KICAgICAgICAgYWthX2xpc3QuZWFjaCB7IHxha2F8IG91dHB1dF9saW5l cyA8PCAnICAgICAgICAgICAgICAgIGFrYSAiJyArIGFrYS51aWQgKyAnIicgfQogICAgICAgZW5k CiAgICAgZW5kCi0gICAgb3V0cHV0X2xpbmVzCisgICAgb3V0cHV0X2xpbmVzLmZsYXR0ZW4hCiAg IGVuZAogCiAgICMgbG9naWMgaXM6Ci0tIAoxLjcuMQoK --0016361e811eac6544049624cc14 Content-Type: text/x-patch; charset=US-ASCII; name="0003-improved-signature-messages.patch" Content-Disposition: attachment; filename="0003-improved-signature-messages.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gh2ism6s3 RnJvbSAwN2YxMjkzNDcwMGNkOGQ4NTEzMmQ3NWIzMDcwMTk2MjVjZDE3MDc2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBIYW1pc2ggRG93bmVyIDxkbWlzaGRAZ21haWwuY29tPgpEYXRl OiBUdWUsIDE2IE5vdiAyMDEwIDIwOjU4OjAxICswMDAwClN1YmplY3Q6IFtQQVRDSCAzLzRdIGlt cHJvdmVkIHNpZ25hdHVyZSBtZXNzYWdlcwoKLS0tCiBsaWIvc3VwL2NyeXB0by5yYiB8ICAgMzEg KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQogMSBmaWxlcyBjaGFuZ2VkLCAyNiBpbnNl cnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYi9zdXAvY3J5cHRvLnJi IGIvbGliL3N1cC9jcnlwdG8ucmIKaW5kZXggODMxNzZkOS4uODgyMjhmZiAxMDA2NDQKLS0tIGEv bGliL3N1cC9jcnlwdG8ucmIKKysrIGIvbGliL3N1cC9jcnlwdG8ucmIKQEAgLTI0Miw4ICsyNDIs NyBAQCBwcml2YXRlCiAKICAgIyByZW1vdmUgdGhlIGhleCBrZXlfaWQgYW5kIGluZm8gaW4gKCkK ICAgZGVmIHNpbXBsaWZ5X3NpZ19saW5lIHNpZ19saW5lCi0gICAgc2lnX2xpbmUgPSBzaWdfbGlu ZS5zdWIoL2Zyb20gWzAtOUEtRl17MTZ9IC8sICJmcm9tICIpCi0gICAgc2lnX2xpbmUuc3ViKC9c KC4rXCkgPC8sICI8IikKKyAgICBzaWdfbGluZS5zdWIoL2Zyb20gWzAtOUEtRl17MTZ9IC8sICJm cm9tICIpCiAgIGVuZAogCiAgIGRlZiBzaWdfb3V0cHV0X2xpbmVzIHNpZ25hdHVyZQpAQCAtMjUz LDIxICsyNTIsNDMgQEAgcHJpdmF0ZQogICAgIGJlZ2luCiAgICAgICBmcm9tX2tleSA9IGN0eC5n ZXRfa2V5KHNpZ25hdHVyZS5maW5nZXJwcmludCkKICAgICAgIGZpcnN0X3NpZyA9IHNpZ25hdHVy ZS50b19zLnN1YigvZnJvbSBbMC05QS1GXXsxNn0gLywgJ2Zyb20gIicpICsgJyInCi0gICAgcmVz Y3VlIEVPRkVycm9yID0+IGVycm9yCisgICAgcmVzY3VlIEVPRkVycm9yIAorICAgICAgZnJvbV9r ZXkgPSBuaWwKICAgICAgIGZpcnN0X3NpZyA9ICJObyBwdWJsaWMga2V5IGF2YWlsYWJsZSBmb3Ig I3tzaWduYXR1cmUuZmluZ2VycHJpbnR9IgogICAgIGVuZAogCiAgICAgdGltZV9saW5lID0gIlNp Z25hdHVyZSBtYWRlICIgKyBzaWduYXR1cmUudGltZXN0YW1wLnN0cmZ0aW1lKCIlYSAlZCAlYiAl WSAlSDolTTolUyAlWiIpICsKLSAgICAgICAgICAgICAgICAiIHVzaW5nIGtleSBJRCAiICsgc2ln bmF0dXJlLmZpbmdlcnByaW50Wy04Li4tMV0KKyAgICAgICAgICAgICAgICAiIHVzaW5nICIgKyBr ZXlfdHlwZShmcm9tX2tleSwgc2lnbmF0dXJlLmZpbmdlcnByaW50KSArIAorICAgICAgICAgICAg ICAgICJrZXkgSUQgIiArIHNpZ25hdHVyZS5maW5nZXJwcmludFstOC4uLTFdCiAgICAgb3V0cHV0 X2xpbmVzID0gW3RpbWVfbGluZSwgZmlyc3Rfc2lnXQogCiAgICAgaWYgZnJvbV9rZXkgCisgICAg ICAjIGZpcnN0IGxpc3QgYWxsIHRoZSB1aWRzCiAgICAgICBpZiBmcm9tX2tleS51aWRzLmxlbmd0 aCA+IDEKICAgICAgICAgYWthX2xpc3QgPSBmcm9tX2tleS51aWRzWzEuLi0xXQogICAgICAgICBh a2FfbGlzdC5lYWNoIHsgfGFrYXwgb3V0cHV0X2xpbmVzIDw8ICcgICAgICAgICAgICAgICAgYWth ICInICsgYWthLnVpZCArICciJyB9CiAgICAgICBlbmQKKworICAgICAgIyBub3cgd2Ugd2FudCB0 byBsb29rIGF0IHRoZSB0cnVzdCBvZiB0aGF0IGtleQorICAgICAgaWYgc2lnbmF0dXJlLnZhbGlk aXR5ICE9IEdQR01FOjpHUEdNRV9WQUxJRElUWV9GVUxMICYmIHNpZ25hdHVyZS52YWxpZGl0eSAh PSBHUEdNRTo6R1BHTUVfVkFMSURJVFlfTUFSR0lOQUwKKyAgICAgICAgb3V0cHV0X2xpbmVzIDw8 ICJXQVJOSU5HOiBUaGlzIGtleSBpcyBub3QgY2VydGlmaWVkIHdpdGggYSB0cnVzdGVkIHNpZ25h dHVyZSEiCisgICAgICAgIG91dHB1dF9saW5lcyA8PCAiVGhlcmUgaXMgbm8gaW5kaWNhdGlvbiB0 aGF0IHRoZSBzaWduYXR1cmUgYmVsb25ncyB0byB0aGUgb3duZXIiCisgICAgICBlbmQKKyAgICBl bmQKKyAgICBvdXRwdXRfbGluZXMKKyAgZW5kCisKKyAgZGVmIGtleV90eXBlIGtleSwgZnByCisg ICAgcmV0dXJuICIiIGlmIGtleS5uaWw/CisgICAgc3Via2V5ID0ga2V5LnN1YmtleXMuZmluZCB7 fHN1YmtleXwgc3Via2V5LmZwciA9PSBmcHIgfHwgc3Via2V5LmtleWlkID09IGZwciB9CisgICAg cmV0dXJuICIiIGlmIHN1YmtleS5uaWw/CisKKyAgICBjYXNlIHN1YmtleS5wdWJrZXlfYWxnbwor ICAgIHdoZW4gR1BHTUU6OlBLX1JTQSB0aGVuICJSU0EgIgorICAgIHdoZW4gR1BHTUU6OlBLX0RT QSB0aGVuICJEU0EgIgorICAgIHdoZW4gR1BHTUU6OlBLX0VMRyB0aGVuICJFbEdhbWVsICIKKyAg ICB3aGVuIEdQR01FOjpQS19FTEdfRSB0aGVuICJFbEdhbWVsICIKICAgICBlbmQKLSAgICBvdXRw dXRfbGluZXMuZmxhdHRlbiEKICAgZW5kCiAKICAgIyBsb2dpYyBpczoKLS0gCjEuNy4xCgo= --0016361e811eac6544049624cc14 Content-Type: text/x-patch; charset=US-ASCII; name="0004-added-signature-output-hook.patch" Content-Disposition: attachment; filename="0004-added-signature-output-hook.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gh2isq9w4 RnJvbSA3MWJhZTU2OTAzMzUxYWRmNDNmNmE3ZWJkZDk3NjY3NjRmMzAyZjE2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBIYW1pc2ggRG93bmVyIDxkbWlzaGRAZ21haWwuY29tPgpEYXRl OiBUdWUsIDE2IE5vdiAyMDEwIDIyOjU0OjA2ICswMDAwClN1YmplY3Q6IFtQQVRDSCA0LzRdIGFk ZGVkIHNpZ25hdHVyZSBvdXRwdXQgaG9vawoKLS0tCiBsaWIvc3VwL2NyeXB0by5yYiB8ICAgMTUg KysrKysrKysrKysrKysrCiAxIGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDAgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliL3N1cC9jcnlwdG8ucmIgYi9saWIvc3VwL2NyeXB0 by5yYgppbmRleCA4ODIyOGZmLi5iOWZmYjE3IDEwMDY0NAotLS0gYS9saWIvc3VwL2NyeXB0by5y YgorKysgYi9saWIvc3VwL2NyeXB0by5yYgpAQCAtMjgsNiArMjgsMTcgQEAgb3B0aW9uczogYSBk aWN0aW9uYXJ5IG9mIHZhbHVlcyB0byBiZSBwYXNzZWQgdG8gR1BHTUUKIFJldHVybiB2YWx1ZTog YSBkaWN0aW9uYXJ5IHRvIGJlIHBhc3NlZCB0byBHUEdNRQogRU9TCiAKKyAgSG9va01hbmFnZXIu cmVnaXN0ZXIgInNpZy1vdXRwdXQiLCA8PEVPUworUnVucyB3aGVuIHRoZSBzaWduYXR1cmUgb3V0 cHV0IGlzIGJlaW5nIGdlbmVyYXRlZCwgYWxsb3dpbmcgeW91IHRvCithZGQgZXh0cmEgaW5mb3Jt YXRpb24gdG8geW91ciBzaWduYXR1cmVzIGlmIHlvdSB3YW50LgorICAKK1ZhcmlhYmxlczoKK3Np Z25hdHVyZTogdGhlIHNpZ25hdHVyZSBvYmplY3QgKGNsYXNzIGlzIEdQR01FOjpTaWduYXR1cmUp Citmcm9tX2tleTogdGhlIGtleSB0aGF0IGdlbmVyYXRlZCB0aGUgc2lnbmF0dXJlIChjbGFzcyBp cyBHUEdNRTo6S2V5KQorCitSZXR1cm4gdmFsdWU6IGFuIGFycmF5IG9mIGxpbmVzIG9mIG91dHB1 dAorRU9TCisKICAgZGVmIGluaXRpYWxpemUKICAgICBAbXV0ZXggPSBNdXRleC5uZXcKIApAQCAt Mjc0LDYgKzI4NSwxMCBAQCBwcml2YXRlCiAgICAgICAgIG91dHB1dF9saW5lcyA8PCAiV0FSTklO RzogVGhpcyBrZXkgaXMgbm90IGNlcnRpZmllZCB3aXRoIGEgdHJ1c3RlZCBzaWduYXR1cmUhIgog ICAgICAgICBvdXRwdXRfbGluZXMgPDwgIlRoZXJlIGlzIG5vIGluZGljYXRpb24gdGhhdCB0aGUg c2lnbmF0dXJlIGJlbG9uZ3MgdG8gdGhlIG93bmVyIgogICAgICAgZW5kCisKKyAgICAgICMgZmlu YWxseSwgcnVuIHRoZSBob29rCisgICAgICBvdXRwdXRfbGluZXMgPDwgSG9va01hbmFnZXIucnVu KCJzaWctb3V0cHV0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7OnNpZ25hdHVy ZSA9PiBzaWduYXR1cmUsIDpmcm9tX2tleSA9PiBmcm9tX2tleX0pCiAgICAgZW5kCiAgICAgb3V0 cHV0X2xpbmVzCiAgIGVuZAotLSAKMS43LjEKCg== --0016361e811eac6544049624cc14 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Sup-devel mailing list Sup-devel@rubyforge.org http://rubyforge.org/mailman/listinfo/sup-devel --0016361e811eac6544049624cc14--