Skip to content

Commit

Permalink
NIFI-14282 Enforced that pasted property descriptor is sensitive befo…
Browse files Browse the repository at this point in the history
…re applying a sensitive property value (#9734)

Signed-off-by: David Handermann <[email protected]>
  • Loading branch information
mcgilman authored Feb 20, 2025
1 parent a93b494 commit a51f1d4
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6170,7 +6170,10 @@ private void copySensitiveProcessorProperties(final Set<VersionedProcessor> proc
copiedInstance.getProperties().keySet().stream()
.filter(PropertyDescriptor::isSensitive)
.forEach(pd -> {
p.getProperties().put(pd.getName(), copiedInstance.getRawPropertyValue(pd));
final VersionedPropertyDescriptor vpd = p.getPropertyDescriptors().get(pd.getName());
if (vpd != null && vpd.isSensitive()) {
p.getProperties().put(pd.getName(), copiedInstance.getRawPropertyValue(pd));
}
});
}
}
Expand All @@ -6193,7 +6196,10 @@ private void copySensitiveServiceProperties(final Set<VersionedControllerService
copiedInstance.getProperties().keySet().stream()
.filter(PropertyDescriptor::isSensitive)
.forEach(pd -> {
s.getProperties().put(pd.getName(), copiedInstance.getRawPropertyValue(pd));
final VersionedPropertyDescriptor vpd = s.getPropertyDescriptors().get(pd.getName());
if (vpd != null && vpd.isSensitive()) {
s.getProperties().put(pd.getName(), copiedInstance.getRawPropertyValue(pd));
}
});
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -497,13 +497,21 @@ public void testPasteComponents() {
final RevisionManager revisionManager = new NaiveRevisionManager();
serviceFacade.setRevisionManager(revisionManager);

final VersionedPropertyDescriptor versionedPropertyDescriptor = new VersionedPropertyDescriptor();
versionedPropertyDescriptor.setName(sensitiveProperty);
versionedPropertyDescriptor.setSensitive(true);

final Map<String, VersionedPropertyDescriptor> propertyDescriptors = new HashMap<>();
propertyDescriptors.put(sensitiveProperty, versionedPropertyDescriptor);

final Map<String, String> properties = new HashMap<>();
properties.put(sensitiveProperty, null);

final String instanceId = "67890";
final VersionedProcessor versionedProcessor = new VersionedProcessor();
versionedProcessor.setIdentifier("12345");
versionedProcessor.setInstanceIdentifier(instanceId);
versionedProcessor.setPropertyDescriptors(propertyDescriptors);
versionedProcessor.setProperties(properties);

final PropertyDescriptor propertyDescriptor = mock(PropertyDescriptor.class);
Expand Down

0 comments on commit a51f1d4

Please sign in to comment.