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:   03-Jun-2010 17:52:13
  Branch: HEAD                             Handle: 2010060315521200

  Modified files:
    rpm/rpmio               rpmgc.c

  Log:
    - gc: hardwire nbits=256 ECDSA parameters generating keypairs. total hack.
    - gc: set pubkey_algoN lazily with sign/generate methods.

  Summary:
    Revision    Changes     Path
    2.29        +15 -1      rpm/rpmio/rpmgc.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmgc.c
  ============================================================================
  $ cvs diff -u -r2.28 -r2.29 rpmgc.c
  --- rpm/rpmio/rpmgc.c 1 Jun 2010 22:00:28 -0000       2.28
  +++ rpm/rpmio/rpmgc.c 3 Jun 2010 15:52:12 -0000       2.29
  @@ -364,6 +364,10 @@
   {
       rpmgc gc = dig->impl;
       int rc;
  +pgpDigParams pubp = pgpGetPubkey(dig);
  +pgpDigParams sigp = pgpGetSignature(dig);
  +dig->pubkey_algoN = _pgpPubkeyAlgo2Name(pubp->pubkey_algo);
  +dig->hash_algoN = _pgpHashAlgo2Name(sigp->hash_algo);
   
       /* Sign the hash. */
       gc->err = rpmgcErr(gc, "gcry+pk_sign",
  @@ -383,9 +387,10 @@
   int rpmgcGenerate(pgpDig dig)
        /*...@*/
   {
  -    pgpDigParams pubp = pgpGetPubkey(dig);
       rpmgc gc = dig->impl;
       int rc;
  +pgpDigParams pubp = pgpGetPubkey(dig);
  +dig->pubkey_algoN = _pgpPubkeyAlgo2Name(pubp->pubkey_algo);
   
   /* XXX FIXME: gc->{key_spec,key_pair} could be local. */
   /* XXX FIXME: gc->qbits w DSA? curve w ECDSA? other params? */
  @@ -415,12 +420,21 @@
                        gc->nbits));
        break;
       case PGPPUBKEYALGO_ECDSA:
  +#ifdef       DYING
        gc->err = rpmgcErr(gc, "gc->key_spec",
                gcry_sexp_build(&gc->key_spec, NULL,
                        gc->in_fips_mode
                            ? "(genkey (ECDSA (nbits %d)))"
                            : "(genkey (ECDSA (nbits %d)(transient-key)))",
                        gc->nbits));
  +#else
  +     gc->err = rpmgcErr(gc, "gc->key_spec",
  +             gcry_sexp_build(&gc->key_spec, NULL,
  +                     gc->in_fips_mode
  +                         ? "(genkey (ECDSA (nbits 3:256)(curve prime256v1)))"
  +                         : "(genkey (ECDSA (nbits 3:256)(curve 
prime256v1)(transient-key)))",
  +                     gc->nbits));
  +#endif
        break;
       default:
   assert(0);
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                [email protected]

Reply via email to