pkg-perl-maintainers team mailing list archive
-
pkg-perl-maintainers team
-
Mailing list archive
-
Message #04797
[Bug 2046154] Re: [MIR] libcryptx-perl (libmail-dkim-perl dependency)
Review for Source Package: libcryptx-perl
[Summary]
MIR team NACK until the constraint to resolve listed below are sorted out.
This does need a security review, but we are not there yet so I'll
not yet assign ubuntu-security
@Security - I feel there likely is already a lib doing Ed25519 PK operations
for perl, but failed to find it. Do you happen to know?
List of specific binary packages to be promoted to main: libcryptx-perl
Specific binary packages built, but NOT to be promoted to main: n/a
Required TODOs:
#1 - This duplicated all code in a lib that is itself not in main
They diverged, this package covers a zillion of crypto
funtions and we'd only need one.
Please read through below findings and give it a shot at looking
to resolve it via one of the alternatives (at the end) or something new
options you might bring up.
Come to the MIR meeting with whatever you have found, let us see if anyone
else knows a better option.
[Rationale, Duplication and Ownership]
OK:
- There is no other package in main providing the same functionality.
- A team is committed to own long term maintenance of this package.
- The rationale given in the report seems valid and useful for Ubuntu
Problem:
- In regard to crypto libs you want as few as possible and them being good.
I remember explicitly not wanting tomcrypt back in (LP: #1744072) and
changing dependencies to accomodate that.
Most of libcrypt-* also is in universe just e.g. libcrypt-openssl-rsa-perl
is in main.
The two things that libmail-dkim-perl uses are:
lib/Mail/DKIM/PublicKey.pm:17:use Crypt::OpenSSL::RSA;
lib/Mail/DKIM/PublicKey.pm:18:use Crypt::PK::Ed25519;
lib/Mail/DKIM/PrivateKey.pm:18:use Crypt::OpenSSL::RSA;
lib/Mail/DKIM/PrivateKey.pm:19:use Crypt::PK::Ed25519;
Of those Crypt::OpenSSL::RSA is from the mentioned libcrypt-openssl-rsa-perl
which is in main.
So only https://metacpan.org/pod/Crypt::PK::Ed25519 is from libcryptx-perl.
As the name suggests it uses it for Ed25519 public key operations, I failed
to find anything but
https://metacpan.org/dist/Crypt-Ed25519/source/Ed25519.pm
https://www.example-code.com/perl/jwt_create_ed25519.asp
Which both are worse.
I can't overcome the feeling that I'm just not enough into perl, but I
feel that might already be part of some already-in-main lib for perl.
I'll put an extra note for the security team if they happen to know.
[Dependencies]
OK:
- no other Dependencies to MIR due to this
all in main already: libcommon-sense-perl libjson-perl
libjson-xs-perl libtypes-serialiser-perl
Note: do not fall for libmath-bigint-perl - while that is in universe
it is also (nowadays) provided by src:perl itself and therefore
not a component mismatch to resolve.
- no -dev/-debug/-doc packages that need exclusion
- No dependencies in main that are only superficially tested requiring
more tests now.
Problems:
- well, depends on how we want to look
It says it is libtomcrypt, but not linking to it.
It is all local C code
[Embedded sources and static linking]
OK:
- no static linking
- does not have unexpected Built-Using entries
- not a go package, no extra constraints to consider in that regard
- not a rust package, no extra constraints to consider in that regard
Problems:
- embedded source present
As I mentioned back in chrony (LP: #1744072) tomcrypt was not wanted in
main as it would have been yet another crypto lib.
Now this here is a full source copy (not just a bit) and it seems out
of sync:
diff -Naur libcryptx-perl/src/ltc/ libtomcrypt/src/ | diffstat
...
ciphers/blowfish.c | 260 +++++++++++++++++-----------------------------
ciphers/camellia.c | 26 ++--
ciphers/cast5.c | 57 ++++++----
ciphers/des.c | 631 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------
...
encauth/chachapoly/chacha20poly1305_memory.c | 26 ++--
encauth/chachapoly/chacha20poly1305_setiv.c | 16 ++
encauth/chachapoly/chacha20poly1305_setiv_rfc7905.c | 16 ++
encauth/ocb3/ocb3_test.c | 309 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
...
pk/ecc/ltc_ecc_points.c | 45 +++-----
pk/ecc/ltc_ecc_projective_add_point.c | 66 +++++------
pk/ecc/ltc_ecc_projective_dbl_point.c | 125 +++++++---------------
pk/ecc/ltc_ecc_verify_key.c | 59 ----------
pk/ed25519/ed25519_export.c | 31 -----
pk/ed25519/ed25519_import.c | 35 ------
pk/ed25519/ed25519_import_pkcs8.c | 28 ----
...
516 files changed, 17814 insertions(+), 18236 deletions(-)
Picking one random one showed positively, that the copied libtomcrypt code
in libcryptx-perl is more up to date than libtomcrypt itself.
- fix https://github.com/libtom/libtomcrypt/commit/c5d7bfb2ccb6b8aeebb25b117bdf4d9ce049d2b8
- present in master https://github.com/libtom/libtomcrypt/blame/develop/src/ciphers/cast5.c
- present in libcryptx-perl
- but not present in libtomcrypt-1.18.2 as there was no release for 5 years
- ... I mean just ... libcryptx-perl does it well but based on something
not releasing and then still copying and ... I do not feel good about this.
Interestingly ed25519 (what we need libcryptx-perl for) doesn't even exist
in libtomcrypt. But since it is all munged together and we can only support
libcryptx-perl or not this is hard.
---
Aborting the review here until we have overcome what was found already.
This seems too much of a No to spend the extra time.
Options to overcome this IMHO:
- finding a perl lib doing ed25519 cleanly
And then change libmail-dkim-perl to use that
- separating the ed25519 functions from bin:libcryptx-perl
then let libmail-dkim-perl depend on libcryptx-perl-ed25519
and we'd only promote libcryptx-perl-ed25519 (if that code is ok)
- ...?
** Changed in: libcryptx-perl (Ubuntu)
Status: New => Incomplete
** Changed in: libcryptx-perl (Ubuntu)
Assignee: Christian Ehrhardt (paelzer) => Miriam España Acebal (mirespace)
--
You received this bug notification because you are a member of Debian
Perl Group, which is subscribed to libcryptx-perl in Ubuntu.
https://bugs.launchpad.net/bugs/2046154
Title:
[MIR] libcryptx-perl (libmail-dkim-perl dependency)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libcryptx-perl/+bug/2046154/+subscriptions
References