From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: "J.P." Newsgroups: gmane.emacs.bugs Subject: bug#53941: 27.2; socks + tor dont work with https Date: Sat, 05 Mar 2022 18:58:55 -0800 Message-ID: <87pmmz947k.fsf@neverwas.me> References: <87pmntfym7.fsf@example.com> <8735kl1v58.fsf@neverwas.me> <87a6emftzx.fsf@example.com> <87k0do5km1.fsf@neverwas.me> <87pmn5n3tu.fsf@neverwas.me> <87mti99j1f.fsf@neverwas.me> <87wnh7hkgi.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="19069"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: 53941@debbugs.gnu.org To: Jacobo Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Mar 06 04:00:17 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 1nQh85-0004kC-DF for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 06 Mar 2022 04:00:17 +0100 Original-Received: from localhost ([::1]:57574 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nQh83-0006bn-SX for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 05 Mar 2022 22:00:15 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:34744) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nQh7q-0006bL-E9 for bug-gnu-emacs@gnu.org; Sat, 05 Mar 2022 22:00:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:55678) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nQh7q-0003Xn-4Q for bug-gnu-emacs@gnu.org; Sat, 05 Mar 2022 22:00:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nQh7p-00061G-UN for bug-gnu-emacs@gnu.org; Sat, 05 Mar 2022 22:00:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: "J.P." Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 06 Mar 2022 03:00:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 53941 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 53941-submit@debbugs.gnu.org id=B53941.164653554923051 (code B ref 53941); Sun, 06 Mar 2022 03:00:01 +0000 Original-Received: (at 53941) by debbugs.gnu.org; 6 Mar 2022 02:59:09 +0000 Original-Received: from localhost ([127.0.0.1]:49575 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nQh6y-0005zj-TR for submit@debbugs.gnu.org; Sat, 05 Mar 2022 21:59:09 -0500 Original-Received: from mail-108-mta94.mxroute.com ([136.175.108.94]:36637) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nQh6w-0005zH-LJ for 53941@debbugs.gnu.org; Sat, 05 Mar 2022 21:59:07 -0500 Original-Received: from filter006.mxroute.com ([140.82.40.27] 140.82.40.27.vultr.com) (Authenticated sender: mN4UYu2MZsgR) by mail-108-mta94.mxroute.com (ZoneMTA) with ESMTPSA id 17f5d2a777f000763e.001 for <53941@debbugs.gnu.org> (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES128-GCM-SHA256); Sun, 06 Mar 2022 02:58:58 +0000 X-Zone-Loop: dd5c5b6a6c2440c4e8621c03dfa438652ae0aa8f21ff X-Originating-IP: [140.82.40.27] DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=neverwas.me ; s=x; 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=XWAJppG7Vb/bbdAKFgpP0XUEsTdHDsx85g2O3i9uLsE=; b=G9eogZNwDSlQa+fKG/EJ25Dxa8 8Z/eKX2eI8/0E1QoCl34tklDCHkQYaQxBOF0CA1WTe2g0B1fjdOxdqbbwZEIc11i70rz2BT4ojUYr vJlL10s0/5IhwU5WQ84aKZmPKdxmJ2p28OavuA0Z0TjS+9d9KR2/THsRQQnaUYtPhIwSP96BWC6vs SlwfD4ATJ68+tPya7tLxhGv6HLjt/jZTBzoarNQsrYtZbvW31J6M+Hbu/CTir+CZqNa0sn4fsRFJz RVqcaj1wKs2qm76lENP5D/bzwlItsOoXOJ9wyDB4oD8CV28r94deLiUDspcBcR0pMC8TRr5Vnoqc3 tqv598lg==; In-Reply-To: <87wnh7hkgi.fsf@gnu.org> (Jacobo's message of "Sun, 06 Mar 2022 03:40:45 +0100") X-AuthUser: masked@neverwas.me 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:228054 Archived-At: Jacobo writes: > "J.P." writes: > >> v3. Passing around an opener function was clunky, so I've opted for >> passing around contact params instead. I've also gone back to explicitly >> setting the coding to binary because folks may not be using >> `url-open-stream' (which does this indirectly by let-binding >> `coding-system-for-{read,write}'). > > Emacs 28.0.91 compiled with this patches, dont work, connections dont > use the proxy As I tried to explain up thread, the patches only get you half way there. But perhaps that wasn't clear. You still need to do something like the following, which is what I MemoServ'd you about (but I guess you didn't get it). Quoting from there: ;; This works with eww. Try https://check.torproject.org (require 'socks) (require 'gnutls) (require 'nsm) (setq socks-server '("tor" "127.0.0.1" 9050 5) socks-username "user" socks-password "" url-gateway-method 'socks) (defun my-socks-open-https (orig name buffer host service &rest params) (let ((proc (apply orig name buffer host service params))) (advice-add 'network-lookup-address-info :override #'socks-tor-resolve) (unwind-protect (when (eq service 443) (gnutls-negotiate :process proc :hostname host) (unless (string-suffix-p ".onion" host) (nsm-verify-connection proc host service))) (advice-remove 'network-lookup-address-info #'socks-tor-resolve)) proc)) (defun my-url-open-stream (args) (pcase-let ((`(,name ,buffer ,host ,service ,gateway-method) args)) (when (and (eq url-gateway-method 'socks) (eq gateway-method 'tls)) (setq gateway-method nil)) (list name buffer host service gateway-method))) (advice-add 'socks-open-network-stream :around #'my-socks-open-https) (advice-add 'url-open-stream :filter-args #'my-url-open-stream) The above is an example of what I was getting at in my initial reply about mimicking the recipe in the last patch (the ERT test). If you have questions about how to use it, I can help you in real time on Libera, as we did with applying the patches. Also, please try this with emacs -Q. Thanks.