From bf494fb2ee1022e3c06d260e487a3da616953443 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Thu, 16 Apr 2026 12:11:59 +0200 Subject: [PATCH 1/3] Update recorder to the version free of OpenSSL dependency --- REPLAY_BACKEND_REV | 2 +- src/node.cc | 37 +------------------------------------ 2 files changed, 2 insertions(+), 37 deletions(-) diff --git a/REPLAY_BACKEND_REV b/REPLAY_BACKEND_REV index 3a9c01f2b62246..9459633df2d1ac 100644 --- a/REPLAY_BACKEND_REV +++ b/REPLAY_BACKEND_REV @@ -1 +1 @@ -867025c7c0fd74f655fb84d25492276026f8e5c1 +ae06891339f171a358d8127906e3e85d9f2b3ab3 diff --git a/src/node.cc b/src/node.cc index 76d25bd1fc1f31..2a0fce87f005ad 100644 --- a/src/node.cc +++ b/src/node.cc @@ -977,7 +977,6 @@ int InitializeNodeWithArgs(std::vector* argv, } static void (*gRecordReplayAttach)(const char* dispatchAddress, const char* buildId); -static void (*gRecordReplaySetApiKey)(const char* apiKey); static void (*gRecordReplayRecordCommandLineArguments)(int*, char***); static void (*gRecordReplaySaveRecording)(const char* dir); static void (*gRecordReplayRememberRecording)(); @@ -1129,13 +1128,6 @@ static void InitializeRecordReplay(int* pargc, char*** pargv) { return; } - const char* dispatchAddress = getenv("RECORD_REPLAY_SERVER"); - if (!dispatchAddress) { - // 4/21/2021: For backwards compatibility we also check an older env - // var used to indicate the dispatch server. - dispatchAddress = getenv("RECORD_REPLAY_DISPATCH"); - } - void* handle = OpenDriverHandle(); if (!handle) { @@ -1143,30 +1135,7 @@ static void InitializeRecordReplay(int* pargc, char*** pargv) { return; } - size_t keySize = 100; - std::vector apiKeyData(keySize, '\0'); - int ret = uv_os_getenv("RECORD_REPLAY_API_KEY", apiKeyData.data(), &keySize); - - if (ret == UV_ENOBUFS) { - apiKeyData.resize(keySize, '\0'); - ret = uv_os_getenv("RECORD_REPLAY_API_KEY", apiKeyData.data(), &keySize); - } - - bool hasApiKey = false; - std::string apiKey; - if (ret >= 0) { - hasApiKey = true; - apiKey = std::string(apiKeyData.data(), keySize); - // Unsetting the env var will make the variable unavailable via - // uv_os_getenv and such, and also mutates the 'environ' global, so - // by the time gRecordReplayAttach runs, it will have no idea that - // this value existed and won't capture it in the recording itself, - // which is ideal for security. - CHECK(!uv_os_unsetenv("RECORD_REPLAY_API_KEY")); - } - RecordReplayLoadSymbol(handle, "RecordReplayAttach", gRecordReplayAttach); - RecordReplayLoadSymbol(handle, "RecordReplaySetApiKey", gRecordReplaySetApiKey); RecordReplayLoadSymbol(handle, "RecordReplayRecordCommandLineArguments", gRecordReplayRecordCommandLineArguments); RecordReplayLoadSymbol(handle, "RecordReplaySaveRecording", gRecordReplaySaveRecording); @@ -1183,12 +1152,8 @@ static void InitializeRecordReplay(int* pargc, char*** pargv) { RecordReplayLoadSymbol(handle, "RecordReplayJSONToString", gJSONToString); RecordReplayLoadSymbol(handle, "RecordReplayJSONFree", gJSONFree); - if (gRecordReplaySetApiKey && hasApiKey) { - gRecordReplaySetApiKey(apiKey.c_str()); - } - if (gRecordReplayAttach && gRecordReplayFinishRecording) { - gRecordReplayAttach(dispatchAddress, gBuildId); + gRecordReplayAttach(nullptr, gBuildId); gRecordReplayRecordCommandLineArguments(pargc, pargv); v8::recordreplay::SetRecordingOrReplaying(handle); From 858c1b113b318c39a7fca7f0a58ffcff3a924d76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Thu, 16 Apr 2026 12:26:22 +0200 Subject: [PATCH 2/3] remove stale API usage --- REPLAY_BACKEND_REV | 2 +- src/node.cc | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/REPLAY_BACKEND_REV b/REPLAY_BACKEND_REV index 9459633df2d1ac..83a78d05c65cb7 100644 --- a/REPLAY_BACKEND_REV +++ b/REPLAY_BACKEND_REV @@ -1 +1 @@ -ae06891339f171a358d8127906e3e85d9f2b3ab3 +6839a25e24684b1502fb783ad937c4a2b0abca0d diff --git a/src/node.cc b/src/node.cc index 2a0fce87f005ad..147885f06a6e96 100644 --- a/src/node.cc +++ b/src/node.cc @@ -976,7 +976,7 @@ int InitializeNodeWithArgs(std::vector* argv, return 0; } -static void (*gRecordReplayAttach)(const char* dispatchAddress, const char* buildId); +static void (*gRecordReplayAttach)(const char* buildId); static void (*gRecordReplayRecordCommandLineArguments)(int*, char***); static void (*gRecordReplaySaveRecording)(const char* dir); static void (*gRecordReplayRememberRecording)(); @@ -1153,7 +1153,7 @@ static void InitializeRecordReplay(int* pargc, char*** pargv) { RecordReplayLoadSymbol(handle, "RecordReplayJSONFree", gJSONFree); if (gRecordReplayAttach && gRecordReplayFinishRecording) { - gRecordReplayAttach(nullptr, gBuildId); + gRecordReplayAttach(gBuildId); gRecordReplayRecordCommandLineArguments(pargc, pargv); v8::recordreplay::SetRecordingOrReplaying(handle); From effa31c232285c16cf58a7176197111cffef8783 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Thu, 16 Apr 2026 17:55:40 +0200 Subject: [PATCH 3/3] update recorder version --- REPLAY_BACKEND_REV | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/REPLAY_BACKEND_REV b/REPLAY_BACKEND_REV index 83a78d05c65cb7..3d65d1fa9aa29e 100644 --- a/REPLAY_BACKEND_REV +++ b/REPLAY_BACKEND_REV @@ -1 +1 @@ -6839a25e24684b1502fb783ad937c4a2b0abca0d +0573bb4ca48f2b919b67a6bec3c7c289c8628956