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

Add a preference item to allow updating Presets from non-Prusa sites #4129

Closed
wants to merge 1 commit into from
Closed

Add a preference item to allow updating Presets from non-Prusa sites #4129

wants to merge 1 commit into from

Conversation

aegean-odyssey
Copy link
Contributor

@aegean-odyssey aegean-odyssey commented Apr 26, 2020

When updating system presets (vendor bundles), the application currently blocks access to any URL that does not match Prusa Research's "official" update URL. This patch adds a preference item that lets the user override this behavior, that is, it allows the application to update system presets from URLs other than the official PrusaResearch URL. Since the user directly controls this new behavior, I think the patch mitigates much of any "security risk" and preserves the intent of the code's original behavior. This change extends the program's "standard" updating process to support experimental, limited-appeal, or one-off vendor profiles that are not directly supported by PrusaSlicer and PrusaSlicer-settings.

Along with pull request #4122, may resolve issues #2306, #2560, and #3398.

If enabled, the application will also allow updates of Vendor Bundles
from URLs other than the official PrusaResearch URL. The user controls
whether or not to allow access to the "non-official" URLs.
// Please keep in sync with ../Utils/PresetUpdater.cpp
def.label = L("Allow updating Presets from non-Prusa sites");
def.type = coBool;
def.tooltip = L("If enabled, Slic3r will also allow updates of built-in system presets from URLs other than the official Prusa URL.");

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't it read "Prusa Slicer" instead of "Slic3r"?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quite possibly. I chose "Slic3r" to follow the convention used in Preferences.cpp. Pretty much every preference codes its tooltip with "Slic3r" as well. I'm not sure how they show up as "PrusaSlicer" in the app.

@bubnikv
Copy link
Collaborator

bubnikv commented Nov 21, 2020

Sorry, but we are not going to merge this, especially after
#5196
and the discussion following
https://forum.prusaprinters.org/forum/prusaslicer/prusaslicer-2-3-0-alpha3-is-released/

@bubnikv bubnikv closed this Nov 21, 2020
@aegean-odyssey
Copy link
Contributor Author

Hmm, I wish I could defend this change as vigorously as #4122, but I see your point. While I don't believe it makes PrusaSlicer any more vulnerable to abuse, this change does nothing to help (and may complicate) the overarching issues related to security.

Perhaps there is another approach -- a way to provide a secure update that can use the official Prusa site (or an officially vetted site) to create and maintain complete vendor configuration bundles more or less independently of the PrusaSlicer program? And along the way, add the ability to update all resource files (not just the .ini and .idx files).

I have no good solutions to propose. The current update mechanism has a few tiny rough spots -- ultimately worth fixing I think in such a capable and polished program as PrusaSlicer. But for now, I believe more thought and research is in order.

@belese
Copy link

belese commented Dec 14, 2020

Hello,
if we can't update from custom url,
could you put a note or update that doc.
Vendor bundles and updating process .

it took a while to find why it's was not working before i found this PR.

Thanks

Johan

@bubnikv
Copy link
Collaborator

bubnikv commented Dec 15, 2020

That is fair. I have added the following note:

Please note, that PrusaSlicer does NOT allow downloading of profiles from other sites than prusa3d.com for security reasons.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants