- 18 4月, 2001 3 次提交
-
-
由 Geoff Thorpe 提交于
ENGINE handler functions should take the ENGINE structure as a parameter - this is because ENGINE structures can be copied, and like other structure/method setups in OpenSSL, it should be possible for init(), finish(), ctrl(), etc to adjust state inside the ENGINE structures rather than globally. This commit includes the dependant changes in the ENGINE implementations.
-
由 Geoff Thorpe 提交于
Previous changes permanently removed the commented-out old code for where it was possible to create and use an ENGINE statically, and this code gets rid of the ENGINE_FLAGS_MALLOCED flag that supported the distinction with dynamically allocated ENGINEs. It also moves the area for ENGINE_FLAGS_*** values from engine_int.h to engine.h - because it should be possible to declare ENGINEs just from declarations in exported headers.
-
由 Geoff Thorpe 提交于
* Constify the get/set functions, and add some that functions were missing. * Add a new 'ENGINE_cpy()' function that will produce a new ENGINE based copied from an original (except for the references, ie. the new copy will be like an ENGINE returned from 'ENGINE_new()' - a structural reference). * Removed the "null parameter" checking in the get/set functions - it is legitimate to set NULL values as a way of *changing* an ENGINE (ie. removing a handler that previously existed). Also, passing a NULL pointer for an ENGINE is obviously wrong for these functions, so don't bother checking for it. The result is a number of error codes and strings could be removed.
-
- 15 12月, 2000 1 次提交
-
-
由 Geoff Thorpe 提交于
BCM5805 and BCM5820 units. So far I've merely taken a skim over the code and changed a few things from their original contributed source (de-shadowing variables, removing variables from the header, and re-constifying some functions to remove warnings). If this gives compilation problems on any system, please let me know. We will hopefully know for sure whether this actually functions on a system with the relevant hardware in a day or two. :-)
-
- 16 11月, 2000 1 次提交
-
-
由 Geoff Thorpe 提交于
situation where they've initialised the ENGINE, loaded keys (which are then linked to that ENGINE), and performed other checks (such as verifying certificate chains etc). At that point, if the application goes multi-threaded or multi-process it creates problems for any ENGINE implementations that are either not thread/process safe or that perform optimally when they do not have to perform locking and other contention management tasks at "run-time". This defines a new ENGINE_ctrl() command that can be supported by engines at their discretion. If ENGINE_ctrl(..., ENGINE_CTRL_HUP,...) returns an error then the caller should check if the *_R_COMMAND_NOT_IMPLEMENTED error reason was set - it may just be that the engine doesn't support or need the HUP command, or it could be that the attempted reinitialisation failed. A crude alternative is to ignore the return value from ENGINE_ctrl() (and clear any errors with ERR_clear_error()) and perform a test operation immediately after the "HUP". Very crude indeed. ENGINEs can support this command to close and reopen connections, files, handles, or whatever as an alternative to run-time locking when such things would otherwise be needed. In such a case, it's advisable for the engine implementations to support locking by default but disable it after the arrival of a HUP command, or any other indication by the application that locking is not required. NB: This command exists to allow an ENGINE to reinitialise without the ENGINE's functional reference count having to sink down to zero and back up - which is what is normally required for the finish() and init() handlers to get invoked. It would also be a bad idea for engine_lib to catch this command itself and interpret it by calling the engine's init() and finish() handlers directly, because reinitialisation may need special handling on a case-by-case basis that is distinct from a finish/init pair - eg. calling a finish() handler may invalidate the state stored inside individual keys that have already loaded for this engine.
-
- 07 11月, 2000 3 次提交
-
-
由 Richard Levitte 提交于
-
由 Richard Levitte 提交于
-
由 Richard Levitte 提交于
few small constifying changes, and why not throw in a couple of extras while I'm at it?
-
- 03 11月, 2000 1 次提交
-
-
由 Richard Levitte 提交于
load the "external" built-in engines (those that require DSO). This makes linking with libdl or other dso libraries non-mandatory. Change 'openssl engine' accordingly. Change the engine header files so some declarations (that differed at that!) aren't duplicated, and make sure engine_int.h includes engine.h. That way, there should be no way of missing the needed info.
-
- 27 10月, 2000 1 次提交
-
-
由 Richard Levitte 提交于
At the same time, add VMS support for Rijndael.
-