quelpa / quelpa

Build and install your Emacs Lisp packages on-the-fly directly from source
GNU General Public License v3.0
643 stars 36 forks source link

when opening a url, the proxy setting is not honored by quelpa #230

Closed wilya7 closed 2 years ago

wilya7 commented 2 years ago

I have the following code in my init.el

 (setq url-using-proxy t)
 (setq url-proxy-services
   '(("http" . "myproxy.localdomain:800")
     ("https" . "myproxy.localdomain:800")))

Before updating to emacs 28 I had no problem. Since the update, quelpa will not honor this proxy setting but it will try to connect directly to the target git repository.

This is how I reproduce the bug: if I block at the firewall level any direct connection, allowing only the proxy to access the WAN side of my home network, and then I try M-X quelpa-upgrade and choose one of my packages (e.g.org-krita) I get this:

Updating /Users/cfusco/.emacs.d/quelpa/build/org-krita/
quelpa-checkout: Failed to checkout ‘org-krita’: ‘Command ’(env LC_ALL=C git fetch --tags origin)’ exited with non-zero status 128: HEAD is now at d5645b76 Update URL to Codeberg.org
'2022-05-27 01:01:43 +0200'HEAD is now at 32557af (chore)ci: /s/master/main (#2204)
'2022-05-25 11:57:17 -0700'HEAD is now at efdac6f Changed the Doom command to allow unpinning.
'2022-02-13 17:09:17 +0100'HEAD is now at 7e33495 0.2.1
'2021-05-02 11:32:57 +0530'fatal: unable to access 'https://github.com/lepisma/org-krita.git/': Failed to connect to github.com port 443 after 14 ms: Connection refused`

However, if try to download the same url with eww it works as expected as well as no error if I do a package-list-packages . These commands clearly are retrieve the urls honoring the proxy setting.

When I open back the direct access to the WAN in my home network, quelpa happily connects to the git urls, showing that the package is functioning correctly if allowed a direct access to internet.

Info about my sistem:

In GNU Emacs 28.1 (build 1, x86_64-apple-darwin18.7.0, NS appkit-1671.60 Version 10.14.6 (Build 18G95))
 of 2022-05-11 built on builder10-14.lan
Windowing system distributor 'Apple', version 10.3.1671
System Description:  Mac OS X 10.14.6

Configured using:
 'configure --with-ns '--enable-locallisppath=/Library/Application
 Support/Emacs/${version}/site-lisp:/Library/Application
 Support/Emacs/site-lisp' --with-modules'

Configured features:
ACL GMP GNUTLS JSON LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER THREADS
TOOLKIT_SCROLL_BARS ZLIB

Important settings:
  value of $LANG: en_CH.UTF-8
  locale-coding-system: utf-8-unix

Major mode: eww

Minor modes in effect:
  global-company-mode: t
  company-mode: t
  pdf-occur-global-minor-mode: t
  smartparens-global-mode: t
  which-key-mode: t
  helm-mode: t
  helm-minibuffer-history-mode: t
  async-bytecomp-package-mode: t
  shell-dirtrack-mode: t
  override-global-mode: t
  global-display-line-numbers-mode: t
  display-line-numbers-mode: t
  display-time-mode: t
  global-hl-line-mode: t
  el-patch-use-package-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-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
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t

Load-path shadows:
/Users/cfusco/.emacs.d/elpa/transient-20220526.2152/transient hides /Applications/Emacs.app/Contents/Resources/lisp/transient
/Users/cfusco/.emacs.d/elpa/xref-1.4.1/xref hides /Applications/Emacs.app/Contents/Resources/lisp/progmodes/xref

Features:
(shadow sort mail-extr emacsbug sendmail shr-color color winner
tramp-archive tramp-gvfs org-eldoc face-remap org-noter-pdftools
org-pdftools org-noter org-indent org-mac-link org-mac-iCal ol-w3m
ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-search eieio-opt
speedbar ezimage dframe gnus-art mm-uu mml2015 mm-view mml-smime smime
dig gnus-sum gnus-group gnus-undo gnus-start gnus-dbus dbus gnus-cloud
nnimap nnmail mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range
gnus-win ol-eww eww xdg shr kinsoku svg dom mm-url gnus nnheader
ol-docview doc-view ol-bbdb company-oddmuse company-keywords
company-etags company-gtags company-dabbrev-code company-dabbrev
company-files company-clang company-capf company-cmake company-semantic
company-template company-bbdb company pcase skeleton org-krita arc-mode
archive-mode org-ref org-ref-core org-ref-glossary org-ref-bibtex avy
doi-utils org-ref-export citeproc citeproc-itemgetters citeproc-biblatex
citeproc-bibtex ol-bibtex citeproc-cite citeproc-subbibs citeproc-sort
citeproc-name citeproc-formatters citeproc-number smartparens-rst
smartparens-markdown rst citeproc-proc citeproc-disamb citeproc-itemdata
citeproc-generic-elements citeproc-macro citeproc-choose citeproc-date
citeproc-context citeproc-prange citeproc-style citeproc-locale
citeproc-term citeproc-rt citeproc-lib citeproc-s queue ox-pandoc ht
ox-org ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util
rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex
ox-icalendar org-agenda ox-html table ox-ascii ox-publish ox
org-ref-misc-links org-ref-label-link org-ref-ref-links
org-ref-citation-links org-ref-bibliography-links org-ref-pubmed
org-ref-scopus hydra lv org-ref-wos org-ref-utils org-bullets
org-download org-element avl-tree pdf-links pdf-history pdf-annot
facemenu pdf-occur ibuf-ext ibuffer ibuffer-loaddefs tablist
tablist-filter semantic/wisent/comp semantic/wisent
semantic/wisent/wisent semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local cedet pdf-isearch
pdf-misc imenu pdf-tools cus-edit cus-load wid-edit pdf-view bookmark pp
jka-compr pdf-cache pdf-info pdf-util pdf-macs ob-gnuplot ob-perl
ob-ditaa ob-R ob-C smartparens-c cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ob-shell ob-latex
ob-dot ob-scheme org-attach org-id org-tempo tempo org-protocol
smartparens-config smartparens-org smartparens-text smartparens-ess
smartparens paredit which-key zotxt request autorevert deferred
helm-bibtex helm-net xml bibtex-completion org-capture org-refile org ob
ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src
ob-comint org-pcomplete org-list org-faces org-entities org-version
ob-emacs-lisp ob-core ob-eval org-table oc-basic ol rx org-keys oc
org-compat advice org-macs org-loaddefs find-func cal-menu calendar
cal-loaddefs biblio biblio-download biblio-dissemin biblio-ieee
biblio-hal biblio-dblp biblio-crossref biblio-arxiv timezone biblio-doi
biblio-core let-alist url-queue ido f s dash parsebib bibtex helm-mode
helm-misc helm-files image-dired image-mode exif filenotify tramp
tramp-loaddefs trampver tramp-integration files-x tramp-compat ls-lisp
helm-buffers helm-occur helm-tags helm-locate helm-grep helm-regexp
helm-utils helm-help helm-types helm helm-core async-bytecomp
helm-global-bindings helm-easymenu helm-source helm-multi-match helm-lib
async cdlatex texmathp ess-site ess-toolbar ess-jags-d ess-bugs-d
ess-bugs-l essd-els ess-sas-d ess-sas-l ess-sas-a ess-sp6-d ess-r-mode
ess-r-flymake flymake-proc flymake warnings thingatpt ess-r-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 ess-tracebug ess ess-utils ess-custom gnuplot-mode
gnuplot geiser-mit geiser-repl geiser-compile geiser-debug transient
format-spec compat geiser-image geiser-capf geiser-doc geiser-menu
geiser-autodoc info-look compile geiser-edit etags fileloop generator
xref project geiser-completion geiser-eval geiser-connection tq
geiser-syntax scheme geiser-log comint ansi-color geiser-popup view
geiser try edmacro kmacro use-package-bind-key bind-key easy-mmode
writeroom-mode visual-fill-column zenburn-theme exec-path-from-shell
use-package-ensure quelpa-use-package use-package-core cl-extra
parse-time iso8601 quelpa lisp-mnt finder-inf mm-archive message dired
dired-loaddefs rfc822 mml mml-sec epa derived gnus-util rmail
rmail-loaddefs text-property-search time-date mailabbrev gmm-utils
mailheader mm-decode mm-bodies mm-encode mail-utils gnutls
network-stream url-http mail-parse rfc2231 rfc2047 rfc2045 mm-util
ietf-drums mail-prsvr url-gw nsm rmc puny url-cache url-auth epg rfc6068
epg-config server display-line-numbers time hl-line tex-site el-patch
el-patch-stub geiser-impl help-fns radix-tree help-mode geiser-custom
geiser-base ring 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 paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize
mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-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 emoji-zwj 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 kqueue cocoa ns multi-tty
make-network-process emacs)

Memory information:
((conses 16 719803 34594)
 (symbols 48 54388 0)
 (strings 32 236993 6109)
 (string-bytes 1 11345107)
 (vectors 16 94559)
 (vector-slots 8 1009171 196839)
 (floats 8 610 364)
 (intervals 56 7779 415)
 (buffers 992 25))
steckerhalter commented 2 years ago

Hi. To me it looks like Git isn't using the proxy. Can you check to clone the repo in a terminal?

wilya7 commented 2 years ago

Hi. To me it looks like Git isn't using the proxy. Can you check to clone the repo in a terminal?

Of course, it is exactly as you guessed. I should have realized that. Closing the bug report.