Support AWS Signature V2 for Mattermost for S3 storage. (#6462)

Certain S3 compatible servers only use Legacy Signature (AWS
Signature V2), current code only supports signature v4.

This PR adds facility to click a button on the UI to enable
legacy signature with S3 compatible servers.
Этот коммит содержится в:
Harshavardhana
2017-05-30 16:12:24 -07:00
коммит произвёл Corey Hulen
родитель d409c7c1c6
Коммит f520aa1f4d
8 изменённых файлов: 69 добавлений и 11 удалений

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

@@ -34,6 +34,7 @@ export default class StorageSettings extends AdminSettings {
config.FileSettings.AmazonS3Bucket = this.state.amazonS3Bucket;
config.FileSettings.AmazonS3Endpoint = this.state.amazonS3Endpoint;
config.FileSettings.AmazonS3SSL = this.state.amazonS3SSL;
config.FileSettings.AmazonS3SignV2 = this.state.amazonS3SignV2;
return config;
}
@@ -48,7 +49,8 @@ export default class StorageSettings extends AdminSettings {
amazonS3SecretAccessKey: config.FileSettings.AmazonS3SecretAccessKey,
amazonS3Bucket: config.FileSettings.AmazonS3Bucket,
amazonS3Endpoint: config.FileSettings.AmazonS3Endpoint,
amazonS3SSL: config.FileSettings.AmazonS3SSL
amazonS3SSL: config.FileSettings.AmazonS3SSL,
amazonS3SignV2: config.FileSettings.AmazonS3SignV2
};
}
@@ -201,6 +203,25 @@ export default class StorageSettings extends AdminSettings {
onChange={this.handleChange}
disabled={this.state.driverName !== DRIVER_S3}
/>
<BooleanSetting
id='amazonS3SignV2'
label={
<FormattedMessage
id='admin.image.amazonS3SignV2Title'
defaultMessage='Enable Signature V2 for S3 Connections:'
/>
}
placeholder={Utils.localizeMessage('admin.image.amazonS3SignV2Example', 'Ex "false"')}
helpText={
<FormattedMessage
id='admin.image.amazonS3SignV2Desc'
defaultMessage='When true, allow signature v2 to Amazon S3. Defaults to Signature V4 requests.'
/>
}
value={this.state.amazonS3SignV2}
onChange={this.handleChange}
disabled={this.state.driverName !== DRIVER_S3}
/>
<BooleanSetting
id='enableFileAttachments'
label={