The branch master has been updated
       via  da5fac72b1cba5651b871902eea234e693cf01e5 (commit)
       via  972f67889b5a10c33dbc3d500cfa65b544e68b46 (commit)
      from  01e04f444dfa9c431976761e3c62d2db7c16ffa3 (commit)


- Log -----------------------------------------------------------------
commit da5fac72b1cba5651b871902eea234e693cf01e5
Author: Pauli <paul.d...@oracle.com>
Date:   Mon Sep 17 08:09:25 2018 +1000

    Add a compile time test to verify that openssl/rsa.h and complex.h can
    coexist.
    
    Reviewed-by: Tim Hudson <t...@openssl.org>
    Reviewed-by: Richard Levitte <levi...@openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/7233)

commit 972f67889b5a10c33dbc3d500cfa65b544e68b46
Author: Pauli <paul.d...@oracle.com>
Date:   Mon Sep 17 07:47:42 2018 +1000

    Use 'i' as parameter name not 'I'.
    
    The latter causes problems when complex.h is #included.
    
    Reviewed-by: Tim Hudson <t...@openssl.org>
    Reviewed-by: Richard Levitte <levi...@openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/7233)

-----------------------------------------------------------------------

Summary of changes:
 .gitignore                |  1 +
 crypto/rsa/rsa_meth.c     |  4 ++--
 doc/man3/RSA_meth_new.pod |  4 ++--
 include/openssl/rsa.h     |  4 ++--
 test/build.info           |  5 ++++-
 test/rsa_complex.c        | 27 +++++++++++++++++++++++++++
 6 files changed, 38 insertions(+), 7 deletions(-)
 create mode 100644 test/rsa_complex.c

diff --git a/.gitignore b/.gitignore
index d618cd6..1b0f25c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -59,6 +59,7 @@ Makefile
 /test/v3ext
 /test/versions
 /test/ossl_shim/ossl_shim
+/test/rsa_complex
 
 # Certain files that get created by tests on the fly
 /test/test-runs
diff --git a/crypto/rsa/rsa_meth.c b/crypto/rsa/rsa_meth.c
index f5880a7..def19f3 100644
--- a/crypto/rsa/rsa_meth.c
+++ b/crypto/rsa/rsa_meth.c
@@ -163,13 +163,13 @@ int RSA_meth_set_priv_dec(RSA_METHOD *meth,
 
     /* Can be null */
 int (*RSA_meth_get_mod_exp(const RSA_METHOD *meth))
-    (BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx)
+    (BIGNUM *r0, const BIGNUM *i, RSA *rsa, BN_CTX *ctx)
 {
     return meth->rsa_mod_exp;
 }
 
 int RSA_meth_set_mod_exp(RSA_METHOD *meth,
-                         int (*mod_exp) (BIGNUM *r0, const BIGNUM *I, RSA *rsa,
+                         int (*mod_exp) (BIGNUM *r0, const BIGNUM *i, RSA *rsa,
                                          BN_CTX *ctx))
 {
     meth->rsa_mod_exp = mod_exp;
diff --git a/doc/man3/RSA_meth_new.pod b/doc/man3/RSA_meth_new.pod
index 69ba9df..f210951 100644
--- a/doc/man3/RSA_meth_new.pod
+++ b/doc/man3/RSA_meth_new.pod
@@ -64,10 +64,10 @@ RSA_meth_get_multi_prime_keygen, 
RSA_meth_set_multi_prime_keygen
                                            unsigned char *to, RSA *rsa, int 
padding));
 
  /* Can be null */
- int (*RSA_meth_get_mod_exp(const RSA_METHOD *meth))(BIGNUM *r0, const BIGNUM 
*I,
+ int (*RSA_meth_get_mod_exp(const RSA_METHOD *meth))(BIGNUM *r0, const BIGNUM 
*i,
                                                      RSA *rsa, BN_CTX *ctx);
  int RSA_meth_set_mod_exp(RSA_METHOD *rsa,
-                          int (*mod_exp)(BIGNUM *r0, const BIGNUM *I, RSA *rsa,
+                          int (*mod_exp)(BIGNUM *r0, const BIGNUM *i, RSA *rsa,
                                          BN_CTX *ctx));
 
  /* Can be null */
diff --git a/include/openssl/rsa.h b/include/openssl/rsa.h
index a611b6a..a38ba12 100644
--- a/include/openssl/rsa.h
+++ b/include/openssl/rsa.h
@@ -456,9 +456,9 @@ int RSA_meth_set_priv_dec(RSA_METHOD *rsa,
                                            unsigned char *to, RSA *rsa,
                                            int padding));
 int (*RSA_meth_get_mod_exp(const RSA_METHOD *meth))
-    (BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx);
+    (BIGNUM *r0, const BIGNUM *i, RSA *rsa, BN_CTX *ctx);
 int RSA_meth_set_mod_exp(RSA_METHOD *rsa,
-                         int (*mod_exp) (BIGNUM *r0, const BIGNUM *I, RSA *rsa,
+                         int (*mod_exp) (BIGNUM *r0, const BIGNUM *i, RSA *rsa,
                                          BN_CTX *ctx));
 int (*RSA_meth_get_bn_mod_exp(const RSA_METHOD *meth))
     (BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
diff --git a/test/build.info b/test/build.info
index fa154f0..c0b8ece 100644
--- a/test/build.info
+++ b/test/build.info
@@ -26,7 +26,7 @@ INCLUDE_MAIN___test_libtestutil_OLB = /INCLUDE=main
   PROGRAMS_NO_INST=\
           versions \
           aborttest test_test \
-          sanitytest exdatatest bntest \
+          sanitytest rsa_complex exdatatest bntest \
           ectest ecstresstest ecdsatest gmdifftest pbelutest ideatest \
           md2test \
           hmactest \
@@ -64,6 +64,9 @@ INCLUDE_MAIN___test_libtestutil_OLB = /INCLUDE=main
   INCLUDE[sanitytest]=../include
   DEPEND[sanitytest]=../libcrypto libtestutil.a
 
+  SOURCE[rsa_complex]=rsa_complex.c
+  INCLUDE[rsa_complex]=../include
+
   SOURCE[test_test]=test_test.c
   INCLUDE[test_test]=../include
   DEPEND[test_test]=../libcrypto libtestutil.a
diff --git a/test/rsa_complex.c b/test/rsa_complex.c
new file mode 100644
index 0000000..fac5812
--- /dev/null
+++ b/test/rsa_complex.c
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2018 The OpenSSL Project Authors. All Rights Reserved.
+ *
+ * Licensed under the OpenSSL license (the "License").  You may not use
+ * this file except in compliance with the License.  You can obtain a copy
+ * in the file LICENSE in the source distribution or at
+ * https://www.openssl.org/source/license.html
+ */
+
+/*
+ * Check to see if there is a conflict between complex.h and openssl/rsa.h.
+ * The former defines "I" as a macro and earlier versions of the latter use
+ * for function arguments.
+ */
+#if defined(__STDC_VERSION__)
+# if __STDC_VERSION__ >= 199901L
+#  include <complex.h>
+# endif
+#endif
+#include <openssl/rsa.h>
+#include <stdlib.h>
+
+int main(int argc, char *argv[])
+{
+    /* There are explicitly no run time checks for this one */
+    return EXIT_SUCCESS;
+}
_____
openssl-commits mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits

Reply via email to