- fuse/filecache:
* add filecache_upload_patch
* allow opening files in modes other than RDONLY
- fuse/hashtbl:
* add folder_tree_upload_patch
- fuse/operations:
* allow opening files in modes other than RDONLY
* add members to private context which allow tracking of
not-yet-uploaded files and files opened for writing and
files opened in read-only mode
- mfapi/apicalls/upload_patch:
* supply x-filename and x-filesize headers
- mfapi/apicalls/upload_simple:
* do not supply the x-filehash header as it is not used by the
server
- utils/hash:
* hex characters must be lower case for the server
- utils/strings:
* clean up unused functions strdup_join, strdup_substr,
string_chomp
- utils/stringv:
* complete rewrite with different string vector implementation
- this is useful to safe one extra call when it is known that there
should be changes on the remote. In that case it will immediately
skip forward to calling device/get_changes
- since mediafire cannot deal with empty files, we put new files into a
temporary location and upload them once they get closed
- add create and write functions to fuse
- pass a file handle to mfconn_api_upload_simple instead of a path
- allow calc_sha256 to also compute the file size
- error out when the key returned by upload/simple is empty
- make valgrind.supp more lenient
- when either username or password are not specified via commandline
arguments or configuration file, ask them on standard input
- unify function to read username and password
- move function to read username and password from mfshell to
utils/strings.c
- remove commented cruft from utils/strings.c
- refactor some code:
- code handling the file cache is now in fuse/filecache.c
- base36 and base16 encoding and decoding moved to utils/hash.c
- mfshell: add "updates" command calling device/get_updates
- add container class to store patch information as mfapi/patch.c
- apicalls: store more info retrieved by file/get_info
- apicalls: add device/get_updates
- apicalls: add device/get_patch