There is another customer request for this too.
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Fri, Dec 20
Thu, Dec 12
Mon, Dec 2
Gpg4win 4.4.0 has just been released. Creation of encrypted archives has been completely reworked with Gpg4win 4.3.0 already. I could create an encrypted archive containing the two files with GpgEX without problems.
Nov 25 2024
tested with Gpg4win-Beta-75++
Nov 14 2024
This is included in test installers since some time already.
This change is also used for VSD 3.3
Nov 7 2024
Fixed for all branches.
Nov 5 2024
If 7z is used to create a tarball that tarball is then 7z compressed. At least this is how I understand the case.
When gpgtar now tries to extract the file it sees a 7z file and thus emits the octal number warnings because it assumes a tarball (after decryption by gpg).
This problem was also reported at https://bugs.kde.org/show_bug.cgi?id=479567#c1
While reviewing this task I noticed that I wrote adding a -p option. This is non-sense, because -p is to preserve permissions at extract time; this is unrelated to the last modification time. Standard tar extract files and set the modification to the one given in the tarball - unless you use -m to use the current time. Thus this task is actually a bug and not a feature request. For backward compatibility this will be done only for gnupg26 for now.
This ticket is obsolete, we did some work on gpgtar since then. Should the issue still occur, please reopen or create a new ticket
Sep 25 2024
We won't do that for Windows.
Sep 20 2024
gpgme now checks for a SUCCESS status emitted by gpgtar when creating a signed and/or encrypted archive. If gpgtar is killed (or exits without emitting SUCCESS for some other reason) then the partially created archive is removed and Kleopatra reports a failure.
Sep 18 2024
Status messages on successful creation of signed & encrypted archive
2024-09-18 15:21:33 gpgme[3250.d47] _gpgme_io_read: check: [GNUPG:] PROGRESS gpgtar c 0 3<LF> 2024-09-18 15:21:33 gpgme[3250.d47] _gpgme_io_read: check: [GNUPG:] PROGRESS gpgtar s 0 62 B<LF>
Aug 26 2024
Because a user in https://mstdn.social/deck/@GnuPG/113011825339406300 did read the documentation, I had a look in the documentation and in other public definitions (e.g. https://www.gnu.org/software/tar/manual/html_node/Formats.html#Formats) and I can understand the questions of the user.
Aug 24 2024
gpgtar is compatible to PGP Desktop's format which they call ZIP. This is technically ustar with the most common extensions. Don't let us go into yet another TAR format discussion.
Apr 30 2024
Apr 17 2024
Nobody uses gpgtar for S/MIME
Mar 19 2024
What happens if you call gpgtar with --utf8-strings --cms additionally to the other options? And what happens if you pipe the archive to gpgtar's stdin?
Jan 5 2024
Oct 18 2023
The original issue was to unclear to analyse and it was likely meanwhile fixed. For the other issue see the follow up ticket.
I mean this would also be solved if we did not use qiodevicedataprovider but pass the filenames directly to gpg for single files, too. (can't remember the ticket number) but I don't want to do that right now.
In T6526#177082, @ikloecker wrote:The original issue was about creating an encrypted archive. This code doesn't use Qt anymore for writing the result file, but delegates this to gpgtar.
That sounds like a solid conclusion. I mean if errno is not set explicitly it is basically undefined which value it is, so maybe some other function set errno to no space left on device in that one case where it "worked".
The original issue was about creating an encrypted archive. This code doesn't use Qt anymore for writing the result file, but delegates this to gpgtar.
I've debugged Eva's problem and I think it's unrelated to the original problem, as it's specific to qt.
Oct 13 2023
As what I see is similar as what Andre saw, I'll describe it here. Please check if this is relevant.
After the above mentioned Ticket was resolved, I tried the exact same encryption in Kleopatra on the same Test-VM.
Sep 6 2023
That should be easy on Unix but on Windows we have the nul nul: and iirc also /dev/nul.
In T6556#175399, @werner wrote:@iklocker: Which gpg bug to you mean?
@iklocker: Which gpg bug to you mean?
Sep 1 2023
Thanks. For the record, done at https://lists.gnupg.org/pipermail/gnupg-users/2023-August/066692.html.
Aug 23 2023
It may be better to open a separate issue for the issue in gpg, so that it's not overlooked/forgotten when the issue in gpgtar is fixed.
That is intentional. If we are able to remove a file we do it. Solution for you is easy: gpg .... -o - </dev/null >/dev/null
That is intentional. If we are able to remove a file we do it. Solution for you is easy: gpg .... -o - </dev/null >/dev/null
This looks like the same problem I encountered in Gentoo's Portage. To unlock the binary package signing key, Portage will run the equivalent of gpg --homedir ... --digest-algo ... --local-user ... --output /dev/null /dev/null. If unlocking fails (due to e.g. wrong password), /dev/null is removed: https://bugs.gentoo.org/912808
Aug 17 2023
Yes, gpgtar emits a SUCCESS status. gpgme should probably check for this.
Aug 4 2023
Works for me.
Jul 12 2023
Normal priority to get the _1_ removed when no folder with the same name already exists in that location.
Strangely enough this does not happen on linux. Maybe related to the KMime changes we have there?
For S/MIME archives the output for e.g. testfolder.tar.gz.p7m is now named "testfolder.tar.gz_1_/testfolder" with the "_1_" even added if there is no "archive.tar.gz"
Jul 6 2023
works. So gpgtar obviously knows about the filenames now, too
Jun 26 2023
Closing since the problem doesn't seem to occur if the operation is canceled properly.
Sorry about that. I tested an old build which didn't call gpgme_cancel_async and therefore probably didn't properly close the channels. It seems to work if gpgme_cancel_async is called to cancel the operation.
This option is already used. Running pgrep -a gpg in a loop (and ignoring gpg-agent processes) I get:
Mo 26. Jun 11:29:11 CEST 2023 19111 gpgtar --batch --status-fd 60 --gpg-args --no-tty --gpg-args --charset=utf8 --gpg-args --enable-progress-filter --gpg-args --exit-on-status-write-error --gpg-args --display=:0 --gpg-args --ttyname=/dev/pts/37 --gpg-args --ttytype=xterm-256color --decrypt --directory /tmp/kleopatra-JqIiXu/src -- /home/ingo/dev/g10/src.tar.gpg 19112 gpg --batch --status-fd=60 --output - --decrypt --no-tty --charset=utf8 --enable-progress-filter --exit-on-status-write-error --display=:0 --ttyname=/dev/pts/37 --ttytype=xterm-256color -- /home/ingo/dev/g10/src.tar.gpg
Can you please test by adding --exit-on-status-write-error to the gpg invocation by gpgtar?
Jun 23 2023
Should be fixed.
Jun 22 2023
Due to the double fork in gpgme we won't get the exit code which gpgtar emits. Possible actions in a signal handler are also limited; in particular we can't use stdio or estream. The only option to print a status line would we by using write directly. However, this might mess with the libassuan buffering. Thus, it is not a good idea to pkill gpgtar. Same is true for gpg and gpgsm.
Jun 12 2023
In the past this was done by --set-filename in libkleopatrarc-win32.desktop. But I am happy if we close this and focus on T6530.
Which only works if gpgtar actually knows the input file name (which it will once T6530: GPGME / QGpgME Extend Archivejobs to accept input / output from a filename is done and used).
Jun 9 2023
Of course, those are different controllers. :-)
As I already had my testsetup open I recompiled with your change and I tested manually cancelling and letting it run into the disk full error. In both cases the temporary file was deleted and the job was cancelled :)
The processes should now be killed properly.
Please note that my test was not on an USB Device. I will keep this issue with your analysis and reopen a different one with my error and details on how to reproduce that one. Pretty sure it was disk full.
I don't think this is a regression or something we can do anything about. Note that we see the same thing also on the command line. Actually I have seen the very same thing pretty often with USB devices. Thus lowering priority.
We have seen this problem in the QA this week and could identify that this was a ERROR_FILE_INVALID (ec=1006,"The volume for a file has been externally altered so that the opened file is no longer valid"). We also noticed disk errors in the event logger but did not recorded them. The USB stick was not unplugged but merely used with VirtualBox.
Jan 19 2023
Release quite some time ago.
Mar 21 2022
No need for callbacks actually. We can do it in a simpler way. See commit rGe5ef5e3b914d5c8f0b841b078b164500ea157804
Feb 17 2022
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.
What you uploaded are files with a length of zero bytes. That is not valid data. The hang should not happen of course.
Jan 22 2022
Implemented extended headers for filenames and linknames (on Unix).
Jan 20 2022
The bug with the long filenames has been fixed but it is not yet released. Release will be in gpg4win 4.0.1 See T5754.
Jan 5 2022
Jan 3 2022
We have full Unicode support on the command line since 2.2.28 (2021-06-10)
Aug 13 2021
Jan 11 2021
We discussed this, the proper solution will be for gpgtar to accept unicode arguments on windows.
The problem is not with creation, that works. The problem is also not with files contained in the archive, they also work. The problem is the archive name. And that also seems to be correct in the way gpgtar extracts it as gpgtar successfully extracts the archive, but the created folder name has the broken character.
Jan 8 2021
I can't replicate this on the command line. Anyway option -T is only valid with --create. Further the archive format is specified to carry utf8 filenames; thus --utf8-strings won't have an effect on --extract. Are you sure that Kleopatra runs
gpgtar --create --utf-strings -T -
and you pass utf-8 encoded filenames on stdin?
Nov 25 2020
Works, I've tested with Kleopatra.
Sep 15 2020
Using a not yet existing directory is a security feature. The directory is created at a time the signature has not yet been verified and thus it would be too easy to trick a user into overwriting important data.
Sep 7 2020
Sep 5 2020
I will consider a -p option for gpgtar.