Commit graph

912 commits

Author SHA1 Message Date
Klaas Freitag
8115f71096 Avoid memory allocation screwup. 2013-05-22 12:33:09 +02:00
Klaas Freitag
4a58cae0b0 Finialize insert statement. 2013-05-22 12:33:09 +02:00
Klaas Freitag
bcdd8b95bf Allow empty MD5 sum on save, happens with directoires. 2013-05-22 12:33:09 +02:00
Klaas Freitag
69d251630f Code cleanups, move closedb out of if statements. 2013-05-22 12:33:09 +02:00
Klaas Freitag
02f93ec4d5 Free allocted memory of local and remote list. 2013-05-22 12:33:09 +02:00
Klaas Freitag
dd8ceacf75 Avoid compile warning due to non-top variable declaration. 2013-05-22 12:33:09 +02:00
Klaas Freitag
673ca36db8 More efficient database writing, do integrity check on db. 2013-05-22 12:33:09 +02:00
Klaas Freitag
68e0dbb18f Use wide character unlink. 2013-05-22 12:32:25 +02:00
Klaas Freitag
4ad01b35ce Switch on full synchronous mode for sqlite. 2013-05-20 11:10:27 +02:00
Klaas Freitag
053a9b7da0 Add neon includes to httpbf build 2013-05-17 12:45:39 +02:00
Klaas Freitag
4f47aba1e2 Allow user aborting in chunked uploads 2013-05-16 17:37:30 +02:00
Klaas Freitag
2385bbcf55 Add an abort callback. 2013-05-16 17:37:00 +02:00
Olivier Goffart
d8d4f118d7 Fix possible leak 2013-05-15 17:59:13 +02:00
Olivier Goffart
00d27d0e9c Fix HTTPBF again
it really needs to be %u because if it is signed, then we have -- in the
URL which the server can't understand
2013-05-14 15:30:56 +02:00
Olivier Goffart
6735b82326 Fix leak 2013-05-14 15:30:56 +02:00
Klaas Freitag
1a648a612e Merge remote-tracking branch 'ogoffart/rename_folders_merged' into dav 2013-05-13 16:28:31 +02:00
Klaas Freitag
f2f12a5629 Use %d for int variables in sprintf. 2013-05-13 15:30:01 +02:00
Klaas Freitag
885eaad729 Removed goto from code. 2013-05-13 15:29:29 +02:00
Klaas Freitag
cb0e06e7f8 Merge remote-tracking branch 'ogoffart/dav' into dav 2013-05-13 15:10:29 +02:00
Klaas Freitag
7b060a7af6 Do not create lock for ownCloud Client any more. 2013-05-13 14:03:33 +02:00
Olivier Goffart
28942e3051 Recreates the statedb if it was corrupted
Fixes: https://github.com/owncloud/mirall/issues/595

Some corruptions do not happen when the database is opened, but only on
some querries.
In that case, recreates the database if querries such as DROP or
CREATE fails.
2013-05-13 11:57:25 +02:00
Olivier Goffart
8f3e260ede fix typo
This broke the new propagator
2013-05-10 13:13:02 +02:00
Klaas Freitag
276ccd3fb6 Fix setting of csync error code in updater. 2013-05-09 14:12:26 +02:00
Daniel Molkentin
a75376e6a7 Rename csync_abort -> async_request_abort. Add csync_resume. 2013-05-08 17:33:50 +02:00
Daniel Molkentin
ee5aaf76c5 Introduce csync_abort()
If called, it will set a bool in the context,
which will be respected by all expensive visitors.
2013-05-08 16:57:12 +02:00
Olivier Goffart
3c87cd71d7 Merge branch 'rename_folders' into dav
Conflicts:
	modules/csync_owncloud.c
	src/csync.c
	src/csync.h
	src/csync_propagate.c
	src/csync_propagate.h
	src/csync_statedb.c
	src/csync_statedb.h
	src/csync_util.c
	src/std/c_path.h
2013-05-07 15:24:12 +02:00
Olivier Goffart
79818924b3 Fix httpbf when resuming uploads 2013-05-07 11:45:02 +02:00
Olivier Goffart
b1ac67ce8b Always consider that the conflict should happen on the locale
Don't take in account which file is newer, the conflict file will always
be on the locale side.

This patch also consider that INSTRUCTION_NEW and INSTRUCTION_EVAL means
the same.
2013-05-07 10:48:44 +02:00
Olivier Goffart
698edcc1c0 Revert "Fix httpbf test."
This reverts commit 460c5b067d.

