From unknown Sun Aug 17 22:07:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#34121: 26.1; elisp crashes on OpenPGP certificates with User IDs without an e-mail address Resent-From: Daniel Kahn Gillmor Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 18 Jan 2019 08:20:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 34121 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 34121@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.15477995517396 (code B ref -1); Fri, 18 Jan 2019 08:20:01 +0000 Received: (at submit) by debbugs.gnu.org; 18 Jan 2019 08:19:11 +0000 Received: from localhost ([127.0.0.1]:35629 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gkPMs-0001vE-Ib for submit@debbugs.gnu.org; Fri, 18 Jan 2019 03:19:10 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41476) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gkPMq-0001v1-WB for submit@debbugs.gnu.org; Fri, 18 Jan 2019 03:19:09 -0500 Received: from lists.gnu.org ([209.51.188.17]:59696) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gkPMk-0005r6-Jr for submit@debbugs.gnu.org; Fri, 18 Jan 2019 03:19:02 -0500 Received: from eggs.gnu.org ([209.51.188.92]:51676) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gkPMj-0001kn-8f for bug-gnu-emacs@gnu.org; Fri, 18 Jan 2019 03:19:02 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gkPMi-0005na-30 for bug-gnu-emacs@gnu.org; Fri, 18 Jan 2019 03:19:01 -0500 Received: from che.mayfirst.org ([2001:470:1:116::7]:52274) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gkPMh-0005jM-Ss for bug-gnu-emacs@gnu.org; Fri, 18 Jan 2019 03:19:00 -0500 Received: from fifthhorseman.net (ool-6c3a0662.static.optonline.net [108.58.6.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by che.mayfirst.org (Postfix) with ESMTPSA id 7333CF99A for ; Fri, 18 Jan 2019 03:18:56 -0500 (EST) Received: by fifthhorseman.net (Postfix, from userid 1000) id A29982021C; Fri, 18 Jan 2019 03:18:52 -0500 (EST) From: Daniel Kahn Gillmor Date: Fri, 18 Jan 2019 03:18:48 -0500 Message-ID: <87zhryl6on.fsf@fifthhorseman.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2001:470:1:116::7 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Attached is an OpenPGP certificate (dkg@aclu.org.key) which has three User IDs, one of which is "dkg@aclu.org" but another has no e-mail address at all (it's just "Daniel Kahn Gillmor"). From=20a new, empty user account, i did the following: gpg --batch --import < dkg@aclu.org.key Then, in a new emacs window, in *scratch*, i ran the following: (require 'mml) (mml-secure-find-usable-keys (epg-make-context 'OpenPGP) "" 'encrypt) it crashes with the following backtrace: Debugger entered--Lisp error: (wrong-type-argument char-or-string-p nil) mml-secure-check-user-id(#s(epg-key :owner-trust ultimate :sub-key-list (= #s(epg-sub-key :validity ultimate :capability (sign certify) :secret-p nil = :algorithm 1 :length 3072 :id "138F5AB68615C560" :creation-time (23350 . 32= 581) :expiration-time (24312 . 58949) :fingerprint "888E6BEAC41959269EAA177= F138F5AB68615C560") #s(epg-sub-key :validity ultimate :capability (encrypt)= :secret-p nil :algorithm 1 :length 3072 :id "9ED30DE244D1D77F" :creation-t= ime (23350 . 32581) :expiration-time nil :fingerprint "9E2D1F76B4070A6BD491= 9CEA9ED30DE244D1D77F")) :user-id-list (#s(epg-user-id :validity ultimate :s= tring "Daniel Kahn Gillmor" :signature-list nil) #s(epg-user-id :validity u= ltimate :string "dkgillmor@aclu.org" :signature-list nil) #s(epg-user-id :v= alidity ultimate :string "dkg@aclu.org" :signature-list nil))) "") mml-secure-find-usable-keys(#s(epg-context :protocol OpenPGP :program "/u= sr/bin/gpg2" :home-directory nil :armor nil :textmode nil :include-certs ni= l :cipher-algorithm nil :digest-algorithm nil :compress-algorithm nil :pass= phrase-callback (epg-passphrase-callback-function) :progress-callback nil := edit-callback nil :signers nil :sig-notations nil :process nil :output-file= nil :result nil :operation nil :pinentry-mode nil :error-output "" :error-= buffer nil) "" encrypt) eval((mml-secure-find-usable-keys (epg-make-context 'OpenPGP) "" 'encrypt) nil) This appears to be because mml-secure-check-user-id chokes on the User ID without any e-mail address. The attached patch appears to fix the issue. please include it in emacs! (i previously reported this to debian as https://bugs.debian.org/919642) --dkg Configured using: 'configure --build x86_64-linux-gnu --prefix=3D/usr --sharedstatedir=3D/var/lib --libexecdir=3D/usr/lib --localstatedir=3D/var/lib --infodir=3D/usr/share/info --mandir=3D/usr/share/man --enable-libsystemd --with-pop=3Dyes --enable-locallisppath=3D/etc/emacs:/usr/local/share/emacs/26.1/site-lisp:= /usr/local/share/emacs/site-lisp:/usr/share/emacs/26.1/site-lisp:/usr/share= /emacs/site-lisp --with-sound=3Dalsa --without-gconf --with-mailutils --build x86_64-linux-gnu --prefix=3D/usr --sharedstatedir=3D/var/lib --libexecdir=3D/usr/lib --localstatedir=3D/var/lib --infodir=3D/usr/share/info --mandir=3D/usr/share/man --enable-libsystemd --with-pop=3Dyes --enable-locallisppath=3D/etc/emacs:/usr/local/share/emacs/26.1/site-lisp:= /usr/local/share/emacs/site-lisp:/usr/share/emacs/26.1/site-lisp:/usr/share= /emacs/site-lisp --with-sound=3Dalsa --without-gconf --with-mailutils --with-x=3Dyes --with-x-toolkit=3Dgtk3 --with-toolkit-scroll-bars 'CFLAGS=3D-g -O2 -fdebug-prefix-map=3D/build/emacs-3ThesY/emacs-26.1+1=3D. -fstack-protecto= r-strong -Wformat -Werror=3Dformat-security -Wall' 'CPPFLAGS=3D-Wdate-time -D_FORTIFY_SOURCE=3D2' LDFLAGS=3D-Wl,-z,relro' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 THREADS LIBSYSTEMD LCMS2 Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-Avoid-elisp-crash-for-OpenPGP-User-IDs-with-no-e-mai.patch Content-Transfer-Encoding: quoted-printable From=20856d4f2358df9c8977637a0ac007084d0b40b9f2 Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Fri, 18 Jan 2019 03:12:07 -0500 Subject: [PATCH] Avoid elisp crash for OpenPGP User IDs with no e-mail addr= ess * lisp/gnus/mml-sec.el: (mml-secure-check-user-id) verify that there is an e-mail address in the current User ID before trying to downcase it. Signed-off-by: Daniel Kahn Gillmor =2D-- lisp/gnus/mml-sec.el | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lisp/gnus/mml-sec.el b/lisp/gnus/mml-sec.el index a6d989a45f..db7489fbf1 100644 =2D-- a/lisp/gnus/mml-sec.el +++ b/lisp/gnus/mml-sec.el @@ -659,6 +659,8 @@ The passphrase is read and cached." (catch 'break (dolist (uid uids nil) (if (and (stringp (epg-user-id-string uid)) + (car (mail-header-parse-address + (epg-user-id-string uid))) (equal (downcase (car (mail-header-parse-address (epg-user-id-string uid)))) (downcase (car (mail-header-parse-address =2D-=20 2.20.1 --=-=-= Content-Type: application/pgp-keys Content-Disposition: attachment; filename="dkg@aclu.org.key" Content-Transfer-Encoding: base64 LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgptUUdOQkZzMmYwVUJEQUMxV0Ru ZStZUFFlWHdEYUhNdGpsZmVGVHJGZGEydXcyOS81bTdyMTlhTUt2eXRLLzExCjEvVzNYaUZReFFD MGFhZTVxM01Dd2FidXV5T2Y1SWF5b0p4N2h0cjBqcCswNmZPc3lMWjlpVVRqVGhrMmVUMHgKdFNo UkYvdTNlNWh3dEthMEMzRXpjSU03NnNlTmVJM0Zlc3BRc0dYbGtiSlBRR0hLQ3dQWE9nQW1IYkkr V1lSQwpmTHNqZSswbEVIVnNoTC9YYjlhZ3BtK0pDT3MrK3dscVBoUityTG9aRjZVSGxjb1A5cko2 Z0Q2UWRkdzY5bmpwCjZtZVRHOWdoaWV6ditMWjJCWUFRcUlvdTlpcWhWS2U5QTBJeFhNeEhPazEw S2Y3cUQrSG54VnhaM2s3d3IrZzEKNmtZSE1lTWNkYm1sVnI4d3ZFTlJGenNJcnlIUEdpYkZiVzdz enMyVjZ5NWVKY3F3bEE0RUw4QkFWMC9EOVJISQpLeWZxQ3pHMGNRZzVqWHBISmxNMmJ6RjRralRC N1JMaERXbklYTmttTHZkaXRmb1lBZzc0cTY3QzY1MGc2RlNTCkRWUy9BSmFHTXFRNTNZTGJWakYv cm5vaFJ2ci9Gd1FIS3dUbHZuMXgwR3NwUkRoNW1WZjdTWldYSDFoZ1NmZWcKUXViMWxvNmx4Um9B MDRNQUVRRUFBYlFUUkdGdWFXVnNJRXRoYUc0Z1IybHNiRzF2Y29rQjF3UVRBUW9BUVFJYgpBd1VK QThKbkFBVUxDUWdIQXdVVkNna0lDd1VXQWdNQkFBSWVBUUlYZ0JZaEJJaU9hK3JFR1ZrbW5xb1hm eE9QCldyYUdGY1ZnQlFKY05OalJBaGtCQUFvSkVCT1BXcmFHRmNWZ2w4WUwvaUFJWURFRFpYVXFp cURUYzdDbGZ4ZmcKZ2NVcUJDR3hSdHE5Q2MzZ0E4cDE4S09PWWI1dFNiaWI5WFBpOEFaS0FUbm03 N2NtRndrUVc5aFhkdGRIYXJFZgpxV1VtNVJYWStmODV0Z01reXIwT0VHNjQxL2d3WU01TWljaVpC N0R6RE5ubVRENFJ3L3hmby9WWnVnWHJZL0VvCjZPWmZ0cldYYUtPV1ZERzBRcGNDRjhYby9wckJS ZldKNkQwVGp2SnNQNElCU3gyOGxWd0dsczRJbmM1Z2MvK2UKRDcrS3loRU1lNzQ5K2pKOEhsV0Nj UEhWRUo2bG5zZm9KbngrS0RKTTBiZjVBUmx5bW51MkxjSTZyUk8zMkcwaAo5aFRzbWR5ZER3Y09G eWxDUndYWERlTDd6dDFOQUN4S3hDTy9zYlNjZjRFd2lvS1A3SzlNRmFLZEhGWm15aWppClQ4ZEk3 UGRYaE5zbEZ3TG8zRlB6eW1IR2JSWitIM2cxQkd0R1JYQXdPeWJyLzZwSDZIV09TMnlzMUpIQmtZ TTUKakM1YWRmdHhKZjg2TDROamNyeDhqdG5JMEp1WDFPQjNYQURYSzd5bGdpR2NTRXI0TUNWMEdn Y0dkUkJwWGkrNApVMzhQTzdpeXdPeTVoZUliZXFaZ0lYVkd3SzY1S0dFcFVKTXhUN3FyaHJRU1pH dG5hV3hzYlc5eVFHRmpiSFV1CmIzSm5pUUhVQkJNQkNnQStGaUVFaUk1cjZzUVpXU2FlcWhkL0U0 OWF0b1lWeFdBRkFsdzAyS3NDR3dNRkNRUEMKWndBRkN3a0lCd01GRlFvSkNBc0ZGZ0lEQVFBQ0hn RUNGNEFBQ2drUUU0OWF0b1lWeFdCZzd3d0FpODdIVDZINwpqZmhHRkJndzNObHdMUFRqWjJ0UXp6 dUlGSG44MDJqVkxVWS8ybnFDY1hiRkRRalFzRVlOeDRMRDgyU2NuSU5KClJWa253U3BMU2p0MHhm aGo2VHlHaFpGRHpuNmV1QStReG1aOVNXMStIZEVsdnpLQSsvMXlwQnd3dW84TnNDV3gKa09VYmIv cGpqclVNWHVTR1RnRldTMEVEd0Fuamg4UzVReEFBdlFKY2xRQi9DNEd3aXo5OFlpWGVuUUUzdFUx dgpJK1laZDEzMkZZZ0ZlZHJQWERCSXoxQUcxUmZMblkxZ3Y4MUl1US9BeVIzSzdKV0h1N29WRDZS YS9DZmtscFhKCkFjMy9pSFBkMkFIN1psQ0dHRGFlQWxXeG1UQ1JWNHNuV1k2RFZxYzIwM2c5dnhz OGdROFcwS1k5WWtnTklCTGwKZHZPTytzTHhMQzd3RlhtZ0JFaXRKVm9NUjYzTTFWL1IxV24zQnI3 VURVQXExbm5wQVJsMHcyNGg2TWhxZDRQRwpTVEl5MmQ2OFhtWnFaTHVUTGpnSkJvV0FGdER6L3Ji SGh0bDZxL1haampja3Q4dGs3WHJrT29VNWpXSjBQMzQ0CkNQRWoxRlg5TTRwOW81eEdKVEptTUJy QzFSMXA4TGd1c3daK3hVWjB4a1VSeTFkUlVrUW14eXJidEF4a2EyZEEKWVdOc2RTNXZjbWVKQWRR RUV3RUtBRDRXSVFTSWptdnF4QmxaSnA2cUYzOFRqMXEyaGhYRllBVUNXem8yb0FJYgpBd1VKQThK bkFBVUxDUWdIQXdVVkNna0lDd1VXQWdNQkFBSWVBUUlYZ0FBS0NSQVRqMXEyaGhYRllFN1ZEQUNl CmE2Ynh5RFA4WnhVeDUwMzBwQk1BSGNteGZFZlRnQ1NEaXZ5TmRVa0hPVzBnZVFJcDlKNTFTeXp3 ZGpuZyt0bHUKckpkWUtNd2ZMdkxmMVl6VEdhaVd3SW1XbFpMbEJYUlBibEh6Z1ZFbjlhR01YaHJ6 Rmlhd1BhMUxQNFppVnRWcAo1OVFZZXdjZWVIOGNCWkJvL2ZZWnVpTS9jeHlDaktSNDg5UTFPUXRx OUcwSHVoSWFWSG5ER2JLWWMxdmFSUEMvCnhoR3R0MVZNemdQaHQ5cUhkOUVGYVFzQWpMbWwzaWdk L2xFZlZWZkw5RGpERDAxUithSThQakNLN1RQNkdzSXUKVEdzY1Y5L2U1ZHg4MjR5N0orTzVzeWIx UnBNR1N2WXl5bTBENU9ZVmlhZW1BVm5WU3dabHhsVlgwdGF2MmxBVQpwRTJFYzRpLzdqRUZOY1dS VTQvVkJYZ0ZSeXU2Q1ZEdm5sUWxjbllUT1Z4MTYvby90TlRGV0o2ellpTzRVOXFiCjVxYWpSbTJY SjlIYkI3NE5YUG1Zek5Kd3pYRGZVOGpFeHpLUXE4RnBNRmY4RUNFQmpiZFNNZVJRc3Uwc3V4N1cK N3hpMkdpbjc5Rkl5bmZHajErRHA3K2xScVRwa0hDSzZNaGFyN1VFV2dkZko2M3RwZUNhbDVlVk8y TWFjT1crNQpBWTBFV3paL1JRRU1BTUdtSVVVNFJNekRvQXNyS1ZhZFBiSVBDSWxpNGUwaXFmQzZ4 WG9kK0VWRGZMZi81WGwzCk9vNWE5OXAxZFNOc0xtRGo1b3l1amVZQmJDamdNd1JxVWRjbXhQaXpo bUh2L01qVVFYUE5idC9SZ1hOSVVnZmYKR2UwVzE1eCtJQlZuZ21iU0ZQU3RvZE9PYUdTS0U5OG5h Y0hjMU1Fc3NuakpXTGJ6VFlCM3BmL3N3TXlDVXNITgorRkM3aEdYTlFPNVFXRzFTY3QyUmhHcVZV NFBWWEtzYUZMNXB2L253NXlqMk5mVW5BRlNEYU9rQ2s5ZUVCOWRZCktOLzNYck1neFFvNDBMeDU0 R3NsUDhESnJ6YmhQZ3ppRVplYWhPMUdad3hrcGpyUElQWmw0ZnpoUzBQL010Z3QKYm8zRm5GdHZT aVRBeDVpMUtZVjhKcldtdzV5aGo3alBMRmlVVUdDbmlaV0I5b3pubzFuUU1yaVg5S3NWbjY4MwpK V2RHT3Vua0xDRDg2NStqUUNGcEVEa0JCOXIzYStNZG9FS2JCbHBPcTdzdWI1aU9XaVRJT1BveDl5 emlJMGxtCmV5akRsMXBDUUltYkRMUnN6LzFKNzRlOEJkTGNGeDZRcTZDV1Z6RVZ5b1VUL290SnRl bGNQN2dzOFVjVC9janIKbnNweFo3VjFOR0ZtVlFBUkFRQUJpUUcyQkJnQkNnQWdGaUVFaUk1cjZz UVpXU2FlcWhkL0U0OWF0b1lWeFdBRgpBbHMyZjBVQ0d3d0FDZ2tRRTQ5YXRvWVZ4V0Naa3d3QXJi WEQvNFNxZmFLWDRlRXlET0VHcXFGSEtiV0w0dFN5CkhGM2hObHF2MVY3RW5pcUFvc0FqbVcxTjRY MkZjR3ZhMGEzL3FmeWU3REVLT2xQdXNVVURrM3J6UU0xUzFrblIKdFB6YzM3Y25mOHVXdnR0bHVF QWc4OFpwN0hidmdhcWI0NGFPallZbjAxd3VsSEZXVkhQVGFKUlNoWGNVM041NApDSjRLazRXM2FO c1EyMVU5WTlmTEJOY3liNmZMMU5TamRDNUZ4ZStEVUp4aUllSUFjdFhRRjBpNGNFMXdXdHBLCmFP Z1lIUm9YR3F6TmxPL3lISkZpUHpPcTNhWlpVTzhBdEprRUdSMUtIeEU4WWpqZmpqWElnRURpZ1RQ bURYeEUKK0ZCZGc4VDRYS09Ja283OUdtSk9RbERwSVJuOCtyOEJ1SCtoLzNsa3JRK3dDUGltMERZ c25FZVVvaDZGRkRPcwp1MFFpSk01bTN6VUQ2NDhURFQvZHg5U1NoRUUzZE8vYU5heEt2bXJHQlJz VTdNZSsydHQxSDh2S3VmellLWDlrCk1YWGE0S0VSSHFONDZERFo1UTRWK3hoSG4zbGV2WWp0Yjdl aWdEUXY4bVJOclU2bDZWaU42bk4zb0x1UUxvdTYKdTEzNGpvTVRsNWNtNFZQcVkxNFpXc1o3TVF0 SnAzcHQKPWdRK1EKLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLQo= --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTTaP514aqS9uSbmdJsHx7ezFD6UwUCXEGL6AAKCRBsHx7ezFD6 UyfYAQC0EdZ4awnvrdZx3IiptAceakV/bNzorX9u1Y3IZbT+egD5AbfOmphdDAzM P74Lo/C09RbaHRopfUnGmehcVvugNQQ= =cPlF -----END PGP SIGNATURE----- --==-=-=-- From unknown Sun Aug 17 22:07:08 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Daniel Kahn Gillmor Subject: bug#34121: closed (Re: bug#34121: 26.1; elisp crashes on OpenPGP certificates with User IDs without an e-mail address) Message-ID: References: <8336ph6scw.fsf@gnu.org> <87zhryl6on.fsf@fifthhorseman.net> X-Gnu-PR-Message: they-closed 34121 X-Gnu-PR-Package: emacs Reply-To: 34121@debbugs.gnu.org Date: Fri, 25 Jan 2019 08:43:03 +0000 Content-Type: multipart/mixed; boundary="----------=_1548405783-28803-1" This is a multi-part message in MIME format... ------------=_1548405783-28803-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #34121: 26.1; elisp crashes on OpenPGP certificates with User IDs without a= n e-mail address which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 34121@debbugs.gnu.org. --=20 34121: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D34121 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1548405783-28803-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 34121-done) by debbugs.gnu.org; 25 Jan 2019 08:42:38 +0000 Received: from localhost ([127.0.0.1]:44496 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gmx4P-0007Tm-Qj for submit@debbugs.gnu.org; Fri, 25 Jan 2019 03:42:38 -0500 Received: from eggs.gnu.org ([209.51.188.92]:57552) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gmx4N-0007TW-Ds for 34121-done@debbugs.gnu.org; Fri, 25 Jan 2019 03:42:36 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:60051) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gmx4H-00057X-Eq; Fri, 25 Jan 2019 03:42:29 -0500 Received: from [176.228.60.248] (port=2541 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gmx4F-0001Yl-BS; Fri, 25 Jan 2019 03:42:29 -0500 Date: Fri, 25 Jan 2019 10:42:23 +0200 Message-Id: <8336ph6scw.fsf@gnu.org> From: Eli Zaretskii To: Daniel Kahn Gillmor In-reply-to: <87zhryl6on.fsf@fifthhorseman.net> (message from Daniel Kahn Gillmor on Fri, 18 Jan 2019 03:18:48 -0500) Subject: Re: bug#34121: 26.1; elisp crashes on OpenPGP certificates with User IDs without an e-mail address References: <87zhryl6on.fsf@fifthhorseman.net> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 34121-done Cc: 34121-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > From: Daniel Kahn Gillmor > Date: Fri, 18 Jan 2019 03:18:48 -0500 > > This appears to be because mml-secure-check-user-id chokes on the User > ID without any e-mail address. > > The attached patch appears to fix the issue. please include it in > emacs! Thanks, pushed to the emacs-26 branch. Please in the future observe the rules set forth in CONTRIBUTE: there should be no Signed-off-by: lines in the log message, and the log message should be formatted as a ChangeLog entry (you can use Emacs ChangeLog commands to create it). ------------=_1548405783-28803-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 18 Jan 2019 08:19:11 +0000 Received: from localhost ([127.0.0.1]:35629 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gkPMs-0001vE-Ib for submit@debbugs.gnu.org; Fri, 18 Jan 2019 03:19:10 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41476) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gkPMq-0001v1-WB for submit@debbugs.gnu.org; Fri, 18 Jan 2019 03:19:09 -0500 Received: from lists.gnu.org ([209.51.188.17]:59696) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gkPMk-0005r6-Jr for submit@debbugs.gnu.org; Fri, 18 Jan 2019 03:19:02 -0500 Received: from eggs.gnu.org ([209.51.188.92]:51676) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gkPMj-0001kn-8f for bug-gnu-emacs@gnu.org; Fri, 18 Jan 2019 03:19:02 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gkPMi-0005na-30 for bug-gnu-emacs@gnu.org; Fri, 18 Jan 2019 03:19:01 -0500 Received: from che.mayfirst.org ([2001:470:1:116::7]:52274) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gkPMh-0005jM-Ss for bug-gnu-emacs@gnu.org; Fri, 18 Jan 2019 03:19:00 -0500 Received: from fifthhorseman.net (ool-6c3a0662.static.optonline.net [108.58.6.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by che.mayfirst.org (Postfix) with ESMTPSA id 7333CF99A for ; Fri, 18 Jan 2019 03:18:56 -0500 (EST) Received: by fifthhorseman.net (Postfix, from userid 1000) id A29982021C; Fri, 18 Jan 2019 03:18:52 -0500 (EST) From: Daniel Kahn Gillmor To: bug-gnu-emacs@gnu.org Subject: 26.1; elisp crashes on OpenPGP certificates with User IDs without an e-mail address Date: Fri, 18 Jan 2019 03:18:48 -0500 Message-ID: <87zhryl6on.fsf@fifthhorseman.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2001:470:1:116::7 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Attached is an OpenPGP certificate (dkg@aclu.org.key) which has three User IDs, one of which is "dkg@aclu.org" but another has no e-mail address at all (it's just "Daniel Kahn Gillmor"). From=20a new, empty user account, i did the following: gpg --batch --import < dkg@aclu.org.key Then, in a new emacs window, in *scratch*, i ran the following: (require 'mml) (mml-secure-find-usable-keys (epg-make-context 'OpenPGP) "" 'encrypt) it crashes with the following backtrace: Debugger entered--Lisp error: (wrong-type-argument char-or-string-p nil) mml-secure-check-user-id(#s(epg-key :owner-trust ultimate :sub-key-list (= #s(epg-sub-key :validity ultimate :capability (sign certify) :secret-p nil = :algorithm 1 :length 3072 :id "138F5AB68615C560" :creation-time (23350 . 32= 581) :expiration-time (24312 . 58949) :fingerprint "888E6BEAC41959269EAA177= F138F5AB68615C560") #s(epg-sub-key :validity ultimate :capability (encrypt)= :secret-p nil :algorithm 1 :length 3072 :id "9ED30DE244D1D77F" :creation-t= ime (23350 . 32581) :expiration-time nil :fingerprint "9E2D1F76B4070A6BD491= 9CEA9ED30DE244D1D77F")) :user-id-list (#s(epg-user-id :validity ultimate :s= tring "Daniel Kahn Gillmor" :signature-list nil) #s(epg-user-id :validity u= ltimate :string "dkgillmor@aclu.org" :signature-list nil) #s(epg-user-id :v= alidity ultimate :string "dkg@aclu.org" :signature-list nil))) "") mml-secure-find-usable-keys(#s(epg-context :protocol OpenPGP :program "/u= sr/bin/gpg2" :home-directory nil :armor nil :textmode nil :include-certs ni= l :cipher-algorithm nil :digest-algorithm nil :compress-algorithm nil :pass= phrase-callback (epg-passphrase-callback-function) :progress-callback nil := edit-callback nil :signers nil :sig-notations nil :process nil :output-file= nil :result nil :operation nil :pinentry-mode nil :error-output "" :error-= buffer nil) "" encrypt) eval((mml-secure-find-usable-keys (epg-make-context 'OpenPGP) "" 'encrypt) nil) This appears to be because mml-secure-check-user-id chokes on the User ID without any e-mail address. The attached patch appears to fix the issue. please include it in emacs! (i previously reported this to debian as https://bugs.debian.org/919642) --dkg Configured using: 'configure --build x86_64-linux-gnu --prefix=3D/usr --sharedstatedir=3D/var/lib --libexecdir=3D/usr/lib --localstatedir=3D/var/lib --infodir=3D/usr/share/info --mandir=3D/usr/share/man --enable-libsystemd --with-pop=3Dyes --enable-locallisppath=3D/etc/emacs:/usr/local/share/emacs/26.1/site-lisp:= /usr/local/share/emacs/site-lisp:/usr/share/emacs/26.1/site-lisp:/usr/share= /emacs/site-lisp --with-sound=3Dalsa --without-gconf --with-mailutils --build x86_64-linux-gnu --prefix=3D/usr --sharedstatedir=3D/var/lib --libexecdir=3D/usr/lib --localstatedir=3D/var/lib --infodir=3D/usr/share/info --mandir=3D/usr/share/man --enable-libsystemd --with-pop=3Dyes --enable-locallisppath=3D/etc/emacs:/usr/local/share/emacs/26.1/site-lisp:= /usr/local/share/emacs/site-lisp:/usr/share/emacs/26.1/site-lisp:/usr/share= /emacs/site-lisp --with-sound=3Dalsa --without-gconf --with-mailutils --with-x=3Dyes --with-x-toolkit=3Dgtk3 --with-toolkit-scroll-bars 'CFLAGS=3D-g -O2 -fdebug-prefix-map=3D/build/emacs-3ThesY/emacs-26.1+1=3D. -fstack-protecto= r-strong -Wformat -Werror=3Dformat-security -Wall' 'CPPFLAGS=3D-Wdate-time -D_FORTIFY_SOURCE=3D2' LDFLAGS=3D-Wl,-z,relro' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 THREADS LIBSYSTEMD LCMS2 Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-Avoid-elisp-crash-for-OpenPGP-User-IDs-with-no-e-mai.patch Content-Transfer-Encoding: quoted-printable From=20856d4f2358df9c8977637a0ac007084d0b40b9f2 Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Fri, 18 Jan 2019 03:12:07 -0500 Subject: [PATCH] Avoid elisp crash for OpenPGP User IDs with no e-mail addr= ess * lisp/gnus/mml-sec.el: (mml-secure-check-user-id) verify that there is an e-mail address in the current User ID before trying to downcase it. Signed-off-by: Daniel Kahn Gillmor =2D-- lisp/gnus/mml-sec.el | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lisp/gnus/mml-sec.el b/lisp/gnus/mml-sec.el index a6d989a45f..db7489fbf1 100644 =2D-- a/lisp/gnus/mml-sec.el +++ b/lisp/gnus/mml-sec.el @@ -659,6 +659,8 @@ The passphrase is read and cached." (catch 'break (dolist (uid uids nil) (if (and (stringp (epg-user-id-string uid)) + (car (mail-header-parse-address + (epg-user-id-string uid))) (equal (downcase (car (mail-header-parse-address (epg-user-id-string uid)))) (downcase (car (mail-header-parse-address =2D-=20 2.20.1 --=-=-= Content-Type: application/pgp-keys Content-Disposition: attachment; filename="dkg@aclu.org.key" Content-Transfer-Encoding: base64 LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgptUUdOQkZzMmYwVUJEQUMxV0Ru ZStZUFFlWHdEYUhNdGpsZmVGVHJGZGEydXcyOS81bTdyMTlhTUt2eXRLLzExCjEvVzNYaUZReFFD MGFhZTVxM01Dd2FidXV5T2Y1SWF5b0p4N2h0cjBqcCswNmZPc3lMWjlpVVRqVGhrMmVUMHgKdFNo UkYvdTNlNWh3dEthMEMzRXpjSU03NnNlTmVJM0Zlc3BRc0dYbGtiSlBRR0hLQ3dQWE9nQW1IYkkr V1lSQwpmTHNqZSswbEVIVnNoTC9YYjlhZ3BtK0pDT3MrK3dscVBoUityTG9aRjZVSGxjb1A5cko2 Z0Q2UWRkdzY5bmpwCjZtZVRHOWdoaWV6ditMWjJCWUFRcUlvdTlpcWhWS2U5QTBJeFhNeEhPazEw S2Y3cUQrSG54VnhaM2s3d3IrZzEKNmtZSE1lTWNkYm1sVnI4d3ZFTlJGenNJcnlIUEdpYkZiVzdz enMyVjZ5NWVKY3F3bEE0RUw4QkFWMC9EOVJISQpLeWZxQ3pHMGNRZzVqWHBISmxNMmJ6RjRralRC N1JMaERXbklYTmttTHZkaXRmb1lBZzc0cTY3QzY1MGc2RlNTCkRWUy9BSmFHTXFRNTNZTGJWakYv cm5vaFJ2ci9Gd1FIS3dUbHZuMXgwR3NwUkRoNW1WZjdTWldYSDFoZ1NmZWcKUXViMWxvNmx4Um9B MDRNQUVRRUFBYlFUUkdGdWFXVnNJRXRoYUc0Z1IybHNiRzF2Y29rQjF3UVRBUW9BUVFJYgpBd1VK QThKbkFBVUxDUWdIQXdVVkNna0lDd1VXQWdNQkFBSWVBUUlYZ0JZaEJJaU9hK3JFR1ZrbW5xb1hm eE9QCldyYUdGY1ZnQlFKY05OalJBaGtCQUFvSkVCT1BXcmFHRmNWZ2w4WUwvaUFJWURFRFpYVXFp cURUYzdDbGZ4ZmcKZ2NVcUJDR3hSdHE5Q2MzZ0E4cDE4S09PWWI1dFNiaWI5WFBpOEFaS0FUbm03 N2NtRndrUVc5aFhkdGRIYXJFZgpxV1VtNVJYWStmODV0Z01reXIwT0VHNjQxL2d3WU01TWljaVpC N0R6RE5ubVRENFJ3L3hmby9WWnVnWHJZL0VvCjZPWmZ0cldYYUtPV1ZERzBRcGNDRjhYby9wckJS ZldKNkQwVGp2SnNQNElCU3gyOGxWd0dsczRJbmM1Z2MvK2UKRDcrS3loRU1lNzQ5K2pKOEhsV0Nj UEhWRUo2bG5zZm9KbngrS0RKTTBiZjVBUmx5bW51MkxjSTZyUk8zMkcwaAo5aFRzbWR5ZER3Y09G eWxDUndYWERlTDd6dDFOQUN4S3hDTy9zYlNjZjRFd2lvS1A3SzlNRmFLZEhGWm15aWppClQ4ZEk3 UGRYaE5zbEZ3TG8zRlB6eW1IR2JSWitIM2cxQkd0R1JYQXdPeWJyLzZwSDZIV09TMnlzMUpIQmtZ TTUKakM1YWRmdHhKZjg2TDROamNyeDhqdG5JMEp1WDFPQjNYQURYSzd5bGdpR2NTRXI0TUNWMEdn Y0dkUkJwWGkrNApVMzhQTzdpeXdPeTVoZUliZXFaZ0lYVkd3SzY1S0dFcFVKTXhUN3FyaHJRU1pH dG5hV3hzYlc5eVFHRmpiSFV1CmIzSm5pUUhVQkJNQkNnQStGaUVFaUk1cjZzUVpXU2FlcWhkL0U0 OWF0b1lWeFdBRkFsdzAyS3NDR3dNRkNRUEMKWndBRkN3a0lCd01GRlFvSkNBc0ZGZ0lEQVFBQ0hn RUNGNEFBQ2drUUU0OWF0b1lWeFdCZzd3d0FpODdIVDZINwpqZmhHRkJndzNObHdMUFRqWjJ0UXp6 dUlGSG44MDJqVkxVWS8ybnFDY1hiRkRRalFzRVlOeDRMRDgyU2NuSU5KClJWa253U3BMU2p0MHhm aGo2VHlHaFpGRHpuNmV1QStReG1aOVNXMStIZEVsdnpLQSsvMXlwQnd3dW84TnNDV3gKa09VYmIv cGpqclVNWHVTR1RnRldTMEVEd0Fuamg4UzVReEFBdlFKY2xRQi9DNEd3aXo5OFlpWGVuUUUzdFUx dgpJK1laZDEzMkZZZ0ZlZHJQWERCSXoxQUcxUmZMblkxZ3Y4MUl1US9BeVIzSzdKV0h1N29WRDZS YS9DZmtscFhKCkFjMy9pSFBkMkFIN1psQ0dHRGFlQWxXeG1UQ1JWNHNuV1k2RFZxYzIwM2c5dnhz OGdROFcwS1k5WWtnTklCTGwKZHZPTytzTHhMQzd3RlhtZ0JFaXRKVm9NUjYzTTFWL1IxV24zQnI3 VURVQXExbm5wQVJsMHcyNGg2TWhxZDRQRwpTVEl5MmQ2OFhtWnFaTHVUTGpnSkJvV0FGdER6L3Ji SGh0bDZxL1haampja3Q4dGs3WHJrT29VNWpXSjBQMzQ0CkNQRWoxRlg5TTRwOW81eEdKVEptTUJy QzFSMXA4TGd1c3daK3hVWjB4a1VSeTFkUlVrUW14eXJidEF4a2EyZEEKWVdOc2RTNXZjbWVKQWRR RUV3RUtBRDRXSVFTSWptdnF4QmxaSnA2cUYzOFRqMXEyaGhYRllBVUNXem8yb0FJYgpBd1VKQThK bkFBVUxDUWdIQXdVVkNna0lDd1VXQWdNQkFBSWVBUUlYZ0FBS0NSQVRqMXEyaGhYRllFN1ZEQUNl CmE2Ynh5RFA4WnhVeDUwMzBwQk1BSGNteGZFZlRnQ1NEaXZ5TmRVa0hPVzBnZVFJcDlKNTFTeXp3 ZGpuZyt0bHUKckpkWUtNd2ZMdkxmMVl6VEdhaVd3SW1XbFpMbEJYUlBibEh6Z1ZFbjlhR01YaHJ6 Rmlhd1BhMUxQNFppVnRWcAo1OVFZZXdjZWVIOGNCWkJvL2ZZWnVpTS9jeHlDaktSNDg5UTFPUXRx OUcwSHVoSWFWSG5ER2JLWWMxdmFSUEMvCnhoR3R0MVZNemdQaHQ5cUhkOUVGYVFzQWpMbWwzaWdk L2xFZlZWZkw5RGpERDAxUithSThQakNLN1RQNkdzSXUKVEdzY1Y5L2U1ZHg4MjR5N0orTzVzeWIx UnBNR1N2WXl5bTBENU9ZVmlhZW1BVm5WU3dabHhsVlgwdGF2MmxBVQpwRTJFYzRpLzdqRUZOY1dS VTQvVkJYZ0ZSeXU2Q1ZEdm5sUWxjbllUT1Z4MTYvby90TlRGV0o2ellpTzRVOXFiCjVxYWpSbTJY SjlIYkI3NE5YUG1Zek5Kd3pYRGZVOGpFeHpLUXE4RnBNRmY4RUNFQmpiZFNNZVJRc3Uwc3V4N1cK N3hpMkdpbjc5Rkl5bmZHajErRHA3K2xScVRwa0hDSzZNaGFyN1VFV2dkZko2M3RwZUNhbDVlVk8y TWFjT1crNQpBWTBFV3paL1JRRU1BTUdtSVVVNFJNekRvQXNyS1ZhZFBiSVBDSWxpNGUwaXFmQzZ4 WG9kK0VWRGZMZi81WGwzCk9vNWE5OXAxZFNOc0xtRGo1b3l1amVZQmJDamdNd1JxVWRjbXhQaXpo bUh2L01qVVFYUE5idC9SZ1hOSVVnZmYKR2UwVzE1eCtJQlZuZ21iU0ZQU3RvZE9PYUdTS0U5OG5h Y0hjMU1Fc3NuakpXTGJ6VFlCM3BmL3N3TXlDVXNITgorRkM3aEdYTlFPNVFXRzFTY3QyUmhHcVZV NFBWWEtzYUZMNXB2L253NXlqMk5mVW5BRlNEYU9rQ2s5ZUVCOWRZCktOLzNYck1neFFvNDBMeDU0 R3NsUDhESnJ6YmhQZ3ppRVplYWhPMUdad3hrcGpyUElQWmw0ZnpoUzBQL010Z3QKYm8zRm5GdHZT aVRBeDVpMUtZVjhKcldtdzV5aGo3alBMRmlVVUdDbmlaV0I5b3pubzFuUU1yaVg5S3NWbjY4MwpK V2RHT3Vua0xDRDg2NStqUUNGcEVEa0JCOXIzYStNZG9FS2JCbHBPcTdzdWI1aU9XaVRJT1BveDl5 emlJMGxtCmV5akRsMXBDUUltYkRMUnN6LzFKNzRlOEJkTGNGeDZRcTZDV1Z6RVZ5b1VUL290SnRl bGNQN2dzOFVjVC9janIKbnNweFo3VjFOR0ZtVlFBUkFRQUJpUUcyQkJnQkNnQWdGaUVFaUk1cjZz UVpXU2FlcWhkL0U0OWF0b1lWeFdBRgpBbHMyZjBVQ0d3d0FDZ2tRRTQ5YXRvWVZ4V0Naa3d3QXJi WEQvNFNxZmFLWDRlRXlET0VHcXFGSEtiV0w0dFN5CkhGM2hObHF2MVY3RW5pcUFvc0FqbVcxTjRY MkZjR3ZhMGEzL3FmeWU3REVLT2xQdXNVVURrM3J6UU0xUzFrblIKdFB6YzM3Y25mOHVXdnR0bHVF QWc4OFpwN0hidmdhcWI0NGFPallZbjAxd3VsSEZXVkhQVGFKUlNoWGNVM041NApDSjRLazRXM2FO c1EyMVU5WTlmTEJOY3liNmZMMU5TamRDNUZ4ZStEVUp4aUllSUFjdFhRRjBpNGNFMXdXdHBLCmFP Z1lIUm9YR3F6TmxPL3lISkZpUHpPcTNhWlpVTzhBdEprRUdSMUtIeEU4WWpqZmpqWElnRURpZ1RQ bURYeEUKK0ZCZGc4VDRYS09Ja283OUdtSk9RbERwSVJuOCtyOEJ1SCtoLzNsa3JRK3dDUGltMERZ c25FZVVvaDZGRkRPcwp1MFFpSk01bTN6VUQ2NDhURFQvZHg5U1NoRUUzZE8vYU5heEt2bXJHQlJz VTdNZSsydHQxSDh2S3VmellLWDlrCk1YWGE0S0VSSHFONDZERFo1UTRWK3hoSG4zbGV2WWp0Yjdl aWdEUXY4bVJOclU2bDZWaU42bk4zb0x1UUxvdTYKdTEzNGpvTVRsNWNtNFZQcVkxNFpXc1o3TVF0 SnAzcHQKPWdRK1EKLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLQo= --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTTaP514aqS9uSbmdJsHx7ezFD6UwUCXEGL6AAKCRBsHx7ezFD6 UyfYAQC0EdZ4awnvrdZx3IiptAceakV/bNzorX9u1Y3IZbT+egD5AbfOmphdDAzM P74Lo/C09RbaHRopfUnGmehcVvugNQQ= =cPlF -----END PGP SIGNATURE----- --==-=-=-- ------------=_1548405783-28803-1--