Skip to content

Commit 3fdfe2e

Browse files
CaideyipiJackieTien97
authored andcommitted
Pipe: Added parameter check to handshake of legacy receiver (#16596)
1 parent 05ef722 commit 3fdfe2e

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/legacy/IoTDBLegacyPipeReceiverAgent.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,11 @@ public TSStatus handshake(
102102
final String remoteAddress,
103103
final IPartitionFetcher partitionFetcher,
104104
final ISchemaFetcher schemaFetcher) {
105+
if (!validatePipeName(syncIdentityInfo)) {
106+
return new TSStatus(TSStatusCode.ILLEGAL_PARAMETER.getStatusCode())
107+
.setMessage("Invalid pipeName");
108+
}
109+
105110
final SyncIdentityInfo identityInfo = new SyncIdentityInfo(syncIdentityInfo, remoteAddress);
106111
LOGGER.info("Invoke handshake method from client ip = {}", identityInfo.getRemoteAddress());
107112

@@ -118,6 +123,10 @@ public TSStatus handshake(
118123
return RpcUtils.getStatus(TSStatusCode.SUCCESS_STATUS, "");
119124
}
120125

126+
private boolean validatePipeName(final TSyncIdentityInfo info) {
127+
return info.isSetPipeName() && !info.getPipeName().contains(File.separator);
128+
}
129+
121130
private void createConnection(final SyncIdentityInfo identityInfo) {
122131
final long connectionId = connectionIdGenerator.incrementAndGet();
123132
currentConnectionId.set(connectionId);

0 commit comments

Comments
 (0)