diff --git a/src/vs/platform/request/common/request.ts b/src/vs/platform/request/common/request.ts index 71680e19a29..df18c523dd7 100644 --- a/src/vs/platform/request/common/request.ts +++ b/src/vs/platform/request/common/request.ts @@ -160,6 +160,8 @@ export const USER_LOCAL_AND_REMOTE_SETTINGS = [ 'http.experimental.networkInterfaceCheckInterval', ]; +export const systemCertificatesNodeDefault = false; + let proxyConfiguration: IConfigurationNode[] = []; let previousUseHostProxy: boolean | undefined = undefined; let previousUseHostProxyDefault: boolean | undefined = undefined; @@ -262,7 +264,7 @@ function registerProxyConfigurations(useHostProxy = true, useHostProxyDefault = 'http.systemCertificatesNode': { type: 'boolean', tags: ['experimental'], - default: true, + default: systemCertificatesNodeDefault, markdownDescription: localize('systemCertificatesNode', "Controls whether system certificates should be loaded using Node.js built-in support. Reload the window after changing this setting. When during [remote development](https://aka.ms/vscode-remote) the {0} setting is disabled this setting can be configured in the local and the remote settings separately.", '`#http.useLocalProxyConfiguration#`'), restricted: true, experiment: { diff --git a/src/vs/platform/request/node/requestService.ts b/src/vs/platform/request/node/requestService.ts index 0da1b1c1f50..73f6f826d39 100644 --- a/src/vs/platform/request/node/requestService.ts +++ b/src/vs/platform/request/node/requestService.ts @@ -17,7 +17,7 @@ import { IConfigurationService } from '../../configuration/common/configuration. import { INativeEnvironmentService } from '../../environment/common/environment.js'; import { getResolvedShellEnv } from '../../shell/node/shellEnv.js'; import { ILogService } from '../../log/common/log.js'; -import { AbstractRequestService, AuthInfo, Credentials, IRequestService } from '../common/request.js'; +import { AbstractRequestService, AuthInfo, Credentials, IRequestService, systemCertificatesNodeDefault } from '../common/request.js'; import { Agent, getProxyAgent } from './proxy.js'; import { createGunzip } from 'zlib'; @@ -120,7 +120,7 @@ export class RequestService extends AbstractRequestService implements IRequestSe async loadCertificates(): Promise { const proxyAgent = await import('@vscode/proxy-agent'); return proxyAgent.loadSystemCertificates({ - loadSystemCertificatesFromNode: () => this.getConfigValue('http.systemCertificatesNode', true), + loadSystemCertificatesFromNode: () => this.getConfigValue('http.systemCertificatesNode', systemCertificatesNodeDefault), log: this.logService, }); } diff --git a/src/vs/workbench/api/node/proxyResolver.ts b/src/vs/workbench/api/node/proxyResolver.ts index 5d320ae2720..4e81dd810ed 100644 --- a/src/vs/workbench/api/node/proxyResolver.ts +++ b/src/vs/workbench/api/node/proxyResolver.ts @@ -12,7 +12,7 @@ import { URI } from '../../../base/common/uri.js'; import { ILogService, LogLevel as LogServiceLevel } from '../../../platform/log/common/log.js'; import { IExtensionDescription } from '../../../platform/extensions/common/extensions.js'; import { LogLevel, createHttpPatch, createProxyResolver, createTlsPatch, ProxySupportSetting, ProxyAgentParams, createNetPatch, loadSystemCertificates, ResolveProxyWithRequest } from '@vscode/proxy-agent'; -import { AuthInfo } from '../../../platform/request/common/request.js'; +import { AuthInfo, systemCertificatesNodeDefault } from '../../../platform/request/common/request.js'; import { DisposableStore } from '../../../base/common/lifecycle.js'; import { createRequire } from 'node:module'; import type * as undiciType from 'undici-types'; @@ -54,7 +54,7 @@ export function connectProxyResolver( isAdditionalFetchSupportEnabled: () => getExtHostConfigValue(configProvider, isRemote, 'http.fetchAdditionalSupport', true), addCertificatesV1: () => certSettingV1(configProvider, isRemote), addCertificatesV2: () => certSettingV2(configProvider, isRemote), - loadSystemCertificatesFromNode: () => getExtHostConfigValue(configProvider, isRemote, 'http.systemCertificatesNode', true), + loadSystemCertificatesFromNode: () => getExtHostConfigValue(configProvider, isRemote, 'http.systemCertificatesNode', systemCertificatesNodeDefault), log: extHostLogService, getLogLevel: () => { const level = extHostLogService.getLevel(); @@ -79,7 +79,7 @@ export function connectProxyResolver( return intervalSeconds * 1000; }, loadAdditionalCertificates: async () => { - const useNodeSystemCerts = getExtHostConfigValue(configProvider, isRemote, 'http.systemCertificatesNode', true); + const useNodeSystemCerts = getExtHostConfigValue(configProvider, isRemote, 'http.systemCertificatesNode', systemCertificatesNodeDefault); const promises: Promise[] = []; if (isRemote) { promises.push(loadSystemCertificates({