summaryrefslogtreecommitdiffstats
path: root/crypto/dso/dso.h
AgeCommit message (Collapse)Author
2015-01-22Run util/openssl-format-source -v -c .Matt Caswell
Reviewed-by: Tim Hudson <tjh@openssl.org>
2008-06-04More type-checking.Ben Laurie
2006-05-12Someone made a mistake, and some function and reason codes gotRichard Levitte
duplicate numbers. Renumbering.
2006-04-11Add BeOS support.Ulf Möller
PR: 1312 Submitted by: Oliver Tappe <zooey@hirschkaefer.de> Reviewed by: Ulf Moeller
2006-01-08Some error code cleanups (SSL lib. used SSL_R_... codes reserved for alerts)Bodo Möller
2006-01-02"Relax" prototype and rename DSO_global_lookup_func to DSO_global_lookup.Andy Polyakov
2005-12-30Add DSO_global_lookup_func implementation. See commentary in dso_lib.cAndy Polyakov
for further details.
2005-11-01A slight change in documentation that makes it so much more comprehensibleRichard Levitte
2005-06-05New function, DSO_pathbyaddr, to find pathname for loaded shared objectAndy Polyakov
by an address within it. Tested on Linux, Solaris, IRIX, Tru64, Darwin, HP-UX, Win32, few BSD flavors...
2005-05-11Fix more error codes.Bodo Möller
(Also improve util/ck_errf.pl script, and occasionally fix source code formatting.)
2005-04-26Fix various incorrect error function codes.Bodo Möller
("perl util/ck_errf.pl */*.c */*/*.c" still reports many more.)
2003-06-11Add the possibility to have symbols loaded globally with DSO.Richard Levitte
2002-07-16Some older code (never committed) wasn't converted to the new format.Richard Levitte
Corrected.
2002-07-15There's an ongoing project to bring some kind of path selectionRichard Levitte
mechanism to the ENGINE framework. This means there there are going to be new functionality for the DSO part, and ultimately some way of merging two file specifications together. This commit places the merging code into the repository. It's currently not used anywhere, and hasn't been tested at all. It may be full of errors, including syntactical ones. Those will be fixed as promptly as possible.
2001-12-17formatting consistencyBodo Möller
2001-12-17remove redundant ERR_load_... declarationsBodo Möller
2001-11-22'flags' should only be set inside DSO_load() if constructing a new DSOGeoff Thorpe
object - otherwise we overwrite any flags that had been previously set in the DSO before calling DSO_load().
2001-11-15make updateRichard Levitte
perl util/mkerr.pl -recurse -write -rebuild
2001-09-04Add a "_up" -> "_up_ref" change to libeay.num that was missing from theGeoff Thorpe
recent changes. Also, do the same change to the DSO_up() function.
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-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-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-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-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-06Constification, and a silly mistake in the comments.Geoff Thorpe
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.