Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problems with GUI Prompts and Password with Umlauts (non-ASCII Characters) #1287

Closed
bilbothebaggins opened this issue Jun 9, 2023 · 2 comments · Fixed by #1326
Closed

Problems with GUI Prompts and Password with Umlauts (non-ASCII Characters) #1287

bilbothebaggins opened this issue Jun 9, 2023 · 2 comments · Fixed by #1326
Assignees
Labels
auth-issue An issue authenticating to a host bug A bug in Git Credential Manager platform:windows Specific to the Windows platform

Comments

@bilbothebaggins
Copy link

bilbothebaggins commented Jun 9, 2023

Version

2.0.886+ea93cb5158

Operating system

Windows

OS version or distribution

Windows 10 Enterprise LTSC 1809 17763.4377, German CP Win-1252

Git hosting provider(s)

Bitbucket Server/DC, Other - please describe below

Other hosting provider

generic git-credential-manager-ui.exe

(Azure DevOps only) What format is your remote URL?

None

Can you access the remote repository directly in the browser?

Yes, I can access the repository

Expected behavior

I should be able to enter any password in the git-credential-manager-ui.exe Popup or the Atlassian.Bitbucket.UI.exe Popup and have git-credential-manager correctly use that.

Actual behavior

If, and only if, the password of the user contains a non-ascii character (German Umlaut), the result will be:
fatal: Authentication failed for 'https://...'

From the logs below, it appears that with the password entry via the GUI, the password is double UTF-8 Encoded.

  • The actual Password in the test is: Atlassian_blö_123"``
  • The password in the success case, when entered via the CLI is traced as password=Atlassian_bl├Â_123 - allowing for the cmd.exe code page, this is the display of the UTF-8 bytes of the real password
  • Failure case traced as: password=Atlassian_blÔö£├é_123 - the 5 bytes Ôö£├é is what happens when you take the UTF-8 bytes as Iso-8859-1 (or Win-1252) and re-encode these as UTF-8!

Logs

When it works:


D:\Git\KST\mr_gi>set gcm_
GCM_PROVIDER=generic
GCM_TRACE=1
GCM_TRACE_SECRETS=1

D:\Git\KST\mr_gi>set GCM_GUI_PROMPT=false

