Olivier Goffart
9066ad5790
t7.pl: Test that deleting a directory restores it and all its sub directories
2014-06-27 11:31:35 +02:00
Olivier Goffart
62d0e670dc
Add t7.pl Test for operation of files with restrictions
2014-06-27 11:22:53 +02:00
Olivier Goffart
21d7d8988a
t1.pl: add a sleep to make sure the mtime of the files are different
...
It could be that the files are changed in the same second if the previous
sync was fast, and therefore the changes not detected.
2014-06-26 13:11:47 +02:00
Olivier Goffart
fbadadc377
propagator: Fix folder duplication if the folder is renamed on the server while uploading
...
While uploading a new folder, if the folder is renamed on the server
when still uploading, the result will be that the files that are already
uploaded will end up in the new filder name, but the file that were
not still are in the old folder.
After renaming, all the new uploads wil fail with an error on this sync
because the parent directory don't exist.
But they were uploaded with the old name in the next sync because
the renaming was not detected because the file id was not in the DB
Fix the problem by fetching the file id always when creating a new
directory, on the next sync, and saving it in the database ummediatly
https://github.com/owncloud/enterprise/issues/191
2014-06-24 12:00:13 +02:00
Olivier Goffart
8de3bda0b1
csync_update: update the permission in the db when they change
...
The current code only update the permissions in the DB when
the permission becomes non-empty.
Now we update the permission each time they change.
That way the code is the same for file id and permission so it is
simpler.
2014-06-24 11:10:50 +02:00
Olivier Goffart
9c0a21a5fb
Permission: keep a space if the permission is empty
...
To distinguish no permission present to nothing is allowed.
That was the intention of the old code but it did not work as
the first if was always taken
2014-06-24 10:52:42 +02:00
Olivier Goffart
02704cdf74
Merge remote-tracking branch 'origin/1.6' into il
...
Conflicts:
VERSION.cmake
csync/src/csync_statedb.c
src/mirall/syncengine.cpp
src/mirall/syncfileitem.h
2014-06-23 12:48:34 +02:00
Klaas Freitag
041066a252
Exclude: Add a missing free in case of empty lines.
...
This fixes Coverity CLT 12893
2014-06-20 15:15:35 +02:00
Olivier Goffart
b29a757b18
Revert "csync file util: Remove compare file function, not needed anymore."
...
This break the test.
And the function is aleady gone in master anyway
This reverts commit 407b3bebfe
.
2014-06-20 14:29:43 +02:00
Klaas Freitag
db3d2eed5f
csync core: Remove logically dead code: Can never be reached.
...
This fixes Coverity CID 12881
2014-06-20 13:08:03 +02:00
Olivier Goffart
b34afa1afc
reconcile: use the proper enum type
...
thankfully the value hapenned to be the same, but the type
is of CSYNC_FTW_.. and not CSYNC_VIO_FILE_TYPE
Detected by coverity (CID 12887)
2014-06-20 11:51:07 +02:00
Olivier Goffart
b7c9fa6d5f
csync_owncloud: silent CID 12883
2014-06-20 11:51:07 +02:00
Klaas Freitag
407b3bebfe
csync file util: Remove compare file function, not needed anymore.
...
This also fixes Coverity CID 12890 and CID 12898
2014-06-20 11:39:28 +02:00
Olivier Goffart
f04c80dd0e
httpbf: silent coverity issue 12905
2014-06-20 11:33:29 +02:00
Klaas Freitag
b144a5bbf9
csync_exclude: Add a missing free of path components.
...
This fixes Coverity CID 12895
2014-06-20 11:14:50 +02:00
Olivier Goffart
5225fe07e0
csync_owncloud_recursive_propfind: "fix" possible memory leak
...
This was only leaking memory if ne_path_parent returns 0, which
should never happen
This fixes coverity issue 12897
2014-06-20 11:12:45 +02:00
Klaas Freitag
85cdbd1f1d
stateDB: Close the file descriptor even if stat failed.
...
This fixes Coverity CID 12897
2014-06-20 11:05:40 +02:00
Klaas Freitag
e4f8a136f1
StateDB: Free locale string also if attribs are invalid.
...
This fixes Coverity CID 12898
2014-06-20 11:05:40 +02:00
Daniel Molkentin
c263c38cdf
statedb.c: fix potential memory leak on win32
...
This fixes coverity issue 12898
2014-06-20 10:58:03 +02:00
Daniel Molkentin
df8553e878
httpbf.c: Fix resource leak
...
This fixes Coverity CID 12902
2014-06-20 10:58:03 +02:00
Daniel Molkentin
bec66c85d4
Fix potential memory leak
...
This fixes Coverity CID 12893
2014-06-20 10:58:03 +02:00
Daniel Molkentin
f9710cc1d5
c_time: Fix resource leak in error case
...
This fixes Coverity CID 12903
2014-06-20 10:58:03 +02:00
Klaas Freitag
d0c992c991
Updater: Free tmp variable that might point to temp malloced memory
...
This fixes Coverity CID 12900
2014-06-20 10:41:01 +02:00
Klaas Freitag
9ee86cf06b
Fix resource leak in win32 code path, added free of locale filename.
...
This fixes Coverity CID 12901
2014-06-20 10:25:00 +02:00
Olivier Goffart
38254125c9
csync: fix the size in strncpy for the remote perms
...
We must only do strncpy with size one smaller than
the size of the buffer in order to leave at least
one '\0' at the end
2014-06-18 15:56:13 +02:00
Olivier Goffart
e5b3363ecf
csync_statedb: remove noisy output
2014-06-18 15:40:26 +02:00
Olivier Goffart
0a953b91f9
csync_vio_local: fix memory leak on windows
2014-06-17 16:40:38 +02:00
Olivier Goffart
ade92d8ac1
csync test: fix warning
2014-06-17 14:16:42 +02:00
Markus Goetz
a5967e4ecd
CSync: Fix win32 compile
2014-06-16 16:53:10 +02:00
Olivier Goffart
2f361278d2
Merge remote-tracking branch 'origin/1.6' into 'il'
2014-06-16 16:41:48 +02:00
Markus Goetz
319cf76417
CSync: Move compiler ifdef outwards
2014-06-16 16:26:00 +02:00
Markus Goetz
be7b08b50a
CMake: Fix token auth compile
2014-06-16 15:34:46 +02:00
Markus Goetz
61999a67cd
CSync: Give ctx to proxy callback
...
This fixes a crash.
2014-06-13 15:36:00 +02:00
Klaas Freitag
e1db834ec9
Add missing cmakedefine for HAVE_ASPRINTF and minor cleanup.
...
Fixes windows build.
2014-06-13 13:30:59 +02:00
Olivier Goffart
d5bd3190d4
csync unit tests: fix cimpilation
2014-06-07 12:08:58 +02:00
Markus Goetz
8dbfcd782b
CSync: Fetch permissions from server for whole tree on server update
2014-06-06 17:10:07 +02:00
Markus Goetz
70ff928381
CSync & statedb: Parse 'perm' from server
...
ownCloud 6 sends this.
2014-06-06 15:24:17 +02:00
Markus Goetz
b48ab79a92
CSync & statedb: Remove uid/gid
...
Columns are still in the DB as we don't want to break any compatibility.
2014-06-06 13:41:16 +02:00
Markus Goetz
9a7fbd4f71
csync_owncloud: Parse properties in one function
2014-06-06 13:41:16 +02:00
Olivier Goffart
6dd248e527
csync: fix warnings
...
warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
2014-06-05 15:48:53 +02:00
Olivier Goffart
7d00c3646a
csync: remove unused variable
2014-06-05 15:45:15 +02:00
Olivier Goffart
e355e12385
Fix crash in tests
2014-06-05 15:43:27 +02:00
Markus Goetz
34b31c0146
CSync: Fix test compile
...
The previously applied pull request apparantly broke the compile
because it re-ordered entries in the CMakeLists
2014-06-05 14:22:10 +02:00
Daniel Molkentin
7fcf6f9f79
Merge branch '1.6'
2014-06-05 12:01:50 +02:00
Olivier Goffart
bd48ab23c3
Merge pull request #1835 from zizzfizzix/cmake_fixes
...
A little CMake cleanup
2014-06-05 11:48:40 +02:00
Markus Goetz
4e28ba73bb
Windows: Fix build harder.
2014-06-05 10:13:20 +02:00
Markus Goetz
d4d630b2e9
Windows: Fix build
2014-06-04 12:47:17 +02:00
Markus Goetz
2f81167164
CSync: Remove more unused things
2014-06-04 11:19:09 +02:00
Markus Goetz
6897c5d41f
CSync: Always have statedb enabled
2014-06-04 11:06:41 +02:00
Markus Goetz
233450d850
CSync: Remove config dir setting
2014-06-04 10:56:56 +02:00
Markus Goetz
7428a8fa63
CSync: Remove unused std functions
2014-06-04 10:33:19 +02:00
Markus Goetz
18359d7871
StateDB: Remove _csync_win32_hide_file and use other implementation
2014-06-04 09:46:31 +02:00
Kuba Serafinowski
62ea6f316f
don't look for CMocka if we're not building unit tests
2014-06-04 00:10:16 +03:00
Olivier Goffart
6605a89990
csync_statedb: Fix wrong % code in debug output
...
%ld is for long, but int64_t is larger than long on windows
2014-06-03 18:28:31 +02:00
Olivier Goffart
4cb9b3a85b
Test: fix compilation
2014-06-03 17:54:43 +02:00
Olivier Goffart
806ab8ea46
csync: remove the local mode
...
It is no longer used for a long time
2014-06-03 17:52:07 +02:00
Olivier Goffart
582a8fe7fd
Merge branch '1.6'
2014-06-03 17:27:12 +02:00
Olivier Goffart
08ca8b54b1
test fles with '%' and '#'
2014-06-03 17:27:06 +02:00
Markus Goetz
e49b8981dd
CSync: Shorten WebDAV property name
2014-06-03 16:41:57 +02:00
Markus Goetz
2e91557c28
CSync: Rename callback functions
2014-06-03 15:01:35 +02:00
Markus Goetz
4d4eab8b1c
CSync & Propagator: Support a direct download URL
...
This is for server file backends that support sending a
direct URL.
2014-06-03 14:55:34 +02:00
Olivier Goffart
13f9970257
Fix some possible "Precondition Failed" bug
...
The problem was if there was a false conflict: the file has been touched
both on the server and the client.
- etag has changed on the server
- mtime has changed on the server and the client and is the same
- and file size is the same on both the server and the client
This may also happen if the file is uploaded on the server, but the client
looses connection (or crashes) before it get notified of the etag.
In both tree, the instruction is EVAL, but we reduce it to a NONE because
we detected that the conflict is 'false'. Still, we need to update the db
with the new etag. (_should_update_db)
The problem was that we would set the flag on the wrong tree.
This was not a problem when the file was NEW on both side since we checked
for null etag and used the other one then.
2014-06-03 12:23:30 +02:00
Markus Goetz
4d4ae9374b
CSync: Remove old defines
2014-06-03 11:51:12 +02:00
Markus Goetz
b8e20b412c
CSync: We can access the context directly
2014-06-03 11:51:12 +02:00
Markus Goetz
e36f3c5b10
CSync: Remove one VIO layering
2014-06-03 11:51:12 +02:00
Markus Goetz
8a55f831f4
CSync: Use context instead of global variable
2014-06-03 11:51:12 +02:00
Markus Goetz
0dcc9be5c1
CSync: Remove owncloud_stat
...
We get already all metadata with the readdir
2014-06-03 11:51:12 +02:00
Markus Goetz
5ee00a8df7
CSync: Simplify csync_owncloud stat/resource handling
2014-06-03 11:51:12 +02:00
Klaas Freitag
16d35c1489
Avoid crash on csync_ctx is NULL.
2014-06-03 09:50:09 +02:00
Olivier Goffart
3228fde4af
Only set should_update_etag for directories in the update case
...
If there is an error during the local rename for a file, we don't
want to write the entry for the destination before because there might be
an error
2014-05-26 16:11:05 +02:00
Klaas Freitag
1303379c9e
Remove useless global varialbe for auth callback.
2014-05-22 12:54:14 +02:00
Markus Goetz
667c835c49
Revert "remove auth callback setting in the csync module."
...
This commit broke syncing.
We need the callback to supply the password.
This reverts commit 8738128504
.
2014-05-21 20:02:22 +02:00
Klaas Freitag
8738128504
remove auth callback setting in the csync module.
2014-05-21 11:09:02 +02:00
Klaas Freitag
069eaf9170
Clear the authentication callbacks set before.
2014-05-21 11:09:02 +02:00
Klaas Freitag
3705a42375
Remove misleading error message of "unknown error" for custom errnos.
2014-05-13 10:39:37 +02:00
Olivier Goffart
d7a226e0e6
Silent warning:
...
warning: no previous prototype for ‘set_csync_file_locked_or_open_ext’ [-Wmissing-prototypes]
2014-05-07 12:38:57 +02:00
Klaas Freitag
a50c39cd0c
Maintain the original inode value for renamed files.
...
In case two renames are done on the same file/folder very quickly we
lost the information that the second operation was also a rename. That
was because we tried to get the inode value from a stat on the file once
the first rename was finished. But at that point, the file was already
gone because of the second rename.
Now the original inode is kept and written to db in case the file can
not be stat'ed.
This fixes bug #1737
2014-05-06 12:55:54 +02:00
Markus Goetz
6c44f53645
Set network timeout to 300 sec
...
As per previously used values (see source and changelog)
2014-05-02 15:35:40 +02:00
Olivier Goffart
988c162d2f
Have only one place where we read the timeout
2014-05-02 13:04:53 +02:00
Olivier Goffart
3d8d4fecd7
delete dead code
2014-05-02 11:50:20 +02:00
Olivier Goffart
752112dbaa
Initialize the size properly on windows
2014-04-30 12:06:55 +02:00
Markus Goetz
3bf15541c6
Add set_csync_file_locked_or_open_ext
...
Without using function, there were problems with DLL import/export
2014-04-29 18:37:34 +02:00
Olivier Goffart
0bffdfb256
Fix compiler warnings, and be less spammy in the log
2014-04-29 12:30:13 +02:00
Olivier Goffart
9f0848ba15
Merge remote-tracking branch 'origin/libowncloudsync_noqtgui'
2014-04-29 12:23:15 +02:00
Markus Goetz
7f752c7e93
Csync: Plug code for csync_file_locked_or_open
2014-04-28 16:57:56 +02:00
Markus Goetz
b39359c929
Csync: Add hook for checking if a file is in use already
2014-04-28 14:18:58 +02:00
Klaas Freitag
b42d3ced15
Another fix for make install on MacOSX
2014-04-28 11:19:25 +02:00
Klaas Freitag
1c73a8d4ad
Fix installation for MacOSX
2014-04-28 10:24:12 +02:00
Olivier Goffart
165e35c750
t1.pl: change assertLocalAndRemoteDir so we actually test something
2014-04-25 14:35:20 +02:00
Olivier Goffart
9da261acd8
Do not read from the database when upgrading from 1.5
...
We need to make sure that the file id are updated (if the user
had upgraded from owncloud 5 to owncloud 6 while using owncloud 1.5)
2014-04-25 13:31:44 +02:00
Olivier Goffart
cc7826e087
Add a compile option to disable renaming when the extension changes
...
This is only used for a very specific server that do not support
changing the extension of files without re-uploading the file.
Since the change is small and self contained, it is guarded by a #ifdef
(Removed old BLACKLIST_ON_ERROR option that is no longer in use)
2014-04-24 11:51:48 +02:00
Klaas Freitag
888843e655
Removed another file for Jenkins.
2014-04-23 13:22:06 +02:00
Klaas Freitag
28970393f6
Removed a test file as jenkins fails on it.
2014-04-23 13:18:28 +02:00
Markus Goetz
94f380c1f0
Updater: Ignore files matching with CSYNC_CONFLICT_FILE_USERNAME
2014-04-22 17:05:59 +02:00
Klaas Freitag
521373f075
More specific log output.
2014-04-22 09:33:07 +02:00
Olivier Goffart
7d3b0fe0c5
Fix memory leak: Don't need to call strdup here
...
The other_node outlive the trav structure, so we can just use the same pointer
2014-04-18 19:16:10 +02:00
Olivier Goffart
fa38bf7029
Make sure the fileid are saved to the database when upgrading from owncloud5 to owncloud6
...
We fetch the id from the server, but don't save them in the database.
I Could have used INSTRUCTION_UPDATED for that, but then i would need to update the
reconcile algorithm to take in account the fact that UPDATED is possible there.
Instead, use should_update_etag which means the db is going to be written again
Remove reference to old instruction _UPDATED and _DELETED which does not make sens with
the new propagator
Improve the test to test this case, and that etags are properly writen to the DB
when there is a fake conflict
2014-04-18 18:27:27 +02:00
Olivier Goffart
bfdf638334
Add the files required by the tests.
...
Somehow they got removed with all the moving and merging.
Especially kernelcrash.txt is required for t1.pl
2014-04-18 17:20:42 +02:00
Klaas Freitag
30a14b9f45
Install ocsync library to private lib directory, use rpath to find it.
2014-04-11 13:28:11 +02:00
Daniel Molkentin
af3af94a01
Allow tests to run against SSL-self-signed servers
2014-04-08 12:39:46 +02:00
Klaas Freitag
8ed0fdcfa5
Fix info print in test script.
2014-04-07 16:36:35 +02:00
Klaas Freitag
ebf3c78237
More fine granular chunking test - improved t6.pl
2014-04-07 16:30:02 +02:00
Klaas Freitag
fc2923aa9b
Unlink the compare file after the remote cleanup.
2014-04-07 15:10:55 +02:00
Klaas Freitag
5aeee6d1f2
Use curl to get the file back, fix the LWP based download later.
2014-04-04 17:00:20 +02:00
Klaas Freitag
a759c93fb6
Add a new test script to check for big file chunking.
2014-04-04 16:33:57 +02:00
Olivier Goffart
20e850501d
Make sure we do not remove files that are replaced by a symlink
...
As we ignore symlink, we should not remove on the server the files that
are ignored.
Change tested in t4.pl
Relates to #1299
2014-04-03 17:47:49 +02:00
Klaas Freitag
062a0907db
Remove HTTP::DAV fragment and hardcode required version in Test.pm
2014-04-03 10:16:09 +02:00
Klaas Freitag
ead935e0a6
Add an open to open the dav connection.
2014-04-02 16:45:31 +02:00
Olivier Goffart
eaf5681f61
Put the sync log in the actual folder
2014-04-02 16:36:32 +02:00
Klaas Freitag
cba160706a
Minor cleanup
2014-04-01 16:14:24 +02:00
Klaas Freitag
fa453296c9
Enable SSL for testing.
2014-04-01 16:14:24 +02:00
Klaas Freitag
58aaad3fed
Add options to createRemoteDir
2014-04-01 16:14:24 +02:00
Klaas Freitag
8625ec250b
Add a trust ssl certificate switch
2014-04-01 16:14:24 +02:00
Klaas Freitag
ab439f8f0f
Proper cleanup of the shared directory.
2014-03-28 16:15:59 +01:00
Klaas Freitag
384a8d0d72
Added t5.pl which does basic testing with a Shared directory.
2014-03-28 15:04:14 +01:00
Daniel Molkentin
4e0b6179f9
Libocsync is a library, not a plugin
...
This is needed to deploy the library correct in OS X.
2014-03-28 14:46:08 +01:00
Olivier Goffart
8de9bec122
Remove progress info from csync
...
csync doesn't do no propagation no more
2014-03-28 10:50:15 +01:00
Olivier Goffart
5204a992b2
Remove HBF stuff from csync_owncloud
...
csync doesn't do no propagation no more
2014-03-28 10:41:48 +01:00
Markus Goetz
67f4d0c85b
CSync: Debug message if no exclude file defined
2014-03-27 17:11:19 +01:00
Klaas Freitag
5481215813
Remove unused variable.
2014-03-26 18:18:20 +01:00
Klaas Freitag
033fee6f53
Fix include path
2014-03-26 18:16:27 +01:00
Klaas Freitag
67ae541e2a
Safe use of c_strdup
2014-03-26 18:16:27 +01:00
Klaas Freitag
c5100a789b
Collect data from the "other" tree for the treewalk functions.
...
This enables us to log all relevant information that were used
to decide on sync activity.
2014-03-26 18:12:22 +01:00
Markus Goetz
7bef166d6c
CSync: Debug file_id on walk
2014-03-26 15:32:45 +01:00
Olivier Goffart
98d7ff5116
Don't create .ctmp of sync journal
...
Fixes #1559
2014-03-26 10:25:50 +01:00
Markus Goetz
384eef4d6d
csync_owncloud: Add a debug message
2014-03-21 17:19:07 +01:00
Olivier Goffart
8e6674e784
Merge branch '1.5'
...
Conflicts:
src/owncloudcmd/owncloudcmd.cpp
2014-03-21 10:06:45 +01:00
Olivier Goffart
922e004fc6
Make it an error instead of a crash when dav_connect fails.
...
Fixes #1591
2014-03-21 09:54:26 +01:00
Klaas Freitag
a5ede054d6
Fix statedb tests.
2014-03-20 12:35:16 +01:00
Klaas Freitag
f7866aabde
Add C++ extern "C"
2014-03-20 11:15:28 +01:00
Klaas Freitag
eb59f98ec9
Fix quoting of query by text.
2014-03-20 11:15:28 +01:00
Klaas Freitag
c3cee3426e
Improved database access code for csync.
...
- Use precompiled database statements
- Store them in the csync context struct
- Hand whole context as parameter to db access functions
2014-03-20 11:15:28 +01:00
Klaas Freitag
f21dd05c2d
Streamline logging.
2014-03-20 11:15:28 +01:00
Klaas Freitag
6005b9c16e
Remove some superflous logging.
2014-03-20 11:15:28 +01:00
Klaas Freitag
9d1208baa4
Also allow http and https protocols.
2014-03-18 17:10:03 +01:00
Klaas Freitag
8e914deb99
Revert "Do not rely on the url scheme owncloud(s) any more."
...
This reverts commit 34dd3b207e
.
It can be implemented simpler.
2014-03-18 16:57:01 +01:00
Klaas Freitag
34dd3b207e
Do not rely on the url scheme owncloud(s) any more.
...
If it is not owncloud or ownclouds, rely on the scheme
that was given by the user.
2014-03-18 14:16:50 +01:00
Klaas Freitag
68e8d659fb
Remove unused code.
2014-03-18 14:16:06 +01:00
Olivier Goffart
33289bde29
Merge remote-tracking branch 'origin/1.5'
...
Conflicts:
CMakeLists.txt
VERSION.cmake
src/CMakeLists.txt
2014-03-14 17:27:50 +01:00
Markus Goetz
d5fd6309ed
CMake: Fix target_link_libraries parameters
2014-03-12 15:03:11 +01:00
Markus Goetz
4e7e25c569
Improve libowncloudsync
...
* Introduce TokenCredentials
* Introduce static compiling
* Have compile flags for smaller compile
2014-03-11 17:05:44 +01:00
Klaas Freitag
aa4e90acfc
Put ocsync to a private library - WIP
2014-03-11 10:18:07 +01:00
Olivier Goffart
114c8de814
Remove the check_csync_treewalk
...
because it runs csync_update which need to browse the owncloud directory
And there is no server
2014-03-06 15:30:36 +01:00
Olivier Goffart
7f07385fd7
Remove check_csync_treewalk_remote
...
Since we removed the vio abstraction, we cannot use the file system anymore
as a remote. and because we unfortunately can't use a real server,
just disable that test.
2014-03-06 14:24:53 +01:00
Olivier Goffart
e5a8cd4521
Merge branch '1.5'
...
Conflicts:
VERSION.cmake
2014-03-06 14:10:08 +01:00
Klaas Freitag
f348499bbe
For Windows, add the __USE_MINGW_ANSI_STDIO=1 switch
2014-03-05 15:39:49 +01:00
Markus Goetz
eb7074e9f0
csync: Don't free proxy settings on commit
...
Should fix #1502 and #1524
and #1459 and #1521
2014-03-04 18:44:52 +01:00
Markus Goetz
6906b8d30c
csync: Remove outdated tests
2014-02-28 16:43:15 +01:00
Markus Goetz
1c8f279214
csync: Remove more vio abstraction
2014-02-28 09:13:40 +01:00
Markus Goetz
5d58a8164c
csync: Remove get_etag
2014-02-27 14:03:17 +01:00