pulpcore 3.22.28__tar.gz → 3.22.29__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pulpcore-3.22.28 → pulpcore-3.22.29}/CHANGES.md +16 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/PKG-INFO +1 -1
- {pulpcore-3.22.28 → pulpcore-3.22.29}/functest_requirements.txt +0 -2
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/apps.py +1 -1
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/templatetags/pulp_urls.py +7 -4
- pulpcore-3.22.29/pulpcore/tests/unit/test_pulp_urls.py +55 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore.egg-info/PKG-INFO +1 -1
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore.egg-info/SOURCES.txt +1 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore.egg-info/requires.txt +2 -2
- {pulpcore-3.22.28 → pulpcore-3.22.29}/requirements.txt +2 -2
- {pulpcore-3.22.28 → pulpcore-3.22.29}/setup.py +1 -1
- {pulpcore-3.22.28 → pulpcore-3.22.29}/CODE_OF_CONDUCT.md +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/COMMITMENT +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/CONTRIBUTING.md +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/COPYRIGHT +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/LICENSE +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/MANIFEST.in +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/README.md +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/bin/pulp-content +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/ci_requirements.txt +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/manage.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/access_policy.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/authentication.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/checks.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/files.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/global_access_conditions.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/importexport.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/loggers.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/manage.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/management/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/management/commands/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/management/commands/add-signing-service.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/management/commands/analyze-publication.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/management/commands/datarepair-2327.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/management/commands/datarepair-labels.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/management/commands/dump-permissions.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/management/commands/dump-publications-to-fs.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/management/commands/handle-artifact-checksums.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/management/commands/openapi.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/management/commands/remove-plugin.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/management/commands/remove-signing-service.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/management/commands/reset-admin-password.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/management/commands/stage-profile-summary.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0001_initial.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0002_increase_artifact_size_field.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0003_remove_upload_completed.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0004_add_duplicated_reserved_resources.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0005_progressreport_code.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0006_repository_plugin_managed.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0007_delete_progress_proxies.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0008_published_metadata_as_content.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0009_remove_task_non_fatal_errors.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0010_pulp_fields.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0011_relative_path.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0012_auto_20191104_2000.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0013_repository_pulp_type.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0014_remove_repository_plugin_managed.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0015_auto_20191112_1426.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0016_charfield_to_textfield.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0017_remove_task_parent.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0018_auto_20191127_2350.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0019_add_signing_service_model.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0020_change_publishedartifact_constraints.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0021_add_signing_service_foreign_key.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0022_rename_last_version.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0023_change_exporter_models.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0024_use_local_storage_for_uploads.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0025_task_parent_task.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0026_task_group.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0027_export_backend.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0028_import_importer_pulpimporter_pulpimporterrepository.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0029_export_delete.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0030_taskgroup_all_tasks_dispatched.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0031_import_export_validate_params.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0032_export_to_chunks.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0033_increase_remote_artifact_size_field.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0034_groupprogressreport.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0035_content_upstream_id.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0036_unprotect_last_export.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0037_pulptemporaryfile.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0038_repository_remote.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0039_change_download_concurrency.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0040_set_admin_is_staff.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0041_accesspolicy.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0042_rbac_for_tasks.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0043_toc_attribute.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0044_temp_file_artifact_field.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0045_accesspolicy_permissions_allow_null.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0046_task__resource_job_id.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0047_improve_orphan_cleanup.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0048_fips_checksums.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0049_add_file_field_to_uploadchunk.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0050_namespace_access_policies.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0051_timeoutfields.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0052_tasking_logging_cid.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0053_remote_headers.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0054_add_public_key.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0055_label.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0056_remote_rate_limit.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0057_add_label_indexes.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0058_accesspolicy_customized.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0059_proxy_creds.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0060_data_migration_proxy_creds.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0061_call_handle_artifact_checksums_command.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0062_add_new_distribution_mastermodel.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0063_repository_retained_versions.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0064_add_new_style_task_columns.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0064_repository_user_hidden.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0065_merge_20210615_1211.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0066_download_concurrency_and_retry_changes.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0067_add_protect_to_task_reservation.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0068_add_timestamp_of_interest.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0069_update_json_fields.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0070_rename_retained_versions.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0071_filesystemexport_filesystemexporter.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0072_add_method_to_filesystem_exporter.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0073_encrypt_remote_fields.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0074_acs.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0075_rbaccontentguard.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0076_remove_reserved_resource.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0077_move_remote_url_credentials.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0078_grouprole_role_userrole.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0079_rename_permissions_assignment_accesspolicy_creation_hooks.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0080_proxy_group_model.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0081_reapplabel_group_permissions.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0082_add_manage_roles_permissions.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0083_alter_group_options.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0084_alter_rbaccontentguard_options.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0085_contentredirectcontentguard.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0086_task_json_fields.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0087_taskschedule.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0088_accesspolicy_queryset_scoping.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0089_alter_contentredirectcontentguard_options.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0090_char_to_text_field.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0091_systemid.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0092_alter_upload_options.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0093_add_info_field_repositoryversion.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0094_protect_repository_content.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0095_artifactdistribution.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0096_alter_task_logging_cid.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0097_remove_telemetry_task_schedule.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0098_pulp_labels.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/mime_types.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/modelresource.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/models/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/models/access_policy.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/models/acs.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/models/analytics.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/models/base.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/models/content.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/models/exporter.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/models/fields.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/models/generic.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/models/importer.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/models/progress.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/models/publication.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/models/repository.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/models/role.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/models/status.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/models/storage.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/models/task.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/models/upload.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/monkeypatch.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/protobuf/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/protobuf/analytics_pb2.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/pulp_hashlib.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/redis_connection.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/response.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/role_util.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/serializers/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/serializers/access_policy.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/serializers/acs.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/serializers/base.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/serializers/content.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/serializers/exporter.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/serializers/fields.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/serializers/importer.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/serializers/orphans.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/serializers/progress.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/serializers/publication.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/serializers/purge.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/serializers/reclaim.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/serializers/repair.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/serializers/repository.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/serializers/status.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/serializers/task.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/serializers/upload.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/serializers/user.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/settings.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/tasks/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/tasks/analytics.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/tasks/base.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/tasks/export.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/tasks/importer.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/tasks/orphan.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/tasks/purge.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/tasks/reclaim_space.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/tasks/repository.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/tasks/test.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/tasks/upload.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/templates/rest_framework/api.html +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/templatetags/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/urls.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/util.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/views/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/views/importer.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/views/orphans.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/views/repair.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/views/status.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/viewsets/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/viewsets/access_policy.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/viewsets/acs.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/viewsets/base.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/viewsets/content.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/viewsets/custom_filters.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/viewsets/exporter.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/viewsets/importer.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/viewsets/orphans.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/viewsets/publication.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/viewsets/reclaim.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/viewsets/repository.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/viewsets/task.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/viewsets/upload.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/viewsets/user.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/wsgi.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/backends.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/cache/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/cache/cache.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/constants.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/content/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/content/authentication.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/content/handler.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/download/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/download/base.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/download/factory.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/download/file.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/download/http.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/exceptions/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/exceptions/base.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/exceptions/plugin.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/exceptions/validation.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/filters.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/openapi/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/access_policy.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/actions.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/apps.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/authentication/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/cache/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/constants.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/content.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/download/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/exceptions.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/files.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/importexport.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/modelresources.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/models/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/models/role.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/publication_utils.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/pulp_hashlib.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/repo_version_utils.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/responses.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/serializers/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/serializers/content.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/stages/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/stages/api.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/stages/artifact_stages.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/stages/content_stages.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/stages/declarative_version.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/stages/models.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/stages/profiler.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/storage.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/sync.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/tasking.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/util.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/viewsets/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/plugin/viewsets/content.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/responses.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tasking/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tasking/constants.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tasking/entrypoint.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tasking/pulpcore_worker.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tasking/storage.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tasking/tasks.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tasking/util.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/functional/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/functional/api/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/functional/api/test_access_policy.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/functional/api/test_api_docs.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/functional/api/test_artifact_distribution.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/functional/api/test_auth.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/functional/api/test_correlation_id.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/functional/api/test_crd_artifacts.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/functional/api/test_openapi_schema.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/functional/api/test_role.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/functional/api/test_root_endpoint.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/functional/api/test_scoping.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/functional/api/test_signing_service.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/functional/api/test_status.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/functional/api/test_tasking.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/functional/api/test_upload.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/functional/api/test_users_groups.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/functional/api/test_workers.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/functional/content_with_coverage.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/functional/gpg_ascii_armor_signing_service.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/functional/utils.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/content/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/content/test_handler.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/content/test_heartbeat.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/download/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/download/test_download_base.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/download/test_factory.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/migrations/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/migrations/test_0077_move_remote_url_credentials.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/models/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/models/test_content.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/models/test_remote.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/models/test_repository.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/roles/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/roles/test_roles.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/serializers/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/serializers/test_base.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/serializers/test_pulpexport.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/serializers/test_repository.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/stages/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/stages/test_artifactdownloader.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/stages/test_stages.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/test_cache.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/test_content_guard.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/test_files.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/test_import_checks.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/test_settings.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/test_util.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/viewsets/__init__.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/tests/unit/viewsets/test_base.py +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore.egg-info/dependency_links.txt +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore.egg-info/entry_points.txt +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore.egg-info/top_level.txt +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/pyproject.toml +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/setup.cfg +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/test_requirements.txt +0 -0
- {pulpcore-3.22.28 → pulpcore-3.22.29}/unittest_requirements.txt +0 -0
|
@@ -8,6 +8,22 @@
|
|
|
8
8
|
|
|
9
9
|
[//]: # (towncrier release notes start)
|
|
10
10
|
|
|
11
|
+
## 3.22.29 (2024-07-16) {: #3.22.29 }
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### REST API {: #3.22.29-rest-api }
|
|
15
|
+
|
|
16
|
+
#### Bugfixes {: #3.22.29-rest-api-bugfix }
|
|
17
|
+
|
|
18
|
+
- Browsable HREFs now have clickable links again.
|
|
19
|
+
[#5563](https://github.com/pulp/pulpcore/issues/5563)
|
|
20
|
+
|
|
21
|
+
### Plugin API {: #3.22.29-plugin-api }
|
|
22
|
+
|
|
23
|
+
No significant changes.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
11
27
|
## 3.22.28 (2024-06-24) {: #3.22.28 }
|
|
12
28
|
|
|
13
29
|
|
|
@@ -3,7 +3,7 @@ import re
|
|
|
3
3
|
from django import template
|
|
4
4
|
from django.conf import settings
|
|
5
5
|
from django.utils.encoding import force_text
|
|
6
|
-
from django.utils.html import escape
|
|
6
|
+
from django.utils.html import escape, smart_urlquote
|
|
7
7
|
from django.utils.safestring import SafeData, mark_safe
|
|
8
8
|
|
|
9
9
|
register = template.Library()
|
|
@@ -20,6 +20,8 @@ WRAPPING_PUNCTUATION = [
|
|
|
20
20
|
(""", """),
|
|
21
21
|
]
|
|
22
22
|
word_split_re = re.compile(r"(\s+)")
|
|
23
|
+
api_root_prefix = r"^" + settings.V3_API_ROOT.replace("/", r"\/")
|
|
24
|
+
href_re = re.compile(api_root_prefix, re.IGNORECASE)
|
|
23
25
|
|
|
24
26
|
|
|
25
27
|
@register.filter(needs_autoescape=True)
|
|
@@ -57,6 +59,9 @@ def urlize_quoted_hrefs(text, trim_url_limit=None, nofollow=True, autoescape=Tru
|
|
|
57
59
|
url = None
|
|
58
60
|
nofollow_attr = ' rel="nofollow"' if nofollow else ""
|
|
59
61
|
|
|
62
|
+
if href_re.match(middle):
|
|
63
|
+
url = smart_urlquote(middle)
|
|
64
|
+
|
|
60
65
|
# Check if it's a real URL
|
|
61
66
|
if url and ("{" in url or "%7B" in url):
|
|
62
67
|
url = None
|
|
@@ -74,8 +79,6 @@ def urlize_quoted_hrefs(text, trim_url_limit=None, nofollow=True, autoescape=Tru
|
|
|
74
79
|
words[i] = mark_safe(word)
|
|
75
80
|
elif autoescape:
|
|
76
81
|
words[i] = escape(word)
|
|
77
|
-
|
|
78
|
-
words[i] = mark_safe(word)
|
|
79
|
-
elif autoescape:
|
|
82
|
+
else:
|
|
80
83
|
words[i] = escape(word)
|
|
81
84
|
return "".join(words)
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
from django.conf import settings
|
|
2
|
+
|
|
3
|
+
from pulpcore.app.templatetags import pulp_urls
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def test_urlize_quoted_hrefs_basic_url():
|
|
7
|
+
"""
|
|
8
|
+
text starts with API_ROOT, defaults. Should be made clickable
|
|
9
|
+
"""
|
|
10
|
+
txt = settings.V3_API_ROOT + "foo/bar/"
|
|
11
|
+
ret = pulp_urls.urlize_quoted_hrefs(txt)
|
|
12
|
+
assert ret == f'<a href="{txt}" rel="nofollow">{txt}</a>'
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def test_urlize_quoted_hrefs_nofollow():
|
|
16
|
+
"""
|
|
17
|
+
text starts with API_ROOT, defaults. Should be made clickable
|
|
18
|
+
"""
|
|
19
|
+
txt = settings.V3_API_ROOT + "foo/bar/"
|
|
20
|
+
ret = pulp_urls.urlize_quoted_hrefs(txt, nofollow=False)
|
|
21
|
+
assert ret == f'<a href="{txt}">{txt}</a>'
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def test_urlize_quoted_hrefs_trim():
|
|
25
|
+
"""
|
|
26
|
+
text starts with API_ROOT, defaults. Should be made clickable
|
|
27
|
+
"""
|
|
28
|
+
txt = settings.V3_API_ROOT + "foo/bar/"
|
|
29
|
+
trim_txt = txt[0] + "..."
|
|
30
|
+
ret = pulp_urls.urlize_quoted_hrefs(txt, trim_url_limit=4)
|
|
31
|
+
assert ret == f'<a href="{txt}" rel="nofollow">{trim_txt}</a>'
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def test_urlize_quoted_hrefs_basic_url_xss():
|
|
35
|
+
"""
|
|
36
|
+
text starts with API_ROOT, includes XSS, defaults. Should be made clickable, escape XSS
|
|
37
|
+
"""
|
|
38
|
+
txt = settings.V3_API_ROOT + "foo/bar/<script>alert('ALERT!')</script>blech/"
|
|
39
|
+
escapified_linked_text = (
|
|
40
|
+
'<a href="' + settings.V3_API_ROOT + "foo/bar/"
|
|
41
|
+
'%3Cscript%3Ealert('ALERT!')%3C/script%3Eblech/" '
|
|
42
|
+
'rel="nofollow">' + settings.V3_API_ROOT + "foo/bar/<script>"
|
|
43
|
+
"alert('ALERT!')</script>blech/</a>"
|
|
44
|
+
)
|
|
45
|
+
ret = pulp_urls.urlize_quoted_hrefs(txt)
|
|
46
|
+
assert ret == escapified_linked_text
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def test_urlize_quoted_hrefs_basic_escape():
|
|
50
|
+
"""
|
|
51
|
+
text contains XSS. Expect escaped
|
|
52
|
+
"""
|
|
53
|
+
txt = "foo/bar/<script>alert('ALERT!')</script>blech/"
|
|
54
|
+
ret = pulp_urls.urlize_quoted_hrefs(txt)
|
|
55
|
+
assert ret == "foo/bar/<script>alert('ALERT!')</script>blech/"
|
|
@@ -317,6 +317,7 @@ pulpcore/tests/unit/test_cache.py
|
|
|
317
317
|
pulpcore/tests/unit/test_content_guard.py
|
|
318
318
|
pulpcore/tests/unit/test_files.py
|
|
319
319
|
pulpcore/tests/unit/test_import_checks.py
|
|
320
|
+
pulpcore/tests/unit/test_pulp_urls.py
|
|
320
321
|
pulpcore/tests/unit/test_settings.py
|
|
321
322
|
pulpcore/tests/unit/test_util.py
|
|
322
323
|
pulpcore/tests/unit/content/__init__.py
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
aiodns<=3.1.1,>=3.0
|
|
2
|
-
aiofiles
|
|
2
|
+
aiofiles<23.3.0,>=22.1
|
|
3
3
|
aiohttp<3.9.2,>=3.8.1
|
|
4
4
|
asyncio-throttle<=1.0.2,>=1.0
|
|
5
5
|
backoff<2.2.2,>=2.1.2
|
|
6
6
|
click<=8.1.7,>=8.1.0
|
|
7
|
-
cryptography<42.0
|
|
7
|
+
cryptography<42.0,>=38.0.1
|
|
8
8
|
Django~=3.2.16
|
|
9
9
|
django-currentuser<=0.5.3,>=0.5.3
|
|
10
10
|
django-filter<=22.1,>=22.1
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
aiodns>=3.0,<=3.1.1
|
|
2
|
-
aiofiles>=22.1
|
|
2
|
+
aiofiles>=22.1,<23.3.0
|
|
3
3
|
aiohttp>=3.8.1,<3.9.2
|
|
4
4
|
asyncio-throttle>=1.0,<=1.0.2
|
|
5
5
|
async-timeout>=4.0.3,<4.0.4;python_version<"3.11"
|
|
6
6
|
backoff>=2.1.2,<2.2.2
|
|
7
7
|
click>=8.1.0,<=8.1.7
|
|
8
|
-
cryptography>=38.0.1,<42.0
|
|
8
|
+
cryptography>=38.0.1,<42.0
|
|
9
9
|
Django~=3.2.16 # LTS version, switch only if we have a compelling reason to
|
|
10
10
|
django-currentuser>=0.5.3,<=0.5.3
|
|
11
11
|
django-filter>=22.1,<=22.1
|
|
@@ -8,7 +8,7 @@ with open("requirements.txt") as requirements:
|
|
|
8
8
|
|
|
9
9
|
setup(
|
|
10
10
|
name="pulpcore",
|
|
11
|
-
version="3.22.
|
|
11
|
+
version="3.22.29",
|
|
12
12
|
description="Pulp Django Application and Related Modules",
|
|
13
13
|
long_description=long_description,
|
|
14
14
|
long_description_content_type="text/markdown",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/management/commands/add-signing-service.py
RENAMED
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/management/commands/analyze-publication.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/management/commands/dump-publications-to-fs.py
RENAMED
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/management/commands/handle-artifact-checksums.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/management/commands/remove-signing-service.py
RENAMED
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/management/commands/reset-admin-password.py
RENAMED
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/management/commands/stage-profile-summary.py
RENAMED
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0002_increase_artifact_size_field.py
RENAMED
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0003_remove_upload_completed.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0006_repository_plugin_managed.py
RENAMED
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0007_delete_progress_proxies.py
RENAMED
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0008_published_metadata_as_content.py
RENAMED
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0009_remove_task_non_fatal_errors.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0016_charfield_to_textfield.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0019_add_signing_service_model.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0023_change_exporter_models.py
RENAMED
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0024_use_local_storage_for_uploads.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0030_taskgroup_all_tasks_dispatched.py
RENAMED
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0031_import_export_validate_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0039_change_download_concurrency.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0044_temp_file_artifact_field.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0047_improve_orphan_cleanup.py
RENAMED
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0049_add_file_field_to_uploadchunk.py
RENAMED
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0050_namespace_access_policies.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0058_accesspolicy_customized.py
RENAMED
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0060_data_migration_proxy_creds.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0063_repository_retained_versions.py
RENAMED
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0064_add_new_style_task_columns.py
RENAMED
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0064_repository_user_hidden.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0068_add_timestamp_of_interest.py
RENAMED
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0070_rename_retained_versions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0076_remove_reserved_resource.py
RENAMED
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0077_move_remote_url_credentials.py
RENAMED
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0078_grouprole_role_userrole.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0081_reapplabel_group_permissions.py
RENAMED
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0082_add_manage_roles_permissions.py
RENAMED
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0084_alter_rbaccontentguard_options.py
RENAMED
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0085_contentredirectcontentguard.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0088_accesspolicy_queryset_scoping.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0094_protect_repository_content.py
RENAMED
|
File without changes
|
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0096_alter_task_logging_cid.py
RENAMED
|
File without changes
|
{pulpcore-3.22.28 → pulpcore-3.22.29}/pulpcore/app/migrations/0097_remove_telemetry_task_schedule.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|