From unknown Sun Aug 17 01:00:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#49055: 28.0.50; [PATCH] De-obfuscate gnutls_handshake loop Resent-From: dick.r.chiang@gmail.com Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 16 Jun 2021 01:12:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 49055 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 49055@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.162380589813871 (code B ref -1); Wed, 16 Jun 2021 01:12:01 +0000 Received: (at submit) by debbugs.gnu.org; 16 Jun 2021 01:11:38 +0000 Received: from localhost ([127.0.0.1]:51096 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ltK5h-0003be-BS for submit@debbugs.gnu.org; Tue, 15 Jun 2021 21:11:38 -0400 Received: from lists.gnu.org ([209.51.188.17]:47024) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ltK5e-0003bV-V9 for submit@debbugs.gnu.org; Tue, 15 Jun 2021 21:11:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51734) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ltK5e-0003ln-MV for bug-gnu-emacs@gnu.org; Tue, 15 Jun 2021 21:11:34 -0400 Received: from mail-qk1-x72b.google.com ([2607:f8b0:4864:20::72b]:43542) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ltK5a-0007gf-NX for bug-gnu-emacs@gnu.org; Tue, 15 Jun 2021 21:11:34 -0400 Received: by mail-qk1-x72b.google.com with SMTP id j62so915944qke.10 for ; Tue, 15 Jun 2021 18:11:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:user-agent:mime-version; bh=+MvOmp+EgAHTw7eTkOfy8XHYHW0eCr/IzM3xeiDFUeY=; b=f9zPEqDiaHXMj3ieFdH5jFscAdqwcjFOIQxOl1f39DNa51TWwYhp7PU+XUgWRvDjrz rpbmNUOzVdwANQMMUGn/u5RzORjJ54J9ILCa8Kwa2IjiFgDtg7iiaLbQ/rGQ2mgc4OAl cmTA9puXXUQLqnWARi1z/vr0eGuxkI4pj8wBhIXwwH49Hibag5GEl3B7kNfhFdYXkBSg gGSnaCSUrJlJx5Dd4NB9sE+qsevCiMMgHBjhZt5YdWxqYPjQ++ORgSiFJeeLrqT2TMOl T9uQAbxy7ZwMC+xBy4RJNNwk/i9CERzPFCZUQT1ljNQAcmRUvCnS+wI+VsIjn5P+t4yE dBxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:user-agent :mime-version; bh=+MvOmp+EgAHTw7eTkOfy8XHYHW0eCr/IzM3xeiDFUeY=; b=mp4WFlRRQHGY9FfIKSr/TvFcGWF6xyGIqImB2rCRkGplDNJF5KCovXUo5VR13BMlw1 MvTafQBBUWLS16dicboyu70M8XZGwaf5yF325owwsnRHhgJWIoazHCT8UnepcSTo+oGr ARnoXpO9KWsM1MmlmkTWyx1Us0Fkvgay8wEyarq3KIFA5sKBPaECTsFZrRXUKC4BoQj1 0okObiTst9Ity5kWJTluk16nnr9+aParnhOybsBPW2qFO/XZd6+PzY5+WqgQvMKvlq0z wOgWAhU4gEmMMBG7eiuvB0VAgIMQ0sa47saXkAS6WlBMi58Rg3spEmwYJuIj6nMPz2Uu uubw== X-Gm-Message-State: AOAM532Kb5hbUwqtMP6fC+dqOntpKQz5vHag2I0nyqL204Z1zNfTNkn4 cDtC8IeJgOsLdupm6OoubK44x8OVtEk= X-Google-Smtp-Source: ABdhPJxTEasT67soC5dvJnB0UL+ODBnvGwQGKih/Kqn9qHDmCfl4yaiIWZPlr5dOSmbDbbRZF9kzdg== X-Received: by 2002:a05:620a:10b1:: with SMTP id h17mr2494062qkk.267.1623805888931; Tue, 15 Jun 2021 18:11:28 -0700 (PDT) Received: from localhost (pool-71-190-212-171.nycmny.fios.verizon.net. [71.190.212.171]) by smtp.gmail.com with ESMTPSA id p21sm320020qtq.92.2021.06.15.18.11.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 15 Jun 2021 18:11:28 -0700 (PDT) From: dick.r.chiang@gmail.com Date: Tue, 15 Jun 2021 21:11:27 -0400 Message-ID: <87zgvqd35s.fsf@dick> User-Agent: Gnus/5.14 (Gnus v5.14pre) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=2607:f8b0:4864:20::72b; envelope-from=dick.r.chiang@gmail.com; helo=mail-qk1-x72b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) 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: -2.3 (--) --=-=-= Content-Type: text/plain The code in question appears to have been subject to solution-by-accretion. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-De-obfuscate-gnutls_handshake-loop.patch >From 36c900fb44ff3da949ccd492e5e54b61a47f7441 Mon Sep 17 00:00:00 2001 From: dickmao Date: Tue, 15 Jun 2021 21:03:40 -0400 Subject: [PATCH] De-obfuscate gnutls_handshake loop Every 12 hours, I have to C-g out of gnutls_boot() when accessing a webpage. I need to figure out why, but until then can we make the relevant loop less confusing? * src/gnutls.c (gnutls_try_handshake): De-obfuscate. --- src/gnutls.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/gnutls.c b/src/gnutls.c index 4d5a909db0..22e7f2cbc1 100644 --- a/src/gnutls.c +++ b/src/gnutls.c @@ -625,16 +625,11 @@ gnutls_try_handshake (struct Lisp_Process *proc) while ((ret = gnutls_handshake (state)) < 0) { - if (gnutls_error_is_fatal (ret)) - return emacs_gnutls_handle_error (state, ret); - do - ret = gnutls_handshake (state); - while (ret == GNUTLS_E_INTERRUPTED); - - if (0 <= ret || emacs_gnutls_handle_error (state, ret) == 0 - || non_blocking) + if (emacs_gnutls_handle_error (state, ret) == 0) /* fatal */ break; maybe_quit (); + if (non_blocking && ret != GNUTLS_E_INTERRUPTED) + break; } proc->gnutls_initstage = GNUTLS_STAGE_HANDSHAKE_TRIED; -- 2.26.2 --=-=-= Content-Type: text/plain In GNU Emacs 28.0.50 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.22.30, cairo version 1.15.10) of 2021-06-15 built on dick Repository revision: 6681dda6d182274ccffd740289ca769a17f52c78 Repository branch: gnus-dev-28 Windowing system distributor 'The X.Org Foundation', version 11.0.11906000 System Description: Ubuntu 18.04.4 LTS Configured using: 'configure --prefix=/home/dick/.local' Configured features: CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3 ZLIB Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix Major mode: Magit Minor modes in effect: async-bytecomp-package-mode: t global-git-commit-mode: t magit-auto-revert-mode: t show-paren-mode: t projectile-mode: t flx-ido-mode: t override-global-mode: t shell-dirtrack-mode: t beacon-mode: t global-hl-line-mode: t winner-mode: t tooltip-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t buffer-read-only: t column-number-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: /home/dick/ESS/lisp/obsolete/ess-swv hides /home/dick/ESS/lisp/ess-swv /home/dick/ESS/lisp/obsolete/ess-rutils hides /home/dick/ESS/lisp/ess-rutils /home/dick/ESS/lisp/obsolete/ess-noweb hides /home/dick/ESS/lisp/ess-noweb /home/dick/ESS/lisp/obsolete/mouseme hides /home/dick/ESS/lisp/mouseme /home/dick/ESS/lisp/obsolete/ess-mouse hides /home/dick/ESS/lisp/ess-mouse /home/dick/ESS/lisp/obsolete/ess-noweb-mode hides /home/dick/ESS/lisp/ess-noweb-mode /home/dick/ESS/lisp/obsolete/make-regexp hides /home/dick/ESS/lisp/make-regexp /home/dick/ESS/lisp/obsolete/ess-r-a hides /home/dick/ESS/lisp/ess-r-a /home/dick/ESS/lisp/obsolete/ess-noweb-font-lock-mode hides /home/dick/ESS/lisp/ess-noweb-font-lock-mode /home/dick/gomacro-mode/gomacro-mode hides /home/dick/.emacs.d/elpa/gomacro-mode-20200326.1103/gomacro-mode /home/dick/ESS/lisp/julia-mode hides /home/dick/.emacs.d/elpa/julia-mode-20200717.1915/julia-mode /home/dick/ESS/lisp/julia-mode-latexsubs hides /home/dick/.emacs.d/elpa/julia-mode-20200717.1915/julia-mode-latexsubs /home/dick/.emacs.d/elpa/hydra-20170924.2259/lv hides /home/dick/.emacs.d/elpa/lv-20191106.1238/lv /home/dick/org-gcal.el/org-gcal hides /home/dick/.emacs.d/elpa/org-gcal-0.3/org-gcal /home/dick/.emacs.d/elpa/async-20200113.1745/async-autoloads hides /home/dick/.local/share/emacs/site-lisp/emacs-async/async-autoloads /home/dick/.emacs.d/elpa/async-20200113.1745/async-bytecomp hides /home/dick/.local/share/emacs/site-lisp/emacs-async/async-bytecomp /home/dick/.emacs.d/elpa/async-20200113.1745/smtpmail-async hides /home/dick/.local/share/emacs/site-lisp/emacs-async/smtpmail-async /home/dick/.emacs.d/elpa/async-20200113.1745/dired-async hides /home/dick/.local/share/emacs/site-lisp/emacs-async/dired-async /home/dick/.emacs.d/elpa/async-20200113.1745/async hides /home/dick/.local/share/emacs/site-lisp/emacs-async/async /home/dick/.emacs.d/elpa/async-20200113.1745/async-pkg hides /home/dick/.local/share/emacs/site-lisp/emacs-async/async-pkg /home/dick/.emacs.d/lisp/json hides /home/dick/gnus/lisp/json /home/dick/.emacs.d/elpa/transient-20210221.2251/transient hides /home/dick/gnus/lisp/transient /home/dick/.emacs.d/elpa/org-9.4.5/ob-css hides /home/dick/gnus/lisp/org/ob-css /home/dick/.emacs.d/elpa/org-9.4.5/ox-texinfo hides /home/dick/gnus/lisp/org/ox-texinfo /home/dick/.emacs.d/elpa/org-9.4.5/org-plot hides /home/dick/gnus/lisp/org/org-plot /home/dick/.emacs.d/elpa/org-9.4.5/ob-eval hides /home/dick/gnus/lisp/org/ob-eval /home/dick/.emacs.d/elpa/org-9.4.5/ob-ref hides /home/dick/gnus/lisp/org/ob-ref /home/dick/.emacs.d/elpa/org-9.4.5/org-crypt hides /home/dick/gnus/lisp/org/org-crypt /home/dick/.emacs.d/elpa/org-9.4.5/ob-tangle hides /home/dick/gnus/lisp/org/ob-tangle /home/dick/.emacs.d/elpa/org-9.4.5/ob-asymptote hides /home/dick/gnus/lisp/org/ob-asymptote /home/dick/.emacs.d/elpa/org-9.4.5/ol-w3m hides /home/dick/gnus/lisp/org/ol-w3m /home/dick/.emacs.d/elpa/org-9.4.5/ob-hledger hides /home/dick/gnus/lisp/org/ob-hledger /home/dick/.emacs.d/elpa/org-9.4.5/ob-forth hides /home/dick/gnus/lisp/org/ob-forth /home/dick/.emacs.d/elpa/org-9.4.5/org-mouse hides /home/dick/gnus/lisp/org/org-mouse /home/dick/.emacs.d/elpa/org-9.4.5/org-indent hides /home/dick/gnus/lisp/org/org-indent /home/dick/.emacs.d/elpa/org-9.4.5/org-attach-git hides /home/dick/gnus/lisp/org/org-attach-git /home/dick/.emacs.d/elpa/org-9.4.5/org-element hides /home/dick/gnus/lisp/org/org-element /home/dick/.emacs.d/elpa/org-9.4.5/ol-mhe hides /home/dick/gnus/lisp/org/ol-mhe /home/dick/.emacs.d/elpa/org-9.4.5/org-footnote hides /home/dick/gnus/lisp/org/org-footnote /home/dick/.emacs.d/elpa/org-9.4.5/ob-stan hides /home/dick/gnus/lisp/org/ob-stan /home/dick/.emacs.d/elpa/org-9.4.5/ob-perl hides /home/dick/gnus/lisp/org/ob-perl /home/dick/.emacs.d/elpa/org-9.4.5/org-timer hides /home/dick/gnus/lisp/org/org-timer /home/dick/.emacs.d/elpa/org-9.4.5/org-table hides /home/dick/gnus/lisp/org/org-table /home/dick/.emacs.d/elpa/org-9.4.5/org-keys hides /home/dick/gnus/lisp/org/org-keys /home/dick/.emacs.d/elpa/org-9.4.5/org-colview hides /home/dick/gnus/lisp/org/org-colview /home/dick/.emacs.d/elpa/org-9.4.5/ol hides /home/dick/gnus/lisp/org/ol /home/dick/.emacs.d/elpa/org-9.4.5/org-entities hides /home/dick/gnus/lisp/org/org-entities /home/dick/.emacs.d/elpa/org-9.4.5/org-src hides /home/dick/gnus/lisp/org/org-src /home/dick/.emacs.d/elpa/org-9.4.5/ob-js hides /home/dick/gnus/lisp/org/ob-js /home/dick/.emacs.d/elpa/org-9.4.5/org hides /home/dick/gnus/lisp/org/org /home/dick/.emacs.d/elpa/org-9.4.5/ob-makefile hides /home/dick/gnus/lisp/org/ob-makefile /home/dick/.emacs.d/elpa/org-9.4.5/ob-io hides /home/dick/gnus/lisp/org/ob-io /home/dick/.emacs.d/elpa/org-9.4.5/org-refile hides /home/dick/gnus/lisp/org/org-refile /home/dick/.emacs.d/elpa/org-9.4.5/org-clock hides /home/dick/gnus/lisp/org/org-clock /home/dick/.emacs.d/elpa/org-9.4.5/ob-dot hides /home/dick/gnus/lisp/org/ob-dot /home/dick/.emacs.d/elpa/org-9.4.5/ob-exp hides /home/dick/gnus/lisp/org/ob-exp /home/dick/.emacs.d/elpa/org-9.4.5/org-compat hides /home/dick/gnus/lisp/org/org-compat /home/dick/.emacs.d/elpa/org-9.4.5/ob-maxima hides /home/dick/gnus/lisp/org/ob-maxima /home/dick/.emacs.d/elpa/org-9.4.5/ob-C hides /home/dick/gnus/lisp/org/ob-C /home/dick/.emacs.d/elpa/org-9.4.5/org-tempo hides /home/dick/gnus/lisp/org/org-tempo /home/dick/.emacs.d/elpa/org-9.4.5/ox-md hides /home/dick/gnus/lisp/org/ox-md /home/dick/.emacs.d/elpa/org-9.4.5/ob-screen hides /home/dick/gnus/lisp/org/ob-screen /home/dick/.emacs.d/elpa/org-9.4.5/ob-lua hides /home/dick/gnus/lisp/org/ob-lua /home/dick/.emacs.d/elpa/org-9.4.5/ob-matlab hides /home/dick/gnus/lisp/org/ob-matlab /home/dick/.emacs.d/elpa/org-9.4.5/ob-groovy hides /home/dick/gnus/lisp/org/ob-groovy /home/dick/.emacs.d/elpa/org-9.4.5/ol-docview hides /home/dick/gnus/lisp/org/ol-docview /home/dick/.emacs.d/elpa/org-9.4.5/ob-ebnf hides /home/dick/gnus/lisp/org/ob-ebnf /home/dick/.emacs.d/elpa/org-9.4.5/ob-sed hides /home/dick/gnus/lisp/org/ob-sed /home/dick/.emacs.d/elpa/org-9.4.5/ox-html hides /home/dick/gnus/lisp/org/ox-html /home/dick/.emacs.d/elpa/org-9.4.5/ob-emacs-lisp hides /home/dick/gnus/lisp/org/ob-emacs-lisp /home/dick/.emacs.d/elpa/org-9.4.5/ol-bbdb hides /home/dick/gnus/lisp/org/ol-bbdb /home/dick/.emacs.d/elpa/org-9.4.5/org-macs hides /home/dick/gnus/lisp/org/org-macs /home/dick/.emacs.d/elpa/org-9.4.5/org-lint hides /home/dick/gnus/lisp/org/org-lint /home/dick/.emacs.d/elpa/org-9.4.5/org-loaddefs hides /home/dick/gnus/lisp/org/org-loaddefs /home/dick/.emacs.d/elpa/org-9.4.5/ob-scheme hides /home/dick/gnus/lisp/org/ob-scheme /home/dick/.emacs.d/elpa/org-9.4.5/org-protocol hides /home/dick/gnus/lisp/org/org-protocol /home/dick/.emacs.d/elpa/org-9.4.5/ol-eww hides /home/dick/gnus/lisp/org/ol-eww /home/dick/.emacs.d/elpa/org-9.4.5/ox-beamer hides /home/dick/gnus/lisp/org/ox-beamer /home/dick/.emacs.d/elpa/org-9.4.5/ob-core hides /home/dick/gnus/lisp/org/ob-core /home/dick/.emacs.d/elpa/org-9.4.5/org-agenda hides /home/dick/gnus/lisp/org/org-agenda /home/dick/.emacs.d/elpa/org-9.4.5/ob-plantuml hides /home/dick/gnus/lisp/org/ob-plantuml /home/dick/.emacs.d/elpa/org-9.4.5/ox-publish hides /home/dick/gnus/lisp/org/ox-publish /home/dick/.emacs.d/elpa/org-9.4.5/ol-eshell hides /home/dick/gnus/lisp/org/ol-eshell /home/dick/.emacs.d/elpa/org-9.4.5/ol-rmail hides /home/dick/gnus/lisp/org/ol-rmail /home/dick/.emacs.d/elpa/org-9.4.5/ob-J hides /home/dick/gnus/lisp/org/ob-J /home/dick/.emacs.d/elpa/org-9.4.5/ob-abc hides /home/dick/gnus/lisp/org/ob-abc /home/dick/.emacs.d/elpa/org-9.4.5/ob-awk hides /home/dick/gnus/lisp/org/ob-awk /home/dick/.emacs.d/elpa/org-9.4.5/ob-gnuplot hides /home/dick/gnus/lisp/org/ob-gnuplot /home/dick/.emacs.d/elpa/org-9.4.5/ob-sql hides /home/dick/gnus/lisp/org/ob-sql /home/dick/.emacs.d/elpa/org-9.4.5/ob-python hides /home/dick/gnus/lisp/org/ob-python /home/dick/.emacs.d/elpa/org-9.4.5/ob-octave hides /home/dick/gnus/lisp/org/ob-octave /home/dick/.emacs.d/elpa/org-9.4.5/ox-man hides /home/dick/gnus/lisp/org/ox-man /home/dick/.emacs.d/elpa/org-9.4.5/ol-bibtex hides /home/dick/gnus/lisp/org/ol-bibtex /home/dick/.emacs.d/elpa/org-9.4.5/org-goto hides /home/dick/gnus/lisp/org/org-goto /home/dick/.emacs.d/elpa/org-9.4.5/ob-org hides /home/dick/gnus/lisp/org/ob-org /home/dick/.emacs.d/elpa/org-9.4.5/ob-lob hides /home/dick/gnus/lisp/org/ob-lob /home/dick/.emacs.d/elpa/org-9.4.5/ob-calc hides /home/dick/gnus/lisp/org/ob-calc /home/dick/.emacs.d/elpa/org-9.4.5/org-macro hides /home/dick/gnus/lisp/org/org-macro /home/dick/.emacs.d/elpa/org-9.4.5/ob hides /home/dick/gnus/lisp/org/ob /home/dick/.emacs.d/elpa/org-9.4.5/ol-info hides /home/dick/gnus/lisp/org/ol-info /home/dick/.emacs.d/elpa/org-9.4.5/ox-ascii hides /home/dick/gnus/lisp/org/ox-ascii /home/dick/.emacs.d/elpa/org-9.4.5/ob-clojure hides /home/dick/gnus/lisp/org/ob-clojure /home/dick/.emacs.d/elpa/org-9.4.5/org-inlinetask hides /home/dick/gnus/lisp/org/org-inlinetask /home/dick/.emacs.d/elpa/org-9.4.5/ob-vala hides /home/dick/gnus/lisp/org/ob-vala /home/dick/.emacs.d/elpa/org-9.4.5/ob-ruby hides /home/dick/gnus/lisp/org/ob-ruby /home/dick/.emacs.d/elpa/org-9.4.5/ob-sass hides /home/dick/gnus/lisp/org/ob-sass /home/dick/.emacs.d/elpa/org-9.4.5/org-faces hides /home/dick/gnus/lisp/org/org-faces /home/dick/.emacs.d/elpa/org-9.4.5/org-attach hides /home/dick/gnus/lisp/org/org-attach /home/dick/.emacs.d/elpa/org-9.4.5/ob-lilypond hides /home/dick/gnus/lisp/org/ob-lilypond /home/dick/.emacs.d/elpa/org-9.4.5/org-archive hides /home/dick/gnus/lisp/org/org-archive /home/dick/.emacs.d/elpa/org-9.4.5/ob-shen hides /home/dick/gnus/lisp/org/ob-shen /home/dick/.emacs.d/elpa/org-9.4.5/org-datetree hides /home/dick/gnus/lisp/org/org-datetree /home/dick/.emacs.d/elpa/org-9.4.5/org-id hides /home/dick/gnus/lisp/org/org-id /home/dick/.emacs.d/elpa/org-9.4.5/ob-eshell hides /home/dick/gnus/lisp/org/ob-eshell /home/dick/.emacs.d/elpa/org-9.4.5/ob-sqlite hides /home/dick/gnus/lisp/org/ob-sqlite /home/dick/.emacs.d/elpa/org-9.4.5/ob-picolisp hides /home/dick/gnus/lisp/org/ob-picolisp /home/dick/.emacs.d/elpa/org-9.4.5/org-habit hides /home/dick/gnus/lisp/org/org-habit /home/dick/.emacs.d/elpa/org-9.4.5/org-ctags hides /home/dick/gnus/lisp/org/org-ctags /home/dick/.emacs.d/elpa/org-9.4.5/ol-gnus hides /home/dick/gnus/lisp/org/ol-gnus /home/dick/.emacs.d/elpa/org-9.4.5/ob-java hides /home/dick/gnus/lisp/org/ob-java /home/dick/.emacs.d/elpa/org-9.4.5/ox-latex hides /home/dick/gnus/lisp/org/ox-latex /home/dick/.emacs.d/elpa/org-9.4.5/org-pcomplete hides /home/dick/gnus/lisp/org/org-pcomplete /home/dick/.emacs.d/elpa/org-9.4.5/ob-processing hides /home/dick/gnus/lisp/org/ob-processing /home/dick/.emacs.d/elpa/org-9.4.5/ox-odt hides /home/dick/gnus/lisp/org/ox-odt /home/dick/.emacs.d/elpa/org-9.4.5/org-feed hides /home/dick/gnus/lisp/org/org-feed /home/dick/.emacs.d/elpa/org-9.4.5/ob-ditaa hides /home/dick/gnus/lisp/org/ob-ditaa /home/dick/.emacs.d/elpa/org-9.4.5/ox-org hides /home/dick/gnus/lisp/org/ox-org /home/dick/.emacs.d/elpa/org-9.4.5/ob-coq hides /home/dick/gnus/lisp/org/ob-coq /home/dick/.emacs.d/elpa/org-9.4.5/ob-R hides /home/dick/gnus/lisp/org/ob-R /home/dick/.emacs.d/elpa/org-9.4.5/ob-fortran hides /home/dick/gnus/lisp/org/ob-fortran /home/dick/.emacs.d/elpa/org-9.4.5/ob-haskell hides /home/dick/gnus/lisp/org/ob-haskell /home/dick/.emacs.d/elpa/org-9.4.5/ox-icalendar hides /home/dick/gnus/lisp/org/ox-icalendar /home/dick/.emacs.d/elpa/org-9.4.5/org-num hides /home/dick/gnus/lisp/org/org-num /home/dick/.emacs.d/elpa/org-9.4.5/ob-ledger hides /home/dick/gnus/lisp/org/ob-ledger /home/dick/.emacs.d/elpa/org-9.4.5/ox hides /home/dick/gnus/lisp/org/ox /home/dick/.emacs.d/elpa/org-9.4.5/org-mobile hides /home/dick/gnus/lisp/org/org-mobile /home/dick/.emacs.d/elpa/org-9.4.5/org-duration hides /home/dick/gnus/lisp/org/org-duration /home/dick/.emacs.d/elpa/org-9.4.5/org-list hides /home/dick/gnus/lisp/org/org-list /home/dick/.emacs.d/elpa/org-9.4.5/ob-latex hides /home/dick/gnus/lisp/org/ob-latex /home/dick/.emacs.d/elpa/org-9.4.5/ob-ocaml hides /home/dick/gnus/lisp/org/ob-ocaml /home/dick/.emacs.d/elpa/org-9.4.5/ob-lisp hides /home/dick/gnus/lisp/org/ob-lisp /home/dick/.emacs.d/elpa/org-9.4.5/ob-mscgen hides /home/dick/gnus/lisp/org/ob-mscgen /home/dick/.emacs.d/elpa/org-9.4.5/ob-comint hides /home/dick/gnus/lisp/org/ob-comint /home/dick/.emacs.d/elpa/org-9.4.5/org-capture hides /home/dick/gnus/lisp/org/org-capture /home/dick/.emacs.d/elpa/org-9.4.5/ob-table hides /home/dick/gnus/lisp/org/ob-table /home/dick/.emacs.d/elpa/org-9.4.5/ob-shell hides /home/dick/gnus/lisp/org/ob-shell /home/dick/.emacs.d/elpa/org-9.4.5/ol-irc hides /home/dick/gnus/lisp/org/ol-irc /home/dick/.emacs.d/elpa/org-9.4.5/org-version hides /home/dick/gnus/lisp/org/org-version /home/dick/.emacs.d/elpa/hierarchy-20171221.1151/hierarchy hides /home/dick/gnus/lisp/emacs-lisp/hierarchy Features: (shadow sort bbdb-message flyspell ispell footnote mail-extr emacsbug vc google-c-style vc-git vc-dispatcher bug-reference face-remap magit-patch-changelog magit-patch magit-submodule magit-obsolete magit-popup async-bytecomp async magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func imenu magit-diff smerge-mode diff diff-mode git-commit log-edit pcvs-util add-log magit-core magit-autorevert magit-margin magit-transient magit-process with-editor server magit-mode transient magit-git magit-section magit-utils gnus-notifications gnus-fun notifications gnus-kill gnus-dup disp-table mm-archive gnutls url-cache nntwitter nntwitter-api nnrss nnhackernews nndiscourse benchmark rbenv utf-7 network-stream nnfolder bbdb-gnus gnus-demon nntp nnmairix nnml nnreddit gnus-topic url-http url-auth url-gw nsm virtualenvwrapper gud s json-rpc python tramp-sh tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat ls-lisp gnus-score score-mode gnus-bcklg gnus-srvr gnus-cite bbdb-mua bbdb-com crm bbdb bbdb-site timezone gnus-delay gnus-draft gnus-cache gnus-agent gnus-msg nndraft nnmh use-package use-package-delight use-package-diminish paredit-ext paredit mu4e mu4e-org mu4e-main mu4e-view mu4e-view-gnus gnus-art mm-uu mml2015 mm-view mml-smime smime dig mu4e-view-common mu4e-headers mu4e-compose mu4e-context mu4e-draft mu4e-actions rfc2368 smtpmail sendmail mu4e-mark mu4e-proc mu4e-utils doc-view jka-compr image-mode exif mu4e-lists mu4e-message flow-fill org-tempo tempo org org-macro org-footnote org-pcomplete org-list org-faces org-entities org-version ob-R ob-emacs-lisp ob-ein ein-cell ein-output-area ein-kernel ein-ipdb ein-query ein-events ein-websocket websocket bindat ein-node ewoc ein-log ein-classes ein-core request autorevert filenotify ein ein-utils deferred cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ob ob-tangle org-src ob-ref ob-lob ob-table ob-exp ob-comint ob-core ob-eval org-table ol org-keys org-compat org-macs org-loaddefs find-func cal-menu calendar cal-loaddefs gnus-sum shr kinsoku svg dom gnus-group mm-url gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo parse-time iso8601 gnus-spec gnus-int gnus-range gnus-win mule-util mu4e-vars message rmc puny rfc822 mml mml-sec epa epg epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader mu4e-meta subed subed-vtt subed-srt subed-common subed-mpv subed-debug subed-config dired-x inf-ruby ruby-mode smie melpa-stats ht dash anaphora a company haskell-interactive-mode haskell-presentation-mode haskell-process haskell-session haskell-compile haskell-mode haskell-cabal haskell-utils haskell-font-lock haskell-indentation haskell-string haskell-sort-imports haskell-lexeme rx haskell-align-imports haskell-complete-module haskell-ghc-support etags fileloop generator dabbrev haskell-customize hydra lv use-package-ensure paren solarized-theme solarized-definitions projectile skeleton ibuf-macs find-dired dired dired-loaddefs ibuf-ext ibuffer ibuffer-loaddefs grep gnus nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils time-date flx-ido flx google-translate-default-ui google-translate-core-ui facemenu color ido google-translate-core google-translate-tk google-translate-backend use-package-bind-key bind-key auto-complete advice popup cus-edit pp cus-load wid-edit ess-r-mode ess-r-flymake flymake-proc flymake warnings thingatpt ess-r-xref xref ess-trns ess-r-package shell pcomplete ess-r-completion ess-roxy ess-r-syntax ess-rd noutline outline hideshow ess-s-lang ess-help ess-mode ess-inf project format-spec ess-tracebug ess ess-utils ess-custom compile text-property-search comint ansi-color emms-player-mplayer emms-player-simple emms emms-compat cl-extra help-mode use-package-core derived beacon easy-mmode pcase hl-line winner ring edmacro kmacro finder-inf json-reformat-autoloads json-snatcher-autoloads sml-mode-autoloads tornado-template-mode-autoloads info package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib iso-transl tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 991760 80860) (symbols 48 51110 4) (strings 32 195052 12834) (string-bytes 1 6685138) (vectors 16 66749) (vector-slots 8 883884 72986) (floats 8 2007 888) (intervals 56 3184 1008) (buffers 992 35)) --=-=-=-- From unknown Sun Aug 17 01:00:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#49055: 28.0.50; [PATCH] De-obfuscate gnutls_handshake loop Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 19 Jun 2021 13:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49055 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: dick.r.chiang@gmail.com Cc: 49055@debbugs.gnu.org Received: via spool by 49055-submit@debbugs.gnu.org id=B49055.162410879616916 (code B ref 49055); Sat, 19 Jun 2021 13:20:02 +0000 Received: (at 49055) by debbugs.gnu.org; 19 Jun 2021 13:19:56 +0000 Received: from localhost ([127.0.0.1]:58781 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1luatA-0004Om-JJ for submit@debbugs.gnu.org; Sat, 19 Jun 2021 09:19:56 -0400 Received: from quimby.gnus.org ([95.216.78.240]:51474) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1luat8-0004OX-PG for 49055@debbugs.gnu.org; Sat, 19 Jun 2021 09:19:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=wVTDzV5kMnsf2TMo1tdip09PUiqQLSzbCmZexc4g8yg=; b=UhQyb1ut6h0bPgvURAlP1C1CpK dSkytngajKNRATfwghrg57mDGWTPbYRPogphT4dYnkbkxPXkDJFJWBJP1o2WLUNZVq97Y7hcfqZae md4jXrU85iyxwCRBTs9YGrQBV/oYE9y8xJbgVF7wv95xc1nvaaq5KOMtPfhsSielu1qs=; Received: from cm-84.212.220.105.getinternet.no ([84.212.220.105] helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1luat0-0002nx-KT; Sat, 19 Jun 2021 15:19:48 +0200 From: Lars Ingebrigtsen References: <87zgvqd35s.fsf@dick> X-Now-Playing: Oh Sees's _Face Stabber_: "Psy-Ops Dispatch" Date: Sat, 19 Jun 2021 15:19:46 +0200 In-Reply-To: <87zgvqd35s.fsf@dick> (dick r. chiang's message of "Tue, 15 Jun 2021 21:11:27 -0400") Message-ID: <87zgvmyost.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: dick.r.chiang@gmail.com writes: > I need to figure out why, but until > then can we make the relevant loop less confusing? I think that makes sense, so I've now applied your patch to Emacs 28. Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -0.7 (/) 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.7 (-) dick.r.chiang@gmail.com writes: > I need to figure out why, but until > then can we make the relevant loop less confusing? I think that makes sense, so I've now applied your patch to Emacs 28. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Sat Jun 19 09:20:00 2021 Received: (at control) by debbugs.gnu.org; 19 Jun 2021 13:20:01 +0000 Received: from localhost ([127.0.0.1]:58784 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1luatE-0004P3-QU for submit@debbugs.gnu.org; Sat, 19 Jun 2021 09:20:00 -0400 Received: from quimby.gnus.org ([95.216.78.240]:51488) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1luatD-0004Oe-OH for control@debbugs.gnu.org; Sat, 19 Jun 2021 09:19:59 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Subject:From:To:Message-Id:Date:Sender:Reply-To:Cc: MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=e1CO+/2NwBnGaNvjPpy/SI6BZgRkMDydxFAr5HYJq1o=; b=c/Rb79cw2wg5KvjZLLZy65atKA Vq0jNJho0hXZBUkUeqs84hMlprv0T3D0qBFuy/nAjIHTURAZQ4qIfen8kzP34dZiKweRjj+ynTpfT bqQpJ2GfAi70S1s2HOyGsqeg8xEOdjsIOyFE6nA6JpZukBdknche6R/e2X4dVHO2CBSs=; Received: from cm-84.212.220.105.getinternet.no ([84.212.220.105] helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1luat6-0002oA-CD for control@debbugs.gnu.org; Sat, 19 Jun 2021 15:19:54 +0200 Date: Sat, 19 Jun 2021 15:19:51 +0200 Message-Id: <87y2b6yoso.fsf@gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #49055 X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: close 49055 28.1 quit Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: control 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.7 (-) close 49055 28.1 quit From unknown Sun Aug 17 01:00:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#49055: 28.0.50; [PATCH] De-obfuscate gnutls_handshake loop Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 19 Jun 2021 13:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49055 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Lars Ingebrigtsen Cc: 49055@debbugs.gnu.org, dick.r.chiang@gmail.com Received: via spool by 49055-submit@debbugs.gnu.org id=B49055.162410983027178 (code B ref 49055); Sat, 19 Jun 2021 13:38:02 +0000 Received: (at 49055) by debbugs.gnu.org; 19 Jun 2021 13:37:10 +0000 Received: from localhost ([127.0.0.1]:58832 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lub9p-00074H-Up for submit@debbugs.gnu.org; Sat, 19 Jun 2021 09:37:10 -0400 Received: from eggs.gnu.org ([209.51.188.92]:45254) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lub9n-000744-Rz for 49055@debbugs.gnu.org; Sat, 19 Jun 2021 09:37:08 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:36366) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lub9i-0003bf-JQ; Sat, 19 Jun 2021 09:37:02 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:2220 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lub9i-0003Tm-6Z; Sat, 19 Jun 2021 09:37:02 -0400 Date: Sat, 19 Jun 2021 16:37:13 +0300 Message-Id: <83im2avuuu.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87zgvmyost.fsf@gnus.org> (message from Lars Ingebrigtsen on Sat, 19 Jun 2021 15:19:46 +0200) References: <87zgvqd35s.fsf@dick> <87zgvmyost.fsf@gnus.org> X-Spam-Score: -2.3 (--) 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: -3.3 (---) > From: Lars Ingebrigtsen > Date: Sat, 19 Jun 2021 15:19:46 +0200 > Cc: 49055@debbugs.gnu.org > > dick.r.chiang@gmail.com writes: > > > I need to figure out why, but until > > then can we make the relevant loop less confusing? > > I think that makes sense, so I've now applied your patch to Emacs 28. The code wasn't really 100% equivalent, though. From unknown Sun Aug 17 01:00:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#49055: 28.0.50; [PATCH] De-obfuscate gnutls_handshake loop Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 19 Jun 2021 13:41:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49055 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 49055@debbugs.gnu.org, dick.r.chiang@gmail.com Received: via spool by 49055-submit@debbugs.gnu.org id=B49055.162411002927498 (code B ref 49055); Sat, 19 Jun 2021 13:41:01 +0000 Received: (at 49055) by debbugs.gnu.org; 19 Jun 2021 13:40:29 +0000 Received: from localhost ([127.0.0.1]:58840 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lubD3-00079S-Mx for submit@debbugs.gnu.org; Sat, 19 Jun 2021 09:40:29 -0400 Received: from quimby.gnus.org ([95.216.78.240]:51928) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lubD2-00079F-2z for 49055@debbugs.gnu.org; Sat, 19 Jun 2021 09:40:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=dAlvMcVAKVJBYNFwoZg+Hbi0XDcaEceLvoq7uMR6/x0=; b=XcPAnhd2xjC2jKlcIUuWx7UGba IouzL7+8pQTZJdmStM5gyFPaMYcgcNhSFgAisk9YuaToAD36yyJUR97h2FtsUCj9bZOadD42tp+ui J7WEJmcTkOjQj0e1IB80+W4ONQ3hQM4wNjN80QkdmzS2J1jasnSut7UNcz7eNKhLJybY=; Received: from cm-84.212.220.105.getinternet.no ([84.212.220.105] helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lubCt-0003D6-Kn; Sat, 19 Jun 2021 15:40:21 +0200 From: Lars Ingebrigtsen References: <87zgvqd35s.fsf@dick> <87zgvmyost.fsf@gnus.org> <83im2avuuu.fsf@gnu.org> Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAABGdBTUEAALGPC/xhBQAAACBj SFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAFVBMVEXZNRbnOBakVypc Rx0dFhC3p1n////YFjVIAAAAAWJLR0QGYWa4fQAAAAd0SU1FB+UGEw0cIwt5kjwAAAG2SURBVDjL dZTBcuMgDIah272bnem9hnBPEb53LOUBilfv/yqVAMe4SXXwAJ+kHwmwsc5Z85LpKoPBJmP1cyHC M3ANkNjHI3B/FHz+SGWeA1fB5RGYmur1AZj4XOOf5wZAwDwoM/gKpvcMeD1A3BDMVFO+m4xDQAYy XHPOhiLfAwJANvylIvPEYuIsExmUACbyrOAvV/Li3BsXLyEmxTK71ytEBVMRgeK9poLE/HUBrKB4 5g3EMilYWIE4Mt+4LFoUCQAGviD64hNvq4eFoYMlSEEEPkHKtyDbDrmBtCWWEej0VlCUMqExCBBA AWWEjB18uAYW8ca4bMLQ+0BknSEBC/yXVLAmPTEQ7VXaRwhh3TS/xCJh3eusQBYwZl1ZpKnqoQEK ZJIEAC2BsALbAdU5pNhqbjesgWqpVkLUjtLsAUScq0I/4gZqE9Jd+ABaUzd7ArFkGoSfgT2gvQBM voPV/QChg+OetjoAam0wvJ4d5FbOfE4ljcrtY8cI7BuSMo/7W0EXlv4OF3toojicI+Bgn2eQ78Da X4A7RfRcmQD1edhDfBdBBfJLkKc/TUMdMtLV3UawDuAb74jGAZ7dpuoAAAAldEVYdGRhdGU6Y3Jl YXRlADIwMjEtMDYtMTlUMTM6Mjg6MzUrMDA6MDBrfJB1AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIx LTA2LTE5VDEzOjI4OjM1KzAwOjAwGiEoyQAAAABJRU5ErkJggg== X-Now-Playing: Oh Sees's _Face Stabber_: "Henchlock" Date: Sat, 19 Jun 2021 15:40:19 +0200 In-Reply-To: <83im2avuuu.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 19 Jun 2021 16:37:13 +0300") Message-ID: <87o8c2vupo.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Eli Zaretskii writes: >> I think that makes sense, so I've now applied your patch to Emacs 28. > > The code wasn't really 100% equivalent, though. No -- it looped in two different ways, but staring at the code, I convinced myself that it should be functionally equivalent. Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -0.7 (/) 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.7 (-) Eli Zaretskii writes: >> I think that makes sense, so I've now applied your patch to Emacs 28. > > The code wasn't really 100% equivalent, though. No -- it looped in two different ways, but staring at the code, I convinced myself that it should be functionally equivalent. I may be misreading the code, though. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From unknown Sun Aug 17 01:00:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#49055: 28.0.50; [PATCH] De-obfuscate gnutls_handshake loop Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 19 Jun 2021 13:48:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49055 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Lars Ingebrigtsen Cc: 49055@debbugs.gnu.org, dick.r.chiang@gmail.com Received: via spool by 49055-submit@debbugs.gnu.org id=B49055.16241104764107 (code B ref 49055); Sat, 19 Jun 2021 13:48:01 +0000 Received: (at 49055) by debbugs.gnu.org; 19 Jun 2021 13:47:56 +0000 Received: from localhost ([127.0.0.1]:58844 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lubKG-00014A-Dq for submit@debbugs.gnu.org; Sat, 19 Jun 2021 09:47:56 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47368) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lubKF-00010r-DA for 49055@debbugs.gnu.org; Sat, 19 Jun 2021 09:47:55 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:36732) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lubKA-00046p-4j; Sat, 19 Jun 2021 09:47:50 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:2879 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lubK9-0004nq-PO; Sat, 19 Jun 2021 09:47:50 -0400 Date: Sat, 19 Jun 2021 16:47:58 +0300 Message-Id: <83h7huvucx.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <87o8c2vupo.fsf@gnus.org> (message from Lars Ingebrigtsen on Sat, 19 Jun 2021 15:40:19 +0200) References: <87zgvqd35s.fsf@dick> <87zgvmyost.fsf@gnus.org> <83im2avuuu.fsf@gnu.org> <87o8c2vupo.fsf@gnus.org> X-Spam-Score: -2.3 (--) 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: -3.3 (---) > From: Lars Ingebrigtsen > Cc: dick.r.chiang@gmail.com, 49055@debbugs.gnu.org > Date: Sat, 19 Jun 2021 15:40:19 +0200 > > Eli Zaretskii writes: > > >> I think that makes sense, so I've now applied your patch to Emacs 28. > > > > The code wasn't really 100% equivalent, though. > > No -- it looped in two different ways, but staring at the code, I > convinced myself that it should be functionally equivalent. > > I may be misreading the code, though. What bothers me: . the gnutls_error_is_fatal call is missing from the new code . the negative values of 'ret' (if they are significant) aren't tested anymore . the condition of GNUTLS_E_INTERRUPTED is tested only once, and immediately causes the outer while-loop to be abandoned I'd love to see some rationale for these differences. For example, the last difference seems to have a potential of causing failure of handshaking if the user happens to type some input (in GUI sessions), or C-g in text-mode sessions, at some opportune moment. From unknown Sun Aug 17 01:00:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#49055: 28.0.50; [PATCH] De-obfuscate gnutls_handshake loop Resent-From: dick.r.chiang@gmail.com Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 19 Jun 2021 17:35:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49055 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 49055@debbugs.gnu.org Received: via spool by 49055-submit@debbugs.gnu.org id=B49055.162412407012375 (code B ref 49055); Sat, 19 Jun 2021 17:35:01 +0000 Received: (at 49055) by debbugs.gnu.org; 19 Jun 2021 17:34:30 +0000 Received: from localhost ([127.0.0.1]:60728 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1luerW-0003DW-Ad for submit@debbugs.gnu.org; Sat, 19 Jun 2021 13:34:30 -0400 Received: from mail-qv1-f42.google.com ([209.85.219.42]:44908) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1luerU-0003DJ-1R for 49055@debbugs.gnu.org; Sat, 19 Jun 2021 13:34:29 -0400 Received: by mail-qv1-f42.google.com with SMTP id dj3so5295974qvb.11 for <49055@debbugs.gnu.org>; Sat, 19 Jun 2021 10:34:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=Y1pfsnMxN3pSAw0DRb7AznDXwYnli3ZafkuMw+V2YOc=; b=o+EUZvu962/+XqDS1jrrkKzZpZ1OlwZXVIqbfrq+QdDG6GOPH3iS19PyTbX/tzpfJt 9bKYfT/Fg43s8xe2NvK1c1otlwenv4qNH3S+kH0ybbdKcqclQnjWpujRe5qngTXpqphd fllYXfbVHF3a8VgP9qikK/2tq/fo5pj+KRW6OApAtieLh7iF9VJxfDUtWBKReuqzwbAt a1YXufMJWtQ+g+BgugynM/aH8TeLHlestGBXtZQPCsivuTcTJv1kRPhNmcTmD+HlHMjs BRlfpMlrdww4Pnc/cH5JLMEpGftJ9/WHgrfVrlDgtj3gmLD1cR1OAHPPBDB//BG/P7/S +SKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=Y1pfsnMxN3pSAw0DRb7AznDXwYnli3ZafkuMw+V2YOc=; b=T3gcjN+h3vuz8ED6o2aTIlS+1kaKfK8dxaGE7xD7zUABqdGj6RLkNpWNZpyUAXojzu 9MJZbQ6GKd/ZMhwUbZ5M2gS4q6IZ4a9oq6Y2NS5bPm4EDatqKMOc/jxxukt5FfUV+SzA MaiTA2asFH347jF0jI78oR8gkc17De2qFgHqYzyOuFEjOasbd7C9iOm9OhP/KnF+KJqY wspDq/TnMhhshxvxu4oOiEI+4smpjRrs/HmX1RCrT9qI7j26Ex5GNE22kTk287V+DpcB LVC8mqItvuEpJ2LovVT1of01G8gwxuyS2Oed4rsQte50J7ErFhnZMHGr0v2Dojustrii Gv6w== X-Gm-Message-State: AOAM532a+Be7dDmHry9Gx7fD+xbrF+qdXtWrurSEEgDaZITfDBOfGfdi zBNTa4g1emSK7bdi9jpWrj4= X-Google-Smtp-Source: ABdhPJzP76baALTREE2A9Ge/VOctE6P3wF6WBapPl7SnfV4tL0K9wcraP3dE+KJ8Aw9MGTQqO+E97Q== X-Received: by 2002:ad4:58af:: with SMTP id ea15mr11558812qvb.59.1624124062495; Sat, 19 Jun 2021 10:34:22 -0700 (PDT) Received: from localhost (pool-71-190-212-171.nycmny.fios.verizon.net. [71.190.212.171]) by smtp.gmail.com with ESMTPSA id m11sm4910289qtn.81.2021.06.19.10.34.21 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 19 Jun 2021 10:34:21 -0700 (PDT) From: dick.r.chiang@gmail.com References: <87zgvqd35s.fsf@dick> <87zgvmyost.fsf@gnus.org> <83im2avuuu.fsf@gnu.org> <87o8c2vupo.fsf@gnus.org> <83h7huvucx.fsf@gnu.org> Date: Sat, 19 Jun 2021 13:34:21 -0400 In-Reply-To: <83h7huvucx.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 19 Jun 2021 16:47:58 +0300") Message-ID: <875yy9wyg2.fsf@dick> User-Agent: Gnus/5.14 (Gnus v5.14pre) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain 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 (-) > . the gnutls_error_is_fatal call is missing from the new code Yes, and just as well since it's redundant with `emacs_gnutls_handle_error`. > . the negative values of 'ret' (if they are significant) aren't > tested anymore This unchanged line 626 begs to differ. while ((ret = gnutls_handshake (state)) < 0) > . the condition of GNUTLS_E_INTERRUPTED is tested only once, and > immediately causes the outer while-loop to be abandoned Yes, as the commit before e87e6a2 did. You do realize I hope that e87e6a2, in its desire to keep the loop going under GNUTLS_E_INTERRUPTED, almost certainly did not intend to call `gnutls_handshake` twice when GNUTLS_E_INTERRUPTED was not applicable. > I'd love to see some rationale for these differences. Your skepticism is a credit to your earnestness. However, your expert scrutiny is better applied to misguided commits like e87e6a2 and d84d69d. From unknown Sun Aug 17 01:00:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#49055: 28.0.50; [PATCH] De-obfuscate gnutls_handshake loop Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 19 Jun 2021 17:52:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49055 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: dick.r.chiang@gmail.com, Paul Eggert Cc: 49055@debbugs.gnu.org Received: via spool by 49055-submit@debbugs.gnu.org id=B49055.162412511114059 (code B ref 49055); Sat, 19 Jun 2021 17:52:02 +0000 Received: (at 49055) by debbugs.gnu.org; 19 Jun 2021 17:51:51 +0000 Received: from localhost ([127.0.0.1]:60762 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1luf8J-0003eg-AR for submit@debbugs.gnu.org; Sat, 19 Jun 2021 13:51:51 -0400 Received: from eggs.gnu.org ([209.51.188.92]:34196) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1luf8I-0003eL-4V for 49055@debbugs.gnu.org; Sat, 19 Jun 2021 13:51:50 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:44240) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1luf8C-0003Xv-74; Sat, 19 Jun 2021 13:51:44 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:2000 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1luf8B-0001hL-Jr; Sat, 19 Jun 2021 13:51:44 -0400 Date: Sat, 19 Jun 2021 20:51:51 +0300 Message-Id: <83zgvlvj2g.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <875yy9wyg2.fsf@dick> (dick.r.chiang@gmail.com) References: <87zgvqd35s.fsf@dick> <87zgvmyost.fsf@gnus.org> <83im2avuuu.fsf@gnu.org> <87o8c2vupo.fsf@gnus.org> <83h7huvucx.fsf@gnu.org> <875yy9wyg2.fsf@dick> X-Spam-Score: -2.3 (--) 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: -3.3 (---) > From: dick.r.chiang@gmail.com > Cc: 49055@debbugs.gnu.org > Date: Sat, 19 Jun 2021 13:34:21 -0400 > > > . the gnutls_error_is_fatal call is missing from the new code > > Yes, and just as well since it's redundant with `emacs_gnutls_handle_error`. Not really, no: emacs_gnutls_handle_error does more, so the code is not equivalent. > > . the negative values of 'ret' (if they are significant) aren't > > tested anymore > > This unchanged line 626 begs to differ. > > while ((ret = gnutls_handshake (state)) < 0) Only if we accept your removal of the inner loop. Which I don't, at least not yet; see below. > > . the condition of GNUTLS_E_INTERRUPTED is tested only once, and > > immediately causes the outer while-loop to be abandoned > > Yes, as the commit before e87e6a2 did. You do realize I hope that e87e6a2, in > its desire to keep the loop going under GNUTLS_E_INTERRUPTED, almost > certainly did not intend to call `gnutls_handshake` twice when > GNUTLS_E_INTERRUPTED was not applicable. Oh, yes, it did intend that: the changes are explicitly so that interrupted calls don't fail because they were interrupted, but are retried. > > I'd love to see some rationale for these differences. > > Your skepticism is a credit to your earnestness. However, your expert > scrutiny is better applied to misguided commits like e87e6a2 and d84d69d. The thing is that I understand the changes in e87e6a2, and don't consider them misguided. They make Emacs more reliable in the rare situations where the TLS handshake is interrupted. What happens with your changes if during the TLS handshake you repeatedly and quickly press C-g several times? Paul, I'd appreciate your views on this, please.