On HP-UX 10, shareable libraries end with '.sl', not '.so'.
authorRichard Levitte <levitte@openssl.org>
Wed, 14 Mar 2001 13:30:07 +0000 (13:30 +0000)
committerRichard Levitte <levitte@openssl.org>
Wed, 14 Mar 2001 13:30:07 +0000 (13:30 +0000)
In part reported by Lynn Gazis <lgazis@IVEA.com>.  The rest of the
report is about SHLIB_PATH being ignored.  It was decided that using
it would break security.

crypto/dso/dso_dl.c

index f661ec5bfb393989209251b9041fdac37d47f3db..1a898c5407df51b6b7cd3da3d68241cdbb195b94 100644 (file)
@@ -111,6 +111,11 @@ DSO_METHOD *DSO_METHOD_dl(void)
  * type so the cast is safe.
  */
 
+#if defined(__hpux)
+static const char extension[] = ".sl";
+#else
+static const char extension[] = ".so";
+#endif
 static int dl_load(DSO *dso, const char *filename)
        {
        shl_t ptr;
@@ -118,12 +123,12 @@ static int dl_load(DSO *dso, const char *filename)
        int len;
 
        /* The same comment as in dlfcn_load applies here. bleurgh. */
-       len = strlen(filename);
+       len = strlen(filename) + len(extension);
        if((dso->flags & DSO_FLAG_NAME_TRANSLATION) &&
-                       (len + 6 < DSO_MAX_TRANSLATED_SIZE) &&
+                       (len + 3 < DSO_MAX_TRANSLATED_SIZE) &&
                        (strstr(filename, "/") == NULL))
                {
-               sprintf(translated, "lib%s.so", filename);
+               sprintf(translated, "lib%s%s", filename, extension);
                ptr = shl_load(translated, BIND_IMMEDIATE, NULL);
                }
        else