• G
    Changes to "openssl engine" to support the new control command code in · f11bc840
    Geoff Thorpe 提交于
    ENGINE.
    
     * Extra verbosity can be added with more "v"'s, eg. '-vvv' gives
       information about input flags and descriptions for each control command
       in each ENGINE. Check the output of "openssl engine -vvv" for example.
    
     * '-pre <cmd>' and '-post <cmd>' can be used to invoke control commands on
       the specified ENGINE (or on all of them if no engine id is specified,
       although that usually gets pretty ugly). '-post' commands are only
       attempted if '-t' is specified and the engine successfully initialises.
       '-pre' commands are always attempted whether or not '-t' causes an
       initialisation to be tried afterwards. Multiple '-pre' and/or '-post'
       commands can be specified and they will be called in the order they
       occur on the command line.
    
    Parameterised commands (the normal case, there are currently no
    unparameterised ones) are split into command and argument via a separating
    colon. Eg. "openssl engine -pre SO_PATH:/lib/libdriver.so <id>" results in
    the call;
        ENGINE_ctrl_cmd_string(e, "SO_PATH", "/lib/libdriver.so", 0);
    
    Application code should similarly allow arbitrary name-value string pairs
    to be passed into ENGINEs in a manner matching that in apps/engine.c,
    either using the same colon-separated format, or entered as two distinct
    strings. Eg. as stored in a registry. The last parameter of
    ENGINE_ctrl_cmd_string can be changed from 0 to 1 if the command should
    only be attempted if it's supported by the specified ENGINE (eg. for
    commands like "FORK_CHECK:1" that may or may not apply to the run-time
    ENGINE).
    f11bc840
engine.c 12.2 KB