In libgcrypt (1.10), we have a copy of the jitterentropy 3.3.0 from:
http://www.chronox.de/jent.html
or https://github.com/smuellerDD/jitterentropy-library
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
All Stories
Mar 23 2022
Mar 22 2022
Please refer to the open Mutt Bug issue 401 below regarding the troubleshooting we've performed which seems to suggest there *might* be something a skew on the gpg binaries.
Let me ask a more specific question, since you mentioned "support of detecting numbers of CPU and having more than 1 CPUs": can you point me to the code which detects the number of CPUs on MS-Windows systems, where I could learn how that code is affected by having EOPNOTSUPP defined? I will then hopefully understand better what you are saying, and either agree with you that this is unworkable on Windows, or propose a better solution.
I guess I don't understand what you mean by "native building". This build was with MinGW, which is as "native" as MinGW64 is.
The reason for the problem is (AFAIU) that MinGW64 went after Microsoft's change in stat due to the 32-bit vs 64-bit time and off_t values issue.s That change breaks backward compatibility in more than one way: programs compiled on some versions of Windows will not run on other versions. mingw.org's MinGW kept the original semantics and symbols, which is why _stat32 exists in the mingw.org's headers, but is not exposed by default.
Can you please tell more about how this causes non-working code? MinGW64 defines EOPNOTSUPP to an arbitrary constant which (AFAICT) is never actually returned or used in the MS-Windows runtime. Their documentation, in https://docs.microsoft.com/en-us/cpp/c-runtime-library/errno-constants?view=msvc-170, says:
This is with mingw.org's MinGW, version 5.4.x.
The version of MinGW is 5.4.x, the latest one. It is available from https://osdn.net/projects/mingw/releases.
MinGW64 is a fork of the above (original) MinGW. They have unfortunately diverged, thus the need to have these changes.
Turned into a feature request because native building on Windows is not supported.
I had thought that we need to combine hkdf so that key and iv can generate within libgcrypt internally.
Probably, this assumption of mine may be wrong.
The original plan was to source copy dns.c from upstream and thus we tried to avoid any changes. Unfortunately we never achieved to push things upstream and thus our own changes got it. Eventually we will cleanup the code and use our own framework.
Thank you. Confirmed and applied.
Thank you for your report.
Please specify your MinGW version.
Please specify the version of MinGW, which you are using. (We use Mingw-w64 for GnuPG Project.)
Mar 21 2022
Using an armor header would allow for this. But well, this blows up the data and frankly, I fear that it can lead to unexpected side effects. Better to use a respective file name or MIME header.
Actually this is pretty obvious; we better ignore such misbehaving servers.
Adding
GPG_TTY=$(tty) export GPG_TTY
makes this working so thank you for the pointer.
No need for callbacks actually. We can do it in a simpler way. See commit rGe5ef5e3b914d5c8f0b841b078b164500ea157804
Now, the problem is not about the case of pid == getpid () any more.
That would be bad for unattended use cases. Recording the time the lock file was created might be a solution. Then cleanup only after 15 minutes or so.
Note that there is a race condition still (after a fix of one race condition which may be somewhat likely and reproducible, and another fix of race condition when there is a stale lockfile).
Fixed another race in commit: rG2f1afc129662: common: Fix another race condition, and address the other one.
Mar 20 2022
Mar 19 2022
{F3381469}I uploaded the whole homedir containing the keys after they were migrated by the new gnupg2.3.4. It should have all of the keys in there. Don't worry, these keys are just for testing and not used anywhere.
Mar 18 2022
Is your GPG_TTY set so that pinentry can find the right tty?
Sorry, without detailed output of gpg we can't help you here. This is definitely not a GnuPG bug because too many people are using mutt and gnupg. You should also "set crypt_use_gpgme" -it works far better.
the -v does not show more useful info on the gpg side:
# gpg2 --quick-gen-key admin About to create a key for: "admin"
Please run with option -v to see what's wrong with pinentry.
For the logic of detecting unlocking, it should work when h->use_o_excl == 1.
I had some more time to test this bug.
Before the fix above, https://bugs.debian.org/972525 can be explained by the following scenario:
Fixed in master. Should be backported when found stable.
I pushed a change for t-dotlock.c for testing.
Mar 17 2022
There is a new key filter "Not certified certificates" that is selected if the button is pressed.