pike.git / src / post_modules / Nettle / hogweed.cmod

version» Context lines:

pike.git/src/post_modules/Nettle/hogweed.cmod:65:    *! The value g, the generator.    *! @elem Gmp.mpz 3    *! The value y, the public value.    *! @elem Gmp.mpz 4    *! The value x, the private value.    *! @endarray    */   PIKEFUN array(object(Gmp.mpz))    dsa_generate_keypair(int p_bits, int q_bits, function(int(0..):string(0..255)) rnd)   { - #ifdef HAVE_NETTLE_DSA_COMPAT_H + #ifdef HAVE_NETTLE_DSA_PARAMS_INIT    /* Nettle 3.0 or later. */    struct dsa_params params;    mpz_t pub;    mpz_t key;       dsa_params_init(&params);       if (!dsa_generate_params(&params, rnd, random_func_wrapper,    NULL, NULL, p_bits, q_bits)) {    Pike_error("Illegal parameter value.\n");
pike.git/src/post_modules/Nettle/hogweed.cmod:123:    }       push_bignum((MP_INT *)&pub.p);    push_bignum((MP_INT *)&pub.q);    push_bignum((MP_INT *)&pub.g);    push_bignum((MP_INT *)&pub.y);    push_bignum((MP_INT *)&key.x);       dsa_private_key_clear(&key);    dsa_public_key_clear(&pub); - #endif + #endif /* HAVE_NETTLE_DSA_PARAMS_INIT */       f_aggregate(5);    stack_pop_n_elems_keep_top(args); /* Remove p_bits, q_bits and rnd. */   }      /*! @decl array(object(Gmp.mpz)) @    *! rsa_generate_keypair(int bits, int e, @    *! function(int(0..):string(0..255)) rnd)    *!    *! Generates an RSA key pair with a @[bits] sized modulus (n), using
pike.git/src/post_modules/Nettle/hogweed.cmod:180:    push_bignum((MP_INT *)&key.p);    push_bignum((MP_INT *)&key.q);       rsa_private_key_clear(&key);    rsa_public_key_clear(&pub);       f_aggregate(4);    stack_pop_n_elems_keep_top(args); /* Remove bits, e and rnd. */   }    - #ifdef HAVE_NETTLE_DSA_COMPAT_H + #ifdef HAVE_NETTLE_DSA_PARAMS_INIT      /*! @class DH_Params    *!    *! Diffie-Hellman Parameters.    */   PIKECLASS DH_Params   {    CVAR struct dsa_params params;       INIT {
pike.git/src/post_modules/Nettle/hogweed.cmod:314:    mpz_clear(key);    mpz_clear(pub);       f_aggregate(2);    }   }      /*! @endclass    */    - #endif + #endif /* HAVE_NETTLE_DSA_PARAMS_INIT */      #ifdef HAVE_NETTLE_ECDSA_H   #include <nettle/ecc-curve.h>      #include <nettle/ecc.h>      #include <nettle/ecdsa.h>      /*! @class ECC_Curve    *!