Handle krb5 libraries separately and make sure only libssl.so depends
[openssl.git] / apps / ecparam.c
index 71ae9e7d9b37d599404e8f18aeae073bc34a84d7..010e214e5711bb616ea08ff24a979333cf30f9ae 100644 (file)
  * The Contribution is licensed pursuant to the OpenSSL open source
  * license provided above.
  *
- * In addition, Sun covenants to all licensees who provide a reciprocal
- * covenant with respect to their own patents if any, not to sue under
- * current and future patent claims necessarily infringed by the making,
- * using, practicing, selling, offering for sale and/or otherwise
- * disposing of the Contribution as delivered hereunder 
- * (or portions thereof), provided that such covenant shall not apply:
- *  1) for code that a licensee deletes from the Contribution;
- *  2) separates from the Contribution; or
- *  3) for infringements caused by:
- *       i) the modification of the Contribution or
- *      ii) the combination of the Contribution with other software or
- *          devices where such combination causes the infringement.
- *
  * The elliptic curve binary polynomial software is originally written by 
  * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories.
  *
@@ -396,7 +383,26 @@ bad:
 
        if (curve_name != NULL)
                {
-               int nid = OBJ_sn2nid(curve_name);
+               int nid;
+
+               /* workaround for the SECG curve names secp192r1
+                * and secp256r1 (which are the same as the curves
+                * prime192v1 and prime256v1 defined in X9.62)
+                */
+               if (!strcmp(curve_name, "secp192r1"))
+                       {
+                       BIO_printf(bio_err, "using curve name prime192v1 "
+                               "instead of secp192r1\n");
+                       nid = NID_X9_62_prime192v1;
+                       }
+               else if (!strcmp(curve_name, "secp256r1"))
+                       {
+                       BIO_printf(bio_err, "using curve name prime256v1 "
+                               "instead of secp256r1\n");
+                       nid = NID_X9_62_prime256v1;
+                       }
+               else
+                       nid = OBJ_sn2nid(curve_name);
        
                if (nid == 0)
                        {
@@ -692,7 +698,7 @@ end:
        if (group != NULL)
                EC_GROUP_free(group);
        apps_shutdown();
-       EXIT(ret);
+       OPENSSL_EXIT(ret);
 }
 
 int ecparam_print_var(BIO *out, BIGNUM *in, const char *var,