diff --git a/src/fusedav.c b/src/fusedav.c
index bf1d43cf31d7e8636057c4550fe233e968717188..a0723b17f8d2259742090eed4c9b8ed7333dda52 100644 (file)
--- a/src/fusedav.c
+++ b/src/fusedav.c
#include "statcache.h"
#include "filecache.h"
#include "session.h"
-#include "openssl-thread.h"
#include "fusedav.h"
const ne_propname query_properties[] = {
return fn;
}
-static void getdir_propfind_callback(void *userdata, const char *href, const ne_prop_result_set *results) {
+static void getdir_propfind_callback(void *userdata, const ne_uri *u, const ne_prop_result_set *results) {
struct fill_info *f = userdata;
struct stat st;
char fn[PATH_MAX], *t;
@@ -236,7 +235,7 @@ static void getdir_propfind_callback(void *userdata, const char *href, const ne_
assert(f);
- strncpy(fn, href, sizeof(fn));
+ strncpy(fn, u->path, sizeof(fn));
fn[sizeof(fn)-1] = 0;
strip_trailing_slash(fn, &is_dir);
return 0;
}
-static void getattr_propfind_callback(void *userdata, const char *href, const ne_prop_result_set *results) {
+static void getattr_propfind_callback(void *userdata, const ne_uri *u, const ne_prop_result_set *results) {
struct stat *st = (struct stat*) userdata;
char fn[PATH_MAX];
int is_dir;
assert(st);
- strncpy(fn, href, sizeof(fn));
+ strncpy(fn, u->path, sizeof(fn));
fn[sizeof(fn)-1] = 0;
strip_trailing_slash(fn, &is_dir);
}
}
-static void listxattr_propfind_callback(void *userdata, __unused const char *href, const ne_prop_result_set *results) {
+static void listxattr_propfind_callback(void *userdata, __unused const ne_uri *u, const ne_prop_result_set *results) {
struct listxattr_info *l = userdata;
ne_propset_iterate(results, listxattr_iterator, l);
}
return 0;
}
-static void getxattr_propfind_callback(void *userdata, __unused const char *href, const ne_prop_result_set *results) {
+static void getxattr_propfind_callback(void *userdata, __unused const ne_uri *u, const ne_prop_result_set *results) {
struct getxattr_info *g = userdata;
ne_propset_iterate(results, getxattr_iterator, g);
}
goto finish;
}
- openssl_thread_setup();
-
+ if (!ne_has_support(NE_FEATURE_SSL) ||
+ !ne_has_support(NE_FEATURE_TS_SSL) ||
+ !ne_has_support(NE_FEATURE_LFS)) {
+ fprintf(stderr, "fusedav requires libneon built with SSL, SSL thread safety and LFS enabled.\n");
+ goto finish;
+ }
+
mask = umask(0);
umask(mask);
file_cache_close_all();
cache_free();
session_free();
- openssl_thread_cleanup();
return ret;
}