RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Jeff Johnson
  Root:   /v/rpm/cvs                       Email:  [email protected]
  Module: rpm                              Date:   06-Jun-2010 01:31:20
  Branch: HEAD                             Handle: 2010060523312000

  Modified files:
    rpm/tests               trsa.c

  Log:
    - ssl: haul out a load of trash.

  Summary:
    Revision    Changes     Path
    1.24        +46 -53     rpm/tests/trsa.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/tests/trsa.c
  ============================================================================
  $ cvs diff -u -r1.23 -r1.24 trsa.c
  --- rpm/tests/trsa.c  5 Jun 2010 22:28:28 -0000       1.23
  +++ rpm/tests/trsa.c  5 Jun 2010 23:31:20 -0000       1.24
  @@ -672,7 +672,7 @@
   xx = randomGeneratorContextInit(&bc->rsa_rngc, randomGeneratorDefault());
   if (xx) failures++;
   
  -#ifdef       NOTYE
  +#ifdef       NOTYET
   rsakpInit(&bc->rsa_keypair);
   rsakpMake(&bc->rsa_keypair, &bc->rsa_rngc, bc->nbits);
   
  @@ -3438,6 +3438,18 @@
       gc->qbits = afkp->qbits;
   }
   #endif
  +#if defined(_RPMNSS_INTERNAL)
  +{   rpmnss nss = dig->impl;
  +    nss->nbits = afkp->nbits;
  +    nss->qbits = afkp->qbits;
  +}
  +#endif
  +#if defined(_RPMSSL_INTERNAL)
  +{   rpmssl ssl = dig->impl;
  +    ssl->nbits = afkp->nbits;
  +    ssl->qbits = afkp->qbits;
  +}
  +#endif
   
        /* Lookup & FIPS check. */
        if (pgpImplAvailablePubkey(dig, afkp->algo))
  @@ -4817,8 +4829,8 @@
       return t;
   }
   
  +#ifdef       NOTYET
   static BIO *bio_err = NULL;
  -
   static int rpmssl_cb(int p, int n, BN_GENCB *arg)
   {
       static char stuff[] = ".+*\n";
  @@ -4827,6 +4839,7 @@
       (void)BIO_flush(arg->arg);
       return 1;
   }
  +#endif
   
   static
   int rpmsslVerifyRSA(pgpDig dig)
  @@ -4916,8 +4929,6 @@
   if (ssl->rsa == NULL) return rc;
   #endif
   
  -fprintf(stderr, "\thash: %s\n", pgpHexStr(ssl->digest, ssl->digestlen));
  -
       maxn = RSA_size(ssl->rsa);
   
       nb = maxn - ssl->digestlen;
  @@ -4930,7 +4941,7 @@
       memcpy(hm + nb - sizeof(_asn1), _asn1, sizeof(_asn1));
       memcpy(hm + nb, ssl->digest, ssl->digestlen);
   
  -    ssl->rsahm = BN_bin2bn(hm, maxn, NULL);
  +ssl->rsahm = BN_bin2bn(hm, maxn, NULL);
   
       c = xmalloc(maxn);
       nb = RSA_private_encrypt((int)maxn, hm, c, ssl->rsa, RSA_NO_PADDING);
  @@ -4941,7 +4952,7 @@
   
       rc = (ssl->c != NULL);
   
  -if (1 || _pgp_debug < 0)
  +if (_pgp_debug < 0)
   fprintf(stderr, "<-- %s(%p) rc %d\t%s\n", __FUNCTION__, dig, rc, 
dig->pubkey_algoN);
   
       return rc;
  @@ -4953,31 +4964,23 @@
   {
       rpmssl ssl = dig->impl;
       int rc = 0;              /* assume failure. */
  -static int _num = 1024;
   static unsigned long _e = 0x10001;
  -    BIGNUM *bn = NULL;
  -    BN_GENCB cb;
  -int xx;
  +BIGNUM * bn = BN_new();
   
  -    ssl->rsa = RSA_new();
  -    if (ssl->rsa == NULL) goto exit;
  -
  -    bn = BN_new();
  -    if (bn == NULL) goto exit;
  -
  -    xx = BN_set_word(bn, _e);
  -    if (!xx) goto exit;
  +assert(bn);
  +assert(ssl->nbits);
   
  -    BN_GENCB_set(&cb, rpmssl_cb, bio_err);
  -    xx = RSA_generate_key_ex(ssl->rsa, _num, bn, &cb);
  -    if (!xx) goto exit;
  -
  -exit:
  -    if (bn) BN_free(bn);
  -
  -    rc = (ssl->rsa != NULL);
  +    if ((ssl->rsa = RSA_new()) != NULL
  +     && BN_set_word(bn, _e)
  +     && RSA_generate_key_ex(ssl->rsa, ssl->nbits, bn, NULL))
  +     rc = 1;
  +    if (!rc && ssl->rsa) {
  +     RSA_free(ssl->rsa);
  +     ssl->rsa = NULL;
  +    }
  +if (bn) BN_free(bn);
   
  -if (1 || _pgp_debug < 0)
  +if (_pgp_debug < 0)
   fprintf(stderr, "<-- %s(%p) rc %d\t%s\n", __FUNCTION__, dig, rc, 
dig->pubkey_algoN);
   
       return rc;
  @@ -5015,7 +5018,7 @@
       rc = DSA_do_verify(ssl->digest, (int)ssl->digestlen, ssl->dsasig, 
ssl->dsa);
       rc = (rc == 1);
   
  -if (1 || _pgp_debug < 0)
  +if (_pgp_debug < 0)
   fprintf(stderr, "<-- %s(%p) rc %d\t%s\n", __FUNCTION__, dig, rc, 
dig->pubkey_algoN);
   
       return rc;
  @@ -5037,7 +5040,7 @@
       ssl->dsasig = DSA_do_sign(ssl->digest, ssl->digestlen, ssl->dsa);
       rc = (ssl->dsasig != NULL);
   
  -if (1 || _pgp_debug < 0)
  +if (_pgp_debug < 0)
   fprintf(stderr, "<-- %s(%p) rc %d\t%s\n", __FUNCTION__, dig, rc, 
dig->pubkey_algoN);
   
       return rc;
  @@ -5049,33 +5052,20 @@
   {
       rpmssl ssl = dig->impl;
       int rc = 0;              /* assume failure. */
  -/* seed, out_p, out_q, out_g are taken from the updated Appendix 5 to
  - * FIPS PUB 186 and also appear in Appendix 5 to FIPS PIB 186-1 */
  -static unsigned char seed[20] = {
  -     0xd5,0x01,0x4e,0x4b,0x60,0xef,0x2b,0xa8,0xb6,0x21,0x1b,0x40,
  -     0x62,0xba,0x32,0x24,0xe0,0x42,0x7d,0xd3,
  -};
  -static const char rnd_seed[] = "string to make the random number generator 
think it has entropy";
  -BN_GENCB cb;
  -int counter;
  -unsigned long h;
  -int xx;
  -
  -RAND_seed(rnd_seed, sizeof rnd_seed);
  -
  -BN_GENCB_set(&cb, rpmssl_cb, bio_err);
   
  -ssl->dsa = DSA_new();
  -if (ssl->dsa == NULL) goto exit;
  +assert(ssl->nbits);
   
  -xx = DSA_generate_parameters_ex(ssl->dsa, 512, seed, 20, &counter, &h, &cb);
  -if (!xx) goto exit;
  -
  -DSA_generate_key(ssl->dsa);
  +    if ((ssl->dsa = DSA_new()) != NULL
  +     && DSA_generate_parameters_ex(ssl->dsa, ssl->nbits,
  +             NULL, 0, NULL, NULL, NULL)
  +     && DSA_generate_key(ssl->dsa))
  +     rc = 1;
  +    if (!rc && ssl->dsa) {
  +     DSA_free(ssl->dsa);
  +     ssl->dsa = NULL;
  +    }
   
  -exit:
  -rc = (ssl->dsa != NULL);
  -if (1 || _pgp_debug < 0)
  +if (_pgp_debug < 0)
   fprintf(stderr, "<-- %s(%p) rc %d\t%s\n", __FUNCTION__, dig, rc, 
dig->pubkey_algoN);
   
       return rc;
  @@ -5438,6 +5428,7 @@
   
   #if defined(_RPMBC_INTERNAL)
   if (pgpImplVecs == &rpmbcImplVecs) {
  +    bc->nbits = v->nbits;
   }
   #endif
   #if defined(_RPMGC_INTERNAL)
  @@ -5448,12 +5439,14 @@
   #endif
   #if defined(_RPMNSS_INTERNAL)
   if (pgpImplVecs == &rpmnssImplVecs) {
  +    nss->nbits = v->nbits;
       rpmnssLoadParams(dig, v->name);
   }
   #endif
   #if defined(_RPMSSL_INTERNAL)
   if (pgpImplVecs == &rpmsslImplVecs) {
       rpmssl ssl = dig->impl;
  +    ssl->nbits = v->nbits;
       ssl->nid = curve2nid(v->name);
   }
   #endif
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                [email protected]

Reply via email to