Skip to content

Commit 2a591bd

Browse files
authored
Pipe: Added parameter check to handshake of legacy receiver (apache#16596)
1 parent 2a12077 commit 2a591bd

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

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
@@ -103,6 +103,11 @@ public TSStatus handshake(
103103
final String remoteAddress,
104104
final IPartitionFetcher partitionFetcher,
105105
final ISchemaFetcher schemaFetcher) {
106+
if (!validatePipeName(syncIdentityInfo)) {
107+
return new TSStatus(TSStatusCode.ILLEGAL_PARAMETER.getStatusCode())
108+
.setMessage("Invalid pipeName");
109+
}
110+
106111
final SyncIdentityInfo identityInfo = new SyncIdentityInfo(syncIdentityInfo, remoteAddress);
107112
LOGGER.info("Invoke handshake method from client ip = {}", identityInfo.getRemoteAddress());
108113

@@ -119,6 +124,10 @@ public TSStatus handshake(
119124
return RpcUtils.getStatus(TSStatusCode.SUCCESS_STATUS, "");
120125
}
121126

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

0 commit comments

Comments
 (0)