D:\Git\KST\mr_gi>git clone https://MrUmlaut@grz-bitbucket01v-ks:8443/scm/kst/kst-git-test.git
Cloning into 'kst-git-test'...
10:02:59.938497 ...pplicationBase.cs:75 trace: [RunAsync] Tracing of secrets is enabled. Trace output may contain sensitive information.
10:02:59.947036 ...\Application.cs:95   trace: [RunInternalAsync] Version: 2.0.886.37866
10:02:59.947533 ...\Application.cs:96   trace: [RunInternalAsync] Runtime: .NET Framework 4.0.30319.42000
10:02:59.947997 ...\Application.cs:97   trace: [RunInternalAsync] Platform: Windows (x86-64)
10:02:59.948350 ...\Application.cs:98   trace: [RunInternalAsync] OSVersion: 10.0 (build 17763)
10:02:59.948350 ...\Application.cs:99   trace: [RunInternalAsync] AppPath: C:\Program Files\Git\mingw64\bin\git-credential-manager.exe
10:02:59.948861 ...\Application.cs:100  trace: [RunInternalAsync] InstallDir: C:\Program Files\Git\mingw64\bin\
10:02:59.949386 ...\Application.cs:101  trace: [RunInternalAsync] Arguments: get
10:03:00.049895 ...GitCommandBase.cs:33 trace: [ExecuteAsync] Start 'get' command...
10:03:00.057862 ...GitCommandBase.cs:47 trace: [ExecuteAsync] Detecting host provider for input:
10:03:00.058887 ...GitCommandBase.cs:48 trace: [ExecuteAsync]   protocol=https
10:03:00.059364 ...GitCommandBase.cs:48 trace: [ExecuteAsync]   host=grz-bitbucket01v-ks:8443
10:03:00.059364 ...GitCommandBase.cs:48 trace: [ExecuteAsync]   username=MrUmlaut
10:03:00.061864 ...oviderRegistry.cs:99 trace: [GetProviderAsync] Host provider override was set id='generic'
10:03:00.064364 ...GitCommandBase.cs:50 trace: [ExecuteAsync] Host provider 'Generic' was selected.
10:03:00.066365 ...\HostProvider.cs:126 trace: [GetCredentialAsync] Looking for existing credential in store with service=https://grz-bitbucket01v-ks:8443 account=MrUmlaut...
10:03:00.150362 ...\HostProvider.cs:131 trace: [GetCredentialAsync] No existing credentials found.
10:03:00.150362 ...\HostProvider.cs:134 trace: [GetCredentialAsync] Creating new credential...
10:03:00.228862 ...icHostProvider.cs:63 trace: [GenerateCredentialAsync] Checking host 'https://grz-bitbucket01v-ks:8443/' for Windows Integrated Authentication...
10:03:00.230888 ...Authentication.cs:34 trace: [GetIsSupportedAsync] HTTP: HEAD https://grz-bitbucket01v-ks:8443/
10:03:00.231365 ...pClientFactory.cs:58 trace: [CreateClient] Creating new HTTP client instance...
10:03:00.495863 ...pClientFactory.cs:97 trace: [CreateClient] Custom certificate verification has been enabled with certificate bundle at C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
10:03:00.701826 ...Authentication.cs:37 trace: [GetIsSupportedAsync] HTTP: Response code ignored.
10:03:00.702786 ...Authentication.cs:39 trace: [GetIsSupportedAsync] Inspecting WWW-Authenticate headers...
10:03:00.703788 ...icHostProvider.cs:68 trace: [GenerateCredentialAsync] Host does not support WIA.
10:03:00.704784 ...icHostProvider.cs:89 trace: [GenerateCredentialAsync] Prompting for basic credentials...
Enter basic credentials for 'https://grz-bitbucket01v-ks:8443/':
Username: MrUmlaut
Password: 10:03:00.769232 ...ndowsTerminal.cs:186 trace: [.ctor] Setting console echo state to 'False'

