Commit graph

389 commits

Author SHA1 Message Date
Andreas Schneider
13f82f25ff Set the right mode during open.
This gives us a speedup about 60 seconds copying the linux kernel sources.
2008-06-05 13:32:23 +02:00
Andreas Schneider
34e59bae46 We shouldn't follow symlinks and don't change the access time.
This gives a small speedup of the read command.
2008-06-05 13:31:23 +02:00
Andreas Schneider
e5180d19d4 Only create paths when needed. 2008-06-05 12:02:37 +02:00
Andreas Schneider
364a9015d3 Improve the speed of the push_file function.
The stat() calls in mkdirs() slows down the execution of this
function. Now we spend the most time for asprintf().
2008-06-04 18:19:14 +02:00
Andreas Schneider
4eb9965046 Revert "Improve the check for if we have the same hash really found."
This reverts commit 247aaeaacb.

Conflicts:

	src/csync_update.c
2008-06-02 18:07:25 +02:00
Andreas Schneider
24d76f3e20 Revert "Improve the check for the inode."
This reverts commit 92bf414e4c.
2008-06-02 18:06:17 +02:00
Andreas Schneider
b8aeec4428 Revert "Sync on mtime and ctime changes if possible."
This reverts commit 575ca39e8b.

Conflicts:

	src/csync_update.c
2008-06-02 18:03:24 +02:00
Andreas Schneider
b5334402b9 Fix the remove-journal paramater and add new functions for it. 2008-06-02 17:02:22 +02:00
Andreas Schneider
057f72471f Remove non-working function. 2008-06-02 17:01:48 +02:00
Andreas Schneider
5168e3ee70 Change name of the buffersize so that they can't conflict. 2008-06-02 16:05:40 +02:00
Andreas Schneider
e2b049c935 Static functions should all start with an underscore.
For better readablity...
2008-06-02 15:11:45 +02:00
Andreas Schneider
2ccbaa05b6 Change version number for alpha1 release. 2008-06-02 12:55:59 +02:00
Andreas Schneider
247aaeaacb Improve the check for if we have the same hash really found. 2008-05-29 19:05:24 +02:00
Andreas Schneider
92bf414e4c Improve the check for the inode. 2008-05-29 18:55:49 +02:00
Andreas Schneider
bbbf5ed13e Fix the csync_remove_config_dir() function to remove the journal. 2008-05-27 15:46:15 +02:00
Andreas Schneider
575ca39e8b Sync on mtime and ctime changes if possible. 2008-05-27 14:31:57 +02:00
Andreas Schneider
cce81bc154 Use a better name for the status defines. 2008-05-27 14:15:44 +02:00
Andreas Schneider
64a8a911d3 Remove the backup mode bug add a mode to remove the journal. 2008-05-27 14:11:46 +02:00
Andreas Schneider
7921b88467 Don't output on error if we remove a dir and errno is ENOTEMPTY. 2008-05-27 13:51:58 +02:00
Andreas Schneider
158ff9eba5 Create the journal depending on the name of the remote replica. 2008-05-27 13:48:07 +02:00
Andreas Schneider
d5aced82ca Disable sync of symlinks cause they need a lot of work. 2008-05-26 17:09:42 +02:00
Andreas Schneider
66fd0e2de0 Add basic support for symbolic links.
A test to ensure that it is working is still needed.
2008-05-26 15:58:40 +02:00
Andreas Schneider
c16abe8a7b Add error message in csync_vio_mkdir. 2008-05-21 16:43:08 +02:00
Andreas Schneider
0da1133bdb Return an error if basename fails on uri in stat command. 2008-05-21 16:06:45 +02:00
Andreas Schneider
49e10b7e6a Add debug message if mkdirs fails. 2008-05-21 15:50:27 +02:00
Andreas Schneider
a46a39ce0e Fix typo in config and config parser. 2008-05-21 15:22:45 +02:00
Andreas Schneider
0304353e2e Merge branch 'master' of git://git.csync.org/csync 2008-05-21 14:47:28 +02:00
Andreas Schneider
d720975617 Fix backup mode. 2008-05-21 14:46:42 +02:00
Andreas Schneider
3da8b33143 Rename the sqlite3 module. 2008-05-20 21:55:57 +02:00
Andreas Schneider
465d9f07bc Add function to remove config dir and improve other getter and setter. 2008-05-20 16:33:03 +02:00
Andreas Schneider
bf9fdfeac0 Check for NULL values. 2008-05-20 16:31:10 +02:00
Andreas Schneider
6601a2e49e Always remove the temporary journal. 2008-05-20 16:14:14 +02:00
Andreas Schneider
dddb81c5cd Add the possibility to load an additional exclude file. 2008-05-20 15:50:02 +02:00
Andreas Schneider
5a77997d55 Rename static functions to start with an underscore. 2008-05-20 14:01:04 +02:00
Andreas Schneider
235b817de0 Add a directory cleanup function to the propagator. 2008-05-20 13:56:43 +02:00
Andreas Schneider
8fe1cb54b5 Add c_list to standard lib header file. 2008-05-20 13:56:19 +02:00
Andreas Schneider
49c4ad76e1 Add missing NULL test. 2008-05-20 12:05:27 +02:00
Andreas Schneider
b54cb0fd66 Rename c_list_previous to c_list_prev. 2008-05-20 11:24:09 +02:00
Andreas Schneider
679927b5a9 Fix c_list_length() function. 2008-05-20 11:14:16 +02:00
Andreas Schneider
287a37d447 Initialize variables in c_list functions. 2008-05-20 10:19:53 +02:00
Andreas Schneider
6ef53dd1a4 Improve the c_list functions. 2008-05-20 10:08:59 +02:00
Andreas Schneider
9968e364d4 Add doubly-linked list. 2008-05-19 18:09:39 +02:00
Andreas Schneider
4831dd9cd9 Use new function names in csync.c. 2008-05-19 18:07:39 +02:00
Andreas Schneider
c6b2b46710 Move the functions to diff the time to the stdlib. 2008-05-19 17:30:17 +02:00
Andreas Schneider
1712447252 Check return values and errno of functions. 2008-05-19 16:29:01 +02:00
Andreas Schneider
c01d75d026 Split up the propagation visitor in file and dir propagator. 2008-05-19 11:39:11 +02:00
Andreas Schneider
d3f8e4aa7d Add more functions to the propagation visitor. 2008-05-19 11:30:41 +02:00
Andreas Schneider
c325f7d5e1 Add new file to propagator. 2008-05-19 11:21:44 +02:00
Andreas Schneider
702265920f Fix csync_push_file. 2008-05-19 11:20:46 +02:00
Andreas Schneider
432c87b335 Fix typo use mkdirs. 2008-05-19 11:20:08 +02:00
Andreas Schneider
e2bc2031cd Improve error messages. 2008-05-19 11:19:31 +02:00
Andreas Schneider
d68ac512e0 Fix warning and initialize the replica values. 2008-05-19 11:16:51 +02:00
Andreas Schneider
0be9a1e02b Add reconciler.
Currently only new directories are created. Other functions are prepared
bug not tested yet.
2008-05-16 17:30:57 +02:00
Andreas Schneider
84bb336e8e Add the file size to the file info struct. 2008-05-16 17:30:22 +02:00
Andreas Schneider
cfd587a260 Move the ftw type flags to the csync private header. 2008-05-16 14:12:00 +02:00
Andreas Schneider
43aaa78a18 Add a vio mkdirs function. 2008-05-16 14:11:17 +02:00
Andreas Schneider
08e6be673b Fixed bug where we remove file which is newer on other replica. 2008-05-15 20:15:17 +02:00
Andreas Schneider
fce3fd8d46 Move debug message to the right position. 2008-05-15 20:09:07 +02:00
Andreas Schneider
6c177c6cff Fix modtime comparsion should check for smaller modtime. 2008-05-15 20:04:12 +02:00
Andreas Schneider
e85647f2bc Fix typo. 2008-05-15 20:01:30 +02:00
Andreas Schneider
cf545797a3 Get a more equalent debug output or trace. 2008-05-15 20:00:01 +02:00
Andreas Schneider
0081e44647 Remove accidently commited printf. 2008-05-15 19:51:53 +02:00
Andreas Schneider
f2b1d0d85e Add some blank lines for readability. 2008-05-15 19:42:03 +02:00
Andreas Schneider
f8ca5c30fd Fix typo. 2008-05-15 19:41:06 +02:00
Andreas Schneider
1dcb48ad8f Don't sync equal files. 2008-05-15 19:20:01 +02:00
Andreas Schneider
83fdb412ad Add more accurate time measurement. 2008-05-15 19:18:41 +02:00
Andreas Schneider
977f5562e4 Improve the debug output a bit. 2008-05-15 17:57:14 +02:00
Andreas Schneider
b08c361527 Use the right mkdir function. 2008-05-15 17:56:51 +02:00
Andreas Schneider
f89333c3c8 Fix unlink of the temporary file to determine the timediff. 2008-05-15 17:26:26 +02:00
Andreas Schneider
db839ef5d3 Try to create remote directory if it doesn't exists or throw an error. 2008-05-15 17:17:48 +02:00
Andreas Schneider
4489fbfa2b Implement the reconciler. 2008-05-15 13:50:34 +02:00
Andreas Schneider
49543390e2 Fix synchronizer instruction on update detection for changed files. 2008-05-15 12:04:09 +02:00
Andreas Schneider
320f07f631 Show stats on error during update detection too. 2008-05-15 12:03:05 +02:00
Andreas Schneider
63e823778b Print error if opendir fails. 2008-05-13 16:06:11 +02:00
Andreas Schneider
4f81a8adc2 Fix typo. Wrong uri was used for remote replica. 2008-05-13 16:05:11 +02:00
Andreas Schneider
1d61cb9a51 Add error if callback ist set after init. 2008-05-13 16:04:29 +02:00
Andreas Schneider
ac8243c445 Fix status check. 2008-05-13 16:04:00 +02:00
Andreas Schneider
2c8f1fb667 Merge branch 'master' of git://git.csync.org/csync 2008-05-13 13:40:42 +02:00
Andreas Schneider
e76495a5cc Add a module auth callback function.
This allows the client to create an authentication callback function and
let the module call it. This makes it independent from gui or commandline.
2008-05-13 13:38:03 +02:00
Andreas Schneider
988591491a Install needed header files. 2008-05-13 13:36:50 +02:00
Andreas Schneider
c5c01998c5 Cleanup comments. 2008-05-09 13:34:46 +02:00
Andreas Schneider
7f3cba1517 Add missing tests for journal functions. 2008-05-09 11:25:21 +02:00
Andreas Schneider
8fc9e93ee0 Respect return value of fscanf. 2008-05-08 16:16:55 +02:00
Andreas Schneider
393c3ce9db Initialize variables. 2008-05-08 16:07:15 +02:00
Andreas Schneider
d0a6e9221b Fix tests and remove developer mode.
This allows to run all tests without the need for a special developer
mode.
2008-05-07 15:33:55 +02:00
Andreas Schneider
b1f8ab38c9 Fix null termination. 2008-05-07 11:29:48 +02:00
Andreas Schneider
014346f2bb Fix typo. 2008-05-06 15:41:52 +02:00
Andreas Schneider
6af37010cd Fix a stack smash. 2008-05-06 14:31:36 +02:00
Andreas Schneider
a1116b0e00 Add a module to find libdl.so. 2008-05-06 10:54:15 +02:00
Andreas Schneider
dce6278a1d Change set right version. 2008-05-05 13:53:07 +02:00
Andreas Schneider
4fb4ff84a8 Add a journal testing mode to the client. 2008-05-05 11:09:16 +02:00
Andreas Schneider
cfe0888771 Initialize the variables and create remote uri. 2008-05-05 10:48:34 +02:00
Andreas Schneider
c318daed7f Add time difference check to the init function. 2008-05-05 10:48:05 +02:00
Andreas Schneider
20da2351cf Add function to calculate the time difference between the replicas. 2008-05-05 10:35:38 +02:00
Andreas Schneider
94fbdc1d04 Remove in source iniparser library and require system lib. 2008-05-01 10:01:34 +02:00
Andreas Schneider
5a2fa7f563 Fix a segfault if we don't find an exlcude list. 2008-04-30 16:36:54 +02:00
Andreas Schneider
25e300c462 Implement detection of updates. 2008-04-30 16:24:50 +02:00
Andreas Schneider
b9c3009445 Add function to get file info by hash or inode. 2008-04-30 16:23:42 +02:00
Andreas Schneider
648c93ba7d Add a function to get a string from an instruction code.
This needed for human readable debugging messages.
2008-04-30 16:22:48 +02:00
Andreas Schneider
12764c6778 Call the shutdown function of the plugin before closing. 2008-04-30 13:10:18 +02:00
Andreas Schneider
f1078daa08 Create indexes. 2008-04-30 12:45:03 +02:00
Andreas Schneider
8ffce13e0e Check return value of result and free it. 2008-04-30 12:44:40 +02:00
Andreas Schneider
d57b2fed12 Always close the db, sqlite3_close() has to free memory. 2008-04-30 12:32:35 +02:00
Andreas Schneider
dc5b9853a7 Add missing return value check. 2008-04-30 10:39:08 +02:00
Andreas Schneider
997ec6db98 Speedup the journal creation and adapt the testcases. 2008-04-29 14:21:16 +02:00
Andreas Schneider
3df40b205e Fix return value of csync_journal_load and add sqlite3 optimization. 2008-04-29 14:19:50 +02:00
Andreas Schneider
669c2f8478 Check for the right value in the database. 2008-04-29 14:19:10 +02:00
Andreas Schneider
c502634107 Measure time of the journal creation. 2008-04-29 14:07:18 +02:00
Andreas Schneider
27fb5d9128 Fix several bugs in the journal query function. 2008-04-29 11:42:20 +02:00
Andreas Schneider
cc5c87068e Write the journal. 2008-04-29 11:22:06 +02:00
Andreas Schneider
f8434dd780 Add function to write and close the journal. 2008-04-29 11:21:43 +02:00
Andreas Schneider
eadbaa76d5 Use the status flag for the synchronizer. 2008-04-29 11:20:52 +02:00
Andreas Schneider
0377c034f6 Check if journal exists to do update detection. 2008-04-29 09:27:49 +02:00
Andreas Schneider
0ff11694e9 Move ignore exclude files and check link count of files. 2008-04-29 09:26:42 +02:00
Andreas Schneider
cc4c636ed4 Add function to create tables in the journal. 2008-04-29 09:24:28 +02:00
Andreas Schneider
98962337c4 Use a struct for the journal. 2008-04-29 09:23:51 +02:00
Andreas Schneider
69a4f9f1c1 Change name of link_count to nlink. 2008-04-29 09:07:30 +02:00
Andreas Schneider
2ea310ab54 Fill stat and add it to the red black tree.
Update detection needs still to be done.
2008-04-28 16:50:25 +02:00
Andreas Schneider
fac0ba914f Print out memory usage between update detection. 2008-04-28 16:49:21 +02:00
Andreas Schneider
48a4ad8400 Add function to print out the status of the memory usage. 2008-04-28 16:47:35 +02:00
Andreas Schneider
80ee481af3 Add a type field to csync_file_stat. 2008-04-28 14:34:58 +02:00
Andreas Schneider
cf505c38a5 Add uid and gid fields to csync_vio_file_stat. 2008-04-28 14:22:04 +02:00
Andreas Schneider
a1d32a2c8b Rename pathid to phash and add current replica info. 2008-04-28 14:08:51 +02:00
Andreas Schneider
98efb19509 Set replica types. 2008-04-28 14:08:07 +02:00
Andreas Schneider
c6c6e9cbf0 Create the red-black trees for local and remote replica. 2008-04-28 13:42:10 +02:00
Andreas Schneider
8e815bffad Check which module we have to load. 2008-04-28 12:40:32 +02:00
Andreas Schneider
bae5bf798a Remove trailing slashed fo the uris. 2008-04-28 12:35:29 +02:00
Andreas Schneider
745e264f26 Add null pointer check to the c_rbtree_size function. 2008-04-28 12:19:01 +02:00
Andreas Schneider
59ab78ed57 Add instructions and file structure for internal rbtree. 2008-04-28 10:16:31 +02:00
Andreas Schneider
3eeb70ea94 Add replica type to the replica structs. 2008-04-28 10:05:40 +02:00
Andreas Schneider
6d1e843c1a Restructure csync_vio_file_stat and add checksum field. 2008-04-28 10:03:39 +02:00
Andreas Schneider
e0691bfe4c Free memory earlier to reduct the calls of free to one. 2008-04-26 21:06:19 +02:00
Andreas Schneider
2d8214aa31 Use better expression for asprintf. 2008-04-26 20:56:46 +02:00
Andreas Schneider
f62366b2ed Fix typo. 2008-04-26 10:45:38 +02:00
Andreas Schneider
f71aea17a1 Fix a segfault in csync_destroy if a null pointer is passed. 2008-04-26 10:44:37 +02:00
Andreas Schneider
2a53561b2b Call the tree walker for local system for now. 2008-04-26 10:43:22 +02:00
Andreas Schneider
488b784dcf Change name of dfs to dirent to be more clear.
Add hash testing too for now.
2008-04-26 10:42:20 +02:00
Andreas Schneider
0e0317c27e Fix segfaults if NULL is passed to some functions and set errno. 2008-04-25 17:12:48 +02:00
Andreas Schneider
be53c0762d Use a pointer in the utimes functions. 2008-04-25 16:48:28 +02:00
Andreas Schneider
1892d73537 Fix segfaults for read, write and lseek and set errno. 2008-04-25 14:36:24 +02:00
Andreas Schneider
ce1debedb6 Add needed include files for flags needed by open. 2008-04-25 11:27:11 +02:00
Andreas Schneider
b59fec14e8 Fix output of non log4c logging. 2008-04-25 11:26:20 +02:00
Andreas Schneider
dd6cc1f83c Fix a segfault if we try to close a nullpointer.
Same local or in the smb plugin.
2008-04-25 10:57:35 +02:00
Andreas Schneider
e6b45181f3 Add the possibility to disable log4c in testcases. 2008-04-25 10:56:23 +02:00
Andreas Schneider
282c915290 Fix a segfault if you pass NULL to closedir. 2008-04-23 17:37:39 +02:00
Andreas Schneider
fcb55722ab Make the first argument of the hash algorithm const. 2008-04-23 17:36:36 +02:00
Andreas Schneider
6d11fbd3c6 Fix remote tree name and free the memory of the replicas. 2008-04-23 13:05:40 +02:00
Andreas Schneider
6a2f1f0add Add a file tree walker for the update detection. 2008-04-23 12:12:48 +02:00
Andreas Schneider
c281a720b0 Fix the directory handling. 2008-04-23 12:12:02 +02:00
Andreas Schneider
d3c92bbf60 Use the right type for the csync_vio_method_handle_t. 2008-04-23 11:48:17 +02:00
Andreas Schneider
40f21cc369 Don't free a NULL pointer at csync_vio_file_stat_destroy(). 2008-04-23 11:47:32 +02:00
Andreas Schneider
dc72b7397c Add the local and remote uri at creation time. 2008-04-22 17:23:26 +02:00
Andreas Schneider
5a37fd9b6d Load and shutdown smb plugin for now.
This needs to be implemented later.
2008-04-22 15:58:06 +02:00
Andreas Schneider
9a97f52e4f Add missing vio functions.
This is the last step to get the vio framework working.
2008-04-22 12:12:23 +02:00
Andreas Schneider
8b31bb70b7 Fix typo. 2008-04-22 12:09:30 +02:00
Andreas Schneider
26bf60720c Use the right dhandle type of closedir in vio. 2008-04-22 11:27:04 +02:00
Andreas Schneider
8fb079ae60 Add local functions for the vio plugin system. 2008-04-21 14:55:59 +02:00
Andreas Schneider
96efd606b0 Add missing parameter to the vio functions. 2008-04-21 09:43:20 +02:00
Andreas Schneider
aa9d97c953 Call the right shutdown function in the module. 2008-04-18 19:15:40 +02:00
Andreas Schneider
4644c39f5a Implement module init and shutdown functions. 2008-04-17 18:02:41 +02:00
Andreas Schneider
9c90b113e8 Add config.h to csync_private.h and add plugin_handle. 2008-04-17 14:54:21 +02:00
Andreas Schneider
dca5625249 Fix typos. 2008-04-17 14:45:13 +02:00
Andreas Schneider
396e3b50fa Change the name of the BLOCK_SIZE field. 2008-04-16 15:02:32 +02:00
Andreas Schneider
beccc5f1bd Add missing include file. 2008-04-16 10:57:50 +02:00
Andreas Schneider
c1bd966c5c Make csync_vio_file_stat functions public. 2008-04-16 10:54:53 +02:00
Andreas Schneider
ec5d3afea0 Fix warning about shadowed variables. 2008-04-16 10:32:01 +02:00
Andreas Schneider
241a38c8f2 Add csync_vio_file_stat functions to (de)allocate memory. 2008-04-10 15:45:23 +02:00
Andreas Schneider
59eff42dc4 Fix includes. 2008-04-10 15:44:41 +02:00
Andreas Schneider
ee657149b1 Change variables to new name. 2008-04-10 14:18:25 +02:00
Andreas Schneider
fd1045f913 Add a strndup function to c_stdlib. 2008-04-10 14:17:36 +02:00
Andreas Schneider
ab39159607 Add virtual IO plugin system.
This is the initial commit of the vio plugin system. The idea is based on
gnomevfs.
2008-04-07 17:16:41 +02:00
Andreas Schneider
5ba9432548 Free memory of the exclude list in the csync destroy function. 2008-03-26 11:11:20 +01:00
Andreas Schneider
2e85f56393 Add support for global and user exclude lists. 2008-03-25 16:22:51 +01:00
Andreas Schneider
335d07e0b8 Add a exclude list. 2008-03-25 16:13:44 +01:00
Andreas Schneider
10ec516dce The string we add should be const for strlist. 2008-03-25 16:07:58 +01:00
Andreas Schneider
4e8844f1bb Use POSIX functions for journal check. 2008-03-20 10:45:05 +01:00
Andreas Schneider
b4811c36bc Add a stringlist expand function. 2008-03-20 10:34:58 +01:00
Andreas Schneider
1dc975ad9d Don't leak memory.
Found by nightly build on http://testing.csync.org/.
2008-03-07 11:07:12 +01:00
Andreas Schneider
2e34b51373 Load the config file. 2008-03-06 17:43:58 +01:00
Andreas Schneider
8ee1252276 Fix a deadlock if we pass an empty string to the journal insert. 2008-03-04 11:29:43 +01:00
Andreas Schneider
7415bb1ea3 Add more testcases for csync_journal. 2008-03-04 10:42:02 +01:00
Andreas Schneider
a98377dbd4 Fix gcc warnings. 2008-03-03 14:11:14 +01:00
Andreas Schneider
c29132d612 Fix indentation. 2008-03-03 13:20:45 +01:00
Andreas Schneider
1692ef49ae Change version to 0.42. 2008-03-03 10:20:31 +01:00
Andreas Schneider
2dbba9d1f8 Document the csync handle and remove the struct forward declaration. 2008-02-29 18:04:51 +01:00
Andreas Schneider
2d0de78d1f Add missing documentation for the public API. 2008-02-29 17:57:49 +01:00
Andreas Schneider
ff7e28f82c Completly hide the csync structure for the user of the library.
So it easier to change the API/ABI.
2008-02-29 11:41:15 +01:00
Andreas Schneider
600fbe8740 Add two-phase commit for the journal. 2008-02-29 11:24:14 +01:00
Andreas Schneider
1b29a420bc Initial commit 2008-02-27 18:56:47 +01:00