Commit graph

787 commits

Author SHA1 Message Date
Klaas Freitag
7171da53e8 Check that file is unchanged before copying in propagator. 2013-04-09 16:43:21 +02:00
Klaas Freitag
2a5c403d63 Default timeout to 300 seconds. 2013-04-09 15:18:26 +02:00
Klaas Freitag
c38514934c A good word. 2013-04-09 14:41:36 +02:00
Klaas Freitag
90c4f52b34 Handle IGNORE status correctly. 2013-04-09 11:12:17 +02:00
Klaas Freitag
e93bf9fa0a Fix for Coverity CID #996823 2013-04-09 09:42:38 +02:00
Daniel Molkentin
aa390dd17e Set path and phash for ignored files 2013-04-08 14:21:00 +02:00
Klaas Freitag
1585cab673 Compare to explicit NULL for clearer code. 2013-04-08 09:11:25 +02:00
Klaas Freitag
5de0173804 Fix for Coverity CID #996824 2013-04-05 15:08:28 +02:00
Klaas Freitag
5d5ee328b0 Fix for Coverity CID #996825 2013-04-05 15:05:44 +02:00
Daniel Molkentin
28aa1448c1 Remove superfluous frees. 2013-04-04 18:31:01 +02:00
Klaas Freitag
5e0e42baaf Make VIO_METHOD_HAS_FUNC macro more robust. 2013-03-26 12:35:35 +01:00
Klaas Freitag
5951039894 Improved C style and added more tests. 2013-03-26 12:01:48 +01:00
Klaas Freitag
79c51540da Check for file equalness after having created a conflict file.
If the files are equal and the conflict was created because the
timestamps were screwed the conflict is removed again. This only
works on the local repository so far.

Conflicts:
	src/csync_propagate.c
2013-03-26 11:57:32 +01:00
Klaas Freitag
0baa80c235 Test added for c_compare_file. 2013-03-26 11:53:14 +01:00
Klaas Freitag
a71aef1731 Added c_compare_file function and test - WIP. 2013-03-26 11:52:46 +01:00
Klaas Freitag
6aec7f4211 Push context to module to make logging of the module work. 2013-03-26 10:05:15 +01:00
Klaas Freitag
ef7c5c261d Fix memory allocation for path. 2013-03-22 21:48:01 +01:00
Klaas Freitag
7b7ce3a43c Remove versions table before new creation. 2013-03-22 11:04:04 +01:00
Klaas Freitag
19f07f9aea Handle non statable files correctly, read missing info from db. 2013-03-20 21:56:09 +01:00
Klaas Freitag
945be9438c Avoid variable name new to not confuse syntax highlighter. 2013-03-20 21:55:34 +01:00
Klaas Freitag
b82c156c7e Bump version to 0.70.5 2013-03-19 16:23:10 +01:00
Klaas Freitag
d117593fd1 Fix a const char warning. 2013-03-19 16:23:05 +01:00
Klaas Freitag
5a8d90cc25 Fix path handling in update routine. 2013-03-19 16:22:11 +01:00
Klaas Freitag
db70a3b2ae Skip files which are not statable and ignore links and such. 2013-03-19 14:20:38 +01:00
Klaas Freitag
e3a4ec453c Handle non statable files gracefully. 2013-03-19 14:20:03 +01:00
Klaas Freitag
f88e9baf15 Handle renames in read only shares correctly. 2013-03-19 14:18:34 +01:00
Andreas Schneider
df2a04b4ab misc: Include stdio.h for snprintf. 2013-03-19 14:18:12 +01:00
Andreas Schneider
061fa6cc1b misc: Correctly handle getenv().
The returned string of getenv() has an unknown size. You need to store
the result always in a char array with a certain size to make sure we
don't feed tainted data to the next function call.
2013-03-19 14:17:44 +01:00
Klaas Freitag
b216b9f546 Push version to 0.70.4 2013-02-20 17:39:16 +01:00
Klaas Freitag
3d4b426137 Removed some useless logging. 2013-02-19 09:40:14 +01:00
Olivier Goffart
ca34c4fd5f Fix removing of folder when the folder is locked on windows.
When the folder is locked on windows, rmdir fails and the folmder is not
removed.  But on the next sync, one should try to remove that folder again, and
not upload it to the server as we did before.

There was two problems:

1- The removed folder is still in the DB, so when csync_update read from
DB, for the remote, it still finds it.  Fix that by storing an empty MD5
for directories that should have been deleted.

2- The folder is likely to be modified since its contents are gone.
Which means next sync will try to sync it back to the server.
Fix that by refreshing the mtime in the tree
2013-02-13 19:20:26 +01:00
Olivier Goffart
b6a37064e9 Allow to configure the timeout in the config 2013-02-13 18:25:28 +01:00
Klaas Freitag
7d1d880a9b Return a proper error code in case the file is locked on win32. 2013-02-13 12:38:50 +02:00
Klaas Freitag
a79c380707 Remove strange _tcslen define and fixed some potential leaks. 2013-02-07 14:45:12 +02:00
Klaas Freitag
52f33de902 Set version to 0.70.3 plus ChangeLog 2013-01-24 10:39:42 +01:00
Klaas Freitag
460947a3ac Set version to 0.70.2 for release 2013-01-23 14:05:58 +01:00
Klaas Freitag
96f9c09e35 Fix a crash for the case that csync_init fails. 2013-01-22 16:48:36 +01:00
Klaas Freitag
82a3e49d82 Bump version to 0.70.1 for oCC 1.2.0 beta2 2013-01-16 16:37:09 +01:00
Klaas Freitag
ccc9419a58 Reduce the sqlite_compile errors dramatically. 2013-01-16 16:27:59 +01:00
Klaas Freitag
0752aff55a Handle 405 as EPERM rather than EEXIST 2013-01-16 11:42:13 +01:00
Klaas Freitag
23fe05604b Added new error types for service unavail, quoto and file too big. 2013-01-13 21:39:54 +01:00
Olivier Goffart
3b4b500d4f leak fix 2013-01-10 11:32:42 +01:00
Olivier Goffart
de87ed2d31 Make it a error when the file cannot be created
Mark it a an error when the file cannot be created because the folder
cannot be created.

Should display errors on windows if the file is too long
2013-01-10 11:32:42 +01:00
Olivier Goffart
97e0e75ae2 Missing errno code on mingw 2013-01-10 11:32:42 +01:00
Olivier Goffart
6f1e70aae6 Always use the db even if the mtime change localy.
As long as the md5 is the same, use the db, even if the mtime change
localy.
2013-01-10 11:32:42 +01:00
Olivier Goffart
c8e274110a Don't abort in merge_tree if the file don't exist
Scenario:
We have  A/B/C/file.txt
mv A/B/{C,C2}
start sync, and before sync ends
mv A A2
then as sync start and we try to merge, since it is no longer possible
to stat A/B/ which has been updated as C was moved, then the database
would not be synced
then start sync again and A/B/C2/file.txt is seen as new, and is
duplicated

By saving the database anyhow we work around that problem
2013-01-10 11:32:41 +01:00
Olivier Goffart
5b8917672c Only do the correctId after both the remote and the local have been processed
It is important if there are operations such as delete, which operate on
the remote tree, and thet may also invalidate the id we got on the
localtree (for example, the parent directory of a removed file)
2013-01-10 11:32:27 +01:00
Olivier Goffart
b23d15eb11 csync_tree_walk: let the visitor change the instruction 2013-01-10 11:32:20 +01:00
Olivier Goffart
9998c7cde1 Do not fetch the id in _csync_sync_dir
But rather at then end
2013-01-10 11:28:01 +01:00
Olivier Goffart
0cf1061248 Reduce the number of stat when creating new directory.
Do not do a stat before, it is unlikely that it succeed, and if it does
indeed show there is a file with the same name, the following mkdir ill
fail properly

(The only difference will be that EEXIST will be returned instead of
ENOTDIR
2013-01-10 11:27:52 +01:00