10:03:11.552602 ...\HostProvider.cs:136 trace: [GetCredentialAsync] Credential created.
10:03:11.555596 ...\GetCommand.cs:39    trace: [ExecuteInternalAsync] Writing credentials to output:
10:03:11.556097 ...\GetCommand.cs:40    trace: [ExecuteInternalAsync]   protocol=https
10:03:11.556627 ...\GetCommand.cs:40    trace: [ExecuteInternalAsync]   host=grz-bitbucket01v-ks:8443
10:03:11.557098 ...\GetCommand.cs:40    trace: [ExecuteInternalAsync]   username=MrUmlaut
10:03:11.557637 ...\GetCommand.cs:40    trace: [ExecuteInternalAsync]   password=Atlassian_bl├Â_123
10:03:11.558623 ...GitCommandBase.cs:54 trace: [ExecuteAsync] End 'get' command...
10:03:12.051996 ...pplicationBase.cs:75 trace: [RunAsync] Tracing of secrets is enabled. Trace output may contain sensitive information.
10:03:12.061045 ...\Application.cs:95   trace: [RunInternalAsync] Version: 2.0.886.37866
10:03:12.061045 ...\Application.cs:96   trace: [RunInternalAsync] Runtime: .NET Framework 4.0.30319.42000
10:03:12.061490 ...\Application.cs:97   trace: [RunInternalAsync] Platform: Windows (x86-64)
10:03:12.061991 ...\Application.cs:98   trace: [RunInternalAsync] OSVersion: 10.0 (build 17763)
10:03:12.062491 ...\Application.cs:99   trace: [RunInternalAsync] AppPath: C:\Program Files\Git\mingw64\bin\git-credential-manager.exe
10:03:12.063494 ...\Application.cs:100  trace: [RunInternalAsync] InstallDir: C:\Program Files\Git\mingw64\bin\
10:03:12.064538 ...\Application.cs:101  trace: [RunInternalAsync] Arguments: store
10:03:12.162027 ...GitCommandBase.cs:33 trace: [ExecuteAsync] Start 'store' command...
10:03:12.171029 ...GitCommandBase.cs:47 trace: [ExecuteAsync] Detecting host provider for input:
10:03:12.172030 ...GitCommandBase.cs:48 trace: [ExecuteAsync]   protocol=https
10:03:12.172492 ...GitCommandBase.cs:48 trace: [ExecuteAsync]   host=grz-bitbucket01v-ks:8443
10:03:12.172992 ...GitCommandBase.cs:48 trace: [ExecuteAsync]   username=MrUmlaut
10:03:12.173495 ...GitCommandBase.cs:48 trace: [ExecuteAsync]   password=Atlassian_bl├Â_123
10:03:12.176029 ...oviderRegistry.cs:99 trace: [GetProviderAsync] Host provider override was set id='generic'
10:03:12.179543 ...GitCommandBase.cs:50 trace: [ExecuteAsync] Host provider 'Generic' was selected.
10:03:12.180997 ...\HostProvider.cs:160 trace: [StoreCredentialAsync] Storing credential with service=https://grz-bitbucket01v-ks:8443 account=MrUmlaut...
10:03:12.269991 ...\HostProvider.cs:162 trace: [StoreCredentialAsync] Credential was successfully stored.
10:03:12.270492 ...GitCommandBase.cs:54 trace: [ExecuteAsync] End 'store' command...
remote: Enumerating objects: 235, done.
remote: Counting objects: 100% (235/235), done.
Receiving objects: 100% (235/235), 25.31 KiB | 6.33 MiB/s, done.
Resolving deltas: 100% (93/93), done./204)
remote: Compressing objects: 100% (204/204), done.
remote: Total 235 (delta 93), reused 0 (delta 0), pack-reused 0

D:\Git\KST\mr_gi>git clone https://MrUmlaut@grz-bitbucket01v-ks:8443/scm/kst/kst-git-test.git

When it does not work:


D:\Git\KST\mr_gi>set gcm_
GCM_PROVIDER=generic
GCM_TRACE=1
GCM_TRACE_SECRETS=1

