From 69a979c16bf489e8de00ebe69bb6e198dfbe7a50 Mon Sep 17 00:00:00 2001 From: Markus Goetz Date: Wed, 5 Dec 2012 17:29:00 +0100 Subject: [PATCH] ownCloud: Allow HTTP timeout to be settable --- modules/csync_owncloud.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/modules/csync_owncloud.c b/modules/csync_owncloud.c index 0dfabb688..5e4fa80ad 100644 --- a/modules/csync_owncloud.c +++ b/modules/csync_owncloud.c @@ -152,6 +152,8 @@ struct dav_session_s { char *session_key; + int read_timeout; + long int prev_delta; long int time_delta; /* The time delta to use. */ long int time_delta_sum; /* What is the time delta average? */ @@ -609,7 +611,6 @@ static void ne_notify_status_cb (void *userdata, ne_session_status status, * and returns if the flag is set, so calling it frequently is save. */ static int dav_connect(const char *base_url) { - int timeout = 30; int useSSL = 0; int rc; char protocol[6] = {'\0'}; @@ -671,7 +672,11 @@ static int dav_connect(const char *base_url) { goto out; } - ne_set_read_timeout(dav_session.ctx, timeout); + if (dav_session.read_timeout == 0) + dav_session.read_timeout = 30; // Default from old code + + ne_set_read_timeout(dav_session.ctx, dav_session.read_timeout); + snprintf( uaBuf, sizeof(uaBuf), "csyncoC/%s",CSYNC_STRINGIFY( LIBCSYNC_VERSION )); ne_set_useragent( dav_session.ctx, uaBuf); ne_set_server_auth(dav_session.ctx, ne_auth, 0 ); @@ -1969,6 +1974,10 @@ static int owncloud_set_property(const char *key, void *data) { _progresscb = *(csync_progress_callback*)(data); return 0; } + if (c_streq(key, "read_timeout")) { + dav_session.read_timeout = *(int*)(data); + return 0; + } return -1; }