ENGINE_register_all_complete() will register all implementations of all
authorGeoff Thorpe <geoff@openssl.org>
Fri, 28 Sep 2001 02:25:14 +0000 (02:25 +0000)
committerGeoff Thorpe <geoff@openssl.org>
Fri, 28 Sep 2001 02:25:14 +0000 (02:25 +0000)
commit34c66925aad7d10c034b0ddce99e1bfcf9a04ea8
tree32e27851a1762c70d31cd9ea780040f1f11f357c
parentcb7fd76f572c6535856e882a6e9225163a45d977
ENGINE_register_all_complete() will register all implementations of all
algorithms present in all loaded ENGINEs. The result is that if any of
those ENGINEs successfully initialises, and the ENGINE_TABLE_FLAG_NOINIT
flag isn't set, then they will always be used (and cached as defaults) in
preference to software implementations. Ie. accidental auto-detection of
acceleration hardware :-)

This change stops all implementations being automatically registered in
"openssl" sub-commands, so that the "setup_engine()" handler in apps.c
controls which ENGINEs are registered for use. A special case has been
added that will revert to this "auto-detect" logic, ie. if the "-engine"
switch is used as;
   -engine auto
apps/apps.c
apps/apps.h