Skip to content

Draft: Remove authenticate_non_public: true in debian package endpoints

What does this MR do?

Show that #300917 (comment 629915606) is not fixable by removing authenticate_non_public: true.

The following tests fail with expected the response to have status code :unauthorized but it was 404. The response was: {"message":"404 Group Not Found"}:

rspec ./spec/requests/api/debian_group_packages_spec.rb[1:1:1:1:18:1:1] # API::DebianGroupPackages GET groups/:id/-/packages/debian/dists/*distribution/Release.gpg behaves like Debian repository read endpoint with valid container visibility_level: :private, user_role: :anonymous, member: false, user_token: true, expected_status: :unauthorized, expected_body: nil behaves like Debian repository GET request returns unauthorized
rspec ./spec/requests/api/debian_group_packages_spec.rb[1:1:1:2:1:1:1:1] # API::DebianGroupPackages GET groups/:id/-/packages/debian/dists/*distribution/Release.gpg behaves like Debian repository read endpoint behaves like rejects Debian access with unknown container id with an unknown container as anonymous behaves like Debian repository GET request returns unauthorized
rspec ./spec/requests/api/debian_group_packages_spec.rb[1:2:1:1:18:1:1] # API::DebianGroupPackages GET groups/:id/-/packages/debian/dists/*distribution/Release behaves like Debian repository read endpoint with valid container visibility_level: :private, user_role: :anonymous, member: false, user_token: true, expected_status: :unauthorized, expected_body: nil behaves like Debian repository GET request returns unauthorized
rspec ./spec/requests/api/debian_group_packages_spec.rb[1:2:1:2:1:1:1:1] # API::DebianGroupPackages GET groups/:id/-/packages/debian/dists/*distribution/Release behaves like Debian repository read endpoint behaves like rejects Debian access with unknown container id with an unknown container as anonymous behaves like Debian repository GET request returns unauthorized
rspec ./spec/requests/api/debian_group_packages_spec.rb[1:3:1:1:18:1:1] # API::DebianGroupPackages GET groups/:id/-/packages/debian/dists/*distribution/InRelease behaves like Debian repository read endpoint with valid container visibility_level: :private, user_role: :anonymous, member: false, user_token: true, expected_status: :unauthorized, expected_body: nil behaves like Debian repository GET request returns unauthorized
rspec ./spec/requests/api/debian_group_packages_spec.rb[1:3:1:2:1:1:1:1] # API::DebianGroupPackages GET groups/:id/-/packages/debian/dists/*distribution/InRelease behaves like Debian repository read endpoint behaves like rejects Debian access with unknown container id with an unknown container as anonymous behaves like Debian repository GET request returns unauthorized
rspec ./spec/requests/api/debian_group_packages_spec.rb[1:4:1:1:18:1:1] # API::DebianGroupPackages GET groups/:id/-/packages/debian/dists/*distribution/:component/binary-:architecture/Packages behaves like Debian repository read endpoint with valid container visibility_level: :private, user_role: :anonymous, member: false, user_token: true, expected_status: :unauthorized, expected_body: nil behaves like Debian repository GET request returns unauthorized
rspec ./spec/requests/api/debian_group_packages_spec.rb[1:4:1:2:1:1:1:1] # API::DebianGroupPackages GET groups/:id/-/packages/debian/dists/*distribution/:component/binary-:architecture/Packages behaves like Debian repository read endpoint behaves like rejects Debian access with unknown container id with an unknown container as anonymous behaves like Debian repository GET request returns unauthorized
rspec ./spec/requests/api/debian_group_packages_spec.rb[1:5:1:1:18:1:1] # API::DebianGroupPackages GET groups/:id/-/packages/debian/pool/:component/:letter/:source_package/:file_name behaves like Debian repository read endpoint with valid container visibility_level: :private, user_role: :anonymous, member: false, user_token: true, expected_status: :unauthorized, expected_body: nil behaves like Debian repository GET request returns unauthorized
rspec ./spec/requests/api/debian_group_packages_spec.rb[1:5:1:2:1:1:1:1] # API::DebianGroupPackages GET groups/:id/-/packages/debian/pool/:component/:letter/:source_package/:file_name behaves like Debian repository read endpoint behaves like rejects Debian access with unknown container id with an unknown container as anonymous behaves like Debian repository GET request returns unauthorized

Screenshots or Screencasts (strongly suggested)

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

Does this MR contain changes to processing or storing of credentials or tokens, authorization and authentication methods or other items described in the security review guidelines? If not, then delete this Security section.

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Merge request reports