* [MM-18757] POST handler for `/plugins/marketplace` (#12372)

* Implement installMarketplacePlugin

* Add InstallMarketplacePlugin endpoint

* Fix go.mod

* merge with master

* Fix go.mod

* Fix plugin tests

* Move get plugin to marketplace client

* Fix stylistic concerns

* Add trailing newline to the go.mod

* [MM-16586] Add plugin signature settings (#12390)

* MM-17149 - Extend config.json for marketplace settings (#11933)

* MM-17149 - Extend config.json for marketplace settings

* Renamed MarketplaceUrl, tracking default marketplace url

* Added EnableMarketplace to the client config

* Revert "Added EnableMarketplace to the client config"

This reverts commit 0f982c4c661c2cd9bb96264e9a01a2363c40d9c5.

* MM-17149 - Added EnableMarketplace to the client config (#11958)

* Added EnableMarketplace to the client config

* Moved EnableMarketplace setting out of limited client configuration

* Add public key settings to the config.json

* Rename PublicKeys to SignaturePublicKeyFiles

* Change filepath.Split to Base

* Remove additional prints

* Force extention of a public key file

* Remove config validation

* Remove error on delete

* Remove config cloning

* Add error messages

* Add plugin public key tests

* Rename extension to PluginSignaturePublicKeyFileExtention

* Remove EnforceVerification

* Change []*PublicKeyDescription to []string

* Change .asc extension to .plugin.asc

* Change ordering of public methods

* Change plugin key commands

* Update examples in the plugin key commands

* Remove forcing extention

* Add verify signature in settings

* Fix tabbing

* Fix naming

* Remove unused text

* Remove unused text

* Update command examples

* Fix unit tests

* Change errors.New to errors.Wrap

* Fix verbose flag

* Change .asc to .gpg

* Fix }

* Change AddPublicKey signature

* Change public.key extension

* Add plugin public key command tests

* Update en.json

* Bootstrap the public keys

* Update en.json

* Fix en.json

* Fix en.json

* Bootstrap hard-coded public key

* Remove unused texts in en.json

* Change file to name

* Add license header

* Update development public key

* Remove writeFile method

* Remove .plugin.asc extension

* Rename publiKey to mattermostPublicKey

* Remove init_public_keys string

* GolangCI

* Closing file handlers

* Fixed test that was installing nps plugin

* [MM-19798] Implement plugin signature verification (#12768)

* MM-17149 - Extend config.json for marketplace settings (#11933)

* MM-17149 - Extend config.json for marketplace settings

* Renamed MarketplaceUrl, tracking default marketplace url

* Added EnableMarketplace to the client config

* Revert "Added EnableMarketplace to the client config"

This reverts commit 0f982c4c661c2cd9bb96264e9a01a2363c40d9c5.

* MM-17149 - Added EnableMarketplace to the client config (#11958)

* Added EnableMarketplace to the client config

* Moved EnableMarketplace setting out of limited client configuration

* Add public key settings to the config.json

* Rename PublicKeys to SignaturePublicKeyFiles

* Change filepath.Split to Base

* Remove additional prints

* Force extention of a public key file

* Remove config validation

* Remove error on delete

* Remove config cloning

* Add error messages

* Add plugin public key tests

* Rename extension to PluginSignaturePublicKeyFileExtention

* Remove EnforceVerification

* Change []*PublicKeyDescription to []string

* Change .asc extension to .plugin.asc

* Change ordering of public methods

* Change plugin key commands

* Update examples in the plugin key commands

* Remove forcing extention

* Add verify signature in settings

* Fix tabbing

* Fix naming

* Remove unused text

* Remove unused text

* Update command examples

* Fix unit tests

* Change errors.New to errors.Wrap

* Fix verbose flag

* Change .asc to .gpg

* Fix }

* Change AddPublicKey signature

* Change public.key extension

* Add plugin public key command tests

* Update en.json

* Bootstrap the public keys

* Update en.json

* Fix en.json

* Fix en.json

* Bootstrap hard-coded public key

* Remove unused texts in en.json

* Change file to name

* Add license header

* Implement plugin signature verification

* Remove benburker openpgp

* Update en.json

* Update development public key

* Add support of multiple signatures in filestore

* Update en.json

* Run go mod vendor

* Fix style

* Remove writeFile method

* Remove .plugin.asc extension

* Rename publiKey to mattermostPublicKey

* Verify plugin with mattermost public key

* Remove init_public_keys string

* Add InstallPluginWithSignature method and  Refactor

* Add signature verification on claster notification

* Remove armored signature headers

* Add error strings

* Fix en.json

* Change signatureStorePath

* Implement minor fixes

* Refactor plugin install methods

* Add installPlugin method to uploadPlugin

* Update en.json

* Refactor installPlugin

* Limit number of signatures

* Close signatures

* Fix helper function

* Fix fromReadCloseSeekerToReadSeeker

* Cleaned up ReadCloseSeeker for signatures

* Remove signature truncation on FS

* GolangCI

* Add tests for armored signatures and plugin uploads

* Fix nil slice issue

* Fix TestPluginSync

* Fixed tests

* Return io.ReadSeeker from downloadFromUrl

* Add log for the found plugins in the file store

* Remove logging plugin detection info

* [MM-20134] Consume and store single-signature for each plugin (#13081)

* Consume and store single-signature for each plugin

* Fix en.json

* Remove saveSignature method

* Remove public key hash

* PR Feedback

* refactored config

* PR feedback
Этот коммит содержится в:
Ali Farooq
2019-11-18 19:02:41 -05:00
коммит произвёл GitHub
родитель d44d563ef3
Коммит a6e992ae74
56 изменённых файлов: 8692 добавлений и 80 удалений

Просмотреть файл

@@ -1512,6 +1512,10 @@
"id": "api.outgoing_webhook.disabled.app_error",
"translation": "Outgoing webhooks have been disabled by the system admin."
},
{
"id": "api.plugin.add_public_key.open.app_error",
"translation": "An error occurred while opening the public key file."
},
{
"id": "api.plugin.install.download_failed.app_error",
"translation": "An error occurred while downloading the plugin."
@@ -1540,6 +1544,10 @@
"id": "api.plugin.upload.no_file.app_error",
"translation": "Missing file in multipart/form request"
},
{
"id": "api.plugin.verify_plugin.app_error",
"translation": "Unable to verify plugin signature."
},
{
"id": "api.post.check_for_out_of_channel_groups_mentions.message.multiple",
"translation": "@{{.Usernames}} and @{{.LastUsername}} did not get notified by this mention because they are not in the channel. They cannot be added to the channel because they are not a member of the linked groups. To add them to this channel, they must be added to the linked groups."
@@ -3478,6 +3486,10 @@
"id": "app.plugin.deactivate.app_error",
"translation": "Unable to deactivate plugin"
},
{
"id": "app.plugin.delete_public_key.delete.app_error",
"translation": "An error occurred while deleting the public key."
},
{
"id": "app.plugin.disabled.app_error",
"translation": "Plugins have been disabled. Please check your logs for details."
@@ -3502,6 +3514,10 @@
"id": "app.plugin.get_plugins.app_error",
"translation": "Unable to get active plugins"
},
{
"id": "app.plugin.get_public_key.get_file.app_error",
"translation": "An error occurred while getting the public key from the store."
},
{
"id": "app.plugin.get_statuses.app_error",
"translation": "Unable to get plugin statuses"
@@ -3538,14 +3554,26 @@
"id": "app.plugin.marketplace_disabled.app_error",
"translation": "Marketplace has been disabled. Please check your logs for details."
},
{
"id": "app.plugin.marketplace_plugin_request.app_error",
"translation": "Failed to decode the marketplace plugin request."
},
{
"id": "app.plugin.marketplace_plugins.app_error",
"translation": "Failed to get plugins from the marketplace server."
},
{
"id": "app.plugin.marketplace_plugins.not_found.app_error",
"translation": "Plugin not found."
},
{
"id": "app.plugin.marshal.app_error",
"translation": "Failed to marshal marketplace plugins."
},
{
"id": "app.plugin.modify_saml.app_error",
"translation": "Can't modify saml files."
},
{
"id": "app.plugin.mvdir.app_error",
"translation": "Unable to move plugin from temporary directory to final destination. Another plugin may be using the same directory name."
@@ -3566,10 +3594,18 @@
"id": "app.plugin.restart.app_error",
"translation": "Unable to restart plugin on upgrade."
},
{
"id": "app.plugin.signature_decode.app_error",
"translation": "Unable to decode base64 signature."
},
{
"id": "app.plugin.store_bundle.app_error",
"translation": "Unable to store the plugin to the configured file store."
},
{
"id": "app.plugin.store_signature.app_error",
"translation": "Unable to store the plugin signature to the configured file store."
},
{
"id": "app.plugin.sync.list_filestore.app_error",
"translation": "Error reading files from the plugins folder in the file store."
@@ -3586,6 +3622,14 @@
"id": "app.plugin.webapp_bundle.app_error",
"translation": "Unable to generate plugin webapp bundle."
},
{
"id": "app.plugin.write_file.read.app_error",
"translation": "An error occurred while reading the file."
},
{
"id": "app.plugin.write_file.saving.app_error",
"translation": "An error occurred while saving the file."
},
{
"id": "app.role.check_roles_exist.role_not_found",
"translation": "The provided role does not exist"