We need to use %u for unsigned in otder to avoid the '-' to many to
appear in the transferid
2013-05-06 16:13:58 +02:00
Klaas Freitag
c61035f767 Put the lock file into the sync dir. 2013-05-04 16:10:11 +02:00
Klaas Freitag
54ed522bbe Check for null argument. 2013-05-04 16:08:49 +02:00
Klaas Freitag
84a28fa8f7 Merge remote-tracking branch 'ogoffart/dav' into dav 2013-05-04 13:24:21 +02:00
Klaas Freitag
cca965e288 get etag header out of PUT reply. 2013-05-04 13:23:05 +02:00
Klaas Freitag
1561032973 Handle http error code correctly, even if neon reports success. 2013-05-04 12:16:35 +02:00
Olivier Goffart
8c0dbb03e1 Install httpbf and make it possible to include the header in C++ code 2013-05-03 19:23:26 +02:00
Olivier Goffart
10443fc1e3 in walk tree, we can now change the md5
Also also in commit always assume that the propagate is done. it might
have been done by someone else
2013-05-03 19:23:26 +02:00
Olivier Goffart
b1fc9b2a64 Don't reset the md5 if the mtime change locally.
Consider this case when one creates a file with an invalid filename (for
the server) in a directory in the local side.
say: foo/bar/%invalid%.txt

The following would happen:
- in the update for the local parent folder  foo/bar/, the md5 is 0
  because the mtime has changed
- During the reconcile, we try to send %invalid%, but there will be an
  error and nothing will be changed on the server, the etags stay the
  same
- We do not do any PROPFIND at the end so we do not fetch the etag
  anymore.  The md5 is still 0 and will be saved like that in the DB
- Next run, since the etags have  not changed on the server, we read
  from the DB.  But a md5 of 0 in the DB means the folder was removed on
  the server.  That would remove the local folder (BAD!)

So we load the md5 from the db even if the local mtime change.
That means we need to compare the mtime in the local case rather than
the md5 to see if something has changed.
2013-05-03 19:21:21 +02:00
Olivier Goffart
b49aaaabfc Fix too many PROPFIND when starting a sync
csync would not update the etag (md5) for directoru in the database if
the etag has changed, but none of the files within that directory
actually changed
2013-05-03 19:21:21 +02:00
Olivier Goffart
cf23799e78 Only mark a folder as modified if files within it are modified. 2013-05-03 19:21:21 +02:00
Olivier Goffart
0b648dc669 Do not fetch folder id after propagation.
Delay that for the next sync.
2013-05-03 19:21:21 +02:00
Klaas Freitag
8ac8701c10 Fix httpbf upload of zero size files, incl. test for that case. 2013-04-26 17:40:24 +02:00
Klaas Freitag
ab17e2aa8b Revert "Don't include csync_version.h from csync.h"
This reverts commit 5cda5d523c.
2013-04-26 10:45:14 +02:00
Klaas Freitag
5cda5d523c Don't include csync_version.h from csync.h 2013-04-26 10:37:45 +02:00
Klaas Freitag
a1271a1db2 Rather store a ptr to the ptr to st for propagation_cleanup 2013-04-26 10:31:41 +02:00
Daniel Molkentin
776d5dfe37 Generate csync version from CMake variables 2013-04-25 12:32:01 +02:00
Olivier Goffart
959c987749 Fix storing the error of renames 2013-04-24 14:53:31 +02:00
Olivier Goffart
844c2bbafa Avoid double free 2013-04-24 14:53:31 +02:00
Olivier Goffart
eb38f5beb1 Don't reset the md5 if the mtime change locally.
Consider this case when one creates a file with an invalid filename (for
the server) in a directory in the local side.
say: foo/bar/%invalid%.txt

The following would happen:
- in the update for the local parent folder  foo/bar/, the md5 is 0
  because the mtime has changed
- During the reconcile, we try to send %invalid%, but there will be an
  error and nothing will be changed on the server, the etags stay the
  same
- We do not do any PROPFIND at the end so we do not fetch the etag
  anymore.  The md5 is still 0 and will be saved like that in the DB
- Next run, since the etags have  not changed on the server, we read
  from the DB.  But a md5 of 0 in the DB means the folder was removed on
  the server.  That would remove the local folder (BAD!)

So we load the md5 from the db even if the local mtime change.
That means we need to compare the mtime in the local case rather than
the md5 to see if something has changed.
2013-04-24 14:09:20 +02:00
Klaas Freitag
460c5b067d Fix httpbf test. 2013-04-23 17:17:31 +02:00
Klaas Freitag
374d9b0a8c Merge from feature branch csync_commit. 2013-04-22 15:39:43 +02:00