summaryrefslogtreecommitdiffstats
path: root/crypto/dso
AgeCommit message (Collapse)Author
2001-07-30Really add the EVP and all of the DES changes.Ben Laurie
2001-07-05Use one address consistently.Richard Levitte
2001-04-25This change to the "dl", "dlfcn", and "win32" DSO_METHODs adds the filenameGeoff Thorpe
or symbol name to the error stack in the event a load or bind operation failed.
2001-04-03libfisdef.h and LIB do not exist on older VMS versionsRichard Levitte
2001-03-09Instead of telling both 'make' and the user that ranlibBodo Möller
errors can be tolerated, hide the error from 'make'. This gives shorter output both if ranlib fails and if it works.
2001-02-22e_os.h does not belong with the exported headers. Do not put it thereRichard Levitte
and make all files the depend on it include it without prefixing it with openssl/. This means that all Makefiles will have $(TOP) as one of the include directories.
2001-02-20Include OpenSSL header files earlier so macros like OPENSSL_SYS_VMSRichard Levitte
get a chance to be defined. Make a batter file name translator (uhm, no, that's not the finished variant :-)).
2001-02-20Use new-style system-id macros everywhere possible. I hope I haven'tRichard Levitte
missed any. This compiles and runs on Linux, and external applications have no problems with it. The definite test will be to build this on VMS.
2001-02-19Make all configuration macros available for application by makingRichard Levitte
sure they are available in opensslconf.h, by giving them names starting with "OPENSSL_" to avoid conflicts with other packages and by making sure e_os2.h will cover all platform-specific cases together with opensslconf.h. I've checked fairly well that nothing breaks with this (apart from external software that will adapt if they have used something like NO_KRB5), but I can't guarantee it completely, so a review of this change would be a good thing.
2000-12-31Make the DSO code for VMS work again. First attempt.Richard Levitte
2000-11-07shl_load() also needs to load along a path given through anRichard Levitte
environment variable, SHLIB_PATH. This change makes that possible.
2000-11-03avoid memory leakBodo Möller
2000-10-30DSO_load() should also work when it is passed a NULL - a new DSO is createdGeoff Thorpe
automatically, however some code was still referring to the original pointer rather than the internal one (and thus to NULL instead of the created pointer).
2000-10-26On HP-UX, at least when shl_* are used, the libraries have theRichard Levitte
extension .sl instead of .so.
2000-10-26For the operating systems where it matters, it is sometimes good toRichard Levitte
translate library names by only adding ".so" to them without prepending them with "lib". Add the flag DSO_FLAG_NAME_TRANSLATION_EXT_ONLY for that purpose.
2000-10-26This changes the behaviour of the DSO mechanism for determining anGeoff Thorpe
appropriate filename translation on the host system. Apart from this point, users should also note that there's a slight change in the API functions too. The DSO now contains its own to-be-converted filename ("dso->filename"), and at the time the DSO loads the "dso->loaded_filename" value is set to the translated form. As such, this also provides an impicit way of determining if the DSO is currently loaded or not. Except, perhaps, VMS .... :-) The various DSO_METHODs have been updated for this mechanism except VMS which is deliberately broken for now, Richard is going to look at how to fit it in (the source comments in there explain "the issue"). Basically, the new callback scheme allows the filename conversion to (a) be turned off altogether through the use of the DSO_FLAG_NO_NAME_TRANSLATION flag, (b) be handled in the default way using the default DSO_METHOD's converter (c) overriden per-DSO by setting the override callback (d) a mix of (b) and (c) - eg. implement an override callback that; (i) checks if we're win32 "if(strstr(dso->meth->name, "win32"))..." and if so, convert "blah" into "blah32.dll" (the default is otherwise to make it "blah.dll"). (ii) default to the normal behaviour - eg. we're not on win32, so finish with (return dso->meth->dso_name_converter(dso,NULL)). (e) be retried a number of times by writing a new DSO_METHOD where the "dso_load()" handler will call the converter repeatedly. Then the custom converter could use state information in the DSO to suggest different conversions or paths each time it is invoked.
2000-10-22Pointer error correctedRichard Levitte
2000-10-09DSO_ctrl() changes have removed a couple of DSO_METHOD-specific functionsGeoff Thorpe
so I've regenerated the error numbers and strings for the DSO functions.
2000-10-08None of the DSO_METHOD's were handling anything except generic messages.Geoff Thorpe
These are now processed inside DSO_ctrl() itself.
2000-10-08Time to get rid of some rather silly code duplication - some DSO_ctrl()Geoff Thorpe
commands are common to all DSO_METHODs, hence handle them at the top.
2000-09-25'ranlib' doesn't always run on some systems. That's actuallyRichard Levitte
acceptable, since all that happens if it fails is a library with an index, which makes linking slower, but still working correctly.
2000-09-18Unless we cast, thorough compilers will complainRichard Levitte
2000-09-17Use sk_*_new_null() instead of sk_*_new(NULL), since that takes careRichard Levitte
of complaints from the compiler about data pointers and function pointers not being compatible with each other.
2000-09-17Make sure Compaq C doesn'r complain about dollars, and go around theRichard Levitte
incompatibility between function and data pointers.
2000-09-15Make sure dso_vms.c compiles on other operating systems as well.Richard Levitte
2000-09-15A DSO method for VMS was missing, and I had the code lying around...Richard Levitte
2000-09-15Add a flag for OpenVMS.Richard Levitte
2000-09-07'make update'Richard Levitte
2000-06-23Steve fixed up some strange errors introduced into dso_win32.c, and I'mGeoff Thorpe
just converting some spaces to tabs from his fix. :-)
2000-06-21* This adds some checking to the 'dlfcn' DSO_METHOD that at least letsGeoff Thorpe
it cope with OpenBSD which doesn't understand "RTLD_NOW". * Added the dso_scheme config string entry for OpenBSD-x86 to give it DSO support. * 'make update' that has also absorbed some of Steve's mkstack changes for the ASN-related macros.
2000-06-21Fixes for Win32 build.Dr. Stephen Henson
This is mostly a work around for the old VC++ problem that it treats func() as func(void). Various prototypes had been added to 'compare' function pointers that triggered this. This could be fixed by removing the prototype, adding function pointer casts to every call or changing the passed function to use the expected arguments. I mostly did the latter. The mkdef.pl script was modified to remove the typesafe functions which no longer exist. Oh and some functions called OPENSSL_freeLibrary() were changed back to FreeLibrary(), wonder how that happened :-)
2000-06-16Currently the DSO_METHOD interface has one entry point to bind allGeoff Thorpe
"symbols" including functions (of all prototypes( and variables. Whilst casting any function type to another violates ANSI C (I believe), it is a necessary evil in shared-library APIs. However, it is quite conceivable that functions in general and data symbols could very well be represented differently to each other on some systems, as Bodo said; > Since the function/object distinction is a lot more likely to be > important on real-life platforms supporting DSO *and* it can be quite > easily done *and* it will silence compilers that don't like > assignments from void pointers to function pointer variables, why > not do it? I agree. So this change splits the "dso_bind" handler in DSO_METHOD into "dso_bind_var" and "dso_bind_func". Similarly the exported function DSO_bind() has been split in two. I've also put together changes for the various DSO_METHOD implementations, but so far only DSO_dlfcn() has been tested. BTW: The prototype for dso_bind had been a bit strange so I've taken the opportunity to change its shape (in both variations). Also, the README has been updated - particularly with a note about using customised native name-translation for shared libraries (and that you can't do it yet).
2000-06-13Enable DSO support on alpha (OSF1), cc and gcc.Geoff Thorpe
Also, "make update" has added some missing functions to libeay.num, updated the TABLE for the alpha changes, and updated thousands of dependancies that have changed from recent commits.
2000-06-01There have been a number of complaints from a number of sources that namesRichard Levitte
like Malloc, Realloc and especially Free conflict with already existing names on some operating systems or other packages. That is reason enough to change the names of the OpenSSL memory allocation macros to something that has a better chance of being unique, like prepending them with OPENSSL_. This change includes all the name changes needed throughout all C files.
2000-05-29another warning.Geoff Thorpe
2000-05-29oops.Geoff Thorpe
2000-05-01Add missing #include.Bodo Möller
2000-04-25This case in the "dso_unload" handlers should not be reported as an error -Geoff Thorpe
if a DSO_load(NULL,...) operation fails, it will have to call DSO_free() on the DSO structure it created and that will filter through to this "unload" call. If the stack size is "< 1", then the library never actually loaded. To keep things clean higher up, I'll treat this as a vacuous case without an error. It makes the error stack easier to follow real world cases, and the error this ignores was only useful for catching bugs in internal code, not mismatched calls from applications (which should be handled in the generic DSO layer).
2000-04-19This change facilitates name translation for shared libraries. TheGeoff Thorpe
technique used is far from perfect and alternatives are welcome. Basically if the translation flag is set, the string is not too long, and there appears to be no path information in the string, then it is converted to whatever the standard should be for the DSO_METHOD in question, eg; blah --> libblah.so on *nix, and blah --> blah.dll on win32. This change also introduces the DSO_ctrl() function that is used by the name translation stuff.
2000-04-14Ignore lib and Makefile.save.Bodo Möller
2000-04-09"make update"Richard Levitte
2000-04-06Constification, and a silly mistake in the comments.Geoff Thorpe
2000-04-06This helps make the DSO stuff more portable;Geoff Thorpe
* "no-dso" option available in Configure so that all DSO methods will return NULL, overriding any support the platform might otherwise have built. * dlfcn_no_h config string now available rather than just dlfcn. This is for platforms that have dlfcn.h functions but do not have (or need) the dlfcn.h header file.
2000-04-04This is a set of startup code for the DSO support, it's not yet linked intoGeoff Thorpe
the build process (an upcoming commit no doubt), and is very much *new* code - what that means is that it compiles ok - usually. It certainly doesn't mean it runs well or even properly yet. Please don't muck round with this unless you're looking to help out and hunt bugs. :-) Currently this code doesn't have any support for controlling the "load" behaviour (eg. paths, filename translations, etc). That'll be handled using DSO_ctrl() and various flags, once we work out a sensible set of flags.