Mult Port + TCP Calibration (SSH DEAD)

This commit is contained in:
2026-08-17 17:08:57 -03:00
parent 7ea221a99c
commit b997294607
58 changed files with 6033 additions and 497 deletions
+42
View File
@@ -357,6 +357,8 @@ func decodeWireToken(token string) string {
func isChunkCommand(payload []byte) bool {
return bytes.HasPrefix(payload, []byte("CPROBE ")) ||
bytes.HasPrefix(payload, []byte("CIPERFUP ")) ||
bytes.HasPrefix(payload, []byte("CIPERFDW ")) ||
bytes.HasPrefix(payload, []byte("COPEN ")) ||
bytes.HasPrefix(payload, []byte("CPUSH ")) ||
bytes.HasPrefix(payload, []byte("CPULL ")) ||
@@ -388,6 +390,46 @@ func processChunkCommand(
return protocol.WriteResponseFrame(conn, requestID, []byte("PROBEOK"))
}
if bytes.HasPrefix(payload, []byte("CIPERFUP ")) {
parts := bytes.SplitN(payload, []byte(" "), 4)
if len(parts) != 4 {
return protocol.WriteResponseFrame(conn, requestID, []byte("ERR bad CIPERFUP"))
}
if !tokenEqual(decodeWireToken(string(parts[1])), token) {
return protocol.WriteResponseFrame(conn, requestID, []byte("ERR authentication failed"))
}
size, err := strconv.Atoi(string(parts[2]))
if err != nil || size < 1 || size > maxChunk {
return protocol.WriteResponseFrame(conn, requestID, []byte("ERR iperf upload chunk too large"))
}
data := parts[3]
if len(data) != size || !bytes.Equal(data, probePattern(size)) {
return protocol.WriteResponseFrame(conn, requestID, []byte("ERR iperf upload validation failed"))
}
if debug != nil && debug.enabled {
debug.logf("CALIBRATION fake_iperf=upload wire=x peer=%s chunk=%d bytes=%d pollers=1 outstanding=1", conn.RemoteAddr(), size, len(data))
}
return protocol.WriteResponseFrame(conn, requestID, []byte("IPERFOK"))
}
if bytes.HasPrefix(payload, []byte("CIPERFDW ")) {
parts := strings.Fields(string(payload))
if len(parts) != 3 {
return protocol.WriteResponseFrame(conn, requestID, []byte("ERR bad CIPERFDW"))
}
if !tokenEqual(decodeWireToken(parts[1]), token) {
return protocol.WriteResponseFrame(conn, requestID, []byte("ERR authentication failed"))
}
size, err := strconv.Atoi(parts[2])
if err != nil || size < 1 || size > maxChunk {
return protocol.WriteResponseFrame(conn, requestID, []byte("ERR iperf download chunk too large"))
}
if debug != nil && debug.enabled {
debug.logf("CALIBRATION fake_iperf=download wire=x peer=%s chunk=%d bytes=%d pollers=1 outstanding=1", conn.RemoteAddr(), size, size)
}
return protocol.WriteResponseFrame(conn, requestID, probePattern(size))
}
if bytes.HasPrefix(payload, []byte("COPEN ")) {
parts := strings.Fields(string(payload))
if len(parts) != 5 {