adds lock timeout

updates ucx version (most importantly this adds the new sstrstr implementation)

fixes possible UAF for locktocken paths, if file could not be opened

dav 1.0.1 update v1.0 v1.0.1

fixes wrong example in configuration.md v1.0

fixes syntax error in configuration.md v1.0

adds option to dav get for downloading only the directory structure

adds test for crypto streams

fixes wrong example in configuration.md

fixes syntax error in configuration.md

adds tests for crypto util functions

adds dav remove-property command

fixes crash when dav-sync push can't delete a resource on the server v1.0

adds SIGINT handler to dav-sync

bug fix: file size > 2gb not loaded correctly from database v1.0

bug fix: file size > 2gb not loaded correctly from database

adds dav-sync archive command

dav get-property shouldn't send an allprop propfind request

adds option to sort dav list by lastmodified date

dav-sync writes the locktoken to a file now

adds TLSv1.3 config

fixes dav startup without .dav dir

Added tag v1.0.0 for changeset 02d3e4b1245f

fixes wrong int type that results in a crash on some platforms

fixes memory leak in davqlparser

adds clean handling in case the stack of dav_exec_expr() runs out of memory

fixes local hiding of result variable with uninitialized data in dav_statement_execv

fixes memory leaks detected by cppcheck (or annotates them at least)

adds cppcheck make target

fixes missing default-key in example config

adds some small fixes for 1.0 release v1.0.0

removes debug compiler option

adds dav-sync introduction and sync.xml documentation

more minor improvements to the documentation

some more minor doc improvements

fixes dav_resource_new_full

refines copy.md

refines commands.md

adds more documentation details the three check commands

adds more details to add-directory.md

adds more details to add-directory.md

dav-sync command documentation complete

more documentation

fixes unnecessary mkcol in dav-sync

fixes dav put output

fixes dav list -R output

fixes crash when using invalid namespace prefix

adds resource name validation

some mingw fixes

more documentation

adds documentation for most dav commands

fixes error detection loop in dav lock/unlock/get-property/set-property

token parser checks if token of class DAVQL_TOKEN_NUMBER consists of digits only

adds bsd config

fixes build with ancient openssl

fixes build with openssl 1.1

fixes make install

adds auth prompt to dav get-property, set-property, lock, unlock and info

fixes conflict detection in push command

implements check-repositories command for dav-sync

updates UCX to version 0.11

implements xmlErrorFunc for dav sync + adds line numbers to error reporting in both config checkers

There has never been deliberately fucked up error handling for missing sync.xml.

improves config error reporting and adds check (check-config) command + dav-sync no longer aborts on missing sync.xml

adds first libidav tests

fixes false positive error when creating a sync db

implemented string functionality for some davql operators

refactored load_db function

adds XSD for dav config XML and removes comma as authmethod delimiter

merge sync config parser changes

adds XSD for dav-sync config

changed max-retry meaning and filter configuration in sync.xml

fixed SyncDatabase initialization

fixed install target and a missing return statement in libidav

improved dav put output

added README, INSTALL and LICENSE files

added install target

added support for error codes 407,413,414 and 511

fixed crash when encrypted streams are empty

copy/move with lock tokens works now

fixed dav get with -u option

added support for compiling with gcc on Solaris

improved dav-sync error handling on startup

disabled locking in dav-sync by default

fixed lazy propfind parser

fixed memory leaks in lock and unlock commands

fixed dav_context_get_key

removed password keys

fixed locking in dav-sync push

added support for paths with environment variables in sync.xml

improved error handling in libidav

added more cleanup code

fixed some bugs in dav_create() and dav-sync push

fixed some memory leaks in dav-sync pull

using locks in dav-sync

added conflict detection to dav-sync push

added resolve-conflicts and delete-conflicts to help text and fixed crash with unknown cmd options

automatically remove deleted conflict files from the db

added resolve-conflicts and delete-conflicts commands

dav-sync push ignores conflict files

dav-sync add-directory shows list of repositories

fixed version output

added options for extended list flags and changed version output

added noinput option to dav

dav list indicates locks

added lock support to some dav commands

added lock and unlock commands to dav

added API for webdav locking

fixed hash verification and head requests

changed libidav property namespace and version number

fixed some warnings and wrong usage of curl_easy_getinfo

added trash-info and empty-trash commands

fixed add-directory command

fixed dav-sync crash when sync.xml is missing

auth input for dav get, put, mkdir and remove commands

added add-directory command to dav-sync

enabled cert verification

added list-repositories and list-directories commands

added cleanup code in cmd_add_repository

fixed fix

fixed add-repository function name

added add-repository command to dav

version++

dav-sync prints a small report after successful sync

more specific error messages in dav-sync

dav-sync can create and delete empty directories now

fixed Solaris 11 build

added version info

added missing repo authmethods initialization

improved copy/move

updated copyright notice

fixed FreeBSD build

fixed Solaris build

added override option for copy/move

implemented webdav copy and move method

fixed large file support

