Skip to content

Commit 3c28096

Browse files
author
Matthew John Cheetham
authored
Release GCM 2.6 (#1712)
**Changes:** - Drop no longer needed workflows (#1659) - Documentation fixes (#1664, #1697) - Configurable GPG store path via Git config (#1698) - Fix Visual Studio build problems and update dependencies (#1711) - Support sending X5C with certificate auth (#1666)
2 parents 90d5f89 + c16a9b7 commit 3c28096

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+334
-210
lines changed

.github/workflows/codeql-analysis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
- uses: actions/checkout@v4
2626

2727
- name: Setup .NET
28-
uses: actions/[email protected].0
28+
uses: actions/[email protected].1
2929
with:
3030
dotnet-version: 8.0.x
3131

.github/workflows/continuous-integration.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
- uses: actions/checkout@v4
2020

2121
- name: Setup .NET
22-
uses: actions/[email protected].0
22+
uses: actions/[email protected].1
2323
with:
2424
dotnet-version: 8.0.x
2525

@@ -59,7 +59,7 @@ jobs:
5959
- uses: actions/checkout@v4
6060

6161
- name: Setup .NET
62-
uses: actions/[email protected].0
62+
uses: actions/[email protected].1
6363
with:
6464
dotnet-version: 8.0.x
6565

@@ -100,7 +100,7 @@ jobs:
100100
- uses: actions/checkout@v4
101101

102102
- name: Setup .NET
103-
uses: actions/[email protected].0
103+
uses: actions/[email protected].1
104104
with:
105105
dotnet-version: 8.0.x
106106

.github/workflows/release-homebrew.yaml

Lines changed: 0 additions & 25 deletions
This file was deleted.

.github/workflows/release.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
- uses: actions/checkout@v4
3636

3737
- name: Set up .NET
38-
uses: actions/[email protected].0
38+
uses: actions/[email protected].1
3939
with:
4040
dotnet-version: 8.0.x
4141

@@ -150,7 +150,7 @@ jobs:
150150
- uses: actions/checkout@v4
151151

152152
- name: Set up .NET
153-
uses: actions/[email protected].0
153+
uses: actions/[email protected].1
154154
with:
155155
dotnet-version: 8.0.x
156156

@@ -177,7 +177,7 @@ jobs:
177177
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
178178

179179
- name: Sign payload files with Azure Code Signing
180-
uses: azure/trusted-signing-action@v0.3.20
180+
uses: azure/trusted-signing-action@v0.4.0
181181
with:
182182
endpoint: https://wus2.codesigning.azure.net/
183183
trusted-signing-account-name: git-fundamentals-signing
@@ -190,7 +190,7 @@ jobs:
190190

191191
# The Azure Code Signing action overrides the .NET version, so we reset it.
192192
- name: Set up .NET
193-
uses: actions/[email protected].0
193+
uses: actions/[email protected].1
194194
with:
195195
dotnet-version: 8.0.x
196196

@@ -204,7 +204,7 @@ jobs:
204204
-Destination $env:GITHUB_WORKSPACE\installers
205205
206206
- name: Sign installers with Azure Code Signing
207-
uses: azure/trusted-signing-action@v0.3.20
207+
uses: azure/trusted-signing-action@v0.4.0
208208
with:
209209
endpoint: https://wus2.codesigning.azure.net/
210210
trusted-signing-account-name: git-fundamentals-signing
@@ -236,7 +236,7 @@ jobs:
236236
- uses: actions/checkout@v4
237237

238238
- name: Set up .NET
239-
uses: actions/[email protected].0
239+
uses: actions/[email protected].1
240240
with:
241241
dotnet-version: 8.0.x
242242

@@ -314,7 +314,7 @@ jobs:
314314
- uses: actions/checkout@v4
315315

316316
- name: Set up .NET
317-
uses: actions/[email protected].0
317+
uses: actions/[email protected].1
318318
with:
319319
dotnet-version: 8.0.x
320320

@@ -387,7 +387,7 @@ jobs:
387387
path: signed
388388

389389
- name: Set up .NET
390-
uses: actions/[email protected].0
390+
uses: actions/[email protected].1
391391
with:
392392
dotnet-version: 8.0.x
393393

@@ -491,7 +491,7 @@ jobs:
491491
- uses: actions/checkout@v4
492492

493493
- name: Set up .NET
494-
uses: actions/[email protected].0
494+
uses: actions/[email protected].1
495495
with:
496496
dotnet-version: 8.0.x
497497

@@ -561,7 +561,7 @@ jobs:
561561
- uses: actions/checkout@v4
562562

563563
- name: Set up .NET
564-
uses: actions/[email protected].0
564+
uses: actions/[email protected].1
565565
with:
566566
dotnet-version: 8.0.x
567567

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828

2929
<ItemGroup Condition = "'$(TargetFramework)' == 'net472'">
3030
<PackageReference Include="System.Text.Json">
31-
<Version>7.0.2</Version>
31+
<Version>8.0.4</Version>
3232
</PackageReference>
3333
</ItemGroup>
3434

Directory.Build.targets

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<Import Project="$(RepoPath)build\GCM.tasks" />
77

88
<!-- Use version specified in VERSION file -->
9-
<Target Name="GetVersion" BeforeTargets="BeforeBuild">
9+
<Target Name="GetVersion" BeforeTargets="BeforeBuild;GenerateWindowsAppManifest">
1010
<GetVersion VersionFile="$(RepoPath)VERSION">
1111
<Output TaskParameter="Version" PropertyName="Version" />
1212
<Output TaskParameter="AssemblyVersion" PropertyName="AssemblyVersion" />
@@ -21,6 +21,7 @@
2121

2222
<!-- Generate the manifest file before we set the win32 manifest properties -->
2323
<Target Name="GenerateWindowsAppManifest"
24+
AfterTargets="GetVersion"
2425
BeforeTargets="SetWin32ManifestProperties"
2526
Condition="'$(GenerateWindowsAppManifest)' != 'false'"
2627
Inputs="$(FileVersion);$(AssemblyName)"

SECURITY.md

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,32 @@
1-
# Security
1+
Thanks for helping make GitHub safe for everyone.
22

3-
If you discover a security issue in this repo, please submit it through the
4-
[GitHub Security Bug Bounty][hackerone-github]
3+
## Security
54

6-
Thanks for helping make GitHub products safe for everyone.
5+
GitHub takes the security of our software products and services seriously, including all of the open source code repositories managed through our GitHub organizations, such as [GitHub](https://github.com/GitHub).
6+
7+
Even though [open source repositories are outside of the scope of our bug bounty program](https://bounty.github.com/index.html#scope) and therefore not eligible for bounty rewards, we will ensure that your finding gets passed along to the appropriate maintainers for remediation.
8+
9+
## Reporting Security Issues
10+
11+
If you believe you have found a security vulnerability in any GitHub-owned repository, please report it to us through coordinated disclosure.
12+
13+
**Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests.**
14+
15+
Instead, please send an email to opensource-security[@]github.com.
16+
17+
Please include as much of the information listed below as you can to help us better understand and resolve the issue:
18+
19+
* The type of issue (e.g., buffer overflow, SQL injection, or cross-site scripting)
20+
* Full paths of source file(s) related to the manifestation of the issue
21+
* The location of the affected source code (tag/branch/commit or direct URL)
22+
* Any special configuration required to reproduce the issue
23+
* Step-by-step instructions to reproduce the issue
24+
* Proof-of-concept or exploit code (if possible)
25+
* Impact of the issue, including how an attacker might exploit the issue
26+
27+
This information will help us triage your report more quickly.
28+
29+
## Policy
30+
31+
See [GitHub's Safe Harbor Policy](https://docs.github.com/en/site-policy/security-policies/github-bug-bounty-program-legal-safe-harbor)
732

8-
[hackerone-github]: https://hackerone.com/github

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.5.1.0
1+
2.6.0.0

docs/azrepos-misp.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ Type|Git Configuration|Environment Variable
108108
-|-|-
109109
Client Secret|[`credential.azreposServicePrincipalSecret`][gcm-sp-secret-config]|[`GCM_AZREPOS_SP_SECRET`][gcm-sp-secret-env]
110110
Certificate|[`credential.azreposServicePrincipalCertificateThumbprint`][gcm-sp-cert-config]|[`GCM_AZREPOS_SP_CERT_THUMBPRINT`][gcm-sp-cert-env]
111+
Send X5C|[`credential.azreposServicePrincipalCertificateSendX5C`][gcm-sp-cert-x5c-config]|[`GCM_AZREPOS_SP_CERT_SEND_X5C`][gcm-sp-cert-x5c-env]
111112

112113
The value for these options should be the client secret or the thumbrint of the
113114
certificate that is associated with the Service Principal.
@@ -126,4 +127,6 @@ current user or the local machine.
126127
[gcm-sp-secret-config]: https://gh.io/gcm/config#credentialazreposserviceprincipalsecret
127128
[gcm-sp-secret-env]: https://gh.io/gcm/env#GCM_AZREPOS_SP_SECRET
128129
[gcm-sp-cert-config]: https://gh.io/gcm/config#credentialazreposserviceprincipalcertificatethumbprint
130+
[gcm-sp-cert-x5c-config]: https://gh.io/gcm/config#credentialazreposserviceprincipalcertificatesendx5c
129131
[gcm-sp-cert-env]: https://gh.io/gcm/env#GCM_AZREPOS_SP_CERT_THUMBPRINT
132+
[gcm-sp-cert-x5c-env]: https://gh.io/gcm/env#GCM_AZREPOS_SP_CERT_SEND_X5C

docs/configuration.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -633,6 +633,24 @@ git config --global credential.dpapiStorePath D:\credentials
633633

634634
---
635635

636+
### credential.gpgPassStorePath
637+
638+
Specify a custom directory to store GPG-encrypted [pass][pass]-compatible credential files
639+
in when [`credential.credentialStore`][credential-credentialstore] is set to `gpg`.
640+
641+
Defaults to the value `~/.password-store` or `%USERPROFILE%\.password-store`.
642+
643+
#### Example
644+
645+
```shell
646+
git config --global credential.gpgPassStorePath /mnt/external-drive/.password-store
647+
```
648+
649+
**Note:** Location of the password store used by [pass][pass] can be overridden by the
650+
`PASSWORD_STORE_DIR` environment variable, see the [man page][pass-man] for details.
651+
652+
---
653+
636654
### credential.msauthFlow
637655

638656
Specify which authentication flow should be used when performing Microsoft
@@ -858,6 +876,7 @@ You must also set at least one authentication mechanism if you set this value:
858876

859877
- [credential.azreposServicePrincipalSecret][credential-azrepos-sp-secret]
860878
- [credential.azreposServicePrincipalCertificateThumbprint][credential-azrepos-sp-cert-thumbprint]
879+
- [credential.azreposServicePrincipalCertificateSendX5C][credential-azrepos-sp-cert-x5c]
861880

862881
For more information about service principals, see the Azure DevOps
863882
[documentation][azrepos-sp-mid].
@@ -904,6 +923,25 @@ git config --global credential.azreposServicePrincipalCertificateThumbprint "9b6
904923

905924
---
906925

926+
### credential.azreposServicePrincipalCertificateSendX5C
927+
928+
When using a certificate for [service principal][service-principal] authentication, this configuration
929+
specifies whether the X5C claim should be should be sent to the STS. Sending the x5c
930+
enables application developers to achieve easy certificate rollover in Azure AD:
931+
this method will send the public certificate to Azure AD along with the token request,
932+
so that Azure AD can use it to validate the subject name based on a trusted issuer
933+
policy. This saves the application admin from the need to explicitly manage the
934+
certificate rollover. For details see [https://aka.ms/msal-net-sni](https://aka.ms/msal-net-sni).
935+
936+
#### Example
937+
938+
```shell
939+
git config --global credential.azreposServicePrincipalCertificateSendX5C true
940+
```
941+
**Also see: [GCM_AZREPOS_SP_CERT_SEND_X5C][gcm-azrepos-sp-cert-x5c]**
942+
943+
---
944+
907945
### trace2.normalTarget
908946

909947
Turns on Trace2 Normal Format tracing - see [Git's Trace2 Normal Format
@@ -1022,6 +1060,7 @@ Defaults to disabled.
10221060
[provider-migrate]: migration.md#gcm_authority
10231061
[cache-options]: https://git-scm.com/docs/git-credential-cache#_options
10241062
[pass]: https://www.passwordstore.org/
1063+
[pass-man]: https://git.zx2c4.com/password-store/about/
10251064
[trace2-normal-docs]: https://git-scm.com/docs/api-trace2#_the_normal_format_target
10261065
[trace2-normal-env]: environment.md#GIT_TRACE2
10271066
[trace2-event-docs]: https://git-scm.com/docs/api-trace2#_the_event_format_target
@@ -1034,6 +1073,8 @@ Defaults to disabled.
10341073
[credential-azrepos-sp]: #credentialazreposserviceprincipal
10351074
[credential-azrepos-sp-secret]: #credentialazreposserviceprincipalsecret
10361075
[credential-azrepos-sp-cert-thumbprint]: #credentialazreposserviceprincipalcertificatethumbprint
1076+
[credential-azrepos-sp-cert-x5c]: #credentialazreposserviceprincipalcertificatesendx5c
10371077
[gcm-azrepos-service-principal]: environment.md#GCM_AZREPOS_SERVICE_PRINCIPAL
10381078
[gcm-azrepos-sp-secret]: environment.md#GCM_AZREPOS_SP_SECRET
10391079
[gcm-azrepos-sp-cert-thumbprint]: environment.md#GCM_AZREPOS_SP_CERT_THUMBPRINT
1080+
[gcm-azrepos-sp-cert-x5c]: environment.md#GCM_AZREPOS_SP_CERT_SEND_X5C

0 commit comments

Comments
 (0)