fix(e2e): reject invalid kitchen sink rpc ports · openclaw/openclaw@65e77b8
vincentkoc
·
2026-06-19
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -182,7 +182,13 @@ export async function findAvailableLoopbackPort(options = {}) {
|
182 | 182 | export async function resolveKitchenSinkRpcPort(env = process.env, options = {}) { |
183 | 183 | const rawPort = (env.OPENCLAW_KITCHEN_SINK_RPC_PORT || "").trim(); |
184 | 184 | if (rawPort) { |
185 | | -return readPositiveInt(rawPort, 0, "OPENCLAW_KITCHEN_SINK_RPC_PORT"); |
| 185 | +const port = readPositiveInt(rawPort, 0, "OPENCLAW_KITCHEN_SINK_RPC_PORT"); |
| 186 | +if (port > 65535) { |
| 187 | +throw new Error( |
| 188 | +`OPENCLAW_KITCHEN_SINK_RPC_PORT must be a TCP port from 1 to 65535. Got: ${JSON.stringify(rawPort)}`, |
| 189 | +); |
| 190 | +} |
| 191 | +return port; |
186 | 192 | } |
187 | 193 | return await (options.findAvailablePort ?? findAvailableLoopbackPort)(); |
188 | 194 | } |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -136,6 +136,14 @@ describe("kitchen-sink RPC isolated state", () => {
|
136 | 136 | await expect( |
137 | 137 | resolveKitchenSinkRpcPort({ OPENCLAW_KITCHEN_SINK_RPC_PORT: "19080" }), |
138 | 138 | ).resolves.toBe(19080); |
| 139 | +await expect( |
| 140 | +resolveKitchenSinkRpcPort({ OPENCLAW_KITCHEN_SINK_RPC_PORT: "65535" }), |
| 141 | +).resolves.toBe(65535); |
| 142 | +await expect( |
| 143 | +resolveKitchenSinkRpcPort({ OPENCLAW_KITCHEN_SINK_RPC_PORT: "65536" }), |
| 144 | +).rejects.toThrow( |
| 145 | +'OPENCLAW_KITCHEN_SINK_RPC_PORT must be a TCP port from 1 to 65535. Got: "65536"', |
| 146 | +); |
139 | 147 | await expect( |
140 | 148 | resolveKitchenSinkRpcPort({}, { findAvailablePort: async () => 45678 }), |
141 | 149 | ).resolves.toBe(45678); |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。