192 Commits

Author SHA1 Message Date
josch
9c4195ebdd fuse: allow entering username and password via stdin
- 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
2014-12-01 21:59:59 +01:00
josch
ffc933cf10 allow to start without a config file 2014-12-01 18:54:00 +01:00
josch
0abe0099be fail if hashtable cannot be loaded 2014-12-01 17:23:28 +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
5034d361ba store dircache in proper directory 2014-11-14 13:28:19 +01:00
josch
d748f5e686 fuse/main.c: eliminate all global variables by using fuse private_data 2014-11-14 13:20:31 +01:00
josch
d25439755c make sure that test fuse mount is unmounted even on error 2014-11-14 13:07:01 +01:00
josch
c7cd1809fe look up parent again after having retrieved it 2014-11-14 09:48:41 +01:00
josch
f9b0fa8551 instead of storing whether or not the local version is up to date, store the revision of the meta data and the revision of the data behind it 2014-11-12 19:42:21 +01:00
josch
511cda2c8f calculate and check hash of downloaded file 2014-11-05 13:40:25 +01:00
josch
254aaa6033 fix testsuite problems 2014-11-05 13:21:51 +01:00
josch
f281b4233d add diff and patch functions for xdelta3 2014-11-04 11:02:33 +01:00
josch
3d56e7b9c3 3rdparty/xdelta3-3.0.8: fix compiler warnings 2014-11-04 11:02:10 +01:00
josch
6b3ff6b7f5 tests/indent.sh: do not check 3rdparty directory 2014-11-03 20:40:03 +01:00
josch
070c7fdc3e add 3rdparty/xdelta3-3.0.8 2014-11-03 20:39:58 +01:00
josch
720d5da086 reorganize configuration and cache location handling
- follow XDG basedir spec
2014-11-03 20:33:48 +01:00
josch
1e4a217157 fix a typo that prevented the wrong directory being updated 2014-10-28 09:41:15 +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
21465f8943 create config directory in HOME and read config from there 2014-10-26 14:11:22 +01:00
josch
b6026aa350 valgrind_fuse: only wait 10 seconds for fuse to be mounted 2014-10-26 14:10:49 +01:00
josch
524fdf5824 add valgrind test for mediafire-fuse and fix memleaks 2014-10-25 11:39:26 +02:00
josch
fe17cb517f check whether a connection exists before executing certain commands 2014-10-25 11:34:34 +02:00
josch
5e24f47c10 add more curl error output 2014-10-25 11:33:55 +02:00
josch
fbad17827e fuse: allow to parse config file 2014-10-20 10:31:22 +02:00
josch
5a673abd1b fix valgrind problems 2014-10-19 08:58:56 +02:00
josch
f23250aaef Allow to work with only partially filled tree
- avoid walking the whole tree on startup
 - introduce variable to keep track of which entries need updating
2014-10-19 08:43:57 +02:00
josch
8f728cf106 remove unused variables 2014-10-02 08:22:43 +02:00
josch
5fa32f8878 build with std=c99 2014-10-02 08:20:08 +02:00
josch
5bcd7c38e7 we don't need the recurse argument if we fetch the content if the folder did not exist before 2014-09-29 17:03:26 +02:00
josch
b0410cc1ac make synchronization with remote more robust 2014-09-29 16:49:11 +02:00
josch
d65f60ec81 rely on some properties of fuse to avoid checks and sanitizing 2014-09-29 10:53:34 +02:00
josch
fc520c6f5b Implement mkdir and rmdir 2014-09-28 09:37:24 +02:00
josch
43c0b09f70 hashtbl: do not expose h_entry at all 2014-09-28 07:39:13 +02:00
josch
690091721a Call folder/get_contents for updated folders in device/get_changes
- it is not enough to rely on the parent information of updated files
   because that misses files and folders that were completely removed
   (even from trash)
2014-09-27 23:06:09 +02:00
josch
53981a2229 allow persistent storage and loading of the remote tree 2014-09-27 20:20:24 +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
da914e67b1 connect getattr and readdir to hashtbl 2014-09-26 16:10:31 +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
fd13d973ba fix memory leak in list command 2014-09-25 19:32:28 +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
44ba88a69d make valgrind return non-zero exit on failure 2014-09-25 19:25:57 +02:00
josch
975e75cc6f mfshell: add changes command, mfapi: add device/get_changes 2014-09-25 13:04:40 +02:00
josch
2e28ae16e2 remove some useless includes 2014-09-24 21:28:22 +02:00
josch
dacb6937f1 remove unused variable 2014-09-24 21:22:04 +02:00
josch
c763863d27 remove epoch 2014-09-24 21:20:21 +02:00
josch
095a05ec3c check strftime return value 2014-09-24 21:16:41 +02:00