[openssl-commits] [openssl] master update

Richard Levitte levitte at openssl.org
Sun Sep 11 21:18:14 UTC 2016


The branch master has been updated
       via  3abcc4ac912d6e416b81a310b457064f6f01cd75 (commit)
       via  278a33da3cf10f0a9ab12c2a1f643f9027b06679 (commit)
      from  6462876f8d9f6538ad0fcd70717077d9ae174e56 (commit)


- Log -----------------------------------------------------------------
commit 3abcc4ac912d6e416b81a310b457064f6f01cd75
Author: Richard Levitte <levitte at openssl.org>
Date:   Thu Sep 8 20:54:34 2016 +0200

    VMS: Don't force symbol mixed case when building DSOs
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>

commit 278a33da3cf10f0a9ab12c2a1f643f9027b06679
Author: Richard Levitte <levitte at openssl.org>
Date:   Thu Sep 8 20:48:30 2016 +0200

    VMS: be less picky when loading DSOs
    
    The DSO API was picky about casing of symbol names on VMS.
    
    There's really no reason to be that picky, it's mostly just annoying.
    Therefore, we take away the possibility to flag for a choice, and will
    instead first try to find a symbol with exact case, and failing that,
    we try to find it in upper case.
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>

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

Summary of changes:
 VMS/engine.opt         |  3 ++-
 crypto/dso/dso_vms.c   | 16 +++++++---------
 include/internal/dso.h |  6 ------
 3 files changed, 9 insertions(+), 16 deletions(-)

diff --git a/VMS/engine.opt b/VMS/engine.opt
index 1c73c80..9725023 100644
--- a/VMS/engine.opt
+++ b/VMS/engine.opt
@@ -1,2 +1,3 @@
 CASE_SENSITIVE=YES
-SYMBOL_VECTOR=(bind_engine=PROCEDURE,v_check=PROCEDURE)
+SYMBOL_VECTOR=(BIND_ENGINE=PROCEDURE,V_CHECK=PROCEDURE,-
+               bind_engine/BIND_ENGINE=PROCEDURE,v_check/V_CHECK=PROCEDURE)
diff --git a/crypto/dso/dso_vms.c b/crypto/dso/dso_vms.c
index 90d387e..2e0d84c 100644
--- a/crypto/dso/dso_vms.c
+++ b/crypto/dso/dso_vms.c
@@ -261,15 +261,13 @@ static int do_find_symbol(DSO_VMS_INTERNAL *ptr,
                                      symname_dsc, sym, 0, flags);
 }
 
+# ifndef LIB$M_FIS_MIXEDCASE
+#  define LIB$M_FIS_MIXEDCASE (1 << 4);
+# endif
 void vms_bind_sym(DSO *dso, const char *symname, void **sym)
 {
     DSO_VMS_INTERNAL *ptr;
-    int status;
-# ifdef LIB$M_FIS_MIXEDCASE
-    int flags = LIB$M_FIS_MIXEDCASE;
-# else
-    int flags = (1 << 4);
-# endif
+    int status = 0;
     struct dsc$descriptor_s symname_dsc;
 
 /* Arrange 32-bit pointer to (copied) string storage, if needed. */
@@ -312,10 +310,10 @@ void vms_bind_sym(DSO *dso, const char *symname, void **sym)
         return;
     }
 
-    if (dso->flags & DSO_FLAG_UPCASE_SYMBOL)
-        flags = 0;
+    status = do_find_symbol(ptr, &symname_dsc, sym, LIB$M_FIS_MIXEDCASE);
 
-    status = do_find_symbol(ptr, &symname_dsc, sym, flags);
+    if (!$VMS_STATUS_SUCCESS(status))
+        status = do_find_symbol(ptr, &symname_dsc, sym, 0);
 
     if (!$VMS_STATUS_SUCCESS(status)) {
         unsigned short length;
diff --git a/include/internal/dso.h b/include/internal/dso.h
index 970beeb..79d98f4 100644
--- a/include/internal/dso.h
+++ b/include/internal/dso.h
@@ -43,12 +43,6 @@ extern "C" {
 # define DSO_FLAG_NAME_TRANSLATION_EXT_ONLY      0x02
 
 /*
- * The following flag controls the translation of symbol names to upper case.
- * This is currently only being implemented for OpenVMS.
- */
-# define DSO_FLAG_UPCASE_SYMBOL                  0x10
-
-/*
  * This flag loads the library with public symbols. Meaning: The exported
  * symbols of this library are public to all libraries loaded after this
  * library. At the moment only implemented in unix.


More information about the openssl-commits mailing list