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

Allow plugin nuget dependencies #102

Open
Seb-stian opened this issue May 7, 2021 · 9 comments
Open

Allow plugin nuget dependencies #102

Seb-stian opened this issue May 7, 2021 · 9 comments
Assignees
Labels
enhancement New feature or request plugins Relates to plugins priority: low Nice to have

Comments

@Seb-stian
Copy link
Member

Allow Obsidian plugins to have nuget dependencies. They should be correctly:

  • detected
  • checked for duplicity
  • downloaded
  • loaded

There might be a problem with versioning?

Related StackOverflow post
MSDN

@Seb-stian Seb-stian added enhancement New feature or request plugins Relates to plugins labels May 7, 2021
@Craftplacer
Copy link
Collaborator

Craftplacer commented May 7, 2021

Is it required though? I mean, we could load foreign assemblies (DLLs) too that the user installs part of a plugin. They should only be loaded if the assembly is being depended upon by another plugin.

I can only imagine being useful if the user loads a "source code" plugin.

@Seb-stian
Copy link
Member Author

"Source code" plugins are the main target of this issue.

@Naamloos
Copy link
Member

Naamloos commented May 8, 2021

In all honesty, don't source code plugins have like- a security concern?

@Seb-stian
Copy link
Member Author

Don't all of them?

@Craftplacer
Copy link
Collaborator

More like the opposite, because you can be sure you're not running hidden code, cause you compile the plugin yourself.

@Naamloos
Copy link
Member

Naamloos commented May 8, 2021

Fair, but an update on a github repo would mean the new version would get compiled. A new update can introduce malicious code. Unless they don't auto update, of course.

@Seb-stian
Copy link
Member Author

Well, at the moment, the way we deal with malicious code is that we disallow referencing certain assemblies. I don't know if it's possible to, for example, remove local files without System.IO, System.Reflection or System.Runtime.InteropServices (or other assembly that references those). We can still provide all the functionality via services, but without security risks, that's the idea. However, I don't call myself a security expert, so my thinking may be flawed.

In the past I've worked on other projects involving uMod, which is doing something similar. I think that they used Regex on the source code, to detect if any blacklisted namespaces were present, but the implementation is not as important here.

@Seb-stian
Copy link
Member Author

@Naamloos Maybe you could add "Server development" category to GitHub discussions and open "Plugins security concerns"? Or just open another issue specifically for it.

@Seb-stian Seb-stian assigned Seb-stian and unassigned Seb-stian May 13, 2021
@roxxel
Copy link
Contributor

roxxel commented May 13, 2021

can i get assigned to this issue?

@Naamloos Naamloos added the priority: low Nice to have label Jan 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request plugins Relates to plugins priority: low Nice to have
Projects
Status: Backlog
Development

No branches or pull requests

4 participants