Skip to content

Commit

Permalink
improved checks
Browse files Browse the repository at this point in the history
  • Loading branch information
angelo.andreussi authored and Coduz committed Jul 10, 2023
1 parent bb25186 commit ccafdf1
Showing 1 changed file with 7 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -141,18 +141,17 @@ public KapuaId downloadExec(KapuaId scopeId, KapuaId deviceId, DevicePackageDown
ArgumentValidator.notNull(packageDownloadRequest.getVersion(), "packageDownloadRequest.version");
ArgumentValidator.notNull(packageDownloadOptions, "packageDownloadOptions");

//
// Check Access
AUTHORIZATION_SERVICE.checkPermission(PERMISSION_FACTORY.newPermission(DeviceManagementDomains.DEVICE_MANAGEMENT_DOMAIN, Actions.write, scopeId));

try {
packageDownloadRequest.getUri().toURL();
} catch (MalformedURLException | IllegalArgumentException ignored) {
throw new KapuaIllegalArgumentException("packageDownloadRequest.uri", packageDownloadRequest.getUri().toString());
}

verifyOverflowPackageFields(packageDownloadRequest);

//
// Check Access
AUTHORIZATION_SERVICE.checkPermission(PERMISSION_FACTORY.newPermission(DeviceManagementDomains.DEVICE_MANAGEMENT_DOMAIN, Actions.write, scopeId));

//
// Generate requestId
KapuaId operationId = new KapuaEid(IdGenerator.generate());
Expand Down Expand Up @@ -578,22 +577,9 @@ public DevicePackageUninstallOperation uninstallStatus(KapuaId scopeId, KapuaId
}

private void verifyOverflowPackageFields(DevicePackageDownloadRequest packageDownloadRequest) throws KapuaIllegalArgumentException {
int uriLength = packageDownloadRequest.getUri().toString().length();
int nameLength = packageDownloadRequest.getName().length();
int versionLength = packageDownloadRequest.getVersion().length();

if (uriLength > 2048) {
throw new KapuaIllegalArgumentException("packageDownloadRequest.uri", packageDownloadRequest.getUri().toString());
}

if (nameLength > 256) {
throw new KapuaIllegalArgumentException("packageDownloadRequest.name", packageDownloadRequest.getName().toString());
}

if (versionLength > 256) {
throw new KapuaIllegalArgumentException("packageDownloadRequest.version", packageDownloadRequest.getVersion().toString());
}

ArgumentValidator.lengthRange(packageDownloadRequest.getUri().toString(), null, 2048, "packageDownloadRequest.uri");
ArgumentValidator.lengthRange(packageDownloadRequest.getName(), null, 256, "packageDownloadRequest.name");
ArgumentValidator.lengthRange(packageDownloadRequest.getVersion(), null, 256, "packageDownloadRequest.version");
}


Expand Down

0 comments on commit ccafdf1

Please sign in to comment.