D:\Git\KST\mr_gi>git clone https://MrUmlaut@grz-bitbucket01v-ks:8443/scm/kst/kst-git-test.git
Cloning into 'kst-git-test'...
10:00:41.576463 http.c:724              == Info: Couldn't find host grz-bitbucket01v-ks in the (nil) file; using defaults
10:00:41.584466 http.c:724              == Info:   Trying 172...:8443...
10:00:41.617465 http.c:724              == Info: Connected to grz-bitbucket01v-ks (172...) port 8443 (#0)
10:00:41.618464 http.c:724              == Info: ALPN: offers h2
10:00:41.618963 http.c:724              == Info: ALPN: offers http/1.1
10:00:41.626962 http.c:724              == Info:  CAfile: C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
10:00:41.626962 http.c:724              == Info:  CApath: none
10:00:41.627462 http.c:724              == Info: [CONN-0-0][CF-SSL] TLSv1.3 (OUT), TLS handshake, Client hello (1):
10:00:41.660483 http.c:724              == Info: [CONN-0-0][CF-SSL] TLSv1.3 (IN), TLS handshake, Server hello (2):
10:00:41.660483 http.c:724              == Info: [CONN-0-0][CF-SSL] TLSv1.2 (IN), TLS handshake, Certificate (11):
10:00:41.661973 http.c:724              == Info: [CONN-0-0][CF-SSL] TLSv1.2 (IN), TLS handshake, Server key exchange (12):
10:00:41.662979 http.c:724              == Info: [CONN-0-0][CF-SSL] TLSv1.2 (IN), TLS handshake, Server finished (14):
10:00:41.663973 http.c:724              == Info: [CONN-0-0][CF-SSL] TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
10:00:41.663973 http.c:724              == Info: [CONN-0-0][CF-SSL] TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
10:00:41.663973 http.c:724              == Info: [CONN-0-0][CF-SSL] TLSv1.2 (OUT), TLS handshake, Finished (20):
10:00:41.688506 http.c:724              == Info: [CONN-0-0][CF-SSL] TLSv1.2 (IN), TLS handshake, Finished (20):
10:00:41.688964 http.c:724              == Info: SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
10:00:41.688964 http.c:724              == Info: ALPN: server did not agree on a protocol. Uses default.
10:00:41.688964 http.c:724              == Info: Server certificate:
10:00:41.688964 http.c:724              == Info:  subject: C=AT; L=Graz; O=Kristl, Seibt & Co. Gesellschaft m.b.H.; CN=*
10:00:41.688964 http.c:724              == Info:  start date: May  2 00:00:00 2023 GMT
10:00:41.688964 http.c:724              == Info:  expire date: Jun  1 23:59:59 2024 GMT
10:00:41.688964 http.c:724              == Info:  subjectAltName: host "grz-bitbucket01v-ks" matched cert's "*"
10:00:41.688964 http.c:724              == Info:  issuer: C=US; O=DigiCert Inc; CN=DigiCert Global G2 TLS RSA SHA256 2020 CA1
10:00:41.688964 http.c:724              == Info:  SSL certificate verify ok.
10:00:41.688964 http.c:671              => Send header, 0000000255 bytes (0x000000ff)
10:00:41.688964 http.c:683              => Send header: GET /scm/kst/kst-git-test.git/info/refs?service=git-upload-pack HTTP/1.1
10:00:41.688964 http.c:683              => Send header: Host: grz-bitbucket01v-ks:8443
10:00:41.688964 http.c:683              => Send header: User-Agent: git/2.39.2.windows.1
10:00:41.688964 http.c:683              => Send header: Accept: */*
10:00:41.688964 http.c:683              => Send header: Accept-Encoding: deflate, gzip, br, zstd
10:00:41.688964 http.c:683              => Send header: Pragma: no-cache
10:00:41.688964 http.c:683              => Send header: Git-Protocol: version=2
10:00:41.688964 http.c:683              => Send header:
10:00:41.714280 http.c:724              == Info: Mark bundle as not supporting multiuse
10:00:41.714280 http.c:671              <= Recv header, 0000000015 bytes (0x0000000f)
10:00:41.714280 http.c:683              <= Recv header: HTTP/1.1 401
10:00:41.714280 http.c:671              <= Recv header, 0000000024 bytes (0x00000018)
10:00:41.714280 http.c:683              <= Recv header: Cache-Control: private
10:00:41.714280 http.c:671              <= Recv header, 0000000038 bytes (0x00000026)
10:00:41.714280 http.c:683              <= Recv header: X-AREQUESTID: @18CP23Lx600x1588232x0
10:00:41.714280 http.c:671              <= Recv header, 0000000033 bytes (0x00000021)
10:00:41.714280 http.c:683              <= Recv header: x-xss-protection: 1; mode=block
10:00:41.714280 http.c:671              <= Recv header, 0000000029 bytes (0x0000001d)
10:00:41.714280 http.c:683              <= Recv header: x-frame-options: SAMEORIGIN
10:00:41.714280 http.c:671              <= Recv header, 0000000033 bytes (0x00000021)
10:00:41.714280 http.c:683              <= Recv header: x-content-type-options: nosniff
10:00:41.714280 http.c:671              <= Recv header, 0000000053 bytes (0x00000035)
10:00:41.714280 http.c:683              <= Recv header: WWW-Authenticate: Basic realm="Atlassian Bitbucket"
10:00:41.714280 http.c:671              <= Recv header, 0000000028 bytes (0x0000001c)
10:00:41.714280 http.c:683              <= Recv header: Transfer-Encoding: chunked
10:00:41.714280 http.c:671              <= Recv header, 0000000037 bytes (0x00000025)
10:00:41.714280 http.c:683              <= Recv header: Date: Fri, 09 Jun 2023 08:00:41 GMT
10:00:41.714280 http.c:671              <= Recv header, 0000000002 bytes (0x00000002)
10:00:41.714280 http.c:683              <= Recv header:
10:00:41.714280 http.c:724              == Info: Ignoring the response-body
10:00:41.714280 http.c:724              == Info: Connection #0 to host grz-bitbucket01v-ks left intact
10:00:41.714280 http.c:724              == Info: Issue another request to this URL: 'https://MrUmlaut@grz-bitbucket01v-ks:8443/scm/kst/kst-git-test.git/info/refs?service=git-upload-pack'
10:00:41.714827 http.c:724              == Info: Couldn't find host grz-bitbucket01v-ks in the (nil) file; using defaults
10:00:41.714827 http.c:724              == Info: Found bundle for host: 0x24879eb6050 [serially]
10:00:41.714827 http.c:724              == Info: Can not multiplex, even if we wanted to
10:00:41.714827 http.c:724              == Info: Re-using existing connection #0 with host grz-bitbucket01v-ks
10:00:41.714827 http.c:724              == Info: Server auth using Basic with user 'MrUmlaut'
10:00:41.714827 http.c:671              => Send header, 0000000290 bytes (0x00000122)
10:00:41.714827 http.c:683              => Send header: GET /scm/kst/kst-git-test.git/info/refs?service=git-upload-pack HTTP/1.1
10:00:41.714827 http.c:683              => Send header: Host: grz-bitbucket01v-ks:8443
10:00:41.714827 http.c:683              => Send header: Authorization: Basic <redacted>
10:00:41.714827 http.c:683              => Send header: User-Agent: git/2.39.2.windows.1
10:00:41.714827 http.c:683              => Send header: Accept: */*
10:00:41.714827 http.c:683              => Send header: Accept-Encoding: deflate, gzip, br, zstd
10:00:41.714827 http.c:683              => Send header: Pragma: no-cache
10:00:41.714827 http.c:683              => Send header: Git-Protocol: version=2
10:00:41.714827 http.c:683              => Send header:
10:00:41.740216 http.c:724              == Info: Mark bundle as not supporting multiuse
10:00:41.740216 http.c:671              <= Recv header, 0000000015 bytes (0x0000000f)
10:00:41.740216 http.c:683              <= Recv header: HTTP/1.1 401
10:00:41.740216 http.c:671              <= Recv header, 0000000024 bytes (0x00000018)
10:00:41.740216 http.c:683              <= Recv header: Cache-Control: private
10:00:41.740216 http.c:671              <= Recv header, 0000000038 bytes (0x00000026)
10:00:41.740216 http.c:683              <= Recv header: X-AREQUESTID: @18CP23Lx600x1588233x0
10:00:41.740216 http.c:724              == Info: Authentication problem. Ignoring this.
10:00:41.740216 http.c:671              <= Recv header, 0000000053 bytes (0x00000035)
10:00:41.740216 http.c:683              <= Recv header: WWW-Authenticate: Basic realm="Atlassian Bitbucket"
10:00:41.740216 http.c:671              <= Recv header, 0000000028 bytes (0x0000001c)
10:00:41.740216 http.c:683              <= Recv header: Transfer-Encoding: chunked
10:00:41.740216 http.c:671              <= Recv header, 0000000037 bytes (0x00000025)
10:00:41.740216 http.c:683              <= Recv header: Date: Fri, 09 Jun 2023 08:00:41 GMT
10:00:41.740216 http.c:671              <= Recv header, 0000000002 bytes (0x00000002)
10:00:41.740216 http.c:683              <= Recv header:
10:00:41.740216 http.c:724              == Info: Connection #0 to host grz-bitbucket01v-ks left intact
10:00:42.070184 ...pplicationBase.cs:75 trace: [RunAsync] Tracing of secrets is enabled. Trace output may contain sensitive information.
10:00:42.079133 ...\Application.cs:95   trace: [RunInternalAsync] Version: 2.0.886.37866
10:00:42.079644 ...\Application.cs:96   trace: [RunInternalAsync] Runtime: .NET Framework 4.0.30319.42000
10:00:42.080208 ...\Application.cs:97   trace: [RunInternalAsync] Platform: Windows (x86-64)
10:00:42.081194 ...\Application.cs:98   trace: [RunInternalAsync] OSVersion: 10.0 (build 17763)
10:00:42.081658 ...\Application.cs:99   trace: [RunInternalAsync] AppPath: C:\Program Files\Git\mingw64\bin\git-credential-manager.exe
10:00:42.084158 ...\Application.cs:100  trace: [RunInternalAsync] InstallDir: C:\Program Files\Git\mingw64\bin\
10:00:42.086728 ...\Application.cs:101  trace: [RunInternalAsync] Arguments: get
10:00:42.188239 ...GitCommandBase.cs:33 trace: [ExecuteAsync] Start 'get' command...
10:00:42.197244 ...GitCommandBase.cs:47 trace: [ExecuteAsync] Detecting host provider for input:
10:00:42.198244 ...GitCommandBase.cs:48 trace: [ExecuteAsync]   protocol=https
10:00:42.198744 ...GitCommandBase.cs:48 trace: [ExecuteAsync]   host=grz-bitbucket01v-ks:8443
10:00:42.200744 ...GitCommandBase.cs:48 trace: [ExecuteAsync]   username=MrUmlaut
10:00:42.203241 ...oviderRegistry.cs:99 trace: [GetProviderAsync] Host provider override was set id='generic'
10:00:42.205777 ...GitCommandBase.cs:50 trace: [ExecuteAsync] Host provider 'Generic' was selected.
10:00:42.207243 ...\HostProvider.cs:126 trace: [GetCredentialAsync] Looking for existing credential in store with service=https://grz-bitbucket01v-ks:8443 account=MrUmlaut...
10:00:42.298267 ...\HostProvider.cs:131 trace: [GetCredentialAsync] No existing credentials found.
10:00:42.298740 ...\HostProvider.cs:134 trace: [GetCredentialAsync] Creating new credential...
10:00:42.378243 ...icHostProvider.cs:63 trace: [GenerateCredentialAsync] Checking host 'https://grz-bitbucket01v-ks:8443/' for Windows Integrated Authentication...
10:00:42.380267 ...Authentication.cs:34 trace: [GetIsSupportedAsync] HTTP: HEAD https://grz-bitbucket01v-ks:8443/
10:00:42.381738 ...pClientFactory.cs:58 trace: [CreateClient] Creating new HTTP client instance...
10:00:42.650742 ...pClientFactory.cs:97 trace: [CreateClient] Custom certificate verification has been enabled with certificate bundle at C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
10:00:42.857160 ...Authentication.cs:37 trace: [GetIsSupportedAsync] HTTP: Response code ignored.
10:00:42.857631 ...Authentication.cs:39 trace: [GetIsSupportedAsync] Inspecting WWW-Authenticate headers...
10:00:42.858637 ...icHostProvider.cs:68 trace: [GenerateCredentialAsync] Host does not support WIA.
10:00:42.860135 ...icHostProvider.cs:89 trace: [GenerateCredentialAsync] Prompting for basic credentials...
10:00:42.994133 ...nticationBase.cs:150 trace: [TryFindHelperCommand] Using default UI helper: 'git-credential-manager-ui'.
10:00:42.995632 ...nticationBase.cs:181 trace: [TryFindHelperCommand] Found in-box native UI helper: 'C:\Program Files\Git\mingw64\bin\git-credential-manager-ui.exe'
10:00:43.000633 ...enticationBase.cs:40 trace: [InvokeHelperAsync] Starting helper process: C:\Program Files\Git\mingw64\bin\git-credential-manager-ui.exe basic --resource https://grz-bitbucket01v-ks:8443/ --username MrUmlaut
10:00:43.083129 ...pplicationBase.cs:75 trace: [RunAsync] Tracing of secrets is enabled. Trace output may contain sensitive information.
10:00:50.906294 ...\HostProvider.cs:136 trace: [GetCredentialAsync] Credential created.
10:00:50.906795 ...\GetCommand.cs:39    trace: [ExecuteInternalAsync] Writing credentials to output:
10:00:50.907298 ...\GetCommand.cs:40    trace: [ExecuteInternalAsync]   protocol=https
10:00:50.908294 ...\GetCommand.cs:40    trace: [ExecuteInternalAsync]   host=grz-bitbucket01v-ks:8443
10:00:50.908793 ...\GetCommand.cs:40    trace: [ExecuteInternalAsync]   username=MrUmlaut
10:00:50.909794 ...\GetCommand.cs:40    trace: [ExecuteInternalAsync]   password=Atlassian_blÔö£├é_123
10:00:50.912794 ...GitCommandBase.cs:54 trace: [ExecuteAsync] End 'get' command...
10:00:50.938797 http.c:724              == Info: Found bundle for host: 0x24879eb6050 [serially]
10:00:50.938797 http.c:724              == Info: Can not multiplex, even if we wanted to
10:00:50.938797 http.c:724              == Info: Re-using existing connection #0 with host grz-bitbucket01v-ks
10:00:50.938797 http.c:724              == Info: Server auth using Basic with user 'MrUmlaut'
10:00:50.938797 http.c:671              => Send header, 0000000318 bytes (0x0000013e)
10:00:50.938797 http.c:683              => Send header: GET /scm/kst/kst-git-test.git/info/refs?service=git-upload-pack HTTP/1.1
10:00:50.938797 http.c:683              => Send header: Host: grz-bitbucket01v-ks:8443
10:00:50.938797 http.c:683              => Send header: Authorization: Basic <redacted>
10:00:50.938797 http.c:683              => Send header: User-Agent: git/2.39.2.windows.1
10:00:50.938797 http.c:683              => Send header: Accept: */*
10:00:50.938797 http.c:683              => Send header: Accept-Encoding: deflate, gzip, br, zstd
10:00:50.938797 http.c:683              => Send header: Pragma: no-cache
10:00:50.938797 http.c:683              => Send header: Git-Protocol: version=2
10:00:50.938797 http.c:683              => Send header:
10:00:50.985462 http.c:724              == Info: Mark bundle as not supporting multiuse
10:00:50.985462 http.c:671              <= Recv header, 0000000015 bytes (0x0000000f)
10:00:50.985462 http.c:683              <= Recv header: HTTP/1.1 401
10:00:50.985795 http.c:671              <= Recv header, 0000000024 bytes (0x00000018)
10:00:50.985795 http.c:683              <= Recv header: Cache-Control: private
10:00:50.985795 http.c:671              <= Recv header, 0000000038 bytes (0x00000026)
10:00:50.985795 http.c:683              <= Recv header: X-AREQUESTID: @18CP23Lx600x1588257x0
10:00:50.985795 http.c:724              == Info: Authentication problem. Ignoring this.
10:00:50.985795 http.c:671              <= Recv header, 0000000053 bytes (0x00000035)
10:00:50.985795 http.c:683              <= Recv header: WWW-Authenticate: Basic realm="Atlassian Bitbucket"
10:00:50.985795 http.c:671              <= Recv header, 0000000028 bytes (0x0000001c)
10:00:50.985795 http.c:683              <= Recv header: Transfer-Encoding: chunked
10:00:50.985795 http.c:671              <= Recv header, 0000000037 bytes (0x00000025)
10:00:50.985795 http.c:683              <= Recv header: Date: Fri, 09 Jun 2023 08:00:50 GMT
10:00:50.985795 http.c:671              <= Recv header, 0000000002 bytes (0x00000002)
10:00:50.985795 http.c:683              <= Recv header:
10:00:50.985795 http.c:724              == Info: Connection #0 to host grz-bitbucket01v-ks left intact
10:00:51.328781 ...pplicationBase.cs:75 trace: [RunAsync] Tracing of secrets is enabled. Trace output may contain sensitive information.
10:00:51.339767 ...\Application.cs:95   trace: [RunInternalAsync] Version: 2.0.886.37866
10:00:51.339767 ...\Application.cs:96   trace: [RunInternalAsync] Runtime: .NET Framework 4.0.30319.42000
10:00:51.340237 ...\Application.cs:97   trace: [RunInternalAsync] Platform: Windows (x86-64)
10:00:51.340737 ...\Application.cs:98   trace: [RunInternalAsync] OSVersion: 10.0 (build 17763)
10:00:51.343237 ...\Application.cs:99   trace: [RunInternalAsync] AppPath: C:\Program Files\Git\mingw64\bin\git-credential-manager.exe
10:00:51.345237 ...\Application.cs:100  trace: [RunInternalAsync] InstallDir: C:\Program Files\Git\mingw64\bin\
10:00:51.345237 ...\Application.cs:101  trace: [RunInternalAsync] Arguments: erase
10:00:51.445741 ...GitCommandBase.cs:33 trace: [ExecuteAsync] Start 'erase' command...
10:00:51.453741 ...GitCommandBase.cs:47 trace: [ExecuteAsync] Detecting host provider for input:
10:00:51.454741 ...GitCommandBase.cs:48 trace: [ExecuteAsync]   protocol=https
10:00:51.455239 ...GitCommandBase.cs:48 trace: [ExecuteAsync]   host=grz-bitbucket01v-ks:8443
10:00:51.455769 ...GitCommandBase.cs:48 trace: [ExecuteAsync]   username=MrUmlaut
10:00:51.457740 ...GitCommandBase.cs:48 trace: [ExecuteAsync]   password=Atlassian_blÔö£├é_123
10:00:51.460241 ...oviderRegistry.cs:99 trace: [GetProviderAsync] Host provider override was set id='generic'
10:00:51.463241 ...GitCommandBase.cs:50 trace: [ExecuteAsync] Host provider 'Generic' was selected.
10:00:51.463741 ...\HostProvider.cs:173 trace: [EraseCredentialAsync] Erasing stored credential in store with service=https://grz-bitbucket01v-ks:8443 account=MrUmlaut...
10:00:51.555399 ...\HostProvider.cs:180 trace: [EraseCredentialAsync] No credential was erased.
10:00:51.555744 ...GitCommandBase.cs:54 trace: [ExecuteAsync] End 'erase' command...
fatal: Authentication failed for 'https://grz-bitbucket01v-ks:8443/scm/kst/kst-git-test.git/'

@bilbothebaggins bilbothebaggins added the auth-issue An issue authenticating to a host label Jun 9, 2023
@ldennington ldennington added bug A bug in Git Credential Manager platform:windows Specific to the Windows platform labels Jun 12, 2023
@ldennington
Copy link
Contributor

Thank you for pointing this out - the maintainers will investigate.

mjcheetham added a commit that referenced this issue Jul 11, 2023
Ensure that we read helper UI standard output as UTF-8. Helper
applications already write output with a UTF-8 encoding, so we must
ensure we read using the same encoding in the core application or else
non-ASCII characters may be mangled.

Fixes #1287
mjcheetham added a commit that referenced this issue Jul 12, 2023
**Changes since 2.2.1:**

- Fix an issue where duplicate "Personal Access Token" GitHub account
options are shown when Visual Studio has a GitHub account signed-in
(#1325 #1328)
- Fix an issue with Azure DevOps Server (TFS) and Windows Integrated
Authentication (#1331 #1332)
- Fix an issue with OAuth redirects GitHub Enterprise Server (#1329
#1330)
- Correctly handle non-ASCII username/passwords with the WPF UI helpers
(#1287 #1326)
@mjcheetham
Copy link
Collaborator

We identified an issue with our legacy WPF-based UI on Windows that was not using the correct encoding.
This has been fixed in the latest release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
auth-issue An issue authenticating to a host bug A bug in Git Credential Manager platform:windows Specific to the Windows platform
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants