Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Verify checksums of downloaded dependancies on startup. #3873

Open
BNTFryingPan opened this issue Apr 8, 2024 · 0 comments
Open

Verify checksums of downloaded dependancies on startup. #3873

BNTFryingPan opened this issue Apr 8, 2024 · 0 comments
Labels
type: suggestion The issue is suggesting a new feature or enhancement.

Comments

@BNTFryingPan
Copy link

Description

A relatively common issue we encounter in the LuckPerms discord is corrupt dependency downloads, causing NoClassDefFoundError and ClassNotFoundException (among others). LuckPerms currently only verifies the checksum of downloaded libraries after downloading, and only throws an exception (untested, but i assume on Bukkit, this causes the plugin to disable automatically). When starting the server, it appears the checksum is never verified, and will (attempt to) load the library as long as the file exists.

Proposed Behaviour

At the very least, LuckPerms should verify the checksums of dependencies before loading them. In a comment on issue #641 , Luck states that verifying the checksum "Prevents files from being altered on the remote server without out knowledge." However, it appears to me that if someone were to modify the remote file, it would successfully load that modified file on a subsequent restart of the server, assuming the file was left as-is.

A "nice to have" would be an automatic attempt at redownloading dependencies that do not match the expected checksum.

Extra Details

Decided to look into this because of #3872 , which was caused by killing the server while LP happened to be downloading dependencies, which I assume left a partially downloaded file there.

@BNTFryingPan BNTFryingPan added the type: suggestion The issue is suggesting a new feature or enhancement. label Apr 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: suggestion The issue is suggesting a new feature or enhancement.
Projects
None yet
Development

No branches or pull requests

1 participant