mirror of
https://github.com/bitwarden/server.git
synced 2025-02-19 02:21:21 +01:00
PM-16085 - Increase import limitations (#5275)
* PM-16261 move ImportCiphersAsync to the tools team and create services using CQRS design pattern * PM-16261 fix renaming methods and add unit tests for succes and bad request exception * PM-16261 clean up old code from test * make import limits configurable via appsettings * PM-16085 fix issue with appSettings converting to globalSettings for new cipher import limits
This commit is contained in:
parent
46004b9c68
commit
daf2696a81
@ -64,8 +64,9 @@ public class ImportCiphersController : Controller
|
||||
[FromBody] ImportOrganizationCiphersRequestModel model)
|
||||
{
|
||||
if (!_globalSettings.SelfHosted &&
|
||||
(model.Ciphers.Count() > 7000 || model.CollectionRelationships.Count() > 14000 ||
|
||||
model.Collections.Count() > 2000))
|
||||
(model.Ciphers.Count() > _globalSettings.ImportCiphersLimitation.CiphersLimit ||
|
||||
model.CollectionRelationships.Count() > _globalSettings.ImportCiphersLimitation.CollectionRelationshipsLimit ||
|
||||
model.Collections.Count() > _globalSettings.ImportCiphersLimitation.CollectionsLimit))
|
||||
{
|
||||
throw new BadRequestException("You cannot import this much data at once.");
|
||||
}
|
||||
|
@ -56,6 +56,11 @@
|
||||
"publicKey": "SECRET",
|
||||
"privateKey": "SECRET"
|
||||
},
|
||||
"importCiphersLimitation": {
|
||||
"ciphersLimit": 40000,
|
||||
"collectionRelationshipsLimit": 80000,
|
||||
"collectionsLimit": 2000
|
||||
},
|
||||
"bitPay": {
|
||||
"production": false,
|
||||
"token": "SECRET",
|
||||
|
@ -70,6 +70,7 @@ public class GlobalSettings : IGlobalSettings
|
||||
public virtual YubicoSettings Yubico { get; set; } = new YubicoSettings();
|
||||
public virtual DuoSettings Duo { get; set; } = new DuoSettings();
|
||||
public virtual BraintreeSettings Braintree { get; set; } = new BraintreeSettings();
|
||||
public virtual ImportCiphersLimitationSettings ImportCiphersLimitation { get; set; } = new ImportCiphersLimitationSettings();
|
||||
public virtual BitPaySettings BitPay { get; set; } = new BitPaySettings();
|
||||
public virtual AmazonSettings Amazon { get; set; } = new AmazonSettings();
|
||||
public virtual ServiceBusSettings ServiceBus { get; set; } = new ServiceBusSettings();
|
||||
@ -521,6 +522,13 @@ public class GlobalSettings : IGlobalSettings
|
||||
public string PrivateKey { get; set; }
|
||||
}
|
||||
|
||||
public class ImportCiphersLimitationSettings
|
||||
{
|
||||
public int CiphersLimit { get; set; }
|
||||
public int CollectionRelationshipsLimit { get; set; }
|
||||
public int CollectionsLimit { get; set; }
|
||||
}
|
||||
|
||||
public class BitPaySettings
|
||||
{
|
||||
public bool Production { get; set; }
|
||||
|
Loading…
Reference in New Issue
Block a user