TrackerClient.listStorages 第三个参数storageIpAddr,似乎在tracker服务端是指storageId。不支持ipv6之前 id的最大长度和ip最大长度一致,所以没有问题,支持ipv6之后,ip最长长度变成46,而id还是16,客户端如果传入ipv6地址,会传更大的协议包体,服务端会解析失败。
607行最大长度是不是限制下改成FDFS_STORAGE_ID_MAX_SIZE
|
if (bIpAddr.length < ProtoCommon.FDFS_IPADDR_SIZE) { |
|
ipAddrLen = bIpAddr.length; |
|
} else { |
|
ipAddrLen = ProtoCommon.FDFS_IPADDR_SIZE - 1; |
https://github.com/happyfish100/fastdfs/blob/030520cb3aad56004e92ab097fc6f1e0a10c652e/tracker/tracker_service.c#L2155-L2168

TrackerClient.listStorages 第三个参数storageIpAddr,似乎在tracker服务端是指storageId。不支持ipv6之前 id的最大长度和ip最大长度一致,所以没有问题,支持ipv6之后,ip最长长度变成46,而id还是16,客户端如果传入ipv6地址,会传更大的协议包体,服务端会解析失败。
607行最大长度是不是限制下改成FDFS_STORAGE_ID_MAX_SIZE
fastdfs-client-java/src/main/java/org/csource/fastdfs/TrackerClient.java
Lines 604 to 607 in 9d9b1d7
https://github.com/happyfish100/fastdfs/blob/030520cb3aad56004e92ab097fc6f1e0a10c652e/tracker/tracker_service.c#L2155-L2168