diff -r ab25c0a231d0 -r feb2f1e115c6 src/server/safs/init.c --- a/src/server/safs/init.c Mon May 06 13:44:27 2013 +0200 +++ b/src/server/safs/init.c Mon May 06 14:54:40 2013 +0200 @@ -38,19 +38,34 @@ } int load_modules(pblock *pb, Session *sn, Request *rq) { - printf("load_modules\n"); - char *shlib = pblock_findval("shlib", pb); char *funcs = pblock_findval("funcs", pb); if(shlib == NULL || funcs == NULL) { fprintf(stderr, "load-modules: missing parameter\n"); + //log_ereport(LOG_MISCONFIG, "load-modules: missing parameters"); + if(!shlib && funcs) { + log_ereport( + LOG_MISCONFIG, + "load-modules: missing shlib parameter"); + } else if(!shlib && !funcs) { + log_ereport( + LOG_MISCONFIG, + "load-modules: missing funcs parameter"); + } else { + log_ereport( + LOG_MISCONFIG, + "load-modules: missing shlib and funcs parameters"); + } } /* load lib */ void *lib = dlopen(shlib, RTLD_GLOBAL | RTLD_NOW); if(lib == NULL) { - fprintf(stderr, "Cannot load library %s %s\n", shlib, dlerror()); + char *dlerr = dlerror(); + fprintf(stderr, "Cannot load library %s %s\n", shlib, dlerr); + + log_ereport(LOG_FAILURE, "Cannot load library %s: %s", shlib, dlerr); return REQ_ABORTED; }