libidav/session.c

changeset 68
f6d3db6113d3
parent 43
03076907b58a
child 74
da079dc0724c
equal deleted inserted replaced
67:6b0c60659652 68:f6d3db6113d3
61 memcpy(url_str, base_url, url.length); 61 memcpy(url_str, base_url, url.length);
62 url_str[url.length] = '/'; 62 url_str[url.length] = '/';
63 url_str[url.length + 1] = '\0'; 63 url_str[url.length + 1] = '\0';
64 sn->base_url = url_str; 64 sn->base_url = url_str;
65 } 65 }
66 sn->context = context;
67 sn->handle = curl_easy_init(); 66 sn->handle = curl_easy_init();
68 //curl_easy_setopt(sn->handle, CURLOPT_VERBOSE, 1L);
69 //curl_easy_setopt(sn->handle, CURLOPT_STDERR, stderr);
70 curl_easy_setopt(sn->handle, CURLOPT_FOLLOWLOCATION, 1L); 67 curl_easy_setopt(sn->handle, CURLOPT_FOLLOWLOCATION, 1L);
71 68
72 // set proxy 69 // set proxy
73 DavProxy *proxy = sstrprefix(url, S("https")) ? context->https_proxy 70 DavProxy *proxy = sstrprefix(url, S("https")) ? context->https_proxy
74 : context->http_proxy; 71 : context->http_proxy;
92 } 89 }
93 90
94 // set url 91 // set url
95 curl_easy_setopt(sn->handle, CURLOPT_URL, base_url); 92 curl_easy_setopt(sn->handle, CURLOPT_URL, base_url);
96 93
94 // add to context
97 context->sessions = ucx_list_append(context->sessions, sn); 95 context->sessions = ucx_list_append(context->sessions, sn);
96 sn->context = context;
98 97
99 return sn; 98 return sn;
100 } 99 }
101 100
102 DavSession* dav_session_new_auth( 101 DavSession* dav_session_new_auth(
123 curl_easy_setopt(sn->handle, CURLOPT_USERPWD, upwdbuf); 122 curl_easy_setopt(sn->handle, CURLOPT_USERPWD, upwdbuf);
124 free(upwdbuf); 123 free(upwdbuf);
125 } 124 }
126 } 125 }
127 126
128 void dav_session_set_flags(DavSession *sn, uint32_t flags) {
129 sn->flags = flags;
130 }
131
132 uint32_t dav_session_get_flags(DavSession *sn) {
133 return sn->flags;
134 }
135
136 void dav_session_enable_encryption(DavSession *sn, DavKey *key, int flags) { 127 void dav_session_enable_encryption(DavSession *sn, DavKey *key, int flags) {
137 sn->key = key; 128 sn->key = key;
129 // TODO: review sanity
138 if(flags != 0) { 130 if(flags != 0) {
139 sn->flags |= flags; 131 sn->flags |= flags;
140 } else { 132 } else {
141 sn->flags |= DAV_SESSION_ENCRYPT_CONTENT; 133 sn->flags |= DAV_SESSION_ENCRYPT_CONTENT;
142 } 134 }

mercurial