(note: -O2 is added only for compiling powerpc vector implementation files)
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Feb 24 2022
I added check to configure.ac for missing -O flag and tests with -O2. If adding -O2 does not help, then powerpc vector implementations wont be build at all.
Thanks. All my tests work now.
Cool. I did some quick tests with 2.2 on my pretty old X220 and it really makes sense to apply the patch there as well.:
Feb 23 2022
It was the bug of generating AEAD packet, which does:
Sorry for pushing immature fix. I located the cause, but I didn't have enough concentration for fix.
Feb 22 2022
Just more background what I'm doing with these tests. I started testing with set of different sized test files (generated from urandom) to detect any bugs in my changes, which try to reduce amount of memory copies in iobuf_read/iobuf_write. Size ranges for these test-files are 0...17408, 32256...66560 and 130560...132096 bytes. These files are encrypted with different settings (public key/symmetric/cfb/ocb/different algos) and then decrypted and decrypted file compared to original.
I tested the fix. It appears to break OCB encrypting files shorter than 65515 bytes:
$ gpg --batch --symmetric --passphrase=bug --output=enc_065514.gpg --rfc4880bis --force-aead --cipher-algo AES128 --compress-algo none plain_065514 $ ls -laF *065514* -rw-rw-r-- 1 jussi jussi 100 Feb 22 18:51 enc_065514.gpg -rw-rw-r-- 1 jussi jussi 65514 Feb 22 18:42 plain_065514 $ sha256sum plain_065514 5711955703f4d96f510ad5a660c3ccd0d01f0b2dd2561ba6586159ad941cbcde plain_065514 $ gpg --batch --decrypt --passphrase=bug --output=- enc_065514.gpg | sha256sum gpg: AES.OCB encrypted session key gpg: encrypted with 1 passphrase e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -
@ikloecker thanks for the hint (At first it looked like a different defect.)
Feb 21 2022
This has already been fixed: T5711: Kleopatra: Keyserver config does not fallback to default.
In T5848#155277, @bernhard wrote:As soon as I change the value and check the "dirmngr"file, it is overwriten with the "keyserver hkps://" value again.
(I hope only if you completely delete it, as it should keep any other value and write it to file.)
As soon as I change the value and check the "dirmngr"file, it is overwriten with the "keyserver hkps://" value again.
@bernhard when I close Kleopatra and stop the its task by the task manager, then the value remains. But as long as I do not change the default value to an other value in "Settings" -> "Configure Kleopatra". As soon as I change the value and check the "dirmngr"file, it is overwriten with the "keyserver hkps://" value again. I think, this is not the expected default value, is it?
@werner the main issue here, that Hakan has found a usability problem:
Actually all changes Kleopatra does go through gpgconf. Thus is is normal that gpgconf overwrites things.
When I overwrite the default value "hkps://keyserver.ubuntu.com" with another value in "Settings" -> "Configure Kleopatra" once and click "Apply or OK" and delete this new value again, then Kleopatra does not insert the default value to the necessary place again.
Feb 20 2022
Thanks! This plugin has been around for a long time, and this is one aspect I inherited from the original code. I'll look into reworking it to use the status output.
Try with hkp:// - I assume that you are missing the new Lets Encrypt CA certificates
Why are you using the log output for scripting? This is not its intended use. You need to use --status-fd. Log output is purely for human consumption it not a stable API. BTW, --fixed-list-mode has gone ages ago but it does not harm.
Feb 18 2022
The user who made the first report about this issue, it could help: Forum Wald
We (@hakan-int and myself) saw the problematic behaviour in one setting. It was a VM where Gpg4win had been installed, deinstalled and reinstalled again. We still try to find out how to reliably recreate the situation and what is the difference between a working and a non-working case.
I suspected that it would be listed by gpg --dump-options, but I didn't think about autocompletion cleverly using it. I apologize.
How does the user know about the feature in the first place, other than reading the source code or searching the executable for "hidden" command-line flags?
There is another hacker working on finishing it. I only provided the framework.
@werner will have to answer why he added the unfinished code. My guess is that he wanted to prevent it from being lost on his computer. I would probably have deactivated the code as long as it's unfinished.
Yes. Sorry about that. We had multiple issues where attachments were hidden and not shown as attachments because they had a content-id but that content-id was not referenced in a way that outlook shows.
Feb 17 2022
Ah! Sorry! Is there any reason the command-line flag made it to a release? How should the user know that the feature does not work, other than reading the bugtracker and source code?
You are trying to use unfinished code. See https://dev.gnupg.org/rGafe5fcda52e88438c7a7278117b2e03f510a9c1c. It's not really surprising that unfinished code doesn't work.
I tested encrypt two txt files with filename 1 and 2.txt and insert text: test 1 and test 2. Tararchive has been created successfull. Than i tested this Two txt files with a long name. See attached txt files, i send it already to you. Now by the first test Archive.tar.gpg.yqoirl with 0 Bytes was created.
Second test, the other archive.tar.gpg with 0 Bytes was created and gpgex hang.
It seems you have replaced the scdaemon module from GnuPG by a 3rd party module (which exhibits a version number 0.10.0) - this is not supported and you will of course run into errors.
What you uploaded are files with a length of zero bytes. That is not valid data. The hang should not happen of course.
It should not really hurt to query the scdaemon again after an import. We can do this in the background and users wont have to notice it in the general case where imports from others happen.
In https://wald.intevation.org/forum/forum.php?thread_id=2395&forum_id=21&group_id=11 "Kim Nilsson on 2022-02-15 16:48" reports that
Thank you for your suggestion.
I simplified the script not to use cmp: rC3c8b6c4a9cad: fips: Fix gen-note-integrity.sh script not to use cmp utility.
And I clarified the semantics of the integrity check.
Ah, right, I can get that added to the containers tomorrow.
I located the cause:
../../src/gen-note-integrity.sh: line 78: cmp: command not found
Yeah, please do issue a new release as soon as possible if you can, as otherwise downstream we're in an awkward position where we have to rebuild everything without a SONAME bump, then do it again once the release is out.
Feb 16 2022
@werner Please release a gpgme-1.17.1 with
diff --git a/configure.ac b/configure.ac index f6d4b50e..57e6ea2e 100644 --- a/configure.ac +++ b/configure.ac @@ -64,8 +64,8 @@ LIBGPGMEPP_LT_CURRENT=20 LIBGPGMEPP_LT_AGE=14 LIBGPGMEPP_LT_REVISION=0
That only seems to work in some configurations: https://gitlab.com/redhat-crypto/libgcrypt/libgcrypt-mirror/-/pipelines/472626834
The actual problem isn't the removed internal symbols, but
'method virtual QGpgME::KeyForMailboxJob* QGpgME::Protocol::keyForMailboxJob() const' has some sub-type changes:
the vtable offset of method virtual QGpgME::KeyForMailboxJob* QGpgME::Protocol::keyForMailboxJob() const changed from 28 to 31
note that this is an ABI incompatible change to the vtable of class QGpgME::ProtocolKMail calls keyForMailboxJob(), but because of the changed index in the vtable it called addUserIDJob() which ultimately caused the crash.
Why can't we hide internal symbols in c++ as we are doing in other libs for ages? Were the internal symbols only accidentally exposed?
I pushed the change: rCa340e9803882: fips: More portable integrity check.
It uses .note.fdo.integrity section, not loaded onto memory.
It simplifies the logic, and switches to dladdr (from dladdr1).
Pushed the change which fixes the build with ld.gold.
rC9dcf9305962b: fips: Integrity check improvement, with only loadable segments.
Thank you for your suggestions, @werner.
I agree that we should not put much effort to develop our own methodology here; Too much effort may introduce possibility of unmaintainable code, which should be avoided for the particular purpose of "integrity".
Feb 15 2022
Sure. We'll bump the SONAME.
In T5834#154975, @ikloecker wrote:I assumed that changes to internal classes wouldn't break the ABI, but apparently the symbols were still exported. I'll keep this in mind for the next release.
FWIW, the internal class in question was completely rewritten. Since the damage has been done already, I'll close this report. We won't readd symbols to dead code. Sorry, for the inconvenience.
Folks, you are opening a can of worms. The only secure why to sign a file is to have a detached signature. That is often non-practical and thus putting the signature/MAC at one certain position and exempt just this one position from hashing is the next best alternative. Any more complicated rules will inevitably introduce security flaws. If a binary is stripped, it is a different binary than a non-stripped one, if it is linked with another linker, it is a different one. And that binary will even be able to figure this out and change behavior. Please keep it simple.
Thanks! Maybe it would be simpler to use dl_iterate_phdr(3) for this. I wasn't aware of the function, but a colleague just implemented a proof-of-concept of what you're proposing in https://gitlab.com/dueno/integrity-notes.
I assumed that changes to internal classes wouldn't break the ABI, but apparently the symbols were still exported. I'll keep this in mind for the next release.
I am going to apply https://gitlab.com/redhat-crypto/libgcrypt/libgcrypt-mirror/-/commit/64ccc25c4b4a2c8c4e13e7e37ff1c8c60a3d8401
And consider adding the code to limit hashing content (from start of the file to end of data section).
Guess why GnuPG has its own Tor aware resolver ;-) To debug this kind of stuff you need to debug dirmngr, by adding for example
Feb 14 2022
Found it: I did not initialize gpgme_op_interact's last parameter out with gpgme_data_new. The error is now gone.
Good to hear the cause.