Skip to content

Commit db84777

Browse files
Redact JWT token (#1431)
1 parent f668c69 commit db84777

File tree

4 files changed

+27
-7
lines changed

4 files changed

+27
-7
lines changed

src/daemon/index.ts

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,8 @@ async function traceLSPPerformance(javaExt: vscode.Extension<any>) {
166166
kind: escapeLspRequestName(traceEvent.type),
167167
duration,
168168
code,
169-
message: errorMessage,
170-
exception,
169+
lspmessage: errorMessage,
170+
lspexception: exception,
171171
javaversion: javaExtVersion,
172172
remark: sampling,
173173
data: redactDataProperties(traceEvent.data),
@@ -213,6 +213,10 @@ function redactDataProperties(data: any): string {
213213
async function traceJavaExtension(javaExt: vscode.Extension<any>) {
214214
const javaExtVersion = javaExt.packageJSON?.version;
215215
const isPreReleaseVersion = /^\d+\.\d+\.\d{10}/.test(javaExtVersion);
216+
const remappedKeys: any = {
217+
"message": "lsmessage",
218+
"exception": "lsexception"
219+
};
216220
javaExt.exports?.trackEvent?.((event: any) => {
217221
const metrics: any = {
218222
name: "javaext-trace",
@@ -229,6 +233,15 @@ async function traceJavaExtension(javaExt: vscode.Extension<any>) {
229233
metrics[key] = val;
230234
}
231235
}
236+
237+
for (const key of Object.keys(remappedKeys)) {
238+
if (metrics[key] !== undefined) {
239+
const newKey = remappedKeys[key];
240+
metrics[newKey] = metrics[key];
241+
delete metrics[key];
242+
}
243+
}
244+
232245
sendInfo("", metrics);
233246
});
234247
}

src/daemon/processWatcher.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ export class ProcessWatcher {
9999
private onDidJdtlsCrash(lastHeartbeat?: string) {
100100
sendInfo("", {
101101
name: "jdtls-last-heartbeat",
102-
message: lastHeartbeat!
102+
message1: lastHeartbeat!
103103
});
104104
this.daemon.logWatcher.sendErrorAndStackOnCrash();
105105
}
@@ -116,7 +116,7 @@ export class ProcessWatcher {
116116
);
117117
sendInfo("", {
118118
name: "client-initialize-time",
119-
message: interval.toString()
119+
message1: interval.toString()
120120
});
121121
}
122122
}

src/extension.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,14 @@ function initializeTelemetry(_context: vscode.ExtensionContext) {
9696
const packageInfo = ext ? ext.packageJSON : undefined;
9797
if (packageInfo) {
9898
if (packageInfo.aiKey) {
99-
initialize(packageInfo.id, packageInfo.version, packageInfo.aiKey);
99+
initialize(packageInfo.id, packageInfo.version, packageInfo.aiKey, {
100+
replacementOptions: [
101+
{
102+
lookup: /\s*Bearer\s+[\w-]*\.?[\w-]*\.?[A-Za-z0-9-_]*/,
103+
replacementString: "<REDACTED: JWT token>"
104+
}
105+
]
106+
});
100107
}
101108
}
102109
}

src/project-settings/handlers/ClasspathRequestHandler.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ export class ClasspathRequestHandler implements vscode.Disposable {
304304
javaHome[0].fsPath
305305
);
306306

307-
actionResult.message = result.message;
307+
actionResult.message1 = result.message;
308308
actionResult.code = result.success ? "0" : "1";
309309
sendInfo(operationId, actionResult);
310310

@@ -339,7 +339,7 @@ export class ClasspathRequestHandler implements vscode.Disposable {
339339
jdkPath
340340
);
341341

342-
actionResult.message = result.message;
342+
actionResult.message1 = result.message;
343343
actionResult.code = result.success ? "0" : "1";
344344
sendInfo(operationId, actionResult);
345345

0 commit comments

Comments
 (0)