threads / discuss / 49538

[version 2.19.1] gpg issue in new Git for Windows release version 2.19.1

Subject: [version 2.19.1] gpg issue in new Git for Windows release version 2.19.1

## tl;dr

One message between Oct 11, 2018 and Oct 11, 2018.

replies: 0people: 1as markdown or json

Himanshu Singh· Oct 11, 2018, 09:45 UTC · lore

Hi, I use git-repo which makes use of Git for Windows and also uses the gpg tool bundled in Git for Windows.

I am able to run the git-repo with Git-2.18.0-64-bit.exe, but recently I updated the Git to new release of Git for Windows 2.19.1 and that does not work with git-repo tool. I found that basic issue is not with Git, but with gpg bundled with latest Git version.

I have tested both version for below 4 cases and here are the test results in below table:

Case Test Description Result For Git-2.18.0-64-bit.exe Result For
Git-2.19.1-64-bit.exe
CASE1: gpg import with default GNUPG Home [Result: SUCCESS for both versions]
CASE2: gpg import with setting environment variable for GNUPGHOME and
path provided in git style [Result: SUCCESS for both versions]
CASE3: gpg import with setting environment variable for GNUPGHOME and
path provided in windows style single slash \ is escaped by providing
double slash \\ [Result: SUCCESS for 2.18.0 but FAILED for 2.19.1]
CASE4: gpg import with setting environment variable for GNUPGHOME and
path provided in windows style with single slash \  replaced with
forward slash / [Result: SUCCESS for 2.18.0 but FAILED for 2.19.1]

I know the gpg version is changed in 2.19 release. But somehow the Git-Repo tool, which I am using, creates GNUPGHOME path as per CASE3 above. So right now I am able to use the tool with older version of Git. It may be issue in future to not upgrade Git. Please see if this makes any sense to fix this thing in gpg.

Here is the output with CASE3 (complete logs attached with the mail) ============================================================================================================== === CASE3: NOT Working with setting environment variable for GNUPGHOME and path provided in windows style ==== === IT LOOKS Like concatenate the current working directory to the value of GNUPGHOME ======================== ============================================================================================================== hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ export GNUPGHOME=C:\\gpgTesting\\.gnupg

hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ echo $GNUPGHOME C:\gpgTesting\.gnupg

hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ gpg --import gpg: keyblock resource '/c/gpgTesting/C:\gpgTesting\.gnupg/pubring.kbx': No such file or directory

gpg: signal Interrupt caught ... exiting

-- Thanks, Himanshu Singh.

==================== === Version Info === ==================== hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ git --version git version 2.19.1.windows.1

hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ gpg --version gpg (GnuPG) 2.2.9-unknown libgcrypt 1.8.3 Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

Home: /c/Users/hsingh/.gnupg
Supported algorithms:
Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
        CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2

============================================== === CASE1: Working with default GNUPG Home === ============================================== hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ gpg --import gpg: keybox '/c/Users/hsingh/.gnupg/pubring.kbx' created

gpg: signal Interrupt caught ... exiting

===================================================================================================== === CASE2: Working with setting environment variable for GNUPGHOME and path provided in git style === ===================================================================================================== hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ export GNUPGHOME=/C/gpgTesting/.gnupg

hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ echo $GNUPGHOME /C/gpgTesting/.gnupg

hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ gpg --import gpg: keybox '/C/gpgTesting/.gnupg/pubring.kbx' created

gpg: signal Interrupt caught ... exiting

============================================================================================================== === CASE3: NOT Working with setting environment variable for GNUPGHOME and path provided in windows style ==== === IT LOOKS Like concatenate the current working directory to the value of GNUPGHOME ======================== ============================================================================================================== hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ export GNUPGHOME=C:\\gpgTesting\\.gnupg

hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ echo $GNUPGHOME C:\gpgTesting\.gnupg

hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ gpg --import gpg: keyblock resource '/c/gpgTesting/C:\gpgTesting\.gnupg/pubring.kbx': No such file or directory

gpg: signal Interrupt caught ... exiting

================================================================================================================================ === CASE4: NOT Working with setting environment variable for GNUPGHOME and path provided in windows style with forward slash === === IT LOOKS Like concatenate the current working directory to the value of GNUPGHOME ========================================== ================================================================================================================================ hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ export GNUPGHOME=C:/gpgTesting/.gnupg

hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ echo $GNUPGHOME C:/gpgTesting/.gnupg

hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ gpg --import gpg: Fatal: can't create directory '/c/gpgTesting/C:/gpgTesting/.gnupg': No such file or directory

hsingh@HSINGH-LT MINGW64 /c/gpgTesting $

==================== === Version Info === ==================== hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ git --version git version 2.18.0.windows.1

hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ gpg --version gpg (GnuPG) 1.4.22 Copyright (C) 2015 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

Home: ~/.gnupg
Supported algorithms:
Pubkey: RSA, RSA-E, RSA-S, ELG-E, DSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
        CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2

============================================== === CASE1: Working with default GNUPG Home === ============================================== hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ gpg --import gpg: keyring `/c/Users/hsingh/.gnupg/secring.gpg' created gpg: keyring `/c/Users/hsingh/.gnupg/pubring.gpg' created

gpg: Interrupt caught ... exiting

===================================================================================================== === CASE2: Working with setting environment variable for GNUPGHOME and path provided in git style === ===================================================================================================== hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ export GNUPGHOME=/C/gpgTesting/.gnupg

hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ echo $GNUPGHOME /C/gpgTesting/.gnupg

hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ gpg --import gpg: WARNING: unsafe permissions on homedir `/C/gpgTesting/.gnupg' gpg: keyring `/C/gpgTesting/.gnupg/secring.gpg' created gpg: keyring `/C/gpgTesting/.gnupg/pubring.gpg' created

gpg: Interrupt caught ... exiting

========================================================================================================= === CASE3: Working with setting environment variable for GNUPGHOME and path provided in windows style === ========================================================================================================= hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ export GNUPGHOME=C:\\gpgTesting\\.gnupg

hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ gpg --import gpg: WARNING: unsafe permissions on homedir `C:\gpgTesting\.gnupg' gpg: keyring `C:\gpgTesting\.gnupg/secring.gpg' created gpg: keyring `C:\gpgTesting\.gnupg/pubring.gpg' created

gpg: Interrupt caught ... exiting

============================================================================================================================ === CASE4: Working with setting environment variable for GNUPGHOME and path provided in windows style with forward slash === ============================================================================================================================ hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ export GNUPGHOME=C:/gpgTesting/.gnupg

hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ echo $GNUPGHOME C:/gpgTesting/.gnupg

hsingh@HSINGH-LT MINGW64 /c/gpgTesting $ gpg --import gpg: WARNING: unsafe permissions on homedir `C:/gpgTesting/.gnupg' gpg: keyring `C:/gpgTesting/.gnupg/secring.gpg' created gpg: keyring `C:/gpgTesting/.gnupg/pubring.gpg' created

gpg: Interrupt caught ... exiting
hsingh@HSINGH-LT MINGW64 /c/gpgTesting

← back to recent threads