Commit Graph

53 Commits

Author SHA1 Message Date
root
a59ff6f516 added specifier to control the API version that is called and set it to curent stable (which is version 1.2) 2014-12-26 20:28:23 -06:00
josch
b1b32d9ad8 folder/move: in contrast to the API docs it's folder_key_dst and not folderkey_dst 2014-12-19 19:07:08 +01:00
josch
90b2bfa332 add new api calls: folder/move and folder/update 2014-12-19 10:15:22 +01:00
josch
30428ad027 add new api calls: file/move and file/update 2014-12-19 08:20:20 +01:00
josch
f788706680 mfconn_create_signed_get: add more verbosity to error conditions 2014-12-19 07:57:01 +01:00
josch
171fd815f2 allow to change local files
- 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
2014-12-18 20:29:47 +01:00
josch
c8a0f2a942 add upload/patch 2014-12-07 15:38:50 +01:00
josch
a95a0f5c48 fill headers outside of http_post_file 2014-12-07 15:03:38 +01:00
josch
8468a39c0a if apicall failed - retry 2014-12-06 11:04:04 +01:00
josch
c04151f2e1 remove json_object_by_path 2014-12-05 14:27:31 +01:00
josch
8300fcd4c8 file/get_info: fix wrong response check 2014-12-05 14:05:51 +01:00
josch
73123d87e9 move mfconn_update_secret_key into the apicalls 2014-12-05 14:02:33 +01:00
josch
7e26de7e2a the error code is a json integer 2014-12-05 13:49:00 +01:00
josch
972b47f449 file/get_info: change accidental ssl usage 2014-12-05 13:06:03 +01:00
josch
2ce7ae3fae rename mfapi/apicalls/user_session.c -> mfapi/apicalls/user_get_session_token.c 2014-12-05 11:38:57 +01:00
josch
1007caec7a check and return mediafire response code for every api call 2014-12-05 11:37:51 +01:00
josch
71f6396a9a Allow to create new files (but changing them is not allowed yet)
- 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
2014-12-04 16:07:12 +01:00
josch
f1bf926145 Allow file upload
- add upload/simple
 - add upload/poll_upload
 - add "put" command to mfshell
 - add http POST method
2014-12-04 10:34:54 +01:00
josch
83eb1d9dcc add file/delete apicall and rm command to shell 2014-12-02 10:18:12 +01:00
josch
2f2ce91597 fix includes and indentation 2014-12-01 22:03:09 +01:00
josch
febb29f75c Add support for updating local cache through patches
- 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
2014-12-01 16:30:32 +01:00
josch
511cda2c8f calculate and check hash of downloaded file 2014-11-05 13:40:25 +01:00
josch
3db5ce5c42 implement preliminary support to read files
* no writing yet
  * no delta updates yet - new versions will be retrieved fully
2014-10-27 14:17:06 +01:00
josch
5a673abd1b fix valgrind problems 2014-10-19 08:58:56 +02:00
josch
5fa32f8878 build with std=c99 2014-10-02 08:20:08 +02:00
josch
b0410cc1ac make synchronization with remote more robust 2014-09-29 16:49:11 +02:00
josch
b6f35763fa Optimize device/get_changes updates
- don't use folder/get_content but rely on parent information
 - add many more debugging information and sanity checks
 - ignore trash
 - correctly update local device revision using device_response
 - remove "visited" member and change housekeeping function to check for
   consistency of parents and children (and retrieve fix from remote if
   necessary)
 - print key and parent key in the debugging function
 - check for remote updates on every fs function
 - introduce global defines for key and filename length
 - add parent member, getters and setters to file.h
2014-09-27 14:05:11 +02:00
josch
b4045f19ce Add hashtable implementation to maintain a local copy of the remote 2014-09-26 15:19:55 +02:00
josch
8ac6e70609 Don't let api_device_getchanges print but let it fill datastructures 2014-09-25 21:51:42 +02:00
josch
ebc70ee4c4 fix includes 2014-09-25 19:43:38 +02:00
josch
dcce69e66d limit line length to 79 characters 2014-09-25 19:38:48 +02:00
josch
32fcb30572 fix indentation 2014-09-25 19:34:03 +02:00
josch
0fab559a86 Don't let api_folder_get_content print but let it fill datastructures 2014-09-25 19:27:49 +02:00
josch
975e75cc6f mfshell: add changes command, mfapi: add device/get_changes 2014-09-25 13:04:40 +02:00
josch
c763863d27 remove epoch 2014-09-24 21:20:21 +02:00
josch
a63ee3f84e mfapi/folder.c: remove unnecessary struct members 2014-09-24 21:11:50 +02:00
josch
29a343267d mfshell: add the status command and the device/get_status api call 2014-09-24 18:33:04 +02:00
josch
6ca27f0a6a fix indent test and indentation 2014-09-24 11:28:35 +02:00
josch
0561a922c5 mfshell: add new folder command 2014-09-24 10:48:54 +02:00
josch
18db8742dd remove "myfiles" as a moniker for the root. Use NULL or empty string instead 2014-09-24 09:34:56 +02:00
josch
6e546fa3f3 some stderr output on error 2014-09-23 20:52:30 +02:00
josch
7e4717c18f mfconn_create: abort early on faulty input 2014-09-23 19:30:50 +02:00
josch
036954df35 allow to pass no api_key when constructing the signature 2014-09-23 18:53:16 +02:00
josch
60e0824f68 mfapi/apicalls/user_session.c: don't use hardcoded application_id 2014-09-23 18:24:09 +02:00
josch
08c067a352 add const qualifiers to some variables 2014-09-23 09:28:58 +02:00
josch
042a1cdf09 Add valgrind tests and fix memleaks 2014-09-23 09:28:24 +02:00
josch
e45d0e883d add rmdir shell command and folder_delete api call 2014-09-20 14:37:24 +02:00
josch
097a855751 use gnu indent to enforce coding style and adapt source
- indent options are listed in ./.indent.pro
 - use test case to run indent
2014-09-20 12:29:39 +02:00
josch
d8e00119b4 add test with iwyu and fix all headers accordingly 2014-09-20 10:31:55 +02:00
josch
4b2563d800 remove the _t postfix from type names because POSIX reserves types ending in _t 2014-09-19 23:13:29 +02:00