[Bug 1735218] Re: Real connectivity error is hidden from a user when PPA is added: ERROR: '~anonymous' user or team does not exist.
Dmitrii Shcherbakov
1735218 at bugs.launchpad.net
Wed Nov 29 17:06:24 UTC 2017
This will most likely also be triggered in the case when a self-signed
CA is used to sign an https proxy server certificate.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to software-properties in Ubuntu.
https://bugs.launchpad.net/bugs/1735218
Title:
Real connectivity error is hidden from a user when PPA is added:
ERROR: '~anonymous' user or team does not exist.
Status in software-properties package in Ubuntu:
New
Bug description:
This is common in an environment where a proxy server is not properly
configured via HTTP_PROXY or HTTPS_PROXY and you need to add a PPA.
The error is very cryptic unless you look at the code:
sudo add-apt-repository ppa:anonymous/very-important-packages
Cannot add PPA: 'ppa:~anonymous/ubuntu/very-important-packages'.
ERROR: '~anonymous' user or team does not exist.
Code path:
https://git.launchpad.net/~usd-import-team/ubuntu/+source/software-
properties/tree/softwareproperties/ppa.py?h=applied/ubuntu/xenial-
updates#n305
def _get_suggested_ppa_message(user, ppa_name):
try:
msg = []
try:
try:
lp_user = get_info_from_lp(LAUNCHPAD_USER_API % user)
except PPAException:
return _("ERROR: '{user}' user or team does not exist.").format(user=user) # <--- this is triggered
....
def get_info_from_lp(lp_url):
if NEED_PYCURL:
# python2 has no cert verification so we need pycurl
return _get_https_content_pycurl(lp_url)
else:
# python3 has cert verification so we can use the buildin urllib
return _get_https_content_py3(lp_url)
...
def _get_https_content_pycurl(lp_url):
# this is the fallback code for python2
try:
callback = CurlCallback()
curl = pycurl.Curl()
curl.setopt(pycurl.SSL_VERIFYPEER, 1)
curl.setopt(pycurl.SSL_VERIFYHOST, 2)
curl.setopt(pycurl.WRITEFUNCTION, callback.body_callback)
if LAUNCHPAD_PPA_CERT:
curl.setopt(pycurl.CAINFO, LAUNCHPAD_PPA_CERT)
curl.setopt(pycurl.URL, str(lp_url))
curl.setopt(pycurl.HTTPHEADER, ["Accept: application/json"])
curl.perform()
curl.close()
json_data = callback.contents
except pycurl.error as e: # <--- if this errors out due to connectivity
raise PPAException("Error reading %s: %s" % (lp_url, e), e)
return json.loads(json_data)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/software-properties/+bug/1735218/+subscriptions
More information about the foundations-bugs
mailing list