FWIW, here an example of warnings we use. Yes it starts with -Wall but there are a couple of more specific warnings and at a few places we even use pragmas to disable warnings. And it depends on the compiler version used.
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Sep 3 2020
Sep 2 2020
Aug 29 2020
Aug 28 2020
-Wall is not a good idea in general because it is too unspecific. This is why we have a list of useful warning and >warnings we ignore with gcc.
-Wall is not a good idea in general because it is too unspecific. This is why we have a list of useful warning and warnings we ignore with gcc.
I found the bug by compiling the package with C/C++ compiler clang and flag -Wall.
Fixed in gnupg and gpgme. it is not serious because that is just a failsafe check; libksba creates these strings and it does it correctly.
We have the same flaw in gnupg.
I mean:
diff --git a/common/utf8conv.c b/common/utf8conv.c index 7804dbfcd..bdab225a9 100644 --- a/common/utf8conv.c +++ b/common/utf8conv.c @@ -138,7 +138,7 @@ handle_iconv_error (const char *to, const char *from, int use_fallback) native encoding. Nowadays this seems to be the best bet in case of errors from iconv or nl_langinfo. */ active_charset_name = "utf-8"; - no_translation = 0; + no_translation = 1; use_iconv = 0; } }
Aug 27 2020
Aug 26 2020
Aug 25 2020
[These damned typos in commit messages ;-)]
It's pretty minor bug, it only matters for some strange scenario on Windows like:
(1) a user runs gpg --card-edit or gpg-card and keeps the user interaction for some reason (say, forgetting the terminal interaction), which keeps the pipe connection from gpg-agent to scdaemon
(2) While the pipe connection is used by the user interaction above, from another terminal, the user invokes gpg (say, gpg --decrypt) which uses socket connection from gpg-agent to scdaemon
I mean these uses of close:
diff --git a/scd/scdaemon.c b/scd/scdaemon.c index b7bbc0361..a6925eaf9 100644 --- a/scd/scdaemon.c +++ b/scd/scdaemon.c @@ -797,8 +797,8 @@ main (int argc, char **argv ) /* We run handle_connection to wait for the shutdown signal and to run the ticker stuff. */ handle_connections (fd); - if (fd != -1) - close (fd); + if (fd != GNUPG_INVALID_FD) + assuan_sock_close (fd); } else if (!is_daemon) { @@ -932,7 +932,7 @@ main (int argc, char **argv )
Aug 24 2020
if a user decided to use the Web Key Directory, this should be used instead of falling back to whatever has been configured (nothing else by default)
On the ml there was another request for this use case
Aug 19 2020
I's say we should not do anything but solve that along with the move of all fd/fp/sock/HANDLE stuff to gpgrt to solve this at one place. We need that anyway to properly support Windows64. We won't be abale to do this for 2.3, though.
Aug 14 2020
Fixed.
Aug 13 2020
Taking: Still does not work although now --quick-set-expire is used by gpgme.
Aug 11 2020
OpenPGP (RFC-4880) requires support for 3DES and SHA-1 thus you can't disable them. However, they are not used in practice because the key preference guarantee the use of more modern algorithms,
Aug 10 2020
Aug 9 2020
No more info was provided.
Jul 30 2020
Pushed modified patch to master and 2.2.
Jul 29 2020
That patch fixes the build problem I got into today when trying to build 2.3 for windows. So ? from me and please commit the patch as it is already required when assuan and gpgrt config no longer emit ws2_32 in their pgk-config --libs line.
Linking $(NETLIB) is required when the executable uses WSAStartup.
Jul 17 2020
I just learned that WSAStartup can be called multiple times. So, it doesn't cause any erroneous behavior which I had been afraid of.
Thanks for looking into this. However, I do not understand the problem behind it. Is it the need to link against the socket lib? 10 or 15 years ago things were more complicated because two TCP stacks were in use and you could use the modern one only if a certain service pack or Explorer version was installed. That might be the reasons for some of the peculiarities we have in the code.
Given the situation we have call of WSAStartup in assuan_sock_init (for Windows), the solution would be:
- Removal of call of WSAStartup in _init_common_subsystems
- Even though it is not needed for POSIX system and it is only needed to call WAStartup on Windows, calling assuan_sock_init from each application (including gpg, gpgsm, dirmngr/dirmngr-client, and tools/* which uses libassuan), would be the solution (not perfect one, though, because it allocates sock_ctx)
Sorry, I was confused by assuan_socket_ API and assuan_sock_ API.
Jul 16 2020
I don't see any error here. There is a trailing LF on the binary data which gpg rightfully complains about.
Here are the fixes:
diff --git a/common/init.c b/common/init.c index 073c5cd8a..dbdf40527 100644 --- a/common/init.c +++ b/common/init.c @@ -161,17 +161,6 @@ _init_common_subsystems (gpg_err_source_t errsource, int *argcp, char ***argvp) /* Try to auto set the character set. */ set_native_charset (NULL);
Call of WSAStartup in dirmngr/http.c is no problem, as we define HTTP_NO_WSASTARTUP.
Jul 9 2020
Jul 5 2020
Since this issue is what I came across when googling for gpg inspect revocation certificate, I thought I’d add what I found out:
Jun 18 2020
Jun 9 2020
Jun 3 2020
Done.
I bumped up the requirement to 1.25 because we also use error codes defined there. To be on the safe side with older distros I defined the missing error code instead of requiring 1.27.
Jun 2 2020
Change of gpg-agent for ECC-SOS
May 28 2020
Is there a blogpost or similar where the use of several smartcards following this improvement is explained to n00bs like me? :) For now all I find is this thread and some SE answers saying it does not work yet (https://security.stackexchange.com/questions/154702/gpg-encryption-subkey-on-multiple-smart-cards-issue) . If somebody could post a new answer on SE / write a small blog post or similar that would be great. Useful would be to have 1) from which versions and over is that available 2) how this works / how to use.
May 27 2020
In the SOS branch, rG1c4291c3951d: ecc-sos: Add special leading zero octet removal. should be reverted.
Instead, the S_KEY should be fixed up in read_key_file in findkey.c,
and merge_lists in protect.c.
(Then, no need to be fixed up in extract_private_key.)
Exactly same problem is there in libgcrypt.
In the definitions of curves, it uses negative constant internally in some specific places, but for other parts, we have same problems.
May 26 2020
I should concentrate the case of ECC, in particular, ECC with modern curves.
Removing leading zero from RSA/ECC/ELGamal assuming unsigned integer would result more work.
In libgcrypt, we have another problem of GCRYSEXP_FMT_ADVANCED formatting, which is used by gpg-agent of GnuPG 2.3 with name-value list.
Confusingly, in the SSH specification, it is signed MPI.
See RFC4251, for the definition of "mpint": https://tools.ietf.org/html/rfc4251#page-8
May 25 2020
There are more places for clean up in GnuPG.
While "MPI" in OpenPGP specification is based on unsigned integer, the default "MPI" handling of GnuPG/Libgcrypt is signed. This difference matters internally.
Formatting by "%m" with libgcrypt, it may result prefixed by 0x00 (so that it represents unsigned value, even if scanned as signed).
And because of this, existing private keys in private-keys-v1.d may have this leading zero-byte.
But the counting bits don't count this byte.
May 21 2020
Important interoperability issue:
OpenPGP implementations should implement:
- Recovery of leading zero octets for Ed25519 key handling (secret part) and Ed25519 signature
Better to paste directly:
# SOS representation # # Initially, it was intended as "Simply, Octet String", but # it is actually "Strange" Octet String. #
I wrote this:
May 18 2020
Okay, makes sense.
No, it is widely understood as a means for reproducible builds and specified at: https://reproducible-builds.org/docs/source-date-epoch/
SOURCE_DATE_EPOCH is NixOS specific?
May 17 2020
Well, I had simply accepted that the rule for defsincdate is always triggered. I looked a bit more into it, and the cause for triggering is that Nixpkgs patches dirmngr.texi, hence defsincdate is cleared by the rule above and the fallback behaviour is triggered.
But this also means my suggested patch wouldn't help here as the modification date of dirmngr.texi would be picked up.
Looking at the rules I do not understand why we have a problem here, the rule
I think an option to ignore certain files is a better way to do this. I'll give it a try.
May 7 2020
Your guess is correct, but as this hole "Wizard" thing uses Qt Regular expressions its not super quick fix without having to introduce new strings etc.
So I just reduced the length. The new key generation in Kleopatra is pending a rewrite anyway. Requires way too many clicks ATM.
May 4 2020
Thanks
Apr 30 2020
Yes, with current gnupg it works w/o problems. Well, unless systemd decided to remove the directory. There is a loginctl(1) way to avoid this.
Also I suppose the 2.1.20 version above is typo and 2.2.20 is actually meant.
Can you please clarify? Let's assume I am using current gnupg version (2.2.20) and /run/user/$UID exists. Everything should work seamlessly, should it?
You are still using the old way of having the sockets in ${GNUPGHOME:-~/.gnupg}. Since 2.2.13 we use
Apr 29 2020
Apr 13 2020
I can't find any places where it is interpreted as signed integer.
Apr 9 2020
I'm honestly surprised this isn't being given any sort of priority.
gnupg for windows is simply broken. Even Kleopatra, its supplied and designated key management application doesn't work re: keyserver communication.
Apr 3 2020
Pushed the changes.
Apr 2 2020
There is nothing spiteful about this other than your actions.
Please stop this and use the mailing list for such ramblings. Usually only one developer reads a bug report and thus you can't participate from the experience of others - use mailing lists - please.
We do not use Github.
Apr 1 2020
That are all development versions and they may require the latest changes from the repo of other libraries.
Sorry, if you use your own copy of GnuPG on GitHub, it is all up to you. We do not use Github.
Also see Issue #10, Add Travis testing in the GnuPG GitHub. The PR adds Travis testing to the entire GnuPG suite.
Applied the fix also to master with a comment to ebentually replace it with es_fopenmem.