Skip to content

Commit

Permalink
to: adding try-catch during loading certs, prevent error
Browse files Browse the repository at this point in the history
  • Loading branch information
Sma1lboy committed Oct 10, 2024
1 parent f57068c commit d3e4973
Showing 1 changed file with 26 additions and 18 deletions.
44 changes: 26 additions & 18 deletions clients/tabby-agent/src/certsLoader.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,26 +56,34 @@ async function loadFromFiles(files: string) {
}

async function loadTlsCaCerts(config: ConfigData["tls"]) {
if (config.caCerts === "bundled") {
return;
} else if (config.caCerts === "system") {
if (process.platform === "win32") {
logger.debug(`Loading extra certs from win-ca.`);
winCa.exe(path.join("win-ca", "roots.exe"));
winCa({
fallback: true,
inject: "+",
});
} else if (process.platform === "darwin") {
logger.debug(`Loading extra certs from mac-ca.`);
const certs = macCa.get();
appendCaCerts(certs);
try {
if (config.caCerts === "bundled") {
return;
} else if (config.caCerts === "system") {
if (process.platform === "win32") {
logger.debug(`Loading extra certs from win-ca.`);
winCa.exe(path.join("win-ca", "roots.exe"));
winCa({
fallback: true,
inject: "+",
});
} else if (process.platform === "darwin") {
logger.debug(`Loading extra certs from mac-ca.`);
const certs = macCa.get();
appendCaCerts(certs);
} else {
// linux: load from openssl cert
await loadFromFiles(path.join("/etc/ssl/certs/ca-certificates.crt"));
}
} else if (config.caCerts) {
await loadFromFiles(config.caCerts);
}
} catch (err) {
if (err instanceof Error) {
logger.warn(`Error loading TLS CA certificates: ${err.message}`);
} else {
// linux: load from openssl cert
await loadFromFiles(path.join("/etc/ssl/certs/ca-certificates.crt"));
logger.warn(`Unexpected error loading TLS CA certificates: ${String(err)}`);
}
} else if (config.caCerts) {
await loadFromFiles(config.caCerts);
}
}

Expand Down

0 comments on commit d3e4973

Please sign in to comment.