提交 75a382bd 编写于 作者: G Geoff Thorpe

None of the DSO_METHOD's were handling anything except generic messages.

These are now processed inside DSO_ctrl() itself.
上级 5b0a0544
......@@ -81,8 +81,8 @@ static int dl_unbind_var(DSO *dso, char *symname, void *symptr);
static int dl_unbind_func(DSO *dso, char *symname, DSO_FUNC_TYPE symptr);
static int dl_init(DSO *dso);
static int dl_finish(DSO *dso);
#endif
static int dl_ctrl(DSO *dso, int cmd, long larg, void *parg);
#endif
static DSO_METHOD dso_meth_dl = {
"OpenSSL 'dl' shared library method",
......@@ -95,7 +95,7 @@ static DSO_METHOD dso_meth_dl = {
NULL, /* unbind_var */
NULL, /* unbind_func */
#endif
dl_ctrl,
NULL, /* ctrl */
NULL, /* init */
NULL /* finish */
};
......@@ -224,28 +224,4 @@ static DSO_FUNC_TYPE dl_bind_func(DSO *dso, const char *symname)
return((DSO_FUNC_TYPE)sym);
}
static int dl_ctrl(DSO *dso, int cmd, long larg, void *parg)
{
if(dso == NULL)
{
DSOerr(DSO_F_DL_CTRL,ERR_R_PASSED_NULL_PARAMETER);
return(-1);
}
switch(cmd)
{
case DSO_CTRL_GET_FLAGS:
return dso->flags;
case DSO_CTRL_SET_FLAGS:
dso->flags = (int)larg;
return(0);
case DSO_CTRL_OR_FLAGS:
dso->flags |= (int)larg;
return(0);
default:
break;
}
DSOerr(DSO_F_DL_CTRL,DSO_R_UNKNOWN_COMMAND);
return(-1);
}
#endif /* DSO_DL */
......@@ -82,8 +82,8 @@ static DSO_FUNC_TYPE dlfcn_bind_func(DSO *dso, const char *symname);
static int dlfcn_unbind(DSO *dso, char *symname, void *symptr);
static int dlfcn_init(DSO *dso);
static int dlfcn_finish(DSO *dso);
#endif
static long dlfcn_ctrl(DSO *dso, int cmd, long larg, void *parg);
#endif
static DSO_METHOD dso_meth_dlfcn = {
"OpenSSL 'dlfcn' shared library method",
......@@ -96,7 +96,7 @@ static DSO_METHOD dso_meth_dlfcn = {
NULL, /* unbind_var */
NULL, /* unbind_func */
#endif
dlfcn_ctrl,
NULL, /* ctrl */
NULL, /* init */
NULL /* finish */
};
......@@ -249,28 +249,4 @@ static DSO_FUNC_TYPE dlfcn_bind_func(DSO *dso, const char *symname)
return(sym);
}
static long dlfcn_ctrl(DSO *dso, int cmd, long larg, void *parg)
{
if(dso == NULL)
{
DSOerr(DSO_F_DLFCN_CTRL,ERR_R_PASSED_NULL_PARAMETER);
return(-1);
}
switch(cmd)
{
case DSO_CTRL_GET_FLAGS:
return dso->flags;
case DSO_CTRL_SET_FLAGS:
dso->flags = (int)larg;
return(0);
case DSO_CTRL_OR_FLAGS:
dso->flags |= (int)larg;
return(0);
default:
break;
}
DSOerr(DSO_F_DLFCN_CTRL,DSO_R_UNKNOWN_COMMAND);
return(-1);
}
#endif /* DSO_DLFCN */
......@@ -87,8 +87,8 @@ static int vms_unbind_var(DSO *dso, char *symname, void *symptr);
static int vms_unbind_func(DSO *dso, char *symname, DSO_FUNC_TYPE symptr);
static int vms_init(DSO *dso);
static int vms_finish(DSO *dso);
#endif
static long vms_ctrl(DSO *dso, int cmd, long larg, void *parg);
#endif
static DSO_METHOD dso_meth_vms = {
"OpenSSL 'VMS' shared library method",
......@@ -101,7 +101,7 @@ static DSO_METHOD dso_meth_vms = {
NULL, /* unbind_var */
NULL, /* unbind_func */
#endif
vms_ctrl,
NULL, /* ctrl */
NULL, /* init */
NULL /* finish */
};
......@@ -344,28 +344,4 @@ static DSO_FUNC_TYPE vms_bind_func(DSO *dso, const char *symname)
return sym;
}
static long vms_ctrl(DSO *dso, int cmd, long larg, void *parg)
{
if(dso == NULL)
{
DSOerr(DSO_F_VMS_CTRL,ERR_R_PASSED_NULL_PARAMETER);
return(-1);
}
switch(cmd)
{
case DSO_CTRL_GET_FLAGS:
return dso->flags;
case DSO_CTRL_SET_FLAGS:
dso->flags = (int)larg;
return(0);
case DSO_CTRL_OR_FLAGS:
dso->flags |= (int)larg;
return(0);
default:
break;
}
DSOerr(DSO_F_VMS_CTRL,DSO_R_UNKNOWN_COMMAND);
return(-1);
}
#endif /* VMS */
......@@ -80,8 +80,8 @@ static int win32_unbind_var(DSO *dso, char *symname, void *symptr);
static int win32_unbind_func(DSO *dso, char *symname, DSO_FUNC_TYPE symptr);
static int win32_init(DSO *dso);
static int win32_finish(DSO *dso);
#endif
static long win32_ctrl(DSO *dso, int cmd, long larg, void *parg);
#endif
static DSO_METHOD dso_meth_win32 = {
"OpenSSL 'win32' shared library method",
......@@ -94,7 +94,7 @@ static DSO_METHOD dso_meth_win32 = {
NULL, /* unbind_var */
NULL, /* unbind_func */
#endif
win32_ctrl,
NULL, /* ctrl */
NULL, /* init */
NULL /* finish */
};
......@@ -246,28 +246,4 @@ static DSO_FUNC_TYPE win32_bind_func(DSO *dso, const char *symname)
return((DSO_FUNC_TYPE)sym);
}
static long win32_ctrl(DSO *dso, int cmd, long larg, void *parg)
{
if(dso == NULL)
{
DSOerr(DSO_F_WIN32_CTRL,ERR_R_PASSED_NULL_PARAMETER);
return(-1);
}
switch(cmd)
{
case DSO_CTRL_GET_FLAGS:
return dso->flags;
case DSO_CTRL_SET_FLAGS:
dso->flags = (int)larg;
return(0);
case DSO_CTRL_OR_FLAGS:
dso->flags |= (int)larg;
return(0);
default:
break;
}
DSOerr(DSO_F_WIN32_CTRL,DSO_R_UNKNOWN_COMMAND);
return(-1);
}
#endif /* WIN32 */
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册