RPM now considers weak dependencies during the transaction ordering. However
weak dependencies were sometimes also used as a way to actually break the
dependency loops between the packages.
For that reason the transaction ordering algorithm should break dependency
loops at weak dependencies if
It mostly does. There is no case where it could be triggered in the current
code anymore. So I am ok with it as is.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/129#issu
t8m approved this pull request.
This looks good and it simplifies the patch, there is no point in using OpenSSL
allocators for memory that is not later freed inside OpenSSL.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
t8m commented on this pull request.
> +switch (num) {
+case 0:
+if (!bn) {
+bn = sig->bn = BN_new();
+}
+if (!bn) return 1;
+
+/* Create a BIGNUM from the signature pointer.
+ Note: this assumes big-endian data as required
+
t8m commented on this pull request.
> +int DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s)
+{
+if (!sig) return 0;
+
+if (r) {
+sig->r = r;
+}
+
+if (s) {
+sig->s = s;
+}
+
+return 1;
+}
+#endif /* HAVE_DSA_SIG_SET0 */
+
No, I mean when you assign the si
t8m commented on this pull request.
> +EVP_PKEY_free(key->evp_pkey);
+key->evp_pkey = NULL;
+RSA_free(rsa);
+}
+
+return 1;
+}
+
+static int pgpSetKeyMpiRSA(pgpDigAlg pgpkey, int num, const uint8_t *p)
+{
+size_t mlen = pgpMpiLen(p) - 2;
+struct pgpDigKeyR
t8m commented on this pull request.
> +int DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s)
+{
+if (!sig) return 0;
+
+if (r) {
+sig->r = r;
+}
+
+if (s) {
+sig->s = s;
+}
+
+return 1;
+}
+#endif /* HAVE_DSA_SIG_SET0 */
+
In above functions you do not rel
t8m requested changes on this pull request.
The various _set0_ functions you add for compatibility with OpenSSL 1.0.2 do
not properly handle multiple calls of the same function on the object - the old
references are not freed. I understand that in the current patch this probably
isn't a problem
t8m commented on this pull request.
> +}
+
+int rpmDigestFinal(DIGEST_CTX ctx, void ** datap, size_t *lenp, int asAscii)
+{
+int ret;
+unsigned char *digest = NULL;
+unsigned int digestlen;
+
+if (ctx == NULL) return -1;
+
+digestlen = EVP_MD_CTX_size(ctx->md_ctx);
+diges