enable sharepoint put fix

using content-length header in dav put

better and better and better iso8601 parser

improved util_capture_header when deactivating the capturing

merge

updated ucx and used new sstrlower in util_header_callback

improved util_header_callback by using sstr_t

cleanup curl header options in do_propfind_request

simplified do_propfind_request

added depth header workaround for Microsoft IIS (tested with sharepoint)

more updates to ucx

use ucx_map_clear in dav_propfind

updated UcxMap implementation

fixed incorrect response buffer reset in manual redirection handling in do_propfind_request

fixed zero-length format string in ls_size_str

fixed href comparison in parse_response_tag

reimplemented redirects for propfind requests

using Depth: 0 for non collection resources

don't allow signs for date strings (always expect full years)

added parser for iso8601 dates

definition: lastmodified and creationdate shall be zero on parse error

added fallback for util_parse_lastmodified, because some servers incorrectly use ISO-8601 dates for lastmodified - TODO: implement the ISO-8601 parsing

changed name of a local variable to avoid a later name collision

fixed href bug

fixed some cases of incompatible types in crypto functions

added possibility to configure authentication methods via coma separated list in config.xml

implemented hidden password input for windows by using conio

fixed windows build

fixed some memory leaks, content verification and dav info

added checksums for encrypted resources

implemented password key support for Solaris 10

fixed many davql exec memory leaks

added password based keys and fixed crash when keys are missing

hidden password input

improved dav-sync data-loss prevention

dav-sync detects broken uploads

fixed get command and davql exec

startup doesn't override broken config.xml anymore

fixed href comparison bug

fixed order by

implemented davql order by

-a option wasn't working correctly in recursive mode

fixed horrible bugs, davql hopefully just works now (without order by yet)

empty field results will no longer be added

replaced old davql (still buggy)

implemented execution of field list expressions

implemented some davql integer operations

secured ucx_list_append calls against OOM

added missing keywords + fixed missing source text for boolean primaries

fixed grammar for path + added missing string quote escaping (still not perfect: escape sequence is in syntax tree)

fixed path parser not writing length for a single slash as path

implemented minimal executor features and added missing ucx files

renamed GET to SELECT in davql syntax

added expression executor prototype

fixed: comparison operator info has been incorrectly written to type field

expression compiler generates byte code

added where clause compiler prototype

secured malloc / calloc calls

fixed statement type for logical expressions without operator + prepared OOM handling

implemented order by parser

added initial code for config commands

fixed paranthsis ambiguity for logical and normal expressions

fixed null pointer access on end of token stream by adding a special END token to the stream

fixed logical expression parser

completed logical expression parser - NEED TO TEST A LOT!

added function call parser + fixed some memory management mistakes

completed field list parser + error messages do now provide more context information based on the source string

minimized ucx subset

parser for ParExpression

update ucx

added syntax tree display to debugger + expression parser saves source text in every node

fixed parsing of binary expressions did not yield the correct type

added format specifier parser

started refactoring davqlparser

fixed control flow in int_cmd + committed testcase (enable with #define DO_THE_TEST)

added davqlexec source

added clang config + fixed control flow in two parser functions

reworked expression grammar (removed left recursion) + added field names to debugger + fixed bug when WITH-clause was the last clause in a statement

merge

improved error messages

fieldlist parser can now parse fields with alias

minor grammar fix (alias name is now identifier and not string) + completed debugger (so far) + separated field list parser (currently unable to parse alias names) + new structure for fields

fixed static variable fail

special path parser + typed literals + order by parser + grammar changes

simplified with clause parsing + added order by to data structure and debugger (TODO: implement)

removed ultrabreak gotos

added special symbol list to tokenizer

added order by clause to grammar + moved with clause right after the from clause

parser verifies that path is an identifier

parser for with-clause ready to parse more attributes, but marks duplicated attributes as error

parser for with clause + unexpected token message, if something is beyond the with clause

tokenizer now correctly handles quoted tokens

removed DavQLExpression type for path (since it always is an identifier)

davql: error handling + minor grammar changes

improved grammar + changed depth default, type and added infinity

added info command

improved expression parser (can now detect literals and identifiers) - TODO: tokenizer must not split strings and "backstick-identifiers"

renamed some enums to avoid collisions with macros + minor grammar change (backsticks for identifiers) + tokenizer + parser skeleton

UCX string module update

added path examination to debugger + changed field names of expression subtrees

added parse function prototype + started writing a debugger

described DavQLStatement grammar + added more features + renamed PUT to SET (for now)

added missing stuff to davql types

structure draft for DavQL statements

copyright update

fixed many memory leaks

ssl version is now configurable

dav now opens files in binary mode

fix

ucx update

fixed incorrect use of UcxBuffer

added verbose option + encryption flag fixes

fixed makefile file extensions

some bug fixes

added optional trash for deleted files

changed sync behavior

merge

added property-set and property-get command

fixed include/exclude filter for dav-sync

fixed propfind response parser bug

(0) -256 +256 tip

mercurial