65
66
static int bb_load(struct soap_session *ps, const char *so)
71
70
/* Load hpmud manually with symbols exported. Otherwise the plugin will not find it. */
72
71
if ((ps->hpmud_handle = dlopen("libhpmud.so", RTLD_LAZY|RTLD_GLOBAL)) == NULL)
74
if ((ps->hpmud_handle = dlopen("libhpmud.so.0", RTLD_LAZY|RTLD_GLOBAL)) == NULL)
76
BUG("unable to load restricted library: %s\n", dlerror());
73
if ((ps->hpmud_handle = dlopen("libhpmud.so.0", RTLD_LAZY|RTLD_GLOBAL)) == NULL)
75
BUG("unable to load restricted library: %s\n", dlerror());
81
80
/* Load math library manually with symbols exported (Ubuntu 8.04). Otherwise the plugin will not find it. */
82
if ((ps->math_handle = dlopen("libm.so", RTLD_LAZY|RTLD_GLOBAL)) == NULL)
81
if ((ps->math_handle = load_library("libm.so")) == NULL)
84
if ((ps->math_handle = dlopen("libm.so.6", RTLD_LAZY|RTLD_GLOBAL)) == NULL)
86
BUG("unable to load restricted library: %s\n", dlerror());
83
if ((ps->math_handle = load_library("libm.so.6")) == NULL)
91
if (hpmud_get_conf("[dirs]", "home", home, sizeof(home)) != HPMUD_R_OK)
93
snprintf(sz, sizeof(sz), "%s/scan/plugins/%s", home, so);
94
if ((ps->bb_handle = dlopen(sz, RTLD_NOW|RTLD_GLOBAL)) == NULL)
87
if ((ps->bb_handle = load_plugin_library(UTILS_SCAN_PLUGIN_LIBRARY, so)) == NULL)
96
BUG("unable to load restricted library %s: %s\n", sz, dlerror());
97
89
SendScanEvent(ps->uri, EVENT_PLUGIN_FAIL);
101
if ((ps->bb_open = dlsym(ps->bb_handle, "bb_open")) == NULL)
103
BUG("unable to load restricted library %s: %s\n", sz, dlerror());
106
if ((ps->bb_close = dlsym(ps->bb_handle, "bb_close")) == NULL)
108
BUG("unable to load restricted library %s: %s\n", sz, dlerror());
111
if ((ps->bb_get_parameters = dlsym(ps->bb_handle, "bb_get_parameters")) == NULL)
113
BUG("unable to load restricted library %s: %s\n", sz, dlerror());
116
if ((ps->bb_is_paper_in_adf = dlsym(ps->bb_handle, "bb_is_paper_in_adf")) == NULL)
118
BUG("unable to load restricted library %s: %s\n", sz, dlerror());
121
if ((ps->bb_start_scan = dlsym(ps->bb_handle, "bb_start_scan")) == NULL)
123
BUG("unable to load restricted library %s: %s\n", sz, dlerror());
126
if ((ps->bb_end_scan = dlsym(ps->bb_handle, "bb_end_scan")) == NULL)
128
BUG("unable to load restricted library %s: %s\n", sz, dlerror());
131
if ((ps->bb_get_image_data = dlsym(ps->bb_handle, "bb_get_image_data")) == NULL)
133
BUG("unable to load restricted library %s: %s\n", sz, dlerror());
136
if ((ps->bb_end_page = dlsym(ps->bb_handle, "bb_end_page")) == NULL)
138
BUG("unable to load restricted library %s: %s\n", sz, dlerror());
93
if ((ps->bb_open = get_library_symbol(ps->bb_handle, "bb_open")) == NULL)
96
if ((ps->bb_close = get_library_symbol(ps->bb_handle, "bb_close")) == NULL)
99
if ((ps->bb_get_parameters = get_library_symbol(ps->bb_handle, "bb_get_parameters")) == NULL)
102
if ((ps->bb_is_paper_in_adf = get_library_symbol(ps->bb_handle, "bb_is_paper_in_adf")) == NULL)
105
if ((ps->bb_start_scan = get_library_symbol(ps->bb_handle, "bb_start_scan")) == NULL)
108
if ((ps->bb_end_scan = get_library_symbol(ps->bb_handle, "bb_end_scan")) == NULL)
111
if ((ps->bb_get_image_data = get_library_symbol(ps->bb_handle, "bb_get_image_data")) == NULL)
114
if ((ps->bb_end_page = get_library_symbol(ps->bb_handle, "bb_end_page")) == NULL)