1
0
Fork 0
mirror of https://github.com/actions/checkout.git synced 2025-03-28 11:00:05 +01:00
This commit is contained in:
eric sciple 2020-01-24 14:55:47 -05:00
parent adfd38e27a
commit b2405e40be
2 changed files with 6 additions and 70 deletions

35
dist/index.js vendored
View file

@ -5469,12 +5469,10 @@ function getSource(settings) {
if (!(yield git.tryDisableAutomaticGarbageCollection())) {
core.warning(`Unable to turn off git automatic garbage collection. The git fetch operation may trigger garbage collection and cause a delay.`);
}
// Remove possible previous proxy and extraheader
// await removeGitConfig(git, proxyConfigKey)
// Remove possible previous extraheader
yield removeGitConfig(git, authConfigKey);
try {
// Config proxy and extraheader
// await configureProxy(git)
// Config extraheader
yield configureAuthToken(git, settings.authToken);
// LFS install
if (settings.lfs) {
@ -5498,7 +5496,6 @@ function getSource(settings) {
}
finally {
if (!settings.persistCredentials) {
// await removeGitConfig(git, proxyConfigKey)
yield removeGitConfig(git, authConfigKey);
}
}
@ -5513,7 +5510,6 @@ function cleanup(repositoryPath) {
!fsHelper.fileExistsSync(path.join(repositoryPath, '.git', 'config'))) {
return;
}
// Remove proxy and extraheader
let git;
try {
git = yield gitCommandManager.CreateCommandManager(repositoryPath, false);
@ -5521,7 +5517,7 @@ function cleanup(repositoryPath) {
catch (_a) {
return;
}
// await removeGitConfig(git, proxyConfigKey)
// Remove extraheader
yield removeGitConfig(git, authConfigKey);
});
}
@ -5613,31 +5609,6 @@ function prepareExistingDirectory(git, repositoryPath, repositoryUrl, clean) {
}
});
}
// async function configureProxy(git: IGitCommandManager): Promise<void> {
// const proxyUrl = httpClient.getProxyUrl(serverUrl)
// const parsedUrl = url.parse(proxyUrl)
// const placeholder = parsedUrl.auth
// ? proxyUrl.replace(parsedUrl.auth, '***')
// : ''
// // Configure a placeholder value. This approach avoids the credential being captured
// // by process creation audit events, which are commonly logged. For more information,
// // refer to https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/manage/component-updates/command-line-process-auditing
// await git.config(proxyConfigKey, placeholder || proxyUrl)
// if (placeholder) {
// // Replace the value in the config file
// const configPath = path.join(git.getWorkingDirectory(), '.git', 'config')
// let content = (await fs.promises.readFile(configPath)).toString()
// const placeholderIndex = content.indexOf(placeholder)
// if (
// placeholderIndex < 0 ||
// placeholderIndex != content.lastIndexOf(placeholder)
// ) {
// throw new Error('Unable to replace auth placeholder in .git/config')
// }
// content = content.replace(placeholder, proxyUrl)
// await fs.promises.writeFile(configPath, content)
// }
// }
function configureAuthToken(git, authToken) {
return __awaiter(this, void 0, void 0, function* () {
// Configure a placeholder value. This approach avoids the credential being captured

View file

@ -3,17 +3,14 @@ import * as fs from 'fs'
import * as fsHelper from './fs-helper'
import * as gitCommandManager from './git-command-manager'
import * as githubApiHelper from './github-api-helper'
import * as httpClient from '@actions/http-client'
import * as io from '@actions/io'
import * as path from 'path'
import * as refHelper from './ref-helper'
import * as stateHelper from './state-helper'
import * as url from 'url'
import {IGitCommandManager} from './git-command-manager'
const serverUrl = 'https://github.com/'
const authConfigKey = `http.${serverUrl}.extraheader`
// const proxyConfigKey = `http.${serverUrl}.proxy`
export interface ISourceSettings {
repositoryPath: string
@ -95,13 +92,11 @@ export async function getSource(settings: ISourceSettings): Promise<void> {
)
}
// Remove possible previous proxy and extraheader
// await removeGitConfig(git, proxyConfigKey)
// Remove possible previous extraheader
await removeGitConfig(git, authConfigKey)
try {
// Config proxy and extraheader
// await configureProxy(git)
// Config extraheader
await configureAuthToken(git, settings.authToken)
// LFS install
@ -134,7 +129,6 @@ export async function getSource(settings: ISourceSettings): Promise<void> {
await git.log1()
} finally {
if (!settings.persistCredentials) {
// await removeGitConfig(git, proxyConfigKey)
await removeGitConfig(git, authConfigKey)
}
}
@ -150,7 +144,6 @@ export async function cleanup(repositoryPath: string): Promise<void> {
return
}
// Remove proxy and extraheader
let git: IGitCommandManager
try {
git = await gitCommandManager.CreateCommandManager(repositoryPath, false)
@ -158,7 +151,7 @@ export async function cleanup(repositoryPath: string): Promise<void> {
return
}
// await removeGitConfig(git, proxyConfigKey)
// Remove extraheader
await removeGitConfig(git, authConfigKey)
}
@ -268,34 +261,6 @@ async function prepareExistingDirectory(
}
}
// async function configureProxy(git: IGitCommandManager): Promise<void> {
// const proxyUrl = httpClient.getProxyUrl(serverUrl)
// const parsedUrl = url.parse(proxyUrl)
// const placeholder = parsedUrl.auth
// ? proxyUrl.replace(parsedUrl.auth, '***')
// : ''
// // Configure a placeholder value. This approach avoids the credential being captured
// // by process creation audit events, which are commonly logged. For more information,
// // refer to https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/manage/component-updates/command-line-process-auditing
// await git.config(proxyConfigKey, placeholder || proxyUrl)
// if (placeholder) {
// // Replace the value in the config file
// const configPath = path.join(git.getWorkingDirectory(), '.git', 'config')
// let content = (await fs.promises.readFile(configPath)).toString()
// const placeholderIndex = content.indexOf(placeholder)
// if (
// placeholderIndex < 0 ||
// placeholderIndex != content.lastIndexOf(placeholder)
// ) {
// throw new Error('Unable to replace auth placeholder in .git/config')
// }
// content = content.replace(placeholder, proxyUrl)
// await fs.promises.writeFile(configPath, content)
// }
// }
async function configureAuthToken(
git: IGitCommandManager,
authToken: string