Changes for version 0.10 - 2026-10-22

  • Fixed path traversal in DirectoryHandler that allowed reading files outside the repository directory
  • /reindex now checks authorization before starting the reindex (thanks to José Joaquín Atria, GH #5)
  • /list on a repository with no index file returns an empty object instead of warning
  • A false compress_index (or empty DARKPAN_COMPRESS_INDEX) in the configuration is now honoured
  • Documented that cpan-upload ignores upload_uri and needs CPAN_UPLOADER_UPLOAD_URI
  • Rewrote the Dockerfile: Perl 5.44 (PERL_VERSION build arg), non-root user, volume for uploads, and a CMD
  • Fixed other_versions in /list including distributions whose name merely starts with the same prefix (Foo-BarBaz listed under Foo-Bar)
  • Replaced Nice::Try (a source filter) with Syntax::Keyword::Try
  • Added route, publish, list and basic auth tests

Documentation

Modules

A Mojolicious web service frontend leveraging OrePAN2

Provides

in lib/Mojo/Darkpan/Config.pm
in lib/Mojo/Darkpan/Controller/Index.pm
in lib/Mojo/Darkpan/Controller/Publish.pm
in lib/Mojo/Darkpan/Util.pm
in lib/Mojolicious/Plugin/DirectoryHandler.pm