Re: [Rpm-maint] [rpm-software-management/rpm] RFE: add support for SHA-3 (Issue #3436)

2024-11-08 Thread Panu Matilainen

Nothing in rpm v6 depends on SHA-3 so this isn't timing critical for us, 
it's more of a "HDTV-ready" type of thing :smile: 

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/3436#issuecomment-2464007538
You are receiving this because you are subscribed to this thread.

Message ID: 

___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Fixes + cleanups to rpmkeys manual (PR #3433)

2024-11-08 Thread Michal Domonkos
Merged #3433 into master.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/3433#event-15208158856
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Move installed gpg keys to the currently configured storage (Issue #3347)

2024-11-08 Thread Panu Matilainen

Yes, gpg-pubkeys do survive rpmdb --rebuild currently. But they don't get 
reimported so they stay in the short id mode.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/3347#issuecomment-2464573783
You are receiving this because you are subscribed to this thread.

Message ID: 

___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Move installed gpg keys to the currently configured storage (Issue #3347)

2024-11-08 Thread Panu Matilainen

For the db, I guess you could basically create an empty rpmdb in an alternative 
path where you put them temporarily.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/3347#issuecomment-2464580389
You are receiving this because you are subscribed to this thread.

Message ID: 

___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Move installed gpg keys to the currently configured storage (Issue #3347)

2024-11-08 Thread Florian Festi

Hmm, the question is on how to do that in a save way. E.g. for the database 
backend there is no clean slate to start from. We ofc could remove all 
gpgpubkey packages and then add the loaded keys back. But that leaves things 
very vulnerable inbetween.

The file based backends can at least save stuff elsewhere by manipulating 
`%_keyringpath`.

Hmm, with the key store in the rpmdb directory does that survive an rpmdb 
--rebuild?

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/3347#issuecomment-2464512982
You are receiving this because you are subscribed to this thread.

Message ID: 

___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Move installed gpg keys to the currently configured storage (Issue #3347)

2024-11-08 Thread Panu Matilainen

Oh, that. No idea.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/3347#issuecomment-2464708417
You are receiving this because you are subscribed to this thread.

Message ID: 

___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


[Rpm-maint] [rpm-software-management/rpm] Implement openpgp.cert.d based keystore (PR #3437)

2024-11-08 Thread Florian Festi
Refactor code from the fs backend into shared helper functions

This does implement the layout on the file system and the write lock of the 
openpgp.cert.d proposal according to
https://www.ietf.org/archive/id/draft-nwjw-openpgp-cert-d-00.html but not the 
Trust root, Petname mapping or Trusted introducers.

This still is a mess of C and C++ style strings that we want to clean up later 
by adding C++ string based path handling and may be using the filesystem C++ 
library.

Resolves:  #3341
You can view, comment on, or merge this pull request online at:

  https://github.com/rpm-software-management/rpm/pull/3437

-- Commit Summary --

  * Implement openpgp.cert.d based keystore

-- File Changes --

M lib/keystore.cc (178)
M lib/keystore.hh (7)
M lib/rpmts.cc (2)
M tests/rpmsigdig.at (89)

-- Patch Links --

https://github.com/rpm-software-management/rpm/pull/3437.patch
https://github.com/rpm-software-management/rpm/pull/3437.diff

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/3437
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Move installed gpg keys to the currently configured storage (Issue #3347)

2024-11-08 Thread Florian Festi

Should have worded this better: Do the fs backend keys survive a rpmdb 
--rebuild?

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/3347#issuecomment-2464689314
You are receiving this because you are subscribed to this thread.

Message ID: 

___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Implement openpgp.cert.d based keystore (PR #3437)

2024-11-08 Thread Neal H. Walfield
@nwalfield commented on this pull request.



>  
-if (replace) {
-   rasprintf(&tmppath, "%s.new", path);
-   unlink(tmppath);
+rc = write_key_to_disk(key, dirstr, keyfmt, replace, flags);
+
+if (!rc && replace) {
+   /* find and delete the old pubkey entry */

I'm a bit concerned about this.  OpenPGP certificates are mostly append-only 
data structures. To understand why, imagine that the certificate is revoked, 
and the revocation certificate is stored locally.  Then some process comes 
along and updates the certificates, but it doesn't have the revocation 
certificate for some reason.  The revocation certificate will now be deleted, 
and rpm may start relying on the revoked certificate again.

So, from my perspective, the correct thing to do here is to merge the existing 
data with the new data.

Can you explain your thought process here and what you are trying to accomplish?

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/3437#pullrequestreview-2423810811
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Fixes + cleanups to rpmkeys manual (PR #3433)

2024-11-08 Thread Michal Domonkos
@dmnks pushed 1 commit.

7627bd92182616ac0568c44dab4b1c00a559a56b  fixup! Fixes + cleanups to rpmkeys 
manual

-- 
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/3433/files/6bec5fc3de53e8885a769c36b498e4b824e112df..7627bd92182616ac0568c44dab4b1c00a559a56b
You are receiving this because you are subscribed to this thread.

Message ID: 

___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Fixes + cleanups to rpmkeys manual (PR #3433)

2024-11-08 Thread Michal Domonkos
@dmnks approved this pull request.

LGTM, thanks Neal for looking, too! I've just fixed up a lonely opening square 
bracket before the `--delete` argument (which is actually mandatory).



-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/3433#pullrequestreview-2423136893
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Fixes + cleanups to rpmkeys manual (PR #3433)

2024-11-08 Thread Michal Domonkos
@dmnks pushed 1 commit.

42a192cde8b8d7bcb784a09520c9094f5325f2ca  fixup! Fixes + cleanups to rpmkeys 
manual

-- 
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/3433/files/7627bd92182616ac0568c44dab4b1c00a559a56b..42a192cde8b8d7bcb784a09520c9094f5325f2ca
You are receiving this because you are subscribed to this thread.

Message ID: 

___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Fixes + cleanups to rpmkeys manual (PR #3433)

2024-11-08 Thread Michal Domonkos
@dmnks pushed 1 commit.

11794c9ab1b7379ecdc1c542fe6abbc68ad1a004  fixup! Sanitize rpmsign 
--addsign/--delsign output

-- 
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/3433/files/42a192cde8b8d7bcb784a09520c9094f5325f2ca..11794c9ab1b7379ecdc1c542fe6abbc68ad1a004
You are receiving this because you are subscribed to this thread.

Message ID: 

___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Fixes + cleanups to rpmkeys manual (PR #3433)

2024-11-08 Thread Michal Domonkos

One more typo fixup :smile: 

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/3433#issuecomment-2464202384
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Fixes + cleanups to rpmkeys manual (PR #3433)

2024-11-08 Thread Michal Domonkos

I've autosquashed the fixup commit on top and will merge this once the CI 
finishes. This is the fixup patch I've applied, just for full transparency:

```diff
diff --git a/docs/man/rpmkeys.8.md b/docs/man/rpmkeys.8.md
index e7993e52c..093a91606 100644
--- a/docs/man/rpmkeys.8.md
+++ b/docs/man/rpmkeys.8.md
@@ -25,7 +25,7 @@ The general forms of rpm digital signature commands are
 
 **rpmkeys** **\--import** *PUBKEY \...*
 
-**rpmkeys** **\--delete** \[*FINGERPRINT \...*
+**rpmkeys** **\--delete** *FINGERPRINT \...*
 
 **rpmkeys** {**-K\|\--checksig**} *PACKAGE\_FILE \...*
 
@@ -53,7 +53,7 @@ The fingerprint is the handle used for all operations on the 
keys.
 
 Output the key(s) using an ASCII-armor encoding.
 
-Exporting allows inspectecting the data with specialized tools, such
+Exporting allows for inspecting the data with specialized tools, such
 as Sequoia or GnuPG. For example:
 
 **rpmkeys --export 771b18d3d7baa28734333c424344591e1964c5fc | sq inspect **
```

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/3433#issuecomment-2464215737
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Implement openpgp.cert.d based keystore (PR #3437)

2024-11-08 Thread Florian Festi
@ffesti commented on this pull request.



>  
-if (replace) {
-   rasprintf(&tmppath, "%s.new", path);
-   unlink(tmppath);
+rc = write_key_to_disk(key, dirstr, keyfmt, replace, flags);
+
+if (!rc && replace) {
+   /* find and delete the old pubkey entry */

The patch obscures that this is actually old code. This is about converting 
from the old (short keyids based) file names to new (fingerprint based) 
filenames. Here we are just deleting the old file which is now redundant.

The merging of the keys does happen - it just doesn't happen here.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/3437#discussion_r1834493385
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Implement openpgp.cert.d based keystore (PR #3437)

2024-11-08 Thread Panu Matilainen
@pmatilai commented on this pull request.



>  }
 
-if (rpmMkdirs(rpmtxnRootDir(txn), "%{_keyringpath}")) {
+free(dir);
+return rc;
+}
+
+/*/
+
+static rpmRC acquire_write_lock(rpmtxn txn)

The txn handle *is the lock*, that's the whole point of those things. There's 
no other locking needed.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/3437#pullrequestreview-2423918402
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Implement openpgp.cert.d based keystore (PR #3437)

2024-11-08 Thread Florian Festi
@ffesti commented on this pull request.



>  }
 
-if (rpmMkdirs(rpmtxnRootDir(txn), "%{_keyringpath}")) {
+free(dir);
+return rc;
+}
+
+/*/
+
+static rpmRC acquire_write_lock(rpmtxn txn)

I know. But the standard requires a lockfile on disk as part of the 
openpgp.cert.d format. If we want other tools to be able to read it we should 
try to adhere to that. 

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/3437#discussion_r1834485302
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Implement openpgp.cert.d based keystore (PR #3437)

2024-11-08 Thread Neal H. Walfield
@nwalfield commented on this pull request.



>  
-if (replace) {
-   rasprintf(&tmppath, "%s.new", path);
-   unlink(tmppath);
+rc = write_key_to_disk(key, dirstr, keyfmt, replace, flags);
+
+if (!rc && replace) {
+   /* find and delete the old pubkey entry */

Thanks for the clarification!

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/3437#discussion_r1834501729
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint