diff -r 6b0c60659652 -r f6d3db6113d3 dav/main.c --- a/dav/main.c Fri Dec 12 13:57:41 2014 +0100 +++ b/dav/main.c Fri Dec 12 15:19:38 2014 +0100 @@ -41,6 +41,7 @@ #include #include +#include #include "config.h" #include "main.h" @@ -50,7 +51,6 @@ // nothing } -#include void test() { } @@ -143,7 +143,8 @@ fprintf(stderr, " -a show all files\n"); fprintf(stderr, " -l print resources in long list format\n"); fprintf(stderr, " -t print content type\n"); - fprintf(stderr, " -n specify namespace uri"); + fprintf(stderr, " -n specify namespace uri\n"); + fprintf(stderr, " -v verbose output\n"); fprintf(stderr, "\n"); fprintf(stderr, "Instead of an url you can pass a repository name " @@ -270,16 +271,27 @@ return 1; } - if(plain) { - int flags = sn->flags; - dav_session_set_flags(sn, 0); + if (plain) { + sn->flags &= ~DAV_SESSION_FULL_ENCRYPTION; } else if(crypt) { - dav_session_set_flags(sn, DAV_SESSION_FULL_ENCRYPTION); + sn->flags |= DAV_SESSION_FULL_ENCRYPTION; + } + + if (cmd_getoption(a, "verbose")) { + curl_easy_setopt(sn->handle, CURLOPT_VERBOSE, 1L); + curl_easy_setopt(sn->handle, CURLOPT_STDERR, stderr); } return 0; } +static DavSession* connect_to_repo(Repository *repo) { + DavSession *sn = dav_session_new_auth(ctx, repo->url, repo->user, repo->password); + sn->flags = get_repository_flags(repo); + sn->key = dav_context_get_key(ctx, repo->default_key); + + return sn; +} int cmd_list(CmdArgs *a) { if(a->argc != 1) { @@ -289,12 +301,8 @@ char *url = a->argv[0]; char *path = NULL; - //char *base = NULL; Repository *repo = url2repo(url, &path); - //base = util_concat_path(repo->url, path); - DavSession *sn = dav_session_new_auth(ctx, repo->url, repo->user, repo->password); - dav_session_set_flags(sn, get_repository_flags(repo)); - sn->key = dav_context_get_key(ctx, repo->default_key); + DavSession *sn = connect_to_repo(repo); if(set_session_config(sn, a)) { return -1; @@ -515,9 +523,7 @@ char *url = a->argv[0]; char *path = NULL; Repository *repo = url2repo(url, &path); - DavSession *sn = dav_session_new_auth(ctx, repo->url, repo->user, repo->password); - dav_session_set_flags(sn, get_repository_flags(repo)); - sn->key = dav_context_get_key(ctx, repo->default_key); + DavSession *sn = connect_to_repo(repo); if(set_session_config(sn, a)) { return -1; @@ -638,9 +644,7 @@ char *file = a->argv[1]; char *path = NULL; Repository *repo = url2repo(url, &path); - DavSession *sn = dav_session_new_auth(ctx, repo->url, repo->user, repo->password); - dav_session_set_flags(sn, get_repository_flags(repo)); - sn->key = dav_context_get_key(ctx, repo->default_key); + DavSession *sn = connect_to_repo(repo); if(set_session_config(sn, a)) { return -1; @@ -777,10 +781,7 @@ char *url = a->argv[0]; char *path = NULL; - Repository *repo = url2repo(url, &path); - DavSession *sn = dav_session_new_auth(ctx, repo->url, repo->user, repo->password); - dav_session_set_flags(sn, get_repository_flags(repo)); - sn->key = dav_context_get_key(ctx, repo->default_key); + DavSession *sn = connect_to_repo(url2repo(url, &path)); if(set_session_config(sn, a)) { return -1; @@ -810,10 +811,7 @@ char *url = a->argv[0]; char *path = NULL; - Repository *repo = url2repo(url, &path); - DavSession *sn = dav_session_new_auth(ctx, repo->url, repo->user, repo->password); - dav_session_set_flags(sn, get_repository_flags(repo)); - sn->key = dav_context_get_key(ctx, repo->default_key); + DavSession *sn = connect_to_repo(url2repo(url, &path)); if(set_session_config(sn, a)) { return -1; @@ -873,10 +871,7 @@ } else if (a->argc == 1) { char *url = a->argv[0]; char *path = NULL; - Repository *repo = url2repo(url, &path); - DavSession *sn = dav_session_new_auth(ctx, repo->url, repo->user, repo->password); - dav_session_set_flags(sn, get_repository_flags(repo)); - sn->key = dav_context_get_key(ctx, repo->default_key); + DavSession *sn = connect_to_repo(url2repo(url, &path)); DavResource *res = dav_resource_new(sn, path); char *date = NULL; @@ -903,10 +898,7 @@ char *url = a->argv[0]; char *path = NULL; - Repository *repo = url2repo(url, &path); - DavSession *sn = dav_session_new_auth(ctx, repo->url, repo->user, repo->password); - dav_session_set_flags(sn, get_repository_flags(repo)); - sn->key = dav_context_get_key(ctx, repo->default_key); + DavSession *sn = connect_to_repo(url2repo(url, &path)); if(set_session_config(sn, a)) { return -1; @@ -949,10 +941,7 @@ char *url = a->argv[0]; char *path = NULL; - Repository *repo = url2repo(url, &path); - DavSession *sn = dav_session_new_auth(ctx, repo->url, repo->user, repo->password); - dav_session_set_flags(sn, get_repository_flags(repo)); - sn->key = dav_context_get_key(ctx, repo->default_key); + DavSession *sn = connect_to_repo(url2repo(url, &path)); if(set_session_config(sn, a)) { return -1;