Commit 75a382bd authored by Geoff Thorpe's avatar Geoff Thorpe
Browse files

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

These are now processed inside DSO_ctrl() itself.
parent 5b0a0544
Loading
Loading
Loading
Loading
+2 −26
Original line number Diff line number Diff line
@@ -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 */
+2 −26
Original line number Diff line number Diff line
@@ -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 */
+2 −26
Original line number Diff line number Diff line
@@ -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 */
+2 −26
Original line number Diff line number Diff line
@@ -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 */