mirror of
https://github.com/microsoft/vscode.git
synced 2025-12-20 02:08:47 +00:00
Kerberos auth for proxies (#188130)
This commit is contained in:
@@ -9,4 +9,4 @@ sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.mi
|
|||||||
rm -f packages.microsoft.gpg
|
rm -f packages.microsoft.gpg
|
||||||
|
|
||||||
apt update
|
apt update
|
||||||
apt install -y code-insiders libsecret-1-dev libxkbfile-dev
|
apt install -y code-insiders libsecret-1-dev libxkbfile-dev libkrb5-dev
|
||||||
|
|||||||
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@@ -107,7 +107,7 @@ jobs:
|
|||||||
- name: Setup Build Environment
|
- name: Setup Build Environment
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libxss1 dbus xvfb libgtk-3-0 libgbm1
|
sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libkrb5-dev libxss1 dbus xvfb libgtk-3-0 libgbm1
|
||||||
sudo cp build/azure-pipelines/linux/xvfb.init /etc/init.d/xvfb
|
sudo cp build/azure-pipelines/linux/xvfb.init /etc/init.d/xvfb
|
||||||
sudo chmod +x /etc/init.d/xvfb
|
sudo chmod +x /etc/init.d/xvfb
|
||||||
sudo update-rc.d xvfb defaults
|
sudo update-rc.d xvfb defaults
|
||||||
|
|||||||
3
.github/workflows/monaco-editor.yml
vendored
3
.github/workflows/monaco-editor.yml
vendored
@@ -45,6 +45,9 @@ jobs:
|
|||||||
path: ${{ steps.yarnCacheDirPath.outputs.dir }}
|
path: ${{ steps.yarnCacheDirPath.outputs.dir }}
|
||||||
key: ${{ runner.os }}-yarnCacheDir-${{ steps.nodeModulesCacheKey.outputs.value }}
|
key: ${{ runner.os }}-yarnCacheDir-${{ steps.nodeModulesCacheKey.outputs.value }}
|
||||||
restore-keys: ${{ runner.os }}-yarnCacheDir-
|
restore-keys: ${{ runner.os }}-yarnCacheDir-
|
||||||
|
- name: Install libkrb5-dev
|
||||||
|
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
||||||
|
run: sudo apt install -y libkrb5-dev
|
||||||
- name: Execute yarn
|
- name: Execute yarn
|
||||||
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -73,6 +73,12 @@ windows-foreground-love/build/**
|
|||||||
windows-foreground-love/src/**
|
windows-foreground-love/src/**
|
||||||
!windows-foreground-love/**/*.node
|
!windows-foreground-love/**/*.node
|
||||||
|
|
||||||
|
kerberos/binding.gyp
|
||||||
|
kerberos/build/**
|
||||||
|
kerberos/src/**
|
||||||
|
kerberos/node_modules/**
|
||||||
|
!kerberos/**/*.node
|
||||||
|
|
||||||
keytar/binding.gyp
|
keytar/binding.gyp
|
||||||
keytar/build/**
|
keytar/build/**
|
||||||
keytar/src/**
|
keytar/src/**
|
||||||
|
|||||||
@@ -67,6 +67,11 @@ steps:
|
|||||||
displayName: "Pull image"
|
displayName: "Pull image"
|
||||||
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
sudo apt-get update && sudo apt-get install -y libkrb5-dev
|
||||||
|
displayName: Install libkrb5-dev
|
||||||
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
for i in {1..5}; do # try 5 times
|
for i in {1..5}; do # try 5 times
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ steps:
|
|||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libxss1 dbus xvfb libgtk-3-0 libgbm1
|
sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libkrb5-dev libxss1 dbus xvfb libgtk-3-0 libgbm1
|
||||||
sudo cp build/azure-pipelines/linux/xvfb.init /etc/init.d/xvfb
|
sudo cp build/azure-pipelines/linux/xvfb.init /etc/init.d/xvfb
|
||||||
sudo chmod +x /etc/init.d/xvfb
|
sudo chmod +x /etc/init.d/xvfb
|
||||||
sudo update-rc.d xvfb defaults
|
sudo update-rc.d xvfb defaults
|
||||||
|
|||||||
@@ -110,6 +110,11 @@ steps:
|
|||||||
displayName: Register Docker QEMU
|
displayName: Register Docker QEMU
|
||||||
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), eq(variables['VSCODE_ARCH'], 'arm64'))
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), eq(variables['VSCODE_ARCH'], 'arm64'))
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
sudo apt-get update && sudo apt-get install -y libkrb5-dev
|
||||||
|
displayName: Install libkrb5-dev
|
||||||
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ steps:
|
|||||||
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), ne(variables['NPM_REGISTRY'], 'none'))
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), ne(variables['NPM_REGISTRY'], 'none'))
|
||||||
displayName: Setup NPM Authentication
|
displayName: Setup NPM Authentication
|
||||||
|
|
||||||
- script: sudo apt update -y && sudo apt install -y build-essential pkg-config libx11-dev libx11-xcb-dev libxkbfile-dev libsecret-1-dev libnotify-bin
|
- script: sudo apt update -y && sudo apt install -y build-essential pkg-config libx11-dev libx11-xcb-dev libxkbfile-dev libsecret-1-dev libnotify-bin libkrb5-dev
|
||||||
displayName: Install build tools
|
displayName: Install build tools
|
||||||
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||||
|
|
||||||
|
|||||||
@@ -53,6 +53,11 @@ steps:
|
|||||||
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), ne(variables['NPM_REGISTRY'], 'none'))
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), ne(variables['NPM_REGISTRY'], 'none'))
|
||||||
displayName: Setup NPM Authentication
|
displayName: Setup NPM Authentication
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
sudo apt-get update && sudo apt-get install -y libkrb5-dev
|
||||||
|
displayName: Install libkrb5-dev
|
||||||
|
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
for i in {1..5}; do # try 5 times
|
for i in {1..5}; do # try 5 times
|
||||||
|
|||||||
@@ -38,8 +38,10 @@ exports.referenceGeneratedDepsByArch = {
|
|||||||
'libgbm1 (>= 17.1.0~rc2)',
|
'libgbm1 (>= 17.1.0~rc2)',
|
||||||
'libglib2.0-0 (>= 2.16.0)',
|
'libglib2.0-0 (>= 2.16.0)',
|
||||||
'libglib2.0-0 (>= 2.39.4)',
|
'libglib2.0-0 (>= 2.39.4)',
|
||||||
|
'libgssapi-krb5-2 (>= 1.17)',
|
||||||
'libgtk-3-0 (>= 3.9.10)',
|
'libgtk-3-0 (>= 3.9.10)',
|
||||||
'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
|
'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
|
||||||
|
'libkrb5-3 (>= 1.6.dfsg.2)',
|
||||||
'libnspr4 (>= 2:4.9-2~)',
|
'libnspr4 (>= 2:4.9-2~)',
|
||||||
'libnss3 (>= 2:3.22)',
|
'libnss3 (>= 2:3.22)',
|
||||||
'libnss3 (>= 3.26)',
|
'libnss3 (>= 3.26)',
|
||||||
@@ -76,8 +78,10 @@ exports.referenceGeneratedDepsByArch = {
|
|||||||
'libgbm1 (>= 17.1.0~rc2)',
|
'libgbm1 (>= 17.1.0~rc2)',
|
||||||
'libglib2.0-0 (>= 2.12.0)',
|
'libglib2.0-0 (>= 2.12.0)',
|
||||||
'libglib2.0-0 (>= 2.39.4)',
|
'libglib2.0-0 (>= 2.39.4)',
|
||||||
|
'libgssapi-krb5-2 (>= 1.17)',
|
||||||
'libgtk-3-0 (>= 3.9.10)',
|
'libgtk-3-0 (>= 3.9.10)',
|
||||||
'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
|
'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
|
||||||
|
'libkrb5-3 (>= 1.6.dfsg.2)',
|
||||||
'libnspr4 (>= 2:4.9-2~)',
|
'libnspr4 (>= 2:4.9-2~)',
|
||||||
'libnss3 (>= 2:3.22)',
|
'libnss3 (>= 2:3.22)',
|
||||||
'libnss3 (>= 3.26)',
|
'libnss3 (>= 3.26)',
|
||||||
@@ -113,8 +117,10 @@ exports.referenceGeneratedDepsByArch = {
|
|||||||
'libgbm1 (>= 17.1.0~rc2)',
|
'libgbm1 (>= 17.1.0~rc2)',
|
||||||
'libglib2.0-0 (>= 2.12.0)',
|
'libglib2.0-0 (>= 2.12.0)',
|
||||||
'libglib2.0-0 (>= 2.39.4)',
|
'libglib2.0-0 (>= 2.39.4)',
|
||||||
|
'libgssapi-krb5-2 (>= 1.17)',
|
||||||
'libgtk-3-0 (>= 3.9.10)',
|
'libgtk-3-0 (>= 3.9.10)',
|
||||||
'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
|
'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
|
||||||
|
'libkrb5-3 (>= 1.6.dfsg.2)',
|
||||||
'libnspr4 (>= 2:4.9-2~)',
|
'libnspr4 (>= 2:4.9-2~)',
|
||||||
'libnss3 (>= 2:3.22)',
|
'libnss3 (>= 2:3.22)',
|
||||||
'libnss3 (>= 3.26)',
|
'libnss3 (>= 3.26)',
|
||||||
@@ -136,4 +142,4 @@ exports.referenceGeneratedDepsByArch = {
|
|||||||
'xdg-utils (>= 1.0.2)'
|
'xdg-utils (>= 1.0.2)'
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwLWxpc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGVwLWxpc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O2dHQUdnRzs7O0FBRWhHLGtIQUFrSDtBQUNsSCw0REFBNEQ7QUFDL0MsUUFBQSxjQUFjLEdBQUc7SUFDN0IsaUJBQWlCO0lBQ2pCLHFDQUFxQztJQUNyQyxtQkFBbUI7SUFDbkIsc0RBQXNEO0lBQ3RELHNCQUFzQixDQUFDLGlCQUFpQjtDQUN4QyxDQUFDO0FBRUYsb0hBQW9IO0FBQ3BILDBDQUEwQztBQUMxQyw4REFBOEQ7QUFDakQsUUFBQSxlQUFlLEdBQUc7SUFDOUIsWUFBWSxDQUFDLHlFQUF5RTtDQUN0RixDQUFDO0FBRVcsUUFBQSw0QkFBNEIsR0FBRztJQUMzQyxPQUFPLEVBQUU7UUFDUixpQkFBaUI7UUFDakIsd0JBQXdCO1FBQ3hCLCtCQUErQjtRQUMvQix3QkFBd0I7UUFDeEIsMkJBQTJCO1FBQzNCLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLHNCQUFzQjtRQUN0QixzREFBc0Q7UUFDdEQseUJBQXlCO1FBQ3pCLHFCQUFxQjtRQUNyQixzQkFBc0I7UUFDdEIseUJBQXlCO1FBQ3pCLDBCQUEwQjtRQUMxQiwwQkFBMEI7UUFDMUIsd0JBQXdCO1FBQ3hCLHFDQUFxQztRQUNyQyx3QkFBd0I7UUFDeEIscUJBQXFCO1FBQ3JCLG1CQUFtQjtRQUNuQiw0QkFBNEI7UUFDNUIseUJBQXlCO1FBQ3pCLFVBQVU7UUFDViwwQkFBMEI7UUFDMUIsb0JBQW9CO1FBQ3BCLCtCQUErQjtRQUMvQix3QkFBd0I7UUFDeEIsVUFBVTtRQUNWLFlBQVk7UUFDWiwwQkFBMEI7UUFDMUIsYUFBYTtRQUNiLFlBQVk7UUFDWixzQkFBc0I7S0FDdEI7SUFDRCxPQUFPLEVBQUU7UUFDUixpQkFBaUI7UUFDakIsd0JBQXdCO1FBQ3hCLCtCQUErQjtRQUMvQix3QkFBd0I7UUFDeEIsMkJBQTJCO1FBQzNCLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsc0JBQXNCO1FBQ3RCLHNEQUFzRDtRQUN0RCx5QkFBeUI7UUFDekIscUJBQXFCO1FBQ3JCLHNCQUFzQjtRQUN0Qix5QkFBeUI7UUFDekIsMEJBQTBCO1FBQzFCLDBCQUEwQjtRQUMxQix3QkFBd0I7UUFDeEIscUNBQXFDO1FBQ3JDLHdCQUF3QjtRQUN4QixxQkFBcUI7UUFDckIsbUJBQW1CO1FBQ25CLDRCQUE0QjtRQUM1Qix5QkFBeUI7UUFDekIsbUJBQW1CO1FBQ25CLHFCQUFxQjtRQUNyQixtQkFBbUI7UUFDbkIsVUFBVTtRQUNWLDBCQUEwQjtRQUMxQixvQkFBb0I7UUFDcEIsK0JBQStCO1FBQy9CLHdCQUF3QjtRQUN4QixVQUFVO1FBQ1YsWUFBWTtRQUNaLDBCQUEwQjtRQUMxQixhQUFhO1FBQ2IsWUFBWTtRQUNaLHNCQUFzQjtLQUN0QjtJQUNELE9BQU8sRUFBRTtRQUNSLGlCQUFpQjtRQUNqQix3QkFBd0I7UUFDeEIsK0JBQStCO1FBQy9CLHdCQUF3QjtRQUN4QiwyQkFBMkI7UUFDM0IsaUJBQWlCO1FBQ2pCLHNCQUFzQjtRQUN0QixzREFBc0Q7UUFDdEQsd0JBQXdCO1FBQ3hCLHFCQUFxQjtRQUNyQixzQkFBc0I7UUFDdEIseUJBQXlCO1FBQ3pCLDBCQUEwQjtRQUMxQiwwQkFBMEI7UUFDMUIsd0JBQXdCO1FBQ3hCLHFDQUFxQztRQUNyQyx3QkFBd0I7UUFDeEIscUJBQXFCO1FBQ3JCLG1CQUFtQjtRQUNuQiw0QkFBNEI7UUFDNUIseUJBQXlCO1FBQ3pCLG1CQUFtQjtRQUNuQixxQkFBcUI7UUFDckIsbUJBQW1CO1FBQ25CLFVBQVU7UUFDViwwQkFBMEI7UUFDMUIsb0JBQW9CO1FBQ3BCLCtCQUErQjtRQUMvQix3QkFBd0I7UUFDeEIsVUFBVTtRQUNWLFlBQVk7UUFDWiwwQkFBMEI7UUFDMUIsYUFBYTtRQUNiLFlBQVk7UUFDWixzQkFBc0I7S0FDdEI7Q0FDRCxDQUFDIn0=
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwLWxpc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGVwLWxpc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O2dHQUdnRzs7O0FBRWhHLGtIQUFrSDtBQUNsSCw0REFBNEQ7QUFDL0MsUUFBQSxjQUFjLEdBQUc7SUFDN0IsaUJBQWlCO0lBQ2pCLHFDQUFxQztJQUNyQyxtQkFBbUI7SUFDbkIsc0RBQXNEO0lBQ3RELHNCQUFzQixDQUFDLGlCQUFpQjtDQUN4QyxDQUFDO0FBRUYsb0hBQW9IO0FBQ3BILDBDQUEwQztBQUMxQyw4REFBOEQ7QUFDakQsUUFBQSxlQUFlLEdBQUc7SUFDOUIsWUFBWSxDQUFDLHlFQUF5RTtDQUN0RixDQUFDO0FBRVcsUUFBQSw0QkFBNEIsR0FBRztJQUMzQyxPQUFPLEVBQUU7UUFDUixpQkFBaUI7UUFDakIsd0JBQXdCO1FBQ3hCLCtCQUErQjtRQUMvQix3QkFBd0I7UUFDeEIsMkJBQTJCO1FBQzNCLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLHNCQUFzQjtRQUN0QixzREFBc0Q7UUFDdEQseUJBQXlCO1FBQ3pCLHFCQUFxQjtRQUNyQixzQkFBc0I7UUFDdEIseUJBQXlCO1FBQ3pCLDBCQUEwQjtRQUMxQiwwQkFBMEI7UUFDMUIsNEJBQTRCO1FBQzVCLHdCQUF3QjtRQUN4QixxQ0FBcUM7UUFDckMsMkJBQTJCO1FBQzNCLHdCQUF3QjtRQUN4QixxQkFBcUI7UUFDckIsbUJBQW1CO1FBQ25CLDRCQUE0QjtRQUM1Qix5QkFBeUI7UUFDekIsVUFBVTtRQUNWLDBCQUEwQjtRQUMxQixvQkFBb0I7UUFDcEIsK0JBQStCO1FBQy9CLHdCQUF3QjtRQUN4QixVQUFVO1FBQ1YsWUFBWTtRQUNaLDBCQUEwQjtRQUMxQixhQUFhO1FBQ2IsWUFBWTtRQUNaLHNCQUFzQjtLQUN0QjtJQUNELE9BQU8sRUFBRTtRQUNSLGlCQUFpQjtRQUNqQix3QkFBd0I7UUFDeEIsK0JBQStCO1FBQy9CLHdCQUF3QjtRQUN4QiwyQkFBMkI7UUFDM0IsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixzQkFBc0I7UUFDdEIsc0RBQXNEO1FBQ3RELHlCQUF5QjtRQUN6QixxQkFBcUI7UUFDckIsc0JBQXNCO1FBQ3RCLHlCQUF5QjtRQUN6QiwwQkFBMEI7UUFDMUIsMEJBQTBCO1FBQzFCLDRCQUE0QjtRQUM1Qix3QkFBd0I7UUFDeEIscUNBQXFDO1FBQ3JDLDJCQUEyQjtRQUMzQix3QkFBd0I7UUFDeEIscUJBQXFCO1FBQ3JCLG1CQUFtQjtRQUNuQiw0QkFBNEI7UUFDNUIseUJBQXlCO1FBQ3pCLG1CQUFtQjtRQUNuQixxQkFBcUI7UUFDckIsbUJBQW1CO1FBQ25CLFVBQVU7UUFDViwwQkFBMEI7UUFDMUIsb0JBQW9CO1FBQ3BCLCtCQUErQjtRQUMvQix3QkFBd0I7UUFDeEIsVUFBVTtRQUNWLFlBQVk7UUFDWiwwQkFBMEI7UUFDMUIsYUFBYTtRQUNiLFlBQVk7UUFDWixzQkFBc0I7S0FDdEI7SUFDRCxPQUFPLEVBQUU7UUFDUixpQkFBaUI7UUFDakIsd0JBQXdCO1FBQ3hCLCtCQUErQjtRQUMvQix3QkFBd0I7UUFDeEIsMkJBQTJCO1FBQzNCLGlCQUFpQjtRQUNqQixzQkFBc0I7UUFDdEIsc0RBQXNEO1FBQ3RELHdCQUF3QjtRQUN4QixxQkFBcUI7UUFDckIsc0JBQXNCO1FBQ3RCLHlCQUF5QjtRQUN6QiwwQkFBMEI7UUFDMUIsMEJBQTBCO1FBQzFCLDRCQUE0QjtRQUM1Qix3QkFBd0I7UUFDeEIscUNBQXFDO1FBQ3JDLDJCQUEyQjtRQUMzQix3QkFBd0I7UUFDeEIscUJBQXFCO1FBQ3JCLG1CQUFtQjtRQUNuQiw0QkFBNEI7UUFDNUIseUJBQXlCO1FBQ3pCLG1CQUFtQjtRQUNuQixxQkFBcUI7UUFDckIsbUJBQW1CO1FBQ25CLFVBQVU7UUFDViwwQkFBMEI7UUFDMUIsb0JBQW9CO1FBQ3BCLCtCQUErQjtRQUMvQix3QkFBd0I7UUFDeEIsVUFBVTtRQUNWLFlBQVk7UUFDWiwwQkFBMEI7UUFDMUIsYUFBYTtRQUNiLFlBQVk7UUFDWixzQkFBc0I7S0FDdEI7Q0FDRCxDQUFDIn0=
|
||||||
@@ -38,8 +38,10 @@ export const referenceGeneratedDepsByArch = {
|
|||||||
'libgbm1 (>= 17.1.0~rc2)',
|
'libgbm1 (>= 17.1.0~rc2)',
|
||||||
'libglib2.0-0 (>= 2.16.0)',
|
'libglib2.0-0 (>= 2.16.0)',
|
||||||
'libglib2.0-0 (>= 2.39.4)',
|
'libglib2.0-0 (>= 2.39.4)',
|
||||||
|
'libgssapi-krb5-2 (>= 1.17)',
|
||||||
'libgtk-3-0 (>= 3.9.10)',
|
'libgtk-3-0 (>= 3.9.10)',
|
||||||
'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
|
'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
|
||||||
|
'libkrb5-3 (>= 1.6.dfsg.2)',
|
||||||
'libnspr4 (>= 2:4.9-2~)',
|
'libnspr4 (>= 2:4.9-2~)',
|
||||||
'libnss3 (>= 2:3.22)',
|
'libnss3 (>= 2:3.22)',
|
||||||
'libnss3 (>= 3.26)',
|
'libnss3 (>= 3.26)',
|
||||||
@@ -76,8 +78,10 @@ export const referenceGeneratedDepsByArch = {
|
|||||||
'libgbm1 (>= 17.1.0~rc2)',
|
'libgbm1 (>= 17.1.0~rc2)',
|
||||||
'libglib2.0-0 (>= 2.12.0)',
|
'libglib2.0-0 (>= 2.12.0)',
|
||||||
'libglib2.0-0 (>= 2.39.4)',
|
'libglib2.0-0 (>= 2.39.4)',
|
||||||
|
'libgssapi-krb5-2 (>= 1.17)',
|
||||||
'libgtk-3-0 (>= 3.9.10)',
|
'libgtk-3-0 (>= 3.9.10)',
|
||||||
'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
|
'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
|
||||||
|
'libkrb5-3 (>= 1.6.dfsg.2)',
|
||||||
'libnspr4 (>= 2:4.9-2~)',
|
'libnspr4 (>= 2:4.9-2~)',
|
||||||
'libnss3 (>= 2:3.22)',
|
'libnss3 (>= 2:3.22)',
|
||||||
'libnss3 (>= 3.26)',
|
'libnss3 (>= 3.26)',
|
||||||
@@ -113,8 +117,10 @@ export const referenceGeneratedDepsByArch = {
|
|||||||
'libgbm1 (>= 17.1.0~rc2)',
|
'libgbm1 (>= 17.1.0~rc2)',
|
||||||
'libglib2.0-0 (>= 2.12.0)',
|
'libglib2.0-0 (>= 2.12.0)',
|
||||||
'libglib2.0-0 (>= 2.39.4)',
|
'libglib2.0-0 (>= 2.39.4)',
|
||||||
|
'libgssapi-krb5-2 (>= 1.17)',
|
||||||
'libgtk-3-0 (>= 3.9.10)',
|
'libgtk-3-0 (>= 3.9.10)',
|
||||||
'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
|
'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
|
||||||
|
'libkrb5-3 (>= 1.6.dfsg.2)',
|
||||||
'libnspr4 (>= 2:4.9-2~)',
|
'libnspr4 (>= 2:4.9-2~)',
|
||||||
'libnss3 (>= 2:3.22)',
|
'libnss3 (>= 2:3.22)',
|
||||||
'libnss3 (>= 3.26)',
|
'libnss3 (>= 3.26)',
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -64,7 +64,11 @@ export const referenceGeneratedDepsByArch = {
|
|||||||
'libgio-2.0.so.0()(64bit)',
|
'libgio-2.0.so.0()(64bit)',
|
||||||
'libglib-2.0.so.0()(64bit)',
|
'libglib-2.0.so.0()(64bit)',
|
||||||
'libgobject-2.0.so.0()(64bit)',
|
'libgobject-2.0.so.0()(64bit)',
|
||||||
|
'libgssapi_krb5.so.2()(64bit)',
|
||||||
|
'libgssapi_krb5.so.2(gssapi_krb5_2_MIT)(64bit)',
|
||||||
'libgtk-3.so.0()(64bit)',
|
'libgtk-3.so.0()(64bit)',
|
||||||
|
'libkrb5.so.3()(64bit)',
|
||||||
|
'libkrb5.so.3(krb5_3_MIT)(64bit)',
|
||||||
'libm.so.6()(64bit)',
|
'libm.so.6()(64bit)',
|
||||||
'libm.so.6(GLIBC_2.2.5)(64bit)',
|
'libm.so.6(GLIBC_2.2.5)(64bit)',
|
||||||
'libnspr4.so()(64bit)',
|
'libnspr4.so()(64bit)',
|
||||||
@@ -145,8 +149,12 @@ export const referenceGeneratedDepsByArch = {
|
|||||||
'libgio-2.0.so.0',
|
'libgio-2.0.so.0',
|
||||||
'libglib-2.0.so.0',
|
'libglib-2.0.so.0',
|
||||||
'libgobject-2.0.so.0',
|
'libgobject-2.0.so.0',
|
||||||
|
'libgssapi_krb5.so.2',
|
||||||
|
'libgssapi_krb5.so.2(gssapi_krb5_2_MIT)',
|
||||||
'libgtk-3.so.0',
|
'libgtk-3.so.0',
|
||||||
'libgtk-3.so.0()(64bit)',
|
'libgtk-3.so.0()(64bit)',
|
||||||
|
'libkrb5.so.3',
|
||||||
|
'libkrb5.so.3(krb5_3_MIT)',
|
||||||
'libm.so.6',
|
'libm.so.6',
|
||||||
'libm.so.6(GLIBC_2.4)',
|
'libm.so.6(GLIBC_2.4)',
|
||||||
'libnspr4.so',
|
'libnspr4.so',
|
||||||
@@ -235,7 +243,11 @@ export const referenceGeneratedDepsByArch = {
|
|||||||
'libgio-2.0.so.0()(64bit)',
|
'libgio-2.0.so.0()(64bit)',
|
||||||
'libglib-2.0.so.0()(64bit)',
|
'libglib-2.0.so.0()(64bit)',
|
||||||
'libgobject-2.0.so.0()(64bit)',
|
'libgobject-2.0.so.0()(64bit)',
|
||||||
|
'libgssapi_krb5.so.2()(64bit)',
|
||||||
|
'libgssapi_krb5.so.2(gssapi_krb5_2_MIT)(64bit)',
|
||||||
'libgtk-3.so.0()(64bit)',
|
'libgtk-3.so.0()(64bit)',
|
||||||
|
'libkrb5.so.3()(64bit)',
|
||||||
|
'libkrb5.so.3(krb5_3_MIT)(64bit)',
|
||||||
'libm.so.6()(64bit)',
|
'libm.so.6()(64bit)',
|
||||||
'libm.so.6(GLIBC_2.17)(64bit)',
|
'libm.so.6(GLIBC_2.17)(64bit)',
|
||||||
'libnspr4.so()(64bit)',
|
'libnspr4.so()(64bit)',
|
||||||
|
|||||||
@@ -70,7 +70,7 @@
|
|||||||
"@parcel/watcher": "2.1.0",
|
"@parcel/watcher": "2.1.0",
|
||||||
"@vscode/iconv-lite-umd": "0.7.0",
|
"@vscode/iconv-lite-umd": "0.7.0",
|
||||||
"@vscode/policy-watcher": "^1.1.4",
|
"@vscode/policy-watcher": "^1.1.4",
|
||||||
"@vscode/proxy-agent": "^0.16.0",
|
"@vscode/proxy-agent": "^0.17.0",
|
||||||
"@vscode/ripgrep": "^1.15.5",
|
"@vscode/ripgrep": "^1.15.5",
|
||||||
"@vscode/spdlog": "^0.13.10",
|
"@vscode/spdlog": "^0.13.10",
|
||||||
"@vscode/sqlite3": "5.1.6-vscode",
|
"@vscode/sqlite3": "5.1.6-vscode",
|
||||||
@@ -83,6 +83,7 @@
|
|||||||
"http-proxy-agent": "^2.1.0",
|
"http-proxy-agent": "^2.1.0",
|
||||||
"https-proxy-agent": "^2.2.3",
|
"https-proxy-agent": "^2.2.3",
|
||||||
"jschardet": "3.0.0",
|
"jschardet": "3.0.0",
|
||||||
|
"kerberos": "^2.0.1",
|
||||||
"keytar": "7.9.0",
|
"keytar": "7.9.0",
|
||||||
"minimist": "^1.2.6",
|
"minimist": "^1.2.6",
|
||||||
"native-is-elevated": "0.7.0",
|
"native-is-elevated": "0.7.0",
|
||||||
@@ -116,6 +117,7 @@
|
|||||||
"@types/gulp-postcss": "^8.0.0",
|
"@types/gulp-postcss": "^8.0.0",
|
||||||
"@types/gulp-svgmin": "^1.2.1",
|
"@types/gulp-svgmin": "^1.2.1",
|
||||||
"@types/http-proxy-agent": "^2.0.1",
|
"@types/http-proxy-agent": "^2.0.1",
|
||||||
|
"@types/kerberos": "^1.1.2",
|
||||||
"@types/keytar": "^4.4.0",
|
"@types/keytar": "^4.4.0",
|
||||||
"@types/minimist": "^1.2.1",
|
"@types/minimist": "^1.2.1",
|
||||||
"@types/mocha": "^9.1.1",
|
"@types/mocha": "^9.1.1",
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
"@microsoft/1ds-post-js": "^3.2.2",
|
"@microsoft/1ds-post-js": "^3.2.2",
|
||||||
"@parcel/watcher": "2.1.0",
|
"@parcel/watcher": "2.1.0",
|
||||||
"@vscode/iconv-lite-umd": "0.7.0",
|
"@vscode/iconv-lite-umd": "0.7.0",
|
||||||
"@vscode/proxy-agent": "^0.16.0",
|
"@vscode/proxy-agent": "^0.17.0",
|
||||||
"@vscode/ripgrep": "^1.15.5",
|
"@vscode/ripgrep": "^1.15.5",
|
||||||
"@vscode/spdlog": "^0.13.10",
|
"@vscode/spdlog": "^0.13.10",
|
||||||
"@vscode/vscode-languagedetection": "1.0.21",
|
"@vscode/vscode-languagedetection": "1.0.21",
|
||||||
@@ -18,6 +18,7 @@
|
|||||||
"http-proxy-agent": "^2.1.0",
|
"http-proxy-agent": "^2.1.0",
|
||||||
"https-proxy-agent": "^2.2.3",
|
"https-proxy-agent": "^2.2.3",
|
||||||
"jschardet": "3.0.0",
|
"jschardet": "3.0.0",
|
||||||
|
"kerberos": "^2.0.1",
|
||||||
"keytar": "7.9.0",
|
"keytar": "7.9.0",
|
||||||
"minimist": "^1.2.6",
|
"minimist": "^1.2.6",
|
||||||
"native-watchdog": "^1.4.1",
|
"native-watchdog": "^1.4.1",
|
||||||
|
|||||||
@@ -58,10 +58,10 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@vscode/iconv-lite-umd/-/iconv-lite-umd-0.7.0.tgz#d2f1e0664ee6036408f9743fee264ea0699b0e48"
|
resolved "https://registry.yarnpkg.com/@vscode/iconv-lite-umd/-/iconv-lite-umd-0.7.0.tgz#d2f1e0664ee6036408f9743fee264ea0699b0e48"
|
||||||
integrity sha512-bRRFxLfg5dtAyl5XyiVWz/ZBPahpOpPrNYnnHpOpUZvam4tKH35wdhP4Kj6PbM0+KdliOsPzbGWpkxcdpNB/sg==
|
integrity sha512-bRRFxLfg5dtAyl5XyiVWz/ZBPahpOpPrNYnnHpOpUZvam4tKH35wdhP4Kj6PbM0+KdliOsPzbGWpkxcdpNB/sg==
|
||||||
|
|
||||||
"@vscode/proxy-agent@^0.16.0":
|
"@vscode/proxy-agent@^0.17.0":
|
||||||
version "0.16.0"
|
version "0.17.0"
|
||||||
resolved "https://registry.yarnpkg.com/@vscode/proxy-agent/-/proxy-agent-0.16.0.tgz#32054387f7aaf26d1b5d53f553d53bfd8489eab8"
|
resolved "https://registry.yarnpkg.com/@vscode/proxy-agent/-/proxy-agent-0.17.0.tgz#e60d43e2779c07c223d3bad9b7de8eedf7ca1294"
|
||||||
integrity sha512-b8yBHgdngDrP+9HPJtnPUJjPHd+zfEvOYoc8KioWJVs0rFVT2U77nFDVC70Mrrscf87ya2a/sPY32nTrwFfOQQ==
|
integrity sha512-p4gJ57KeWGw0CEG9R13dmsgmWmszoOQ836pf/PVbAf+ZRF27il3QcFvOhA10XE2QFHaOcRxuJnnIpUD1lSMvqQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@tootallnate/once" "^3.0.0"
|
"@tootallnate/once" "^3.0.0"
|
||||||
agent-base "^7.0.1"
|
agent-base "^7.0.1"
|
||||||
@@ -454,6 +454,15 @@ jschardet@3.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-3.0.0.tgz#898d2332e45ebabbdb6bf2feece9feea9a99e882"
|
resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-3.0.0.tgz#898d2332e45ebabbdb6bf2feece9feea9a99e882"
|
||||||
integrity sha512-lJH6tJ77V8Nzd5QWRkFYCLc13a3vADkh3r/Fi8HupZGWk2OVVDfnZP8V/VgQgZ+lzW0kG2UGb5hFgt3V3ndotQ==
|
integrity sha512-lJH6tJ77V8Nzd5QWRkFYCLc13a3vADkh3r/Fi8HupZGWk2OVVDfnZP8V/VgQgZ+lzW0kG2UGb5hFgt3V3ndotQ==
|
||||||
|
|
||||||
|
kerberos@^2.0.1:
|
||||||
|
version "2.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/kerberos/-/kerberos-2.0.1.tgz#663b0b46883b4da84495f60f2e9e399a43a33ef5"
|
||||||
|
integrity sha512-O/jIgbdGK566eUhFwIcgalbqirYU/r76MW7/UFw06Fd9x5bSwgyZWL/Vm26aAmezQww/G9KYkmmJBkEkPk5HLw==
|
||||||
|
dependencies:
|
||||||
|
bindings "^1.5.0"
|
||||||
|
node-addon-api "^4.3.0"
|
||||||
|
prebuild-install "7.1.1"
|
||||||
|
|
||||||
keytar@7.9.0:
|
keytar@7.9.0:
|
||||||
version "7.9.0"
|
version "7.9.0"
|
||||||
resolved "https://registry.yarnpkg.com/keytar/-/keytar-7.9.0.tgz#4c6225708f51b50cbf77c5aae81721964c2918cb"
|
resolved "https://registry.yarnpkg.com/keytar/-/keytar-7.9.0.tgz#4c6225708f51b50cbf77c5aae81721964c2918cb"
|
||||||
@@ -595,6 +604,24 @@ picomatch@^2.3.1:
|
|||||||
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
|
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
|
||||||
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
|
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
|
||||||
|
|
||||||
|
prebuild-install@7.1.1:
|
||||||
|
version "7.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.1.tgz#de97d5b34a70a0c81334fd24641f2a1702352e45"
|
||||||
|
integrity sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==
|
||||||
|
dependencies:
|
||||||
|
detect-libc "^2.0.0"
|
||||||
|
expand-template "^2.0.3"
|
||||||
|
github-from-package "0.0.0"
|
||||||
|
minimist "^1.2.3"
|
||||||
|
mkdirp-classic "^0.5.3"
|
||||||
|
napi-build-utils "^1.0.1"
|
||||||
|
node-abi "^3.3.0"
|
||||||
|
pump "^3.0.0"
|
||||||
|
rc "^1.2.7"
|
||||||
|
simple-get "^4.0.0"
|
||||||
|
tar-fs "^2.0.0"
|
||||||
|
tunnel-agent "^0.6.0"
|
||||||
|
|
||||||
prebuild-install@^7.0.1:
|
prebuild-install@^7.0.1:
|
||||||
version "7.0.1"
|
version "7.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.0.1.tgz#c10075727c318efe72412f333e0ef625beaf3870"
|
resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.0.1.tgz#c10075727c318efe72412f333e0ef625beaf3870"
|
||||||
|
|||||||
@@ -14,6 +14,11 @@ function testErrorMessage(module: string): string {
|
|||||||
|
|
||||||
flakySuite('Native Modules (all platforms)', () => {
|
flakySuite('Native Modules (all platforms)', () => {
|
||||||
|
|
||||||
|
test('kerberos', async () => {
|
||||||
|
const kerberos = await import('kerberos');
|
||||||
|
assert.ok(typeof kerberos.initializeClient === 'function', testErrorMessage('kerberos'));
|
||||||
|
});
|
||||||
|
|
||||||
test('native-is-elevated', async () => {
|
test('native-is-elevated', async () => {
|
||||||
const isElevated = await import('native-is-elevated');
|
const isElevated = await import('native-is-elevated');
|
||||||
assert.ok(typeof isElevated === 'function', testErrorMessage('native-is-elevated '));
|
assert.ok(typeof isElevated === 'function', testErrorMessage('native-is-elevated '));
|
||||||
|
|||||||
@@ -30,7 +30,11 @@ export function connectProxyResolver(
|
|||||||
const doUseHostProxy = typeof useHostProxy === 'boolean' ? useHostProxy : !initData.remote.isRemote;
|
const doUseHostProxy = typeof useHostProxy === 'boolean' ? useHostProxy : !initData.remote.isRemote;
|
||||||
const params: ProxyAgentParams = {
|
const params: ProxyAgentParams = {
|
||||||
resolveProxy: url => extHostWorkspace.resolveProxy(url),
|
resolveProxy: url => extHostWorkspace.resolveProxy(url),
|
||||||
getHttpProxySetting: () => configProvider.getConfiguration('http').get('proxy'),
|
lookupProxyAuthorization: lookupProxyAuthorization.bind(undefined, extHostLogService, configProvider, {}, {}),
|
||||||
|
getProxyURL: () => configProvider.getConfiguration('http').get('proxy'),
|
||||||
|
getProxySupport: () => configProvider.getConfiguration('http').get<ProxySupportSetting>('proxySupport') || 'off',
|
||||||
|
getSystemCertificatesV1: () => certSettingV1(configProvider),
|
||||||
|
getSystemCertificatesV2: () => certSettingV2(configProvider),
|
||||||
log: (level, message, ...args) => {
|
log: (level, message, ...args) => {
|
||||||
switch (level) {
|
switch (level) {
|
||||||
case LogLevel.Trace: extHostLogService.trace(message, ...args); break;
|
case LogLevel.Trace: extHostLogService.trace(message, ...args); break;
|
||||||
@@ -51,49 +55,18 @@ export function connectProxyResolver(
|
|||||||
// TODO @chrmarti Remove this from proxy agent
|
// TODO @chrmarti Remove this from proxy agent
|
||||||
proxyResolveTelemetry: () => { },
|
proxyResolveTelemetry: () => { },
|
||||||
useHostProxy: doUseHostProxy,
|
useHostProxy: doUseHostProxy,
|
||||||
useSystemCertificatesV2: certSettingV2(configProvider),
|
|
||||||
addCertificates: [],
|
addCertificates: [],
|
||||||
env: process.env,
|
env: process.env,
|
||||||
};
|
};
|
||||||
configProvider.onDidChangeConfiguration(e => {
|
|
||||||
params.useSystemCertificatesV2 = certSettingV2(configProvider);
|
|
||||||
});
|
|
||||||
const resolveProxy = createProxyResolver(params);
|
const resolveProxy = createProxyResolver(params);
|
||||||
const lookup = createPatchedModules(params, configProvider, resolveProxy);
|
const lookup = createPatchedModules(params, resolveProxy);
|
||||||
return configureModuleLoading(extensionService, lookup);
|
return configureModuleLoading(extensionService, lookup);
|
||||||
}
|
}
|
||||||
|
|
||||||
function createPatchedModules(params: ProxyAgentParams, configProvider: ExtHostConfigProvider, resolveProxy: ReturnType<typeof createProxyResolver>) {
|
function createPatchedModules(params: ProxyAgentParams, resolveProxy: ReturnType<typeof createProxyResolver>) {
|
||||||
const proxySetting = {
|
|
||||||
config: configProvider.getConfiguration('http')
|
|
||||||
.get<ProxySupportSetting>('proxySupport') || 'off'
|
|
||||||
};
|
|
||||||
configProvider.onDidChangeConfiguration(e => {
|
|
||||||
proxySetting.config = configProvider.getConfiguration('http')
|
|
||||||
.get<ProxySupportSetting>('proxySupport') || 'off';
|
|
||||||
});
|
|
||||||
const certSetting = {
|
|
||||||
config: certSettingV1(configProvider)
|
|
||||||
};
|
|
||||||
configProvider.onDidChangeConfiguration(e => {
|
|
||||||
certSetting.config = certSettingV1(configProvider);
|
|
||||||
});
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
http: {
|
http: Object.assign(http, createHttpPatch(params, http, resolveProxy)),
|
||||||
off: Object.assign({}, http, createHttpPatch(http, resolveProxy, { config: 'off' }, certSetting, true)),
|
https: Object.assign(https, createHttpPatch(params, https, resolveProxy)),
|
||||||
on: Object.assign({}, http, createHttpPatch(http, resolveProxy, { config: 'on' }, certSetting, true)),
|
|
||||||
override: Object.assign({}, http, createHttpPatch(http, resolveProxy, { config: 'override' }, certSetting, true)),
|
|
||||||
onRequest: Object.assign({}, http, createHttpPatch(http, resolveProxy, proxySetting, certSetting, true)),
|
|
||||||
default: Object.assign(http, createHttpPatch(http, resolveProxy, proxySetting, certSetting, false)) // run last
|
|
||||||
} as Record<string, typeof http>,
|
|
||||||
https: {
|
|
||||||
off: Object.assign({}, https, createHttpPatch(https, resolveProxy, { config: 'off' }, certSetting, true)),
|
|
||||||
on: Object.assign({}, https, createHttpPatch(https, resolveProxy, { config: 'on' }, certSetting, true)),
|
|
||||||
override: Object.assign({}, https, createHttpPatch(https, resolveProxy, { config: 'override' }, certSetting, true)),
|
|
||||||
onRequest: Object.assign({}, https, createHttpPatch(https, resolveProxy, proxySetting, certSetting, true)),
|
|
||||||
default: Object.assign(https, createHttpPatch(https, resolveProxy, proxySetting, certSetting, false)) // run last
|
|
||||||
} as Record<string, typeof https>,
|
|
||||||
net: Object.assign(net, createNetPatch(params, net)),
|
net: Object.assign(net, createNetPatch(params, net)),
|
||||||
tls: Object.assign(tls, createTlsPatch(params, tls))
|
tls: Object.assign(tls, createTlsPatch(params, tls))
|
||||||
};
|
};
|
||||||
@@ -128,17 +101,55 @@ function configureModuleLoading(extensionService: ExtHostExtensionService, looku
|
|||||||
return original.apply(this, arguments);
|
return original.apply(this, arguments);
|
||||||
}
|
}
|
||||||
|
|
||||||
const modules = lookup[request];
|
|
||||||
const ext = extensionPaths.findSubstr(URI.file(parent.filename));
|
const ext = extensionPaths.findSubstr(URI.file(parent.filename));
|
||||||
let cache = modulesCache.get(ext);
|
let cache = modulesCache.get(ext);
|
||||||
if (!cache) {
|
if (!cache) {
|
||||||
modulesCache.set(ext, cache = {});
|
modulesCache.set(ext, cache = {});
|
||||||
}
|
}
|
||||||
if (!cache[request]) {
|
if (!cache[request]) {
|
||||||
const mod = modules.default;
|
const mod = lookup[request];
|
||||||
cache[request] = <any>{ ...mod }; // Copy to work around #93167.
|
cache[request] = <any>{ ...mod }; // Copy to work around #93167.
|
||||||
}
|
}
|
||||||
return cache[request];
|
return cache[request];
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function lookupProxyAuthorization(
|
||||||
|
extHostLogService: ILogService,
|
||||||
|
configProvider: ExtHostConfigProvider,
|
||||||
|
proxyAuthenticateCache: Record<string, string | string[] | undefined>,
|
||||||
|
pendingLookups: Record<string, Promise<string | undefined>>,
|
||||||
|
proxyURL: string,
|
||||||
|
proxyAuthenticate?: string | string[]
|
||||||
|
): Promise<string | undefined> {
|
||||||
|
const cached = proxyAuthenticateCache[proxyURL];
|
||||||
|
if (proxyAuthenticate) {
|
||||||
|
proxyAuthenticateCache[proxyURL] = proxyAuthenticate;
|
||||||
|
}
|
||||||
|
extHostLogService.trace('ProxyResolver#lookupProxyAuthorization callback', `proxyURL:${proxyURL}`, `proxyAuthenticate:${proxyAuthenticate}`, `proxyAuthenticateCache:${cached}`);
|
||||||
|
const header = proxyAuthenticate || cached;
|
||||||
|
const authenticate = Array.isArray(header) ? header : typeof header === 'string' ? [header] : [];
|
||||||
|
if (authenticate.some(a => /^(Negotiate|Kerberos)( |$)/i.test(a))) {
|
||||||
|
const lookupKey = `${proxyURL}:Negotiate`;
|
||||||
|
return pendingLookups[lookupKey] ??= (async () => {
|
||||||
|
try {
|
||||||
|
const kerberos = await import('kerberos');
|
||||||
|
const url = new URL(proxyURL);
|
||||||
|
// TODO: Add core user setting.
|
||||||
|
const spn = configProvider.getConfiguration('github.copilot')?.advanced?.kerberosServicePrincipal as string | undefined
|
||||||
|
|| (process.platform === 'win32' ? `HTTP/${url.hostname}` : `HTTP@${url.hostname}`);
|
||||||
|
extHostLogService.debug('ProxyResolver#lookupProxyAuthorization Kerberos authentication lookup', `proxyURL:${proxyURL}`, `spn:${spn}`);
|
||||||
|
const client = await kerberos.initializeClient(spn);
|
||||||
|
const response = await client.step('');
|
||||||
|
return 'Negotiate ' + response;
|
||||||
|
} catch (err) {
|
||||||
|
extHostLogService.error('ProxyResolver#lookupProxyAuthorization Kerberos authentication failed', err);
|
||||||
|
return undefined;
|
||||||
|
} finally {
|
||||||
|
delete pendingLookups[lookupKey];
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
|||||||
40
yarn.lock
40
yarn.lock
@@ -1001,6 +1001,11 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d"
|
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d"
|
||||||
integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==
|
integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==
|
||||||
|
|
||||||
|
"@types/kerberos@^1.1.2":
|
||||||
|
version "1.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/kerberos/-/kerberos-1.1.2.tgz#2a774abd48f727852f697d74241e9de3aea8e646"
|
||||||
|
integrity sha512-cLixfcXjdj7qohLasmC1G4fh+en4e4g7mFZiG38D+K9rS9BRKFlq1JH5dGkQzICckbu4wM+RcwSa4VRHlBg7Rg==
|
||||||
|
|
||||||
"@types/keytar@^4.4.0":
|
"@types/keytar@^4.4.0":
|
||||||
version "4.4.0"
|
version "4.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@types/keytar/-/keytar-4.4.0.tgz#ca24e6ee6d0df10c003aafe26e93113b8faf0d8e"
|
resolved "https://registry.yarnpkg.com/@types/keytar/-/keytar-4.4.0.tgz#ca24e6ee6d0df10c003aafe26e93113b8faf0d8e"
|
||||||
@@ -1304,10 +1309,10 @@
|
|||||||
bindings "^1.5.0"
|
bindings "^1.5.0"
|
||||||
node-addon-api "^6.0.0"
|
node-addon-api "^6.0.0"
|
||||||
|
|
||||||
"@vscode/proxy-agent@^0.16.0":
|
"@vscode/proxy-agent@^0.17.0":
|
||||||
version "0.16.0"
|
version "0.17.0"
|
||||||
resolved "https://registry.yarnpkg.com/@vscode/proxy-agent/-/proxy-agent-0.16.0.tgz#32054387f7aaf26d1b5d53f553d53bfd8489eab8"
|
resolved "https://registry.yarnpkg.com/@vscode/proxy-agent/-/proxy-agent-0.17.0.tgz#e60d43e2779c07c223d3bad9b7de8eedf7ca1294"
|
||||||
integrity sha512-b8yBHgdngDrP+9HPJtnPUJjPHd+zfEvOYoc8KioWJVs0rFVT2U77nFDVC70Mrrscf87ya2a/sPY32nTrwFfOQQ==
|
integrity sha512-p4gJ57KeWGw0CEG9R13dmsgmWmszoOQ836pf/PVbAf+ZRF27il3QcFvOhA10XE2QFHaOcRxuJnnIpUD1lSMvqQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@tootallnate/once" "^3.0.0"
|
"@tootallnate/once" "^3.0.0"
|
||||||
agent-base "^7.0.1"
|
agent-base "^7.0.1"
|
||||||
@@ -6205,6 +6210,15 @@ just-extend@^4.0.2:
|
|||||||
resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.2.1.tgz#ef5e589afb61e5d66b24eca749409a8939a8c744"
|
resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.2.1.tgz#ef5e589afb61e5d66b24eca749409a8939a8c744"
|
||||||
integrity sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==
|
integrity sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==
|
||||||
|
|
||||||
|
kerberos@^2.0.1:
|
||||||
|
version "2.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/kerberos/-/kerberos-2.0.1.tgz#663b0b46883b4da84495f60f2e9e399a43a33ef5"
|
||||||
|
integrity sha512-O/jIgbdGK566eUhFwIcgalbqirYU/r76MW7/UFw06Fd9x5bSwgyZWL/Vm26aAmezQww/G9KYkmmJBkEkPk5HLw==
|
||||||
|
dependencies:
|
||||||
|
bindings "^1.5.0"
|
||||||
|
node-addon-api "^4.3.0"
|
||||||
|
prebuild-install "7.1.1"
|
||||||
|
|
||||||
keygrip@~1.1.0:
|
keygrip@~1.1.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/keygrip/-/keygrip-1.1.0.tgz#871b1681d5e159c62a445b0c74b615e0917e7226"
|
resolved "https://registry.yarnpkg.com/keygrip/-/keygrip-1.1.0.tgz#871b1681d5e159c62a445b0c74b615e0917e7226"
|
||||||
@@ -8194,6 +8208,24 @@ postcss@^8.4.19:
|
|||||||
picocolors "^1.0.0"
|
picocolors "^1.0.0"
|
||||||
source-map-js "^1.0.2"
|
source-map-js "^1.0.2"
|
||||||
|
|
||||||
|
prebuild-install@7.1.1:
|
||||||
|
version "7.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.1.tgz#de97d5b34a70a0c81334fd24641f2a1702352e45"
|
||||||
|
integrity sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==
|
||||||
|
dependencies:
|
||||||
|
detect-libc "^2.0.0"
|
||||||
|
expand-template "^2.0.3"
|
||||||
|
github-from-package "0.0.0"
|
||||||
|
minimist "^1.2.3"
|
||||||
|
mkdirp-classic "^0.5.3"
|
||||||
|
napi-build-utils "^1.0.1"
|
||||||
|
node-abi "^3.3.0"
|
||||||
|
pump "^3.0.0"
|
||||||
|
rc "^1.2.7"
|
||||||
|
simple-get "^4.0.0"
|
||||||
|
tar-fs "^2.0.0"
|
||||||
|
tunnel-agent "^0.6.0"
|
||||||
|
|
||||||
prebuild-install@^7.0.1:
|
prebuild-install@^7.0.1:
|
||||||
version "7.0.1"
|
version "7.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.0.1.tgz#c10075727c318efe72412f333e0ef625beaf3870"
|
resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.0.1.tgz#c10075727c318efe72412f333e0ef625beaf3870"
|
||||||
|
|||||||
Reference in New Issue
Block a user