- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Jul 18 2023
Use of FD2INT for the first argument of select is semantically not good. It's the number of file descriptor. When we use FD2INT here, the type is converted to 64-bit integer, then implicitly demoted to 32-bit integer. We need new macro, say, FD2NUM to convert FD into 32-bit integer.
<--- done in: rGea1935252e28: commond: Introduce FD2NUM to express conversion to number of fds.
Here is a test program for 64-bit Windows to see how cast works:
#include <stdint.h> #include <stdio.h>
Jul 14 2023
Update the patch to allow --compatibility-flags hashing-in-parallel.
Jul 13 2023
Jul 12 2023
Fixed in master.
Will backport into 2.4, after testing.
Jul 11 2023
Jul 10 2023
Jul 7 2023
Updated the patch:
Jul 6 2023
This is a patch for master (which uses nPth for gpg):
I'm trying to use a thread for computation of hashing. It works, but no performance gain, due to nPth.
I do:
npth_unprotect (); gcry_md_write (mfx->md, mfx->buf, mfx->written); npth_protect ();
to expect hashing is done in parallel.
Jul 5 2023
It seemed I was wrong that it is due to buffering.
In the use case of --sign and --encrypt, hashing is done with IOBUF's 64KiB buffer (already).
I observed the benchmark by libgcrypt (Windows emulation 32-bit on Debian):
Thank you for your report.
Jul 3 2023
OK. I'll take the signing part (possible performance improvement).
I looked through the code. What I observed is:
- By jussi's improvements, AEAD code is optimized with AEAD_ENC_BUFFER_SIZE of 64KiB
- this contributes much for better performance
- If we invoke gpg --sign | gpg --encrypt then we can take advantage of multiple CPUs (but gpg is currently not automatically threaded in that way)
- signing could be improved likewise, using larger buffer like 64KiB
- CFB+MDC, it uses two functions together; encryption and hashing, and not with larger buffer like 64KiB
- when signed, it also does hashing for signing, so three functions
The case in check_special_filename is fixed. So, there is no cases in GnuPG where the value of out of range is silently converted to wrong value.
Remaining places are:
Jun 30 2023
Jun 29 2023
Except a case, all use cases of translate_sys2libc_fd_int is with a result of integer from command line argument.
Jun 28 2023
Add the check of digest algorithm for EdDSA in: rCd15fe6aac10b: cipher:ecc:fips: Only allow defined digest algo for EdDSA.
Changes are pushed.
No, there are use cases in GnuPG, where we specify the hash algo for signing, and our own tests/benchmark.c.
For the first issue, I added a check in: rCf65c30d470f5: cipher:ecc:fips: Reject use of SHAKE when it's ECDSA with RFC6979.
Jun 27 2023
We need to keep the gpgtar part of commit in rG2756147e392c: gpg,sm,tools: Use string for option --*-fd..
The changes are intrusive to other implementations (POSIX and Windows 32-bit).
So, I revert the changes of replacing translate_sys2libc_fd_int.
Jun 26 2023
I don't argue about the technical necessity for the change. I agree the fact it works (without such changes).
Jun 23 2023
Fixed in master.
Pushed a change in master.
Applied.
Jun 22 2023
I found the case of X.509, which also uses fixed length output for RSA-PSS and ECDSA: https://www.rfc-editor.org/rfc/rfc8692.html
The use cases are:
- oPassphraseFD for gpgsm, gpg
- oStatusFD for gpg-auth, gpg-wks-client, gpg-card, gpg-pair-tool, gpgtar, gpgconf, gpgsm, gpg, gpgv
- oLoggerFD for gpgsm, gpg, gpgv
- oAttributeFD for gpg
- oCommandFD for gpg
- oOverrideSessionKeyFD for gpg