From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs Subject: bug#58472: [PATCH] Make `message-unique-id' less prone to collisions Date: Mon, 17 Oct 2022 00:30:49 -0700 Organization: UCLA Computer Science Department Message-ID: References: <871qr794o2.fsf@rfc20.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------bVbBeQyfEb0W4nxZErMm2uqU" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="30260"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.2 Cc: 58472@debbugs.gnu.org To: Stefan Kangas , Matt Armstrong Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Oct 17 09:35:10 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1okKeT-0007eV-7P for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 17 Oct 2022 09:35:09 +0200 Original-Received: from localhost ([::1]:55602 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1okKeR-0006tt-Vq for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 17 Oct 2022 03:35:08 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:57510) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1okKbV-0006lq-E7 for bug-gnu-emacs@gnu.org; Mon, 17 Oct 2022 03:32:05 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:47996) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1okKbS-0001uh-1b for bug-gnu-emacs@gnu.org; Mon, 17 Oct 2022 03:32:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1okKbR-0000JM-SK for bug-gnu-emacs@gnu.org; Mon, 17 Oct 2022 03:32:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 17 Oct 2022 07:32:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 58472 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 58472-submit@debbugs.gnu.org id=B58472.16659918651107 (code B ref 58472); Mon, 17 Oct 2022 07:32:01 +0000 Original-Received: (at 58472) by debbugs.gnu.org; 17 Oct 2022 07:31:05 +0000 Original-Received: from localhost ([127.0.0.1]:47071 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1okKaV-0000Hg-C4 for submit@debbugs.gnu.org; Mon, 17 Oct 2022 03:31:04 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:48512) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1okKaS-0000HB-03 for 58472@debbugs.gnu.org; Mon, 17 Oct 2022 03:31:02 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id C006B16006F; Mon, 17 Oct 2022 00:30:52 -0700 (PDT) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id aCVY4HCq76qr; Mon, 17 Oct 2022 00:30:50 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id F0EFC16007F; Mon, 17 Oct 2022 00:30:49 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.9.2 zimbra.cs.ucla.edu F0EFC16007F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=78364E5A-2AF3-11ED-87FA-8298ECA2D365; t=1665991850; bh=51c17FlyEH33GV4byNJFY0AtLEPBVPV875WEWzztDKU=; h=Content-Type:Message-ID:Date:MIME-Version:Subject:To:From; b=jo60axmNYW/xORzlhh6hO4mapAIUWAfgRY8Py3kpyqyPNMj2cXx3HBWynmDalcPqQ elYTzZAQiPm/mghQf096bkR4fObNzFd+m/QBLoiucaeBn+V3wLn1yAA8NEytwBkXmB knDHW/pj2g1JF5OOUY0Sk1FPls4/+Vcf9pd2MTrc= X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id rt8S4tImZ_la; Mon, 17 Oct 2022 00:30:49 -0700 (PDT) Original-Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com [172.91.119.151]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id A324616006F; Mon, 17 Oct 2022 00:30:49 -0700 (PDT) Content-Language: en-US In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:245690 Archived-At: This is a multi-part message in MIME format. --------------bVbBeQyfEb0W4nxZErMm2uqU Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit I've been looking into this and have several patches along these lines. None of them address message-unique-id directly yet (I plan to tackle this soon) but they do address the general problem area. The basic idea is to use a new make-nonce primitive. I thought I'd email the patches now to see what others think about the direction they're headed. --------------bVbBeQyfEb0W4nxZErMm2uqU Content-Type: text/x-patch; charset=UTF-8; name="0001-No-need-to-call-w32_init_random.patch" Content-Disposition: attachment; filename="0001-No-need-to-call-w32_init_random.patch" Content-Transfer-Encoding: base64 RnJvbSA4MGMxOGNiNDBjM2M5ZGRkNTZlODgwMTkzODdhMzgyN2QwZjZhZGQwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTdW4sIDE2IE9jdCAyMDIyIDEwOjQ4OjI5IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwMS8xMF0gTm8gbmVlZCB0byBjYWxsIHczMl9pbml0X3JhbmRvbQpNSU1FLVZlcnNpb246 IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1U cmFuc2Zlci1FbmNvZGluZzogOGJpdAoKKiBzcmMvc3lzZGVwLmMgKGluaXRfcmFuZG9tKTog SnVzdCB1c2UgZ2V0cmFuZG9tLApzaW5jZSB3ZeKAmXJlIGFscmVhZHkgdXNpbmcgaXQgdW5j b25kaXRpb25hbGx5IGVsc2V3aGVyZS4KLS0tCiBzcmMvc3lzZGVwLmMgfCA4ICstLS0tLS0t CiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDcgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvc3JjL3N5c2RlcC5jIGIvc3JjL3N5c2RlcC5jCmluZGV4IDczNjcyM2JkZjMu LjQ3ODZjOGZhNGYgMTAwNjQ0Ci0tLSBhL3NyYy9zeXNkZXAuYworKysgYi9zcmMvc3lzZGVw LmMKQEAgLTIxNjMsMTcgKzIxNjMsMTEgQEAgc2VlZF9yYW5kb20gKHZvaWQgKnNlZWQsIHB0 cmRpZmZfdCBzZWVkX3NpemUpCiBpbml0X3JhbmRvbSAodm9pZCkKIHsKICAgcmFuZG9tX3Nl ZWQgdjsKLSAgYm9vbCBzdWNjZXNzID0gZmFsc2U7CiAKICAgLyogRmlyc3QsIHRyeSBzZWVk aW5nIHRoZSBQUk5HIGZyb20gdGhlIG9wZXJhdGluZyBzeXN0ZW0ncyBlbnRyb3B5CiAgICAg IHNvdXJjZS4gIFRoaXMgYXBwcm9hY2ggaXMgYm90aCBmYXN0IGFuZCBzZWN1cmUuICAqLwot I2lmZGVmIFdJTkRPV1NOVAotICAvKiBGSVhNRTogUGVyaGFwcyBnZXRyYW5kb20gY2FuIGJl IHVzZWQgaGVyZSB0b28/ICAqLwotICBzdWNjZXNzID0gdzMyX2luaXRfcmFuZG9tICgmdiwg c2l6ZW9mIHYpID09IDA7Ci0jZWxzZQogICB2ZXJpZnkgKHNpemVvZiB2IDw9IDI1Nik7Ci0g IHN1Y2Nlc3MgPSBnZXRyYW5kb20gKCZ2LCBzaXplb2YgdiwgMCkgPT0gc2l6ZW9mIHY7Ci0j ZW5kaWYKKyAgYm9vbCBzdWNjZXNzID0gZ2V0cmFuZG9tICgmdiwgc2l6ZW9mIHYsIDApID09 IHNpemVvZiB2OwogCiAgIC8qIElmIHRoYXQgZGlkbid0IHdvcmssIGp1c3QgdXNlIHRoZSBj dXJyZW50IHRpbWUgdmFsdWUgYW5kIFBJRC4KICAgICAgSXQncyBhdCBsZWFzdCBiZXR0ZXIg dGhhbiBYS0NEIDIyMS4gICovCi0tIAoyLjM0LjEKCg== --------------bVbBeQyfEb0W4nxZErMm2uqU Content-Type: text/x-patch; charset=UTF-8; name="0002-Simplify-feedmail-Message-ID-generation.patch" Content-Disposition: attachment; filename="0002-Simplify-feedmail-Message-ID-generation.patch" Content-Transfer-Encoding: base64 RnJvbSBhNzkzZWQ2MWU2ZWQyMTZkMTVhMDEyZGViOTgwMzAxZDBlNjFmZDQzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTdW4sIDE2IE9jdCAyMDIyIDEwOjQ4OjI5IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwMi8xMF0gU2ltcGxpZnkgZmVlZG1haWwgTWVzc2FnZS1JRCBnZW5lcmF0aW9uCk1JTUUt VmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApD b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgoqIGxpc3AvbWFpbC9mZWVkbWFpbC5l bCAoZmVlZG1haWwtZGVmYXVsdC1tZXNzYWdlLWlkLWdlbmVyYXRvcik6CkF2b2lkIGFuIHVu bmVjZXNzYXJ5IGNhbGwgdG8g4oCYbW9k4oCZLgotLS0KIGxpc3AvbWFpbC9mZWVkbWFpbC5l bCB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL2xpc3AvbWFpbC9mZWVkbWFpbC5lbCBiL2xpc3AvbWFpbC9mZWVk bWFpbC5lbAppbmRleCAyYWU5MTZlM2FjLi4wNDdjOGY0MDRlIDEwMDY0NAotLS0gYS9saXNw L21haWwvZmVlZG1haWwuZWwKKysrIGIvbGlzcC9tYWlsL2ZlZWRtYWlsLmVsCkBAIC0yODE5 LDcgKzI4MTksNyBAQCBmZWVkbWFpbC1kZWZhdWx0LW1lc3NhZ2UtaWQtZ2VuZXJhdG9yCiAJ KHNldHEgZGF0ZS10aW1lIChmaWxlLWF0dHJpYnV0ZS1tb2RpZmljYXRpb24tdGltZQogCQkJ IChmaWxlLWF0dHJpYnV0ZXMgbWF5YmUtZmlsZSkpKSkKICAgICAoZm9ybWF0ICI8JWQtJXMl cz4iCi0JICAgIChtb2QgKHJhbmRvbSkgMTAwMDApCisJICAgIChyYW5kb20gMTAwMDApCiAJ ICAgIChmb3JtYXQtdGltZS1zdHJpbmcgIiVhJWQlYiVZJUglTSVTJXoiIGRhdGUtdGltZSkK IAkgICAgZW5kLXN0dWZmKSkKICAgKQotLSAKMi4zNC4xCgo= --------------bVbBeQyfEb0W4nxZErMm2uqU Content-Type: text/x-patch; charset=UTF-8; name="0003-Simplify-calc-comb-by-using-random.patch" Content-Disposition: attachment; filename="0003-Simplify-calc-comb-by-using-random.patch" Content-Transfer-Encoding: base64 RnJvbSAzMThjODhhYWYxMDMzZDQ1MmE1NDQ5ZWJhNDVhYTM4Mjk4ODQxMmY3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTdW4sIDE2IE9jdCAyMDIyIDIzOjM1OjIxIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwMy8xMF0gPT9VVEYtOD9xP1NpbXBsaWZ5PTIwY2FsYy1jb21iPTIwYnk9MjB1c2luZz0y MD89CiA9P1VURi04P3E/PUUyPTgwPTk4cmFuZG9tPUUyPTgwPTk5Pz0KTUlNRS1WZXJzaW9u OiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQt VHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCiogbGlzcC9jYWxjL2NhbGMtY29tYi5lbCAobWF0 aC1yYW5kb20tdGFibGUsIG1hdGgtbGFzdC1SYW5kU2VlZCkKKG1hdGgtcmFuZG9tLXB0cjEs IG1hdGgtcmFuZG9tLXB0cjIsIG1hdGgtcmFuZG9tLXNoaWZ0KQoodmFyLVJhbmRTZWVkLCBt YXRoLXJhbmRvbS1jYWNoZSwgbWF0aC1pbml0LXJhbmRvbS1iYXNlKQoobWF0aC1yYW5kb20t YmFzZSwgbWF0aC1yYW5kb20tbGFzdCkKKG1hdGgtcmFuZG9tLXRocmVlLWRpZ2l0LW51bWJl cik6Ck5vdyBvYnNvbGV0ZSwgYXMgd2UgY2FuIGFzc3VtZSB0aGF0IOKAmHJhbmRvbeKAmSBp cyBnb29kIGVub3VnaC4KKG1hdGgtcmFuZG9tLWRpZ2l0cyk6IFNpbXBsaWZ5IGJ5IHVzaW5n IOKAmHJhbmRvbeKAmS4KLS0tCiBsaXNwL2NhbGMvY2FsYy1jb21iLmVsICB8IDk2ICsrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBsaXNwL2NhbGMvY2FsYy1l eHQuZWwgICB8ICA2ICsrLQogbGlzcC9jYWxjL2NhbGMtc3R1ZmYuZWwgfCAgNCArLQogMyBm aWxlcyBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCspLCA4MyBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9saXNwL2NhbGMvY2FsYy1jb21iLmVsIGIvbGlzcC9jYWxjL2NhbGMtY29tYi5l bAppbmRleCBjMTM1MmZhMzI0Li41MjJhN2FjNmMwIDEwMDY0NAotLS0gYS9saXNwL2NhbGMv Y2FsYy1jb21iLmVsCisrKyBiL2xpc3AvY2FsYy9jYWxjLWNvbWIuZWwKQEAgLTU0NiwxMDUg KzU0Niw0MiBAQCBtYXRoLXN0aXJsaW5nLTIKIAkJICAgICAgKG1hdGgtbXVsIG0gKG1hdGgt c3RpcmxpbmctMiAoMS0gbikgbSkpKSkpKQogCiAoZGVmdmFyIG1hdGgtcmFuZG9tLXRhYmxl IG5pbCkKKyhtYWtlLW9ic29sZXRlLXZhcmlhYmxlICdtYXRoLXJhbmRvbS10YWJsZSBuaWwg IjI5LjEiKQogKGRlZnZhciBtYXRoLWxhc3QtUmFuZFNlZWQgbmlsKQorKG1ha2Utb2Jzb2xl dGUtdmFyaWFibGUgJ21hdGgtbGFzdC1SYW5kU2VlZCBuaWwgIjI5LjEiKQogKGRlZnZhciBt YXRoLXJhbmRvbS1wdHIxIG5pbCkKKyhtYWtlLW9ic29sZXRlLXZhcmlhYmxlICdtYXRoLXJh bmRvbS1wdHIxIG5pbCAiMjkuMSIpCiAoZGVmdmFyIG1hdGgtcmFuZG9tLXB0cjIgbmlsKQot KGRlZnZhciBtYXRoLXJhbmRvbS1zaGlmdCBuaWwpCisobWFrZS1vYnNvbGV0ZS12YXJpYWJs ZSAnbWF0aC1yYW5kb20tcHRyMiBuaWwgIjI5LjEiKQorKGRlZnZhciBtYXRoLXJhbmRvbS1z aGlmdCAtNCkJOyBhc3N1bWUgUkFORF9NQVggPj0gMTYzODMKKyhtYWtlLW9ic29sZXRlLXZh cmlhYmxlICdtYXRoLXJhbmRvbS1zaGlmdCBuaWwgIjI5LjEiKQogCi07OzsgUHJvZHVjZSBh IHJhbmRvbSAxMC1iaXQgaW50ZWdlciwgd2l0aCAocmFuZG9tKSBpZiBubyBzZWVkIHByb3Zp ZGVkLAotOzs7IG9yIGVsc2Ugd2l0aCBOdW1lcmljYWwgUmVjaXBlcyBhbGdvcml0aG0gcmFu MyAvIEtudXRoIDMuMi4yLUEuCis7OzsgUHJvZHVjZSBhIHJhbmRvbSAxMC1iaXQgaW50ZWdl ci4KIAogKGRlZnZhciB2YXItUmFuZFNlZWQpCisobWFrZS1vYnNvbGV0ZS12YXJpYWJsZSAn dmFyLVJhbmRTZWVkIG5pbCAiMjkuMSIpCiAoZGVmdmFyIG1hdGgtcmFuZG9tLWNhY2hlIG5p bCkKLShkZWZ2YXIgbWF0aC1nYXVzc2lhbi1jYWNoZSBuaWwpCisobWFrZS1vYnNvbGV0ZS12 YXJpYWJsZSAnbWF0aC1yYW5kb20tY2FjaGUgbmlsICIyOS4xIikKIAogKGRlZnVuIG1hdGgt aW5pdC1yYW5kb20tYmFzZSAoKQotICAoaWYgKGFuZCAoYm91bmRwICd2YXItUmFuZFNlZWQp IHZhci1SYW5kU2VlZCkKLSAgICAgIChpZiAoZXEgKGNhci1zYWZlIHZhci1SYW5kU2VlZCkg J3ZlYykKLQkgIG5pbAotCShpZiAoTWF0aC1pbnRlZ2VycCB2YXItUmFuZFNlZWQpCi0JICAg IChsZXQqICgoc2VlZCAobWF0aC1zdWIgMTYxODAzIHZhci1SYW5kU2VlZCkpCi0JCSAgICht aiAoMSsgKG1hdGgtbW9kIHNlZWQgMTAwMDAwMCkpKQotCQkgICAobWsgKDErIChtYXRoLW1v ZCAobWF0aC1xdW90aWVudCBzZWVkIDEwMDAwMDApCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMTAwMDAwMCkpKQotCQkgICAoaSAwKSkKLQkgICAgICAoc2V0cSBt YXRoLXJhbmRvbS10YWJsZSAoY29ucyAndmVjIChtYWtlLWxpc3QgNTUgbWopKSkKLQkgICAg ICAod2hpbGUgKDw9IChzZXRxIGkgKDErIGkpKSA1NCkKLQkJKGxldCogKChpaSAoJSAoKiBp IDIxKSA1NSkpCi0JCSAgICAgICAocCAobnRoY2RyIGlpIG1hdGgtcmFuZG9tLXRhYmxlKSkp Ci0JCSAgKHNldGNhciBwIG1rKQotCQkgIChzZXRxIG1rICgtIG1qIG1rKQotCQkJbWogKGNh ciBwKSkpKSkKLQkgIChtYXRoLXJlamVjdC1hcmcgdmFyLVJhbmRTZWVkICIqUmFuZFNlZWQg bXVzdCBiZSBhbiBpbnRlZ2VyIikpCi0JKHNldHEgdmFyLVJhbmRTZWVkIChsaXN0ICd2ZWMg dmFyLVJhbmRTZWVkKQotCSAgICAgIG1hdGgtcmFuZG9tLXB0cjEgbWF0aC1yYW5kb20tdGFi bGUKLQkgICAgICBtYXRoLXJhbmRvbS1jYWNoZSBuaWwKLQkgICAgICBtYXRoLXJhbmRvbS1w dHIyIChudGhjZHIgMzEgbWF0aC1yYW5kb20tdGFibGUpKQotCShsZXQgKChpIDIwMCkpCi0J ICAod2hpbGUgKD4gKHNldHEgaSAoMS0gaSkpIDApCi0JICAgIChtYXRoLXJhbmRvbS1iYXNl KSkpKQotICAgIChzZXRxIHZhci1SYW5kU2VlZCBuaWwKLQkgIG1hdGgtcmFuZG9tLWNhY2hl IG5pbAotCSAgbWF0aC1yYW5kb20tc2hpZnQgLTQpICA7IGFzc3VtZSBSQU5EX01BWCA+PSAx NjM4MwotICAgIDs7IFRoaXMgZXhlcmNpc2VzIHRoZSByYW5kb20gbnVtYmVyIGdlbmVyYXRv ciBhbmQgYWxzbyBoZWxwcwotICAgIDs7IGRlZHVjZSBhIGJldHRlciB2YWx1ZSBmb3IgUkFO RF9NQVguCi0gICAgKGxldCAoKGkgMCkpCi0gICAgICAod2hpbGUgKDwgKHNldHEgaSAoMSsg aSkpIDMwKQotICAgICAgICAoaWYgKD4gKGFzaCAobWF0aC1hYnMgKHJhbmRvbSkpIG1hdGgt cmFuZG9tLXNoaWZ0KSA0MDk1KQotICAgICAgICAgICAgKHNldHEgbWF0aC1yYW5kb20tc2hp ZnQgKDEtIG1hdGgtcmFuZG9tLXNoaWZ0KSkpKSkpCi0gIChzZXRxIG1hdGgtbGFzdC1SYW5k U2VlZCB2YXItUmFuZFNlZWQKLQltYXRoLWdhdXNzaWFuLWNhY2hlIG5pbCkpCisgIChkZWNs YXJlIChvYnNvbGV0ZSBuaWwgIjI5LjEiKSkpCiAKIChkZWZ1biBtYXRoLXJhbmRvbS1iYXNl ICgpCi0gIChpZiB2YXItUmFuZFNlZWQKLSAgICAgIChwcm9nbgotCShzZXRxIG1hdGgtcmFu ZG9tLXB0cjEgKG9yIChjZHIgbWF0aC1yYW5kb20tcHRyMSkKLQkJCQkgICAoY2RyIG1hdGgt cmFuZG9tLXRhYmxlKSkKLQkgICAgICBtYXRoLXJhbmRvbS1wdHIyIChvciAoY2RyIG1hdGgt cmFuZG9tLXB0cjIpCi0JCQkJICAgKGNkciBtYXRoLXJhbmRvbS10YWJsZSkpKQotCShsb2dh bmQgKGFzaCAoc2V0Y2FyIG1hdGgtcmFuZG9tLXB0cjEKLQkJCSAgICAgKGxvZ2FuZCAoLSAo Y2FyIG1hdGgtcmFuZG9tLXB0cjEpCi0JCQkJCShjYXIgbWF0aC1yYW5kb20tcHRyMikpIDUy NDI4NykpCi0JCSAgICAgLTYpIDEwMjMpKQotICAgIChsb2dhbmQgKGFzaCAocmFuZG9tKSBt YXRoLXJhbmRvbS1zaGlmdCkgMTAyMykpKQotCisgIChkZWNsYXJlIChvYnNvbGV0ZSAncmFu ZG9tICIyOS4xIikpCisgIChyYW5kb20gMTAyNCkpCiAKIDs7OyBQcm9kdWNlIGEgcmFuZG9t IGRpZ2l0IGluIHRoZSByYW5nZSAwLi45OTkuCi07OzsgQXZvaWQgdmFyaW91cyBwaXRmYWxs cyB0aGF0IG1heSBsdXJrIGluIHRoZSBidWlsdC1pbiAocmFuZG9tKSBmdW5jdGlvbiEKLTs7 OyBTaHVmZmxpbmcgYWxnb3JpdGhtIGZyb20gTnVtZXJpY2FsIFJlY2lwZXMsIHNlY3Rpb24g Ny4xLgogKGRlZnZhciBtYXRoLXJhbmRvbS1sYXN0KQorKG1ha2Utb2Jzb2xldGUtdmFyaWFi bGUgJ21hdGgtcmFuZG9tLWxhc3QgbmlsICIyOS4xIikKIChkZWZ1biBtYXRoLXJhbmRvbS10 aHJlZS1kaWdpdC1udW1iZXIgKCkKICAgIlJldHVybiBhIHJhbmRvbSB0aHJlZSBkaWdpdCBu dW1iZXIuIgotICAobGV0IChpKQotICAgIChvciAoYW5kIChib3VuZHAgJ3Zhci1SYW5kU2Vl ZCkgKGVxIHZhci1SYW5kU2VlZCBtYXRoLWxhc3QtUmFuZFNlZWQpKQotCShtYXRoLWluaXQt cmFuZG9tLWJhc2UpKQotICAgIChvciBtYXRoLXJhbmRvbS1jYWNoZQotCShwcm9nbgotCSAg KHNldHEgbWF0aC1yYW5kb20tbGFzdCAobWF0aC1yYW5kb20tYmFzZSkKLQkJbWF0aC1yYW5k b20tY2FjaGUgKG1ha2UtdmVjdG9yIDEzIG5pbCkKLQkJaSAtMSkKLQkgICh3aGlsZSAoPCAo c2V0cSBpICgxKyBpKSkgMTMpCi0JICAgIChhc2V0IG1hdGgtcmFuZG9tLWNhY2hlIGkgKG1h dGgtcmFuZG9tLWJhc2UpKSkpKQotICAgICh3aGlsZSAocHJvZ24KLQkgICAgIChzZXRxIGkg KC8gbWF0aC1yYW5kb20tbGFzdCA3OSkgICA7IDAgPD0gaSA8IDEzCi0JCSAgIG1hdGgtcmFu ZG9tLWxhc3QgKGFyZWYgbWF0aC1yYW5kb20tY2FjaGUgaSkpCi0JICAgICAoYXNldCBtYXRo LXJhbmRvbS1jYWNoZSBpIChtYXRoLXJhbmRvbS1iYXNlKSkKLQkgICAgICg+PSBtYXRoLXJh bmRvbS1sYXN0IDEwMDApKSkKLSAgICBtYXRoLXJhbmRvbS1sYXN0KSkKKyAgKGRlY2xhcmUg KG9ic29sZXRlICdyYW5kb20gIjI5LjEiKSkKKyAgKHJhbmRvbSAxMDAwKSkKIAogOzs7IFBy b2R1Y2UgYW4gTi1kaWdpdCByYW5kb20gaW50ZWdlci4KIChkZWZ1biBtYXRoLXJhbmRvbS1k aWdpdHMgKG4pCiAgICJQcm9kdWNlIGEgcmFuZG9tIE4gZGlnaXQgaW50ZWdlci4iCi0gIChs ZXQqICgoc2xvcCAoJSAoLSAzICglIG4gMykpIDMpKQotICAgICAgICAgKGkgKC8gKCsgbiBz bG9wKSAzKSkKLSAgICAgICAgIChybnVtIDApKQotICAgICh3aGlsZSAoPiBpIDApCi0gICAg ICAoc2V0cSBybnVtCi0gICAgICAgICAgICAobWF0aC1hZGQKLSAgICAgICAgICAgICAobWF0 aC1yYW5kb20tdGhyZWUtZGlnaXQtbnVtYmVyKQotICAgICAgICAgICAgIChtYXRoLW11bCBy bnVtIDEwMDApKSkKLSAgICAgIChzZXRxIGkgKDEtIGkpKSkKLSAgICAobWF0aC1ub3JtYWxp emUgKG1hdGgtc2NhbGUtcmlnaHQgcm51bSBzbG9wKSkpKQorICAocmFuZG9tIChleHB0IDEw IG4pKSkKIAogOzs7IFByb2R1Y2UgYSB1bmlmb3JtbHktZGlzdHJpYnV0ZWQgcmFuZG9tIGZs b2F0IDAgPD0gTiA8IDEuCiAoZGVmdW4gbWF0aC1yYW5kb20tZmxvYXQgKCkKQEAgLTY1Miw2 ICs1ODksNyBAQCBtYXRoLXJhbmRvbS1mbG9hdAogCQkgICAoLSBjYWxjLWludGVybmFsLXBy ZWMpKSkKIAogOzs7IFByb2R1Y2UgYSBHYXVzc2lhbi1kaXN0cmlidXRlZCByYW5kb20gZmxv YXQgd2l0aCBtZWFuPTAsIHNpZ21hPTEuCisoZGVmdmFyIG1hdGgtZ2F1c3NpYW4tY2FjaGUg bmlsKQogKGRlZnVuIG1hdGgtZ2F1c3NpYW4tZmxvYXQgKCkKICAgKG1hdGgtd2l0aC1leHRy YS1wcmVjIDIKICAgICAoaWYgKGFuZCBtYXRoLWdhdXNzaWFuLWNhY2hlCmRpZmYgLS1naXQg YS9saXNwL2NhbGMvY2FsYy1leHQuZWwgYi9saXNwL2NhbGMvY2FsYy1leHQuZWwKaW5kZXgg N2VlNzNkMTAwYS4uNTU4MDhkMjhiMSAxMDA2NDQKLS0tIGEvbGlzcC9jYWxjL2NhbGMtZXh0 LmVsCisrKyBiL2xpc3AvY2FsYy9jYWxjLWV4dC5lbApAQCAtNzg1LDggKzc4NSwxMCBAQCBj YWxjLWluaXQtZXh0ZW5zaW9ucwogY2FsY0Z1bmMtZ2NkIGNhbGNGdW5jLWxjbSBjYWxjRnVu Yy1tb2ViaXVzIGNhbGNGdW5jLW5leHRwcmltZQogY2FsY0Z1bmMtcGVybSBjYWxjRnVuYy1w cmV2cHJpbWUgY2FsY0Z1bmMtcHJmYWMgY2FsY0Z1bmMtcHJpbWUKIGNhbGNGdW5jLXJhbmRv bSBjYWxjRnVuYy1zaHVmZmxlIGNhbGNGdW5jLXN0aXIxIGNhbGNGdW5jLXN0aXIyCi1jYWxj RnVuYy10b3RpZW50IG1hdGgtaW5pdC1yYW5kb20tYmFzZSBtYXRoLW1lbWJlciBtYXRoLXBy aW1lLXRlc3QKLW1hdGgtcmFuZG9tLWJhc2UpCitjYWxjRnVuYy10b3RpZW50CittYXRoLWlu aXQtcmFuZG9tLWJhc2UgOyBvYnNvbGVzY2VudCBhcyBvZiAyOS4xCittYXRoLXJhbmRvbS1i YXNlIDsgb2Jzb2xlc2NlbnQgYXMgb2YgMjkuMQorbWF0aC1tZW1iZXIgbWF0aC1wcmltZS10 ZXN0KQogCiAgKCJjYWxjY29tcCIgY2FsY0Z1bmMtY2FzY2VudCBjYWxjRnVuYy1jZGVzY2Vu dAogY2FsY0Z1bmMtY2hlaWdodCBjYWxjRnVuYy1jd2lkdGggbWF0aC1jb21wLWFzY2VudCBt YXRoLWNvbXAtZGVzY2VudApkaWZmIC0tZ2l0IGEvbGlzcC9jYWxjL2NhbGMtc3R1ZmYuZWwg Yi9saXNwL2NhbGMvY2FsYy1zdHVmZi5lbAppbmRleCA3NThiOTIwMTg0Li44N2E3ZWI2ZTY1 IDEwMDY0NAotLS0gYS9saXNwL2NhbGMvY2FsYy1zdHVmZi5lbAorKysgYi9saXNwL2NhbGMv Y2FsYy1zdHVmZi5lbApAQCAtMTU1LDcgKzE1NSw3IEBAIG1hdGgtbHVkLWNhY2hlCiAoZGVm dmFyIG1hdGgtbG9nMi1jYWNoZSkgOyBjYWxjLWJpbi5lbAogKGRlZnZhciBtYXRoLXJhZGl4 LWRpZ2l0cy1jYWNoZSkgOyBjYWxjLWJpbi5lbAogKGRlZnZhciBtYXRoLXJhZGl4LWZsb2F0 LWNhY2hlLXRhZykgOyBjYWxjLWJpbi5lbAotKGRlZnZhciBtYXRoLXJhbmRvbS1jYWNoZSkg OyBjYWxjLWNvbWIuZWwKKyhkZWZ2YXIgbWF0aC1yYW5kb20tY2FjaGUpIDsgY2FsYy1jb21i LmVsOyBvYnNvbGVzY2VudCBhcyBvZiAyOS4xCiAoZGVmdmFyIG1hdGgtbWF4LWRpZ2l0cy1j YWNoZSkgOyBjYWxjLWJpbi5lbAogKGRlZnZhciBtYXRoLWludGVncmFsLWNhY2hlKSA7IGNh bGNhbGcyLmVsCiAoZGVmdmFyIG1hdGgtdW5pdHMtdGFibGUpIDsgY2FsYy11bml0cy5lbApA QCAtMTcwLDcgKzE3MCw3IEBAIGNhbGMtZmx1c2gtY2FjaGVzCiAJIG1hdGgtbG9nMi1jYWNo ZSBuaWwKIAkgbWF0aC1yYWRpeC1kaWdpdHMtY2FjaGUgbmlsCiAJIG1hdGgtcmFkaXgtZmxv YXQtY2FjaGUtdGFnIG5pbAotCSBtYXRoLXJhbmRvbS1jYWNoZSBuaWwKKwkgbWF0aC1yYW5k b20tY2FjaGUgbmlsIDsgb2Jzb2xlc2NlbnQgYXMgb2YgMjkuMQogCSBtYXRoLW1heC1kaWdp dHMtY2FjaGUgbmlsCiAJIG1hdGgtaW50ZWdyYWwtY2FjaGUgbmlsCiAJIG1hdGgtdW5pdHMt dGFibGUgbmlsCi0tIAoyLjM0LjEKCg== --------------bVbBeQyfEb0W4nxZErMm2uqU Content-Type: text/x-patch; charset=UTF-8; name="0004-Simplify-calc-prog-by-using-random.patch" Content-Disposition: attachment; filename="0004-Simplify-calc-prog-by-using-random.patch" Content-Transfer-Encoding: base64 RnJvbSA1NzNkMDliZmEzYjQ3MmUzMTc5NWFkZDAzYWU2YTU4YzdhZDM0N2QxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTdW4sIDE2IE9jdCAyMDIyIDIzOjM3OjA3IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwNC8xMF0gPT9VVEYtOD9xP1NpbXBsaWZ5PTIwY2FsYy1wcm9nPTIwYnk9MjB1c2luZz0y MD89CiA9P1VURi04P3E/PUUyPTgwPTk4cmFuZG9tPUUyPTgwPTk5Pz0KTUlNRS1WZXJzaW9u OiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQt VHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCiogbGlzcC9jYWxjL2NhbGMtcHJvZy5lbCAoY2Fs Yy11c2VyLWRlZmluZS1mb3JtdWxhKToKU2ltcGxpZnkgYnkgdXNpbmcgKHJhbmRvbSBOKS4K LS0tCiBsaXNwL2NhbGMvY2FsYy1wcm9nLmVsIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwg MiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3AvY2Fs Yy9jYWxjLXByb2cuZWwgYi9saXNwL2NhbGMvY2FsYy1wcm9nLmVsCmluZGV4IDEyN2Y2MzQw YTEuLjA0MDllZjgwMjcgMTAwNjQ0Ci0tLSBhL2xpc3AvY2FsYy9jYWxjLXByb2cuZWwKKysr IGIvbGlzcC9jYWxjL2NhbGMtcHJvZy5lbApAQCAtMjAwLDcgKzIwMCw3IEBAIGNhbGMtdXNl ci1kZWZpbmUtZm9ybXVsYQogCQkJICAoZm9ybWF0ICIlMDNkIiBrZXkpKSkKIAkgICBvZGVm IChhc3NxIGtleSAoY2FsYy11c2VyLWtleS1tYXApKSkKICAgICAgKHVubGVzcyBrZXluYW1l Ci0gICAgICAgKHNldHEga2V5bmFtZSAoZm9ybWF0ICIlMDVkIiAoYWJzICglIChyYW5kb20p IDEwMDAwKSkpKSkKKyAgICAgICAoc2V0cSBrZXluYW1lIChmb3JtYXQgIiUwNWQiIChyYW5k b20gMTAwMDApKSkpCiAgICAgICh3aGlsZQogCSAocHJvZ24KIAkgICAoc2V0cSBjbWQtYmFz ZS1kZWZhdWx0IChjb25jYXQgIlVzZXItIiBrZXluYW1lKSkKQEAgLTI2OCw3ICsyNjgsNyBA QCBjYWxjLXVzZXItZGVmaW5lLWZvcm11bGEKIAkgKHNldHEgZnVuYyAoaW50ZXJuIChjb25j YXQgImNhbGNGdW5jLVVzZXIiCiAJCQkJICAgIChvciBrZXluYW1lCiAJCQkJCShhbmQgY21k IChzeW1ib2wtbmFtZSBjbWQpKQotCQkJCQkoZm9ybWF0ICIlMDVkIiAoJSAocmFuZG9tKSAx MDAwMCkpKSkpKSkKKwkJCQkJKGZvcm1hdCAiJTA1ZCIgKHJhbmRvbSAxMDAwMCkpKSkpKSkK IAogICAgICAoaWYgaXMtbGFtYmRhCiAJIChzZXRxIGNhbGMtdXNlci1mb3JtdWxhLWFsaXN0 IG1hdGgtYXJnbGlzdCkKLS0gCjIuMzQuMQoK --------------bVbBeQyfEb0W4nxZErMm2uqU Content-Type: text/x-patch; charset=UTF-8; name="0005-doc-lispref-numbers.texi-Improve-random-doc.patch" Content-Disposition: attachment; filename="0005-doc-lispref-numbers.texi-Improve-random-doc.patch" Content-Transfer-Encoding: base64 RnJvbSBiMTExZjk0MWUxM2JkNjI3ODcwZjdlODEyYjhiZTE1YjdmZWU0NTQ4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTdW4sIDE2IE9jdCAyMDIyIDIxOjM1OjQ3IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwNS8xMF0gPT9VVEYtOD9xPyo9MjBkb2MvbGlzcHJlZi9udW1iZXJzLnRleGk6PTIwSW1w cm92ZT89CiA9P1VURi04P3E/PTIwPUUyPTgwPTk4cmFuZG9tPUUyPTgwPTk5PTIwZG9jLj89 Ck1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1V VEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgotLS0KIGRvYy9saXNwcmVm L251bWJlcnMudGV4aSB8IDE4ICsrKysrKysrKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQs IDEzIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL2xp c3ByZWYvbnVtYmVycy50ZXhpIGIvZG9jL2xpc3ByZWYvbnVtYmVycy50ZXhpCmluZGV4IGZk Y2RhMzI4ZDguLmMxYTEzNDlkMWEgMTAwNjQ0Ci0tLSBhL2RvYy9saXNwcmVmL251bWJlcnMu dGV4aQorKysgYi9kb2MvbGlzcHJlZi9udW1iZXJzLnRleGkKQEAgLTEyMzgsNiArMTIzOCw5 IEBAIFJhbmRvbSBOdW1iZXJzCiBzZXF1ZW5jZSBvZiBudW1iZXJzLiAgQnkgZGVmYXVsdCwg RW1hY3MgaW5pdGlhbGl6ZXMgdGhlIHJhbmRvbSBzZWVkIGF0CiBzdGFydHVwLCBpbiBzdWNo IGEgd2F5IHRoYXQgdGhlIHNlcXVlbmNlIG9mIHZhbHVlcyBvZiBAY29kZXtyYW5kb219CiAo d2l0aCBvdmVyd2hlbG1pbmcgbGlrZWxpaG9vZCkgZGlmZmVycyBpbiBlYWNoIEVtYWNzIHJ1 bi4KK1RoZSByYW5kb20gc2VlZCBpcyB0eXBpY2FsbHkgaW5pdGlhbGl6ZWQgZnJvbSBzeXN0 ZW0gZW50cm9weTsKK2hvd2V2ZXIsIG9uIG9ic29sZXNjZW50IHBsYXRmb3JtcyBsYWNraW5n IGVudHJvcHkgcG9vbHMsCit0aGUgc2VlZCBpcyB0YWtlbiBmcm9tIGxlc3MtcmFuZG9tIHZv bGF0aWxlIGRhdGEgc3VjaCBhcyB0aGUgY3VycmVudCB0aW1lLgogCiAgIFNvbWV0aW1lcyB5 b3Ugd2FudCB0aGUgcmFuZG9tIG51bWJlciBzZXF1ZW5jZSB0byBiZSByZXBlYXRhYmxlLiAg Rm9yCiBleGFtcGxlLCB3aGVuIGRlYnVnZ2luZyBhIHByb2dyYW0gd2hvc2UgYmVoYXZpb3Ig ZGVwZW5kcyBvbiB0aGUgcmFuZG9tCkBAIC0xMjU2LDEyICsxMjU5LDE3IEBAIFJhbmRvbSBO dW1iZXJzCiBhbnkgZml4bnVtLCBpLmUuLCBhbnkgaW50ZWdlciBmcm9tIEBjb2Rle21vc3Qt bmVnYXRpdmUtZml4bnVtfSB0aHJvdWdoCiBAY29kZXttb3N0LXBvc2l0aXZlLWZpeG51bX0g KEBweHJlZntJbnRlZ2VyIEJhc2ljc30pLgogCitJZiBAdmFye2xpbWl0fSBpcyBhIHN0cmlu ZywgaXQgbWVhbnMgdG8gY2hvb3NlIGEgbmV3IHNlZWQgYmFzZWQgb24gdGhlCitzdHJpbmcn cyBjb250ZW50cy4gIFRoaXMgY2F1c2VzIGxhdGVyIGNhbGxzIHRvIEBjb2Rle3JhbmRvbX0g dG8gcmV0dXJuCithIHJlcHJvZHVjaWJsZSBzZXF1ZW5jZSBvZiByZXN1bHRzLgorCiBJZiBA dmFye2xpbWl0fSBpcyBAY29kZXt0fSwgaXQgbWVhbnMgdG8gY2hvb3NlIGEgbmV3IHNlZWQg YXMgaWYgRW1hY3MKLXdlcmUgcmVzdGFydGluZywgdHlwaWNhbGx5IGZyb20gdGhlIHN5c3Rl bSBlbnRyb3B5LiAgT24gc3lzdGVtcwotbGFja2luZyBlbnRyb3B5IHBvb2xzLCBjaG9vc2Ug dGhlIHNlZWQgZnJvbSBsZXNzLXJhbmRvbSB2b2xhdGlsZSBkYXRhCi1zdWNoIGFzIHRoZSBj dXJyZW50IHRpbWUuCit3ZXJlIHJlc3RhcnRpbmcuICBUaGlzIGNhdXNlcyBsYXRlciBjYWxs cyB0byBAY29kZXtyYW5kb219IHRvIHJldHVybgorYW4gdW5wcmVkaWN0YWJsZSBzZXF1ZW5j ZSBvZiByZXN1bHRzLgogCi1JZiBAdmFye2xpbWl0fSBpcyBhIHN0cmluZywgaXQgbWVhbnMg dG8gY2hvb3NlIGEgbmV3IHNlZWQgYmFzZWQgb24gdGhlCi1zdHJpbmcncyBjb250ZW50cy4K K0lmIHlvdSBuZWVkIGEgcmFuZG9tIG5vbmNlIGZvciBjcnlwdG9ncmFwaGljIHB1cnBvc2Vz LCBAY29kZXsocmFuZG9tCit0KX0gaXMgdHlwaWNhbGx5IG5vdCB0aGUgYmVzdCBhcHByb2Fj aCwgYXMgaXQgY2FuIGFkdmVyc2VseSBhZmZlY3Qgb3RoZXIKK3BhcnRzIG9mIHlvdXIgcHJv Z3JhbSB0aGF0IGJlbmVmaXQgZnJvbSByZXByb2R1Y2libGUgcmVzdWx0cywgYW5kIGl0IGNh bgorbGVhdmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG5vbmNlIHNjYXR0ZXJlZCBhYm91dCBF bWFjcydzIGludGVybmFsIHN0YXRlLgogCiBAZW5kIGRlZnVuCi0tIAoyLjM0LjEKCg== --------------bVbBeQyfEb0W4nxZErMm2uqU Content-Type: text/x-patch; charset=UTF-8; name="0006-New-function-make-nonce.patch" Content-Disposition: attachment; filename="0006-New-function-make-nonce.patch" Content-Transfer-Encoding: base64 RnJvbSA3MTEzY2U1YWI0YTI2NWRiN2YyODcwYzY2MTRkYTg4ZDA5NDA3NjA0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTdW4sIDE2IE9jdCAyMDIyIDE2OjMzOjA1IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwNi8xMF0gTmV3IGZ1bmN0aW9uIG1ha2Utbm9uY2UKCiogc3JjL2FsbG9jLmMgKGNsZWFy X25vbmNlLCBGbWFrZV9ub25jZSk6IE5ldyBmdW5jdGlvbnMuCiogc3JjL2Zucy5jOiBEbyBu b3QgaW5jbHVkZSA8c3lzL3JhbmRvbS5oPi4KKGV4dHJhY3RfZGF0YV9mcm9tX29iamVjdCk6 IFNpbXBsaWZ5IGJ5IGNhbGxpbmcgZ2V0X2VudHJvcHkuCiogc3JjL3N5c2RlcC5jIChnZXRf ZW50cm9weSk6IE5ldyBmdW5jdGlvbiwgdGFrZW4gZnJvbQp0aGUgb2xkIGV4dHJhY3RfZGF0 YV9mcm9tX29iamVjdC4KLS0tCiBkb2MvbGlzcHJlZi9udW1iZXJzLnRleGkgfCAgMiArKwog ZG9jL2xpc3ByZWYvc3RyaW5ncy50ZXhpIHwgMTIgKysrKysrKysrKysrCiBldGMvTkVXUyAg ICAgICAgICAgICAgICAgfCAgNCArKysrCiBzcmMvYWxsb2MuYyAgICAgICAgICAgICAgfCAz NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHNyYy9mbnMuYyAgICAg ICAgICAgICAgICB8IDEyICstLS0tLS0tLS0tLQogc3JjL2xpc3AuaCAgICAgICAgICAgICAg IHwgIDMgKystCiBzcmMvc3lzZGVwLmMgICAgICAgICAgICAgfCAxNiArKysrKysrKysrKysr KysrCiA3IGZpbGVzIGNoYW5nZWQsIDczIGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RvYy9saXNwcmVmL251bWJlcnMudGV4aSBiL2RvYy9saXNwcmVm L251bWJlcnMudGV4aQppbmRleCBjMWExMzQ5ZDFhLi4wNzlmN2JkYTljIDEwMDY0NAotLS0g YS9kb2MvbGlzcHJlZi9udW1iZXJzLnRleGkKKysrIGIvZG9jL2xpc3ByZWYvbnVtYmVycy50 ZXhpCkBAIC0xMjcxLDUgKzEyNzEsNyBAQCBSYW5kb20gTnVtYmVycwogdCl9IGlzIHR5cGlj YWxseSBub3QgdGhlIGJlc3QgYXBwcm9hY2gsIGFzIGl0IGNhbiBhZHZlcnNlbHkgYWZmZWN0 IG90aGVyCiBwYXJ0cyBvZiB5b3VyIHByb2dyYW0gdGhhdCBiZW5lZml0IGZyb20gcmVwcm9k dWNpYmxlIHJlc3VsdHMsIGFuZCBpdCBjYW4KIGxlYXZlIGluZm9ybWF0aW9uIGFib3V0IHRo ZSBub25jZSBzY2F0dGVyZWQgYWJvdXQgRW1hY3MncyBpbnRlcm5hbCBzdGF0ZS4KK0ZvciBu b25jZXMsIGl0IGlzIHR5cGljYWxseSBiZXR0ZXIgdG8gdXNlIEBjb2Rle21ha2Utbm9uY2V9 CisoQHB4cmVme0NyZWF0aW5nIFN0cmluZ3N9KS4KIAogQGVuZCBkZWZ1bgpkaWZmIC0tZ2l0 IGEvZG9jL2xpc3ByZWYvc3RyaW5ncy50ZXhpIGIvZG9jL2xpc3ByZWYvc3RyaW5ncy50ZXhp CmluZGV4IGNmOTYxZTllN2MuLjBmM2UwYWUyMTMgMTAwNjQ0Ci0tLSBhL2RvYy9saXNwcmVm L3N0cmluZ3MudGV4aQorKysgYi9kb2MvbGlzcHJlZi9zdHJpbmdzLnRleGkKQEAgLTQ1NSw2 ICs0NTUsMTggQEAgQ3JlYXRpbmcgU3RyaW5ncwogUmVtb3ZlIHRoZSBmaW5hbCBuZXdsaW5l LCBpZiBhbnksIGZyb20gQHZhcntzdHJpbmd9LgogQGVuZCBkZWZ1bgogCitAZGVmdW4gbWFr ZS1ub25jZSBsZW5ndGggJm9wdGlvbmFsIGZ1bmN0aW9uCitSZXR1cm4gYSBuZXdseSBjcmVh dGVkIHJhbmRvbSBzdHJpbmcgb2YgbGVuZ3RoIEB2YXJ7bGVuZ3RofS4KK1RoZSBzdHJpbmcg aXMgdW5pYnl0ZSwgd2l0aCBieXRlcyB0YWtlbiBmcm9tIHN5c3RlbSBlbnRyb3B5LAorYW5k IHdpdGggZWFjaCBzdHJpbmcgdmFsdWUgZXF1YWxseSBsaWtlbHkuCisKK0lmIEB2YXJ7ZnVu Y3Rpb259IGlzIGdpdmVuLCBjYWxsIGl0IHdpdGggdGhlIG5ld2x5IGNyZWF0ZWQgc3RyaW5n IGFzCithbiBhcmd1bWVudCBhbmQgcmV0dXJuIHRoZSB2YWx1ZSB0aGF0IEB2YXJ7ZnVuY3Rp b259IHJldHVybnMuCitXaGVuIHRoZSBmdW5jdGlvbiBleGl0cywgb3ZlcndyaXRlIHRoZSBz dHJpbmcncyByYW5kb20gY29udGVudHMgd2l0aAordW5zcGVjaWZpZWQgYnl0ZXMsIHRvIGxl c3NlbiBpbmZvcm1hdGlvbiBsZWFrYWdlIGluIGluc2VjdXJlIGNvZGUuCitUaGUgc3RyaW5n J3MgY29udGVudHMgYXJlIHRoZXJlZm9yZSB2YWxpZCBvbmx5IGR1cmluZyB0aGUgZnVuY3Rp b24gY2FsbC4KK0BlbmQgZGVmdW4KKwogQG5vZGUgTW9kaWZ5aW5nIFN0cmluZ3MKIEBzZWN0 aW9uIE1vZGlmeWluZyBTdHJpbmdzCiBAY2luZGV4IG1vZGlmeWluZyBzdHJpbmdzCmRpZmYg LS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IDA0MWZlMGJkYmQuLjI5MzhkNmFj YWYgMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC0zNDIyLDYgKzM0 MjIsMTAgQEAgc3RyaW5nLCBhbmQgYSBjYWxsYmFjayBpcyBjYWxsZWQgd2hlbiB0aGUgdXNl ciB0eXBlcyAnQy1jIEMtYycuCiBUaGlzIGlzIGEgbW9kYWwgdmVyc2lvbiBvZiAnc3RyaW5n LWVkaXQnLCBhbmQgY2FuIGJlIHVzZWQgYXMgYW4KIGFsdGVybmF0aXZlIHRvICdyZWFkLXN0 cmluZycuCiAKKysrKworKiogTmV3IGZ1bmN0aW9uICdtYWtlLW5vbmNlJy4KK1RoaXMgY3Jl YXRlcyBhIHJhbmRvbSBzdHJpbmcsIHVzZWZ1bCBmb3IgY3J5cHRvZ3JhcGhpYyBub25jZXMu CisKICsrKwogKiogVGhlIHJldHVybiB2YWx1ZSBvZiAnY2xlYXItbWVzc2FnZS1mdW5jdGlv bicgaXMgbm90IGlnbm9yZWQgYW55bW9yZS4KIElmIHRoZSBmdW5jdGlvbiByZXR1cm5zICdk b250LWNsZWFyLW1lc3NhZ2UnLCB0aGVuIHRoZSBtZXNzYWdlIGlzIG5vdApkaWZmIC0tZ2l0 IGEvc3JjL2FsbG9jLmMgYi9zcmMvYWxsb2MuYwppbmRleCA0MTljNWU1NThiLi5mOGZkOTU0 ZmY2IDEwMDY0NAotLS0gYS9zcmMvYWxsb2MuYworKysgYi9zcmMvYWxsb2MuYwpAQCAtMjI2 Niw2ICsyMjY2LDQxIEBAIERFRlVOICgibWFrZS1zdHJpbmciLCBGbWFrZV9zdHJpbmcsIFNt YWtlX3N0cmluZywgMiwgMywgMCwKICAgcmV0dXJuIHZhbDsKIH0KIAorLyogU2V0IGFsbCB0 aGUgYnl0ZXMgb2YgTk9OQ0UgKGEgdW5pYnl0ZSBzdHJpbmcpIHRvIHVuc3BlY2lmZWQgdmFs dWVzLAorICAgYXMgc2VjdXJlbHkgYXMgcG9zc2libGUuICAqLworCitzdGF0aWMgdm9pZAor Y2xlYXJfbm9uY2UgKExpc3BfT2JqZWN0IG5vbmNlKQoreworICBleHBsaWNpdF9iemVybyAo U0RBVEEgKG5vbmNlKSwgU0NIQVJTIChub25jZSkpOworfQorCitERUZVTiAoIm1ha2Utbm9u Y2UiLCBGbWFrZV9ub25jZSwgU21ha2Vfbm9uY2UsCisgICAgICAgMSwgMiwgMCwKKyAgICAg ICBkb2M6IC8qIFJldHVybiBhIHJhbmRvbSBzdHJpbmcgb2YgbGVuZ3RoIExFTkdUSC4KK1Ro ZSBzdHJpbmcgaXMgdW5pYnl0ZSwgd2l0aCBieXRlcyB0YWtlbiBmcm9tIHN5c3RlbSBlbnRy b3B5LgorCitJZiBGVU5DVElPTiBpcyBnaXZlbiwgY2FsbCBpdCB3aXRoIHdpdGggbmV3bHkg Y3JlYXRlZCBzdHJpbmcgYXMgYW4KK2FyZ3VtZW50IGFuZCByZXR1cm4gdGhlIHZhbHVlIHRo YXQgRlVOQ1RJT04gcmV0dXJucy4gIFdoZW4gdGhlCitmdW5jdGlvbiBleGl0cywgb3Zlcndy aXRlIHRoZSBuZXdseSBjcmVhdGVkIHN0cmluZydzIGNvbnRlbnRzIHdpdGgKK3Vuc3BlY2lm aWVkIGJ5dGVzLCBmb3Igc2VjdXJpdHkuICAqLykKKyAgKExpc3BfT2JqZWN0IGxlbmd0aCwg TGlzcF9PYmplY3QgZnVuY3Rpb24pCit7CisgIENIRUNLX0ZJWE5BVCAobGVuZ3RoKTsKKyAg RU1BQ1NfSU5UIG5ieXRlcyA9IFhGSVhOQVQgKGxlbmd0aCk7CisgIExpc3BfT2JqZWN0IG5v bmNlID0gbWFrZV91bmluaXRfc3RyaW5nIChuYnl0ZXMpOworICBnZXRfZW50cm9weSAoU0RB VEEgKG5vbmNlKSwgWEZJWE5BVCAobGVuZ3RoKSk7CisgIGlmIChOSUxQIChmdW5jdGlvbikp CisgICAgcmV0dXJuIG5vbmNlOworCisgIC8qIFBpbiB0aGUgc3RyaW5nLCBhbmQgY2xlYXIg aXQgYWZ0ZXIgRlVOQ1RJT04gZXhpdHMsIHRvIGxlc3NlbgorICAgICBpbmZvcm1hdGlvbiBs ZWFrYWdlIGlmIEVtYWNzIGlzIGJ1Z2d5IGVsc2V3aGVyZS4gICovCisgIHBpbl9zdHJpbmcg KG5vbmNlKTsKKyAgc3BlY3BkbF9yZWYgY291bnQgPSBTUEVDUERMX0lOREVYICgpOworICBy ZWNvcmRfdW53aW5kX3Byb3RlY3QgKGNsZWFyX25vbmNlLCBub25jZSk7CisgIHJldHVybiB1 bmJpbmRfdG8gKGNvdW50LCBjYWxsMSAoZnVuY3Rpb24sIG5vbmNlKSk7Cit9CisKIC8qIEZp bGwgQSB3aXRoIDEgYml0cyBpZiBJTklUIGlzIG5vbi1uaWwsIGFuZCB3aXRoIDAgYml0cyBv dGhlcndpc2UuCiAgICBSZXR1cm4gQS4gICovCiAKQEAgLTc4NjIsNiArNzg5Nyw3IEBAIHN5 bXNfb2ZfYWxsb2MgKHZvaWQpCiAgIGRlZnN1YnIgKCZTbWFrZV92ZWN0b3IpOwogICBkZWZz dWJyICgmU21ha2VfcmVjb3JkKTsKICAgZGVmc3ViciAoJlNtYWtlX3N0cmluZyk7CisgIGRl ZnN1YnIgKCZTbWFrZV9ub25jZSk7CiAgIGRlZnN1YnIgKCZTbWFrZV9ib29sX3ZlY3Rvcik7 CiAgIGRlZnN1YnIgKCZTbWFrZV9zeW1ib2wpOwogICBkZWZzdWJyICgmU21ha2VfbWFya2Vy KTsKZGlmZiAtLWdpdCBhL3NyYy9mbnMuYyBiL3NyYy9mbnMuYwppbmRleCA0MDU1NzkyMzgy Li4zZDJjOGM4OGFiIDEwMDY0NAotLS0gYS9zcmMvZm5zLmMKKysrIGIvc3JjL2Zucy5jCkBA IC0yMSw3ICsyMSw2IEBAIENvcHlyaWdodCAoQykgMTk4NS0xOTg3LCAxOTkzLTE5OTUsIDE5 OTctMjAyMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCiAjaW5jbHVkZSA8Y29uZmlnLmg+ CiAKICNpbmNsdWRlIDxzdGRsaWIuaD4KLSNpbmNsdWRlIDxzeXMvcmFuZG9tLmg+CiAjaW5j bHVkZSA8dW5pc3RkLmg+CiAjaW5jbHVkZSA8ZmlsZXZlcmNtcC5oPgogI2luY2x1ZGUgPGlu dHByb3BzLmg+CkBAIC01NjgzLDE2ICs1NjgyLDcgQEAgZXh0cmFjdF9kYXRhX2Zyb21fb2Jq ZWN0IChMaXNwX09iamVjdCBzcGVjLAogICAgICAgICB7CiAJICBFTUFDU19JTlQgc3RhcnRf aG9sZCA9IFhGSVhOQVQgKHN0YXJ0KTsKICAgICAgICAgICBvYmplY3QgPSBtYWtlX3VuaW5p dF9zdHJpbmcgKHN0YXJ0X2hvbGQpOwotCSAgY2hhciAqbGltID0gU1NEQVRBIChvYmplY3Qp ICsgc3RhcnRfaG9sZDsKLQkgIGZvciAoY2hhciAqcCA9IFNTREFUQSAob2JqZWN0KTsgcCA8 IGxpbTsgcCsrKQotCSAgICB7Ci0JICAgICAgc3NpemVfdCBnb3R0ZW4gPSBnZXRyYW5kb20g KHAsIGxpbSAtIHAsIDApOwotCSAgICAgIGlmICgwIDw9IGdvdHRlbikKLQkJcCArPSBnb3R0 ZW47Ci0JICAgICAgZWxzZSBpZiAoZXJybm8gIT0gRUlOVFIpCi0JCXJlcG9ydF9maWxlX2Vy cm9yICgiR2V0dGluZyByYW5kb20gZGF0YSIsIFFuaWwpOwotCSAgICB9Ci0KKwkgIGdldF9l bnRyb3B5IChTREFUQSAob2JqZWN0KSwgc3RhcnRfaG9sZCk7CiAgICAgICAgICAgKnN0YXJ0 X2J5dGUgPSAwOwogICAgICAgICAgICplbmRfYnl0ZSA9IHN0YXJ0X2hvbGQ7CiAgICAgICAg IH0KZGlmZiAtLWdpdCBhL3NyYy9saXNwLmggYi9zcmMvbGlzcC5oCmluZGV4IDVmNjcyMTU5 NWMuLjA1MzcyNWI3OTggMTAwNjQ0Ci0tLSBhL3NyYy9saXNwLmgKKysrIGIvc3JjL2xpc3Au aApAQCAtMTU4MSw3ICsxNTgxLDcgQEAgQ0RSX1NBRkUgKExpc3BfT2JqZWN0IGMpCiAJIElm IG5lZ2F0aXZlLCB0aGUgc3RyaW5nIGlzIHVuaWJ5dGU6CiAJIC0xIGZvciBkYXRhIG5vcm1h bGx5IGFsbG9jYXRlZAogCSAtMiBmb3IgZGF0YSBpbiByb2RhdGEgKEMgc3RyaW5nIGNvbnN0 YW50cykKLQkgLTMgZm9yIGRhdGEgdGhhdCBtdXN0IGJlIGltbW92YWJsZSAodXNlZCBmb3Ig Ynl0ZWNvZGUpICAqLworCSAtMyBmb3IgZGF0YSB0aGF0IG11c3QgYmUgaW1tb3ZhYmxlICh1 c2VkIGZvciBieXRlY29kZSBhbmQgbm9uY2VzKSAgKi8KICAgICAgIHB0cmRpZmZfdCBzaXpl X2J5dGU7CiAKICAgICAgIElOVEVSVkFMIGludGVydmFsczsJLyogVGV4dCBwcm9wZXJ0aWVz IGluIHRoaXMgc3RyaW5nLiAgKi8KQEAgLTUwNDIsNiArNTA0Miw3IEBAIG1heWJlX2Rpc2Fi bGVfYWRkcmVzc19yYW5kb21pemF0aW9uIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiBleHRl cm4gdW5zaWduZWQgbG9uZyBpbnQgZ2V0X3JhbmRvbV91bG9uZyAodm9pZCk7CiBleHRlcm4g dm9pZCBzZWVkX3JhbmRvbSAodm9pZCAqLCBwdHJkaWZmX3QpOwogZXh0ZXJuIHZvaWQgaW5p dF9yYW5kb20gKHZvaWQpOworZXh0ZXJuIHZvaWQgZ2V0X2VudHJvcHkgKHZvaWQgKiwgcHRy ZGlmZl90KTsKIGV4dGVybiB2b2lkIGVtYWNzX2JhY2t0cmFjZSAoaW50KTsKIGV4dGVybiBB Vk9JRCBlbWFjc19hYm9ydCAodm9pZCkgTk9fSU5MSU5FOwogZXh0ZXJuIGludCBlbWFjc19m c3RhdGF0IChpbnQsIGNoYXIgY29uc3QgKiwgdm9pZCAqLCBpbnQpOwpkaWZmIC0tZ2l0IGEv c3JjL3N5c2RlcC5jIGIvc3JjL3N5c2RlcC5jCmluZGV4IDQ3ODZjOGZhNGYuLjUxMTc0NjBm YzAgMTAwNjQ0Ci0tLSBhL3NyYy9zeXNkZXAuYworKysgYi9zcmMvc3lzZGVwLmMKQEAgLTIx NTksNiArMjE1OSwyMiBAQCBzZWVkX3JhbmRvbSAodm9pZCAqc2VlZCwgcHRyZGlmZl90IHNl ZWRfc2l6ZSkKICAgc2V0X3JhbmRvbV9zZWVkIChhcmcpOwogfQogCisvKiBTZXQgQlVGLCBv ZiBzaXplIEJVRlNJWkUsIHRvIHJhbmRvbSBkYXRhIGRlcml2ZWQgZnJvbSBzeXN0ZW0gZW50 cm9weS4gICovCisKK3ZvaWQKK2dldF9lbnRyb3B5ICh2b2lkICpidWYsIHB0cmRpZmZfdCBi dWZzaXplKQoreworICBjaGFyICpwID0gYnVmLCAqbGltID0gcCArIGJ1ZnNpemU7CisgIHdo aWxlIChwIDwgbGltKQorICAgIHsKKyAgICAgIHNzaXplX3QgZ290dGVuID0gZ2V0cmFuZG9t IChwLCBsaW0gLSBwLCAwKTsKKyAgICAgIGlmICgwIDw9IGdvdHRlbikKKwlwICs9IGdvdHRl bjsKKyAgICAgIGVsc2UgaWYgKGVycm5vICE9IEVJTlRSKQorCXJlcG9ydF9maWxlX2Vycm9y ICgiR2V0dGluZyByYW5kb20gZGF0YSIsIFFuaWwpOworICAgIH0KK30KKwogdm9pZAogaW5p dF9yYW5kb20gKHZvaWQpCiB7Ci0tIAoyLjM0LjEKCg== --------------bVbBeQyfEb0W4nxZErMm2uqU Content-Type: text/x-patch; charset=UTF-8; name="0007-Simplify-auth-source-obfuscate-via-make-nonce.patch" Content-Disposition: attachment; filename="0007-Simplify-auth-source-obfuscate-via-make-nonce.patch" Content-Transfer-Encoding: base64 RnJvbSA0NWVmZTcwY2UyZmZmNDIxMTAxM2I2ODg5MTFiNzZhNjQwMGZiMGY1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBNb24sIDE3IE9jdCAyMDIyIDAwOjA1OjMxIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwNy8xMF0gPT9VVEYtOD9xP1NpbXBsaWZ5PTIwYXV0aC1zb3VyY2UtLW9iZnVzY2F0ZT0y MHZpYT89CiA9P1VURi04P3E/PTIwPUUyPTgwPTk4bWFrZS1ub25jZT1FMj04MD05OT89Ck1J TUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYt OApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgoqIGxpc3AvYXV0aC1zb3VyY2Uu ZWwgKGF1dGgtc291cmNlLS1vYmZ1c2NhdGUpOgpTaW1wbGlmeSBieSB1c2luZyBtYWtlLW5v bmNlLiAgVGhpcyBhbHNvIGltcHJvdmVzIHRoZSBub25jZSBieSB1c2luZwphbGwgdGhlIGJp dHMgaW4gZWFjaCBieXRlLgotLS0KIGxpc3AvYXV0aC1zb3VyY2UuZWwgfCA0ICstLS0KIDEg ZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9saXNwL2F1dGgtc291cmNlLmVsIGIvbGlzcC9hdXRoLXNvdXJjZS5lbAppbmRleCBm ZWVmZDM5MWE4Li5jYmE3MzI0ZWE5IDEwMDY0NAotLS0gYS9saXNwL2F1dGgtc291cmNlLmVs CisrKyBiL2xpc3AvYXV0aC1zb3VyY2UuZWwKQEAgLTEyMTYsOSArMTIxNiw3IEBAIGF1dGgt c291cmNlLS1vYmZ1c2NhdGUKICAgOzsgdXNlZnVsIGluZm9ybWF0aW9uIGlzIGxlYWtlZC4g IElmIHlvdSByZXNldCB0aGUgbm9uY2UsIHlvdSBhbHNvCiAgIDs7IGhhdmUgdG8gY2FsbCBg YXV0aC1zb3VyY2UtZm9yZ2V0LWFsbC1jYWNoZWQnLgogICAodW5sZXNzIGF1dGgtc291cmNl LS1zZXNzaW9uLW5vbmNlCi0gICAgKHNldHEgYXV0aC1zb3VyY2UtLXNlc3Npb24tbm9uY2UK LSAgICAgICAgICAoYXBwbHkgIydzdHJpbmcgKGNsLWxvb3AgcmVwZWF0IDE2Ci0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3QgKHJhbmRvbSAxMjgpKSkpKQor ICAgIChzZXRxIGF1dGgtc291cmNlLS1zZXNzaW9uLW5vbmNlIChtYWtlLW5vbmNlIDE2KSkp CiAgIChpZiAoYW5kIChmYm91bmRwICdnbnV0bHMtc3ltbWV0cmljLWVuY3J5cHQpCiAgICAg ICAgICAgIChnbnV0bHMtYXZhaWxhYmxlLXApKQogICAgICAgKGxldCAoKGNkYXRhIChjYXIg KGxhc3QgKGdudXRscy1jaXBoZXJzKSkpKSkKLS0gCjIuMzQuMQoK --------------bVbBeQyfEb0W4nxZErMm2uqU Content-Type: text/x-patch; charset=UTF-8; name="0008-Simplify-ntml-by-using-make-nonce.patch" Content-Disposition: attachment; filename="0008-Simplify-ntml-by-using-make-nonce.patch" Content-Transfer-Encoding: base64 RnJvbSBlNTA2NmIwYjc5MGYzZDgwOWIwMTY5NjdiMjIyYzRlYWZlOGU3Yjg4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTdW4sIDE2IE9jdCAyMDIyIDIzOjM3OjU4IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwOC8xMF0gU2ltcGxpZnkgbnRtbCBieSB1c2luZyBtYWtlLW5vbmNlCgoqIGxpc3AvbmV0 L250bG0uZWwgKG50bG0tZ2VuZXJhdGUtbm9uY2UpOiBTaW1wbGlmeS4KLS0tCiBsaXNwL25l dC9udGxtLmVsIHwgNCArLS0tCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDMg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9uZXQvbnRsbS5lbCBiL2xpc3AvbmV0 L250bG0uZWwKaW5kZXggYjU4ZjBhYmI1Ni4uMDNhNmMzN2ZmMyAxMDA2NDQKLS0tIGEvbGlz cC9uZXQvbnRsbS5lbAorKysgYi9saXNwL25ldC9udGxtLmVsCkBAIC0yMjEsOSArMjIxLDcg QEAgbnRsbS1jb21wdXRlLXRpbWVzdGFtcAogKGRlZnVuIG50bG0tZ2VuZXJhdGUtbm9uY2Ug KCkKICAgIkdlbmVyYXRlIGEgcmFuZG9tIG5vbmNlLCBub3QgdG8gYmUgdXNlZCBtb3JlIHRo YW4gb25jZS4KIFJldHVybiBhIHJhbmRvbSBlaWdodCBieXRlIHVuaWJ5dGUgc3RyaW5nLiIK LSAgKHVuaWJ5dGUtc3RyaW5nCi0gICAocmFuZG9tIDI1NikgKHJhbmRvbSAyNTYpIChyYW5k b20gMjU2KSAocmFuZG9tIDI1NikKLSAgIChyYW5kb20gMjU2KSAocmFuZG9tIDI1NikgKHJh bmRvbSAyNTYpIChyYW5kb20gMjU2KSkpCisgIChtYWtlLW5vbmNlIDgpKQogCiAoZGVmdW4g bnRsbS1idWlsZC1hdXRoLXJlc3BvbnNlIChjaGFsbGVuZ2UgdXNlciBwYXNzd29yZC1oYXNo ZXMpCiAgICJSZXR1cm4gdGhlIHJlc3BvbnNlIHN0cmluZyB0byBhIGNoYWxsZW5nZSBzdHJp bmcgQ0hBTExFTkdFIGdpdmVuIGJ5Ci0tIAoyLjM0LjEKCg== --------------bVbBeQyfEb0W4nxZErMm2uqU Content-Type: text/x-patch; charset=UTF-8; name="0009-Improve-randomness-of-server.el.patch" Content-Disposition: attachment; filename="0009-Improve-randomness-of-server.el.patch" Content-Transfer-Encoding: base64 RnJvbSAxMjQ2MzZmNTIwMmE0MWM4ZmViNDYzMzBmM2M4ZmNkOWY0ZWVkOWU4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTdW4sIDE2IE9jdCAyMDIyIDIzOjQwOjE0IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwOS8xMF0gSW1wcm92ZSByYW5kb21uZXNzIG9mIHNlcnZlci5lbAoKKiBsaXNwL3NlcnZl ci5lbCAoc2VydmVyLWdlbmVyYXRlLWtleSk6IEdlbmVyYXRlIGZyb20gc3lzdGVtCmVudHJv cHksIHJhdGhlciB0aGFuIGZyb20gKHJhbmRvbSkgd2hpY2ggaXMgbG93ZXIgcXVhbGl0eS4K LS0tCiBsaXNwL3NlcnZlci5lbCB8IDIzICsrKysrKysrKysrKysrKysrKystLS0tCiAxIGZp bGUgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9saXNwL3NlcnZlci5lbCBiL2xpc3Avc2VydmVyLmVsCmluZGV4IDkwZDk3YzE1Mzgu LmIyYmMyNDVjMDIgMTAwNjQ0Ci0tLSBhL2xpc3Avc2VydmVyLmVsCisrKyBiL2xpc3Avc2Vy dmVyLmVsCkBAIC01OTAsMTAgKzU5MCwyNSBAQCBzZXJ2ZXItZ2VuZXJhdGUta2V5CiBUaGUg a2V5IGlzIGEgNjQtYnl0ZSBzdHJpbmcgb2YgcmFuZG9tIGNoYXJzIGluIHRoZSByYW5nZSBg IScuLmB+Jy4KIElmIGNhbGxlZCBpbnRlcmFjdGl2ZWx5LCBhbHNvIGluc2VydHMgaXQgaW50 byBjdXJyZW50IGJ1ZmZlci4iCiAgIChpbnRlcmFjdGl2ZSkKLSAgKGxldCAoKGF1dGgta2V5 Ci0JIChjbC1sb29wIHJlcGVhdCA2NAotICAgICAgICAgICAgICAgICAgY29sbGVjdCAoKyAz MyAocmFuZG9tIDk0KSkgaW50byBhdXRoCi0gICAgICAgICAgICAgICAgICBmaW5hbGx5IHJl dHVybiAoY29uY2F0IGF1dGgpKSkpCisgIChsZXQqICgoYmFzZSA5NCkgKGF1dGgta2V5LWxl biA2NCkKKwkgKGF1dGgta2V5IChtYWtlLXN0cmluZyBhdXRoLWtleS1sZW4gMCkpCisJIDs7 IDErIGJlY2F1c2Ugd2UgZGl2aWRlIGJ5IEJBU0UgZmlyc3QsIGJlZm9yZSB0YWtpbmcgdGhl IHJlbWFpbmRlci4KKwkgOzsgVGhlIGRpdmlzaW9uIGlzIGZpcnN0IGJlY2F1c2UgaWYgd2Ug dG9vayB0aGUgcmVtYWluZGVyIGZpcnN0CisJIDs7IHRoZSBmaXJzdCByZW1haW5kZXIgd291 bGQgbm90IGJlIGVudGlyZWx5IHJhbmRvbS4KKwkgKG5vbmNlLWxlbmd0aCAoMSsgKGNlaWxp bmcgKGxvZ2IgKGV4cHQgYmFzZSBhdXRoLWtleS1sZW4pKSA4KSkpKQorICAgIDs7IFVzZSBt YWtlLW5vbmNlIHdpdGggYSBmdW5jdGlvbiBhcmcsIHRvIGNsZWFyIHRoZSBub25jZS4KKyAg ICA7OyBhdXRoLWtleSBhbmQgdGhlIGJpZ251bSBuIHN0aWxsIGhhdmUgdGhlIG5vbmNlJ3Mg aW5mbywgdGhvdWdoLgorICAgIChtYWtlLW5vbmNlCisgICAgIG5vbmNlLWxlbmd0aAorICAg ICAjJyhsYW1iZGEgKG5vbmNlKQorCSAobGV0ICgobiAwKSkKKwkgICA7OyBTZXQgTiB0byBi ZSBhbGwgdGhlIG5vbmNlJ3MgYml0cywgY29uY2F0ZW5hdGVkLgorCSAgIChjbC1sb29wIGZv ciBpIGJlbG93IG5vbmNlLWxlbmd0aAorCQkgICAgZG8gKHNldHEgbiAoKyAoKiAyNTYgbikg KGFyZWYgbm9uY2UgaSkpKSkKKwkgICA7OyBSZXBlYXRlZGx5IGRpdmlkZSBhbmQgcmVtYWlu ZGVyIHRvIGNvbXB1dGUgZWFjaCBieXRlLgorCSAgIChjbC1sb29wIGZvciBpIGJlbG93IGF1 dGgta2V5LWxlbgorCQkgICAgZG8gKHNldHEgbiAoLyBuIGJhc2UpKQorCQkgICAgICAgKGFz ZXQgYXV0aC1rZXkgaSAoKyAzMyAoJSBuIGJhc2UpKSkpKSkpCiAgICAgKGlmIChjYWxsZWQt aW50ZXJhY3RpdmVseS1wICdpbnRlcmFjdGl2ZSkKIAkoaW5zZXJ0IGF1dGgta2V5KSkKICAg ICBhdXRoLWtleSkpCi0tIAoyLjM0LjEKCg== --------------bVbBeQyfEb0W4nxZErMm2uqU Content-Type: text/x-patch; charset=UTF-8; name="0010-Improve-randomness-of-message-canlock-generate.patch" Content-Disposition: attachment; filename*0="0010-Improve-randomness-of-message-canlock-generate.patch" Content-Transfer-Encoding: base64 RnJvbSA1NGEyZDVhNjViMmU4NjhjZTNiMThjNDdmNTA4ODZkMDc0MTRhZGVjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBNb24sIDE3IE9jdCAyMDIyIDAwOjAwOjQ0IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAxMC8xMF0gSW1wcm92ZSByYW5kb21uZXNzIG9mIG1lc3NhZ2UtY2FubG9jay1nZW5lcmF0 ZQoKKiBsaXNwL2dudXMvbWVzc2FnZS5lbCAobWVzc2FnZS1jYW5sb2NrLWdlbmVyYXRlKToK U2ltcGxpZnkgYnkgdXNpbmcgbWFrZS1ub25jZS4KLS0tCiBsaXNwL2dudXMvbWVzc2FnZS5l bCB8IDUgKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgNCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL2dudXMvbWVzc2FnZS5lbCBiL2xpc3AvZ251cy9t ZXNzYWdlLmVsCmluZGV4IDVlNGU5ODU0YTYuLjY3MDg0NDcwM2QgMTAwNjQ0Ci0tLSBhL2xp c3AvZ251cy9tZXNzYWdlLmVsCisrKyBiL2xpc3AvZ251cy9tZXNzYWdlLmVsCkBAIC01MTky LDEwICs1MTkyLDcgQEAgbWVzc2FnZS1zZW5kLW1haWwtd2l0aC1tYWlsY2xpZW50CiAoZGVm dW4gbWVzc2FnZS1jYW5sb2NrLWdlbmVyYXRlICgpCiAgICJSZXR1cm4gYSBzdHJpbmcgdGhh dCBpcyBub24tdHJpdmlhbCB0byBndWVzcy4KIERvIG5vdCB1c2UgdGhpcyBmb3IgYW55dGhp bmcgaW1wb3J0YW50LCBpdCBpcyBjcnlwdG9ncmFwaGljYWxseSB3ZWFrLiIKLSAgKHNoYTEg KGNvbmNhdCAobWVzc2FnZS11bmlxdWUtaWQpCi0gICAgICAgICAgICAgICAgKGZvcm1hdCAi JXgleCV4IiAocmFuZG9tKSAocmFuZG9tKSAocmFuZG9tKSkKLSAgICAgICAgICAgICAgICAo cHJpbjEtdG8tc3RyaW5nIChyZWNlbnQta2V5cykpCi0gICAgICAgICAgICAgICAgKHByaW4x LXRvLXN0cmluZyAoZ2FyYmFnZS1jb2xsZWN0KSkpKSkKKyAgKG1ha2Utbm9uY2UgMjAgIydz aGExKSkKIAogKGRlZnZhciBjYW5sb2NrLXBhc3N3b3JkKQogKGRlZnZhciBjYW5sb2NrLXBh c3N3b3JkLWZvci12ZXJpZnkpCi0tIAoyLjM0LjEKCg== --------------bVbBeQyfEb0W4nxZErMm2uqU--