summaryrefslogtreecommitdiffstats
path: root/crypto/dso/dso_win32.c
AgeCommit message (Collapse)Author
2015-12-18Remove the "eay" c-file-style indicatorsRichard Levitte
Since we don't use the eay style any more, there's no point tryint to tell emacs to use it. Reviewed-by: Ben Laurie <ben@openssl.org>
2015-01-22Run util/openssl-format-source -v -c .Matt Caswell
Reviewed-by: Tim Hudson <tjh@openssl.org>
2014-02-01dso/dso_win32.c: fix compiler warning.Andy Polyakov
(cherry picked from commit 0a2d5003df1a9ecf801ac3b4a5cb7dda85449315)
2009-07-15PR: 1980Dr. Stephen Henson
Submitted by: Victor Wagner <vitus@wagner.pp.ru> Approved by: steve@openssl.org Fix memory leaks.
2008-12-29Fix "possible loss of data" Win64 compiler warnings.Andy Polyakov
2008-06-04Make DSO WIN32 compile again.Dr. Stephen Henson
2006-10-23Fix mingw warnings.Andy Polyakov
2006-01-15Fix from stable branch.Dr. Stephen Henson
2006-01-08Some error code cleanups (SSL lib. used SSL_R_... codes reserved for alerts)Bodo Möller
2006-01-02Typo in win32_globallookup.Andy Polyakov
2006-01-02"Relax" prototype and rename DSO_global_lookup_func to DSO_global_lookup.Andy Polyakov
2006-01-01Fix mapping "leak" in newly introduced win32_globallookup.Andy Polyakov
2005-12-30Add DSO_global_lookup_func implementation. See commentary in dso_lib.cAndy Polyakov
for further details.
2005-12-18Eliminate possible mapping leak.Andy Polyakov
2005-11-01Fix numerous bugs in the Win32 path splitterRichard Levitte
2005-08-03WCE update, mostly typos.Andy Polyakov
2005-08-02Implement complementary LoadLibraryA shim under WCE.Andy Polyakov
2005-07-24Eliminate gcc warning in dso_win32.c.Andy Polyakov
2005-06-27Eliminate dependency on UNICODE macro.Andy Polyakov
2005-06-09Eliminate gcc -pedantic warnings.Andy Polyakov
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-03-12Cygwin to use DSO_FLFCN and mingw to use DSO_WIN32.Andy Polyakov
2002-11-15WinCE patchesRichard Levitte
2002-10-06Various Win32 fixes.Dr. Stephen Henson
Resolve signed/unsigned conflicts Make dso_win32.c compile.
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-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-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.
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-08None of the DSO_METHOD's were handling anything except generic messages.Geoff Thorpe
These are now processed inside DSO_ctrl() itself.
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-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-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-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.