Add module property to disable recursive PROPFIND

This commit is contained in:
Markus Goetz 2013-05-08 13:26:59 +02:00
parent 927ccf5d08
commit 9c2f223093
2 changed files with 8 additions and 2 deletions

View file

@ -873,7 +873,7 @@ static struct listdir_context *fetch_resource_list(const char *uri, int depth)
}
}
if (propfind_recursive_cache) {
if (propfind_recursive_cache && !dav_session.no_recursive_propfind) {
fetchCtx = get_listdir_context_from_cache(curi);
if (fetchCtx) {
return fetchCtx;
@ -881,7 +881,7 @@ static struct listdir_context *fetch_resource_list(const char *uri, int depth)
/* Not found in the recursive cache, fetch some */
return fetch_resource_list_recursive(uri, curi);
}
} else if (!is_first_propfind) {
} else if (!is_first_propfind && !dav_session.no_recursive_propfind) {
/* 2nd propfind */
return fetch_resource_list_recursive(uri, curi);
}
@ -2044,6 +2044,10 @@ static int owncloud_set_property(const char *key, void *data) {
*(ne_session**)data = dav_session.ctx;
return 0;
}
if( c_streq(key, "no_recursive_propfind")) {
dav_session.no_recursive_propfind = *(bool*)(data);
return 0;
}
return -1;
}

View file

@ -161,6 +161,8 @@ struct dav_session_s {
void *userdata;
csync_hbf_info_t *chunk_info;
bool no_recursive_propfind;
};
extern struct dav_session_s dav_session;