From 9c1ef5c25100ad23c59404d5ca80994645f8c9c8 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 24 Jan 2021 17:18:57 -0800 Subject: [PATCH] lei q: continue remote search if torsocks(1) is missing torsocks is just one of many ways to get curl to use Tor, so we'll continue if we can't find torsocks in our PATH and assume the user has a proxy configured via curlrc, the command-line, environment variable, or even firewall rules. --- lib/PublicInbox/LeiXSearch.pm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/PublicInbox/LeiXSearch.pm b/lib/PublicInbox/LeiXSearch.pm index 369f6f89..b470c113 100644 --- a/lib/PublicInbox/LeiXSearch.pm +++ b/lib/PublicInbox/LeiXSearch.pm @@ -228,10 +228,16 @@ sub query_remote_mboxrd { my $cmd = [ @cmd, $uri->as_string ]; if ($tor eq 'auto' && substr($uri->host, -6) eq '.onion' && (($env->{LD_PRELOAD}//'') !~ /torsocks/)) { - unshift @$cmd, 'torsocks'; + unshift @$cmd, which('torsocks'); } elsif (PublicInbox::Config::git_bool($tor)) { - unshift @$cmd, 'torsocks'; + unshift @$cmd, which('torsocks'); } + + # continue anyways if torsocks is missing; a proxy may be + # specified via CLI, curlrc, environment variable, or even + # firewall rule + shift(@$cmd) if !$cmd->[0]; + $lei->err("# @$cmd") if $verbose; $? = 0; my $fh = popen_rd($cmd, $env, $rdr); -- 2.44.0