setting a ppa private cannot be done over the API
Bug #724740 reported by
Robert Collins
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
High
|
Timothy R. Chavez |
Bug Description
This API call to set a PPA to private by a ~commercial-admin should work:
launchpad = Launchpad.
'test', service_root='https:/
user = launchpad.
ppa = user.getPPAByNa
ppa.private = True
ppa.lp_save()
This was failing due to bug 724522 but there may be deeper issues. Probably the appserver needs to generate a builddsecret on the fly. The builddsecret should not be accepted over the API.
Related branches
lp:~timrchavez/launchpad/set_ppa_private_from_api_724740-2
Superseded
for merging
into
lp:launchpad
- j.c.sackett (community): Approve
-
Diff: 158 lines (+39/-19)4 files modifiedlib/lp/soyuz/browser/archive.py (+2/-3)
lib/lp/soyuz/model/archive.py (+18/-1)
lib/lp/soyuz/tests/test_archive_privacy.py (+8/-4)
utilities/sourcedeps.cache (+11/-11)
lp:~timrchavez/launchpad/set_ppa_private_from_api_724740-4
- j.c.sackett (community): Approve
-
Diff: 182 lines (+35/-15)6 files modifiedlib/lp/archivepublisher/scripts/generate_ppa_htaccess.py (+1/-1)
lib/lp/buildmaster/model/buildfarmjob.py (+3/-3)
lib/lp/registry/model/distributionsourcepackage.py (+1/-1)
lib/lp/soyuz/browser/archive.py (+2/-3)
lib/lp/soyuz/model/archive.py (+20/-3)
lib/lp/soyuz/tests/test_archive_privacy.py (+8/-4)
description: | updated |
summary: |
- setting a ppa private fails for commercial admins + setting a ppa private cannot be done over the API |
tags: | added: api ppa |
Changed in launchpad: | |
status: | Triaged → In Progress |
tags: |
added: qa-ok removed: qa-needstesting |
Changed in launchpad: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
I put my comment on the last bug via email before I noticed it had morphed into a different problem. So I'll repeat here:
buildd_secret is entirely internal and should never, ever be exposed anywhere. There is code to auto-generate it via the UI and this should be duplicated in the API call.