Shouldn't DSO_ext be 6 if OPENSSL_SYS_MACOSX is defined?
Best regards
Michael
On Jul 16, 2009, at 7:42 AM, Sander Temme wrote:
On Jul 15, 2009, at 11:07 AM, Dr. Stephen Henson wrote:
Try the next snapshot or this patch:
http://cvs.openssl.org/chngview?cn=18416
Thanks for the report,
That does the trick with a little further massaging. Revised patch:
[scte...@legadema] tmp $ diff -u openssl-1.0.0-beta3/crypto/dso/
dso_dlfcn.c{.orig,}
--- openssl-1.0.0-beta3/crypto/dso/dso_dlfcn.c.orig 2009-07-15
22:09:36.000000000 -0700
+++ openssl-1.0.0-beta3/crypto/dso/dso_dlfcn.c 2009-07-15
22:36:24.000000000 -0700
@@ -351,6 +351,15 @@
return(merged);
}
+#ifdef OPENSSL_SYS_MACOSX
+#define DSO_ext ".dylib"
+#define DSO_extlen 7
+#else
+#define DSO_ext ".so"
+#define DSO_extlen 3
+#endif
+
+
static char *dlfcn_name_converter(DSO *dso, const char *filename)
{
char *translated;
@@ -361,8 +370,8 @@
transform = (strstr(filename, "/") == NULL);
if(transform)
{
- /* We will convert this to "%s.so" or "lib%s.so" */
- rsize += 3; /* The length of ".so" */
+ /* We will convert this to "%s.so" or "lib%s.so" etc */
+ rsize += DSO_extlen; /* The length of ".so" */
if ((DSO_flags(dso) & DSO_FLAG_NAME_TRANSLATION_EXT_ONLY) == 0)
rsize += 3; /* The length of "lib" */
}
@@ -376,9 +385,9 @@
if(transform)
{
if ((DSO_flags(dso) & DSO_FLAG_NAME_TRANSLATION_EXT_ONLY) == 0)
- sprintf(translated, "lib%s.so", filename);
+ sprintf(translated, "lib%s" DSO_ext, filename);
else
- sprintf(translated, "%s.so", filename);
+ sprintf(translated, "%s" DSO_ext, filename);
}
else
sprintf(translated, "%s", filename);
--
san...@temme.net http://www.temme.net/sander/
PGP FP: 51B4 8727 466A 0BC3 69F4 B7B8 B2BE BC40 1529 24AF
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List openssl-dev@openssl.org
Automated List Manager majord...@openssl.org