Commit graph

391 commits

Author SHA1 Message Date
Andreas Schneider
3c618a3d7d Add possibility to pass userdata to the auth function. 2009-03-26 11:09:46 +01:00
Andreas Schneider
c826f021d6 Improve the version function. 2009-03-26 10:40:16 +01:00
Andreas Schneider
20048b238d Cosmetic change for a define. 2009-03-26 10:27:04 +01:00
Andreas Schneider
25f83f1764 Cleanup dirname and basename code. 2009-03-18 20:19:37 +01:00
Andreas Schneider
0634e0fdea Don't require a C++ compiler. 2009-03-18 10:55:14 +01:00
Andreas Schneider
467c082368 Set version to 0.42.0. 2009-02-10 12:50:26 +01:00
Andreas Schneider
a18202744d Change versions to 0.42.0 rc3 and add changelog entries. 2009-01-23 14:44:54 +01:00
Andreas Schneider
dd23c4ecbf Add some comments. 2009-01-23 14:10:08 +01:00
Andreas Schneider
e69976bc88 Fix a bug where the wrong function for deletion was executed.
Thanks to David Wooldridge for all the testing.
2009-01-23 14:07:34 +01:00
Andreas Schneider
2331568f08 Fix a segfault if we use a local path. 2009-01-22 15:21:06 +01:00
Andreas Schneider
ecca37d2a1 Normalize the path to <host>/<path> for the statedb filename.
This should fix problem if a user uses pam_csync and csync with different
urls (#27).
2009-01-22 14:44:06 +01:00
Andreas Schneider
228a19abf4 Add min and max macros. 2009-01-22 14:43:37 +01:00
Andreas Schneider
c5104e8da3 Rename variable to unix_extensions. 2009-01-19 11:32:58 +01:00
Andreas Schneider
2ffe986dc1 Don't exclude paths. 2009-01-15 23:14:46 +01:00
Andreas Schneider
e0807cba1b Add a check if we are operating remote on a unix filesystem.
This extends the exclude function. Maybe we should do this for the local
too.
2009-01-13 15:50:44 +01:00
Andreas Schneider
f6a956e248 Set the version numbers for 0.42.0 rc2/gmc. 2009-01-07 13:10:28 +01:00
Andreas Schneider
a9150e9e2a Initialize some variables. 2008-12-23 13:54:57 +01:00
Andreas Schneider
6d20c8b4fc Install the modules to a version directory.
The directory version number is the soversion of the library.
2008-12-16 15:03:57 +01:00
Andreas Schneider
9152e25f8f Fix the format for the inode number in the mprintf. 2008-12-14 18:27:24 +01:00
Andreas Schneider
1047431e4c Fix a typo. 2008-12-13 23:29:16 +01:00
Andreas Schneider
600b8657de Prepare for 0.42.0 rc1. 2008-12-05 14:51:01 +01:00
Andreas Schneider
3b51103a60 Implement own function to create a random filename.
This removes an uneeded syscall to lstat by mktemp at this point.
2008-11-13 15:11:02 +01:00
Andreas Schneider
0681db0efe Reduce system calls of getuid and geteuid. 2008-11-13 14:08:26 +01:00
Andreas Schneider
1e70c74037 Set the replica to destination only once. 2008-11-13 14:06:22 +01:00
Andreas Schneider
d177c57cfe Check return value of mkdir in the mkdirs functions. 2008-11-13 10:53:24 +01:00
Andreas Schneider
17b39a78c1 Fix open and use the flags variable. 2008-11-12 21:14:35 +01:00
Andreas Schneider
1b4e340565 Fix compiler warnings. 2008-09-11 14:16:04 +02:00
Andreas Schneider
2a532f7f24 Set version to 0.42.0 beta1. 2008-09-09 17:38:59 +02:00
Andreas Schneider
e25422ba3f Fix the formating not be be longer than 80 chars. 2008-09-05 13:28:30 +02:00
Andreas Schneider
cd2ab8353d Add some documentation for the merge algorithm. 2008-09-03 09:49:12 +02:00
Andreas Schneider
f400f1852f Improve the update detection.
Document and fix a problem in getting the phash value.
2008-09-03 09:48:19 +02:00
Andreas Schneider
971e3301e3 Add some comments. 2008-09-02 11:43:29 +02:00
Andreas Schneider
6d3a7d84c1 Fix flags for the statedb tree merger. 2008-09-02 11:42:34 +02:00
Andreas Schneider
8753352e5e Set errno for expand function of the string list. 2008-09-02 11:23:38 +02:00
Andreas Schneider
33681552c7 Remove useless error message. 2008-08-22 15:27:27 +02:00
Andreas Schneider
ebfbcf18a5 Handle no space left on device. 2008-08-22 15:26:02 +02:00
Andreas Schneider
538d03f94e Cleanup and reformating of the dirname and basename function. 2008-08-12 15:43:02 +02:00
Andreas Schneider
04d022f2ae Add a function to parse an uri in stdlib. 2008-08-12 15:37:02 +02:00
Andreas Schneider
95f4db7c4f Create a more generic authentication callback. 2008-08-11 13:21:15 +02:00
Andreas Schneider
ae304565af Added password only flag or auth callback. 2008-08-08 17:28:33 +02:00
Andreas Schneider
9722fd0bad Test if we have a correct path. 2008-08-01 15:57:19 +02:00
Andreas Schneider
ce6896453c Fix check for CSYNC_NOMEMORY env variable. 2008-07-29 15:43:18 +02:00
Andreas Schneider
7143f20f95 Add memory NULL tests. 2008-07-28 11:49:56 +02:00
Andreas Schneider
bccadc7d67 Fix segfault in str(n)dup function. 2008-07-28 11:49:37 +02:00
Andreas Schneider
33aa3abd96 Add some error log messages. 2008-07-21 14:31:34 +02:00
Andreas Schneider
8451d29d12 Replace strerror with thread safe version. 2008-07-18 11:35:02 +02:00
Andreas Schneider
5a7008ae53 Set the right license header in csync.{c,h}. 2008-07-10 10:25:12 +02:00
Andreas Schneider
e5286c7c8a Rename journal functions to statedb. 2008-07-09 10:10:00 +02:00
Andreas Schneider
88690312d7 Rename the csync_journal files to csync_statedb. 2008-07-09 09:57:19 +02:00
Andreas Schneider
dc964a4c9a Only run chmod if we are root. 2008-07-03 11:34:34 +02:00
Andreas Schneider
f54b36fe7a Change version to 0.42.0 alpha4 and update ChangeLog. 2008-07-02 10:59:37 +02:00
Andreas Schneider
262348c7ef Check if a path is excluded directly in the file tree walker.
This improves the performace of the update detection cause it doesn't have
to walk directories which are excluded.
2008-06-28 20:44:54 +02:00
Andreas Schneider
e1b1eaa6d5 Set dirent to NULL do avoid double free corruption. 2008-06-28 19:49:37 +02:00
Andreas Schneider
70ca880a05 Set the right instruction during propagation for the journal. 2008-06-28 17:18:10 +02:00
Andreas Schneider
274c73a929 Add missing instructions. 2008-06-28 17:17:34 +02:00
Andreas Schneider
880530c079 Set instruction by default to NONE. 2008-06-28 17:14:20 +02:00
Andreas Schneider
c79c7bddc8 Implement a safe write on local file system.
This means that we try again if we got interrupted.
2008-06-28 15:36:30 +02:00
Andreas Schneider
259319f4f9 Stop synchronization if quota exceeded. 2008-06-28 15:33:52 +02:00
Andreas Schneider
96a933a058 More printf fixes.
Add debug output to insert_metadata_visitor to get printf attribute
checking.
2008-06-27 19:24:24 +02:00
Andreas Schneider
5d35a46d07 More printf fixes. 2008-06-27 19:05:54 +02:00
Andreas Schneider
bd8034170a Fix printf attributes. 2008-06-27 18:52:09 +02:00
Andreas Schneider
d968e6f48d Add printf attribute checking for gcc. 2008-06-27 18:51:44 +02:00
Andreas Schneider
0a4d1e41e1 Forgotten %llu fix for PPC. 2008-06-27 18:25:34 +02:00
Andreas Schneider
076c7fb819 More code cleanup for PPC. 2008-06-27 18:01:19 +02:00
Andreas Schneider
cde1a6b9cc Fix segfault on PPC.
The phash (uint64_t) needs to be represented as %llu on PPC or it
segfaults.
2008-06-27 18:01:12 +02:00
Andreas Schneider
e9cfa4e610 Remove accidently commited debug message. 2008-06-27 16:12:26 +02:00
Andreas Schneider
867b8252ad Update changelog and files for 0.42.0 alpha3. 2008-06-25 13:55:03 +02:00
Andreas Schneider
bcbf4f02f5 Fix debug output and add more output. 2008-06-25 13:43:47 +02:00
Andreas Schneider
e795539137 Create files and directories with a default mode again and run chmod.
The chmod function is only called if the file we synchronize has a
different mode set.
2008-06-24 18:02:00 +02:00
Andreas Schneider
75c22fce6c Improve debug and error messages. 2008-06-24 18:01:43 +02:00
Andreas Schneider
d7d397ab63 Change options of the client. 2008-06-24 17:39:46 +02:00
Andreas Schneider
8aed1cef83 Disable journal completely instead of writing and removing it. 2008-06-24 13:36:47 +02:00
Andreas Schneider
d7309c4ff9 Rename the callback function. 2008-06-24 13:36:27 +02:00
Andreas Schneider
aee15d55ee Improve debug message. 2008-06-24 13:34:27 +02:00
Andreas Schneider
c4f87bf519 Add missing NULL check. 2008-06-24 11:13:56 +02:00
Andreas Schneider
d9821b9780 Add getter and setter for the journal exists check. 2008-06-24 11:13:17 +02:00
Andreas Schneider
902b588d60 Close the files after copy. 2008-06-18 16:30:00 +02:00
Andreas Schneider
183f16c386 Add a function to merge the trees.
This is needed to be able to write a complete journal.
2008-06-18 13:16:45 +02:00
Andreas Schneider
5a05f17187 Fix update detection. Don't sync special files. 2008-06-18 11:52:57 +02:00
Andreas Schneider
8f427a8ccb Set instruction to UPDATED for newly created files.
This is needed that csync knows which file stats need to be updated. We
need the new inode number for the journal.
2008-06-18 10:44:40 +02:00
Andreas Schneider
51728fdd25 Rename visitor function to _insert_metadata_visitor. 2008-06-18 10:43:57 +02:00
Andreas Schneider
5824c4ba1e Add some comments. 2008-06-18 10:43:28 +02:00
Andreas Schneider
7935d63098 Don't add deleted files to the journal. 2008-06-18 09:56:08 +02:00
Andreas Schneider
4246190524 Set O_NOATIME if we are the owner of the file or a superuser. 2008-06-16 17:49:45 +02:00
Andreas Schneider
8a9a4b18fb Improve debug output if open fails. 2008-06-16 16:42:46 +02:00
Andreas Schneider
0eb0842e0a Fix return code of open which was always 1. 2008-06-16 16:41:19 +02:00
Andreas Schneider
9c9faebd0e Fix open on the original file in propagation.
O_NOATIME can only be set by the owner of the file or root.
2008-06-16 16:40:25 +02:00
Andreas Schneider
8682bab7f2 Set version string for alpha2. 2008-06-16 14:05:47 +02:00
Andreas Schneider
262a179c68 Add a strreplace function to stdlib. 2008-06-16 12:12:06 +02:00
Andreas Schneider
c24411e5e5 Don't create the remote directory if it doesn't exist. 2008-06-13 18:44:15 +02:00
Andreas Schneider
3ec18e0746 Load the right exclude file in the user directory. 2008-06-12 09:31:50 +02:00
Andreas Schneider
914f0e5628 Define _GNU_SOURCE only if not defined. 2008-06-09 17:19:12 +02:00
Andreas Schneider
bac6f7d7b6 Set the right owner and group if possible. 2008-06-09 17:16:44 +02:00
Andreas Schneider
971e85871a Move count var to the function stack and add O_NOCTTY to open(). 2008-06-09 16:44:49 +02:00
Andreas Schneider
7f003c1277 Make sure that we can't run in an infinite loop. 2008-06-06 13:23:42 +02:00
Andreas Schneider
4adb536048 Create the missing directory only in the error case. 2008-06-06 10:28:53 +02:00
Andreas Schneider
212defd763 Create a new temporary file name if the file already exists. 2008-06-06 10:28:44 +02:00
Andreas Schneider
e756830696 Use open and fail if the file already exists. 2008-06-06 10:17:58 +02:00
Andreas Schneider
0e499d0b30 Remove the temporary file if an error occurs. 2008-06-06 10:17:37 +02:00
Andreas Schneider
aec3f4440c Use a random generated temporary file name. 2008-06-06 10:15:58 +02:00
Andreas Schneider
1255c46668 Add some FIXME's. 2008-06-05 14:44:14 +02:00
Andreas Schneider
ed3073ba13 Move the chmod command before we call utimes. 2008-06-05 14:43:28 +02:00
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