Commit graph

916 commits

Author SHA1 Message Date
Andreas Schneider
f0cf678c0e Fix config checks. 2012-03-02 17:04:02 +01:00
Dominik Schmidt
3ed887f152 windows: don't use malloc directly in csync_get_[user_home_dir||local_username] 2012-03-02 17:04:02 +01:00
Dominik Schmidt
4c22c84bd1 windows: fix loading plugins 2012-03-02 17:04:02 +01:00
Dominik Schmidt
00c47f62c4 windows: install libcsync.dll to bin/ 2012-03-02 17:04:02 +01:00
Dominik Schmidt
94006d0171 windows: don't refer to SYSCONFDIR 2012-03-02 17:04:02 +01:00
Dominik Schmidt
593cd4514a windows: disable locks 2012-03-02 17:04:02 +01:00
Dominik Schmidt
6e4ce19a85 Add csync_fnmatch 2012-03-02 17:04:02 +01:00
Dominik Schmidt
d1ea29f4aa Don't check for links on non-unix platforms 2012-03-02 17:04:02 +01:00
Dominik Schmidt
6272a2b485 Use stat if lstat is not available 2012-03-02 17:04:02 +01:00
Dominik Schmidt
da286857e0 windows: add utimes implementation 2012-03-02 17:04:02 +01:00
Dominik Schmidt
674aa7cd64 windows: add strerror_r implementation 2012-03-02 17:04:02 +01:00
Dominik Schmidt
31389975e7 Add missing break statement 2012-03-02 17:04:02 +01:00
Dominik Schmidt
ee6c631f28 windows: add missing status codes, types and return-values 2012-03-02 17:04:02 +01:00
Dominik Schmidt
29f45a4ee5 windows: minor adjustments 2012-03-02 17:04:02 +01:00
Andreas Schneider
1d9b4f0640 std: Make it possible to use the macros alone. 2012-03-02 17:02:59 +01:00
Andreas Schneider
9d6001d39d std: Add missing include. 2012-03-02 17:02:59 +01:00
Andreas Schneider
29839d42a8 misc: Add missing header file guard and update copyright. 2012-03-02 13:47:45 +01:00
Andreas Schneider
9c86b3adcd csync: Use csync_get_user_home_dir(). 2012-03-02 13:40:10 +01:00
Andreas Schneider
3952c4be62 misc: Add csync_get_user_home_dir() and csync_get_local_username(). 2012-03-02 13:40:05 +01:00
Andreas Schneider
cd2c75e602 Increase version numbers for beta release. 2012-02-22 18:27:09 +01:00
Klaas Freitag
784fc60ec1 Fix off-by-one error in url rewrite for SSL. 2012-02-22 18:23:18 +01:00
Andreas Schneider
f753a3db0a util: Rename temp file of the unix extension test. 2012-02-22 16:18:07 +01:00
Andreas Schneider
9a12d219d3 vio: Add support for SSL scheme names.
If the scheme is https try to load the module without the s at the end
if there is no module.
2012-02-13 14:33:23 +01:00
Andreas Schneider
63565b0f26 time: Fix clock_gettime(). 2012-02-04 14:24:22 +01:00
Andreas Schneider
19abbc04ff csync: Use csync_gettime(). 2012-02-04 13:24:53 +01:00
Andreas Schneider
1d609e5985 time: Add csync_gettime() function. 2012-02-04 13:09:07 +01:00
Andreas Schneider
331783baef propagate: Remove dead and wrong assignments. 2012-02-04 12:54:15 +01:00
Andreas Schneider
8e89bfec2b propagate: Fix dead assignment. 2012-02-04 12:47:39 +01:00
Andreas Schneider
82c2017a04 path: Fix dead assignment. 2012-02-04 12:44:15 +01:00
Andreas Schneider
eb2b3438ba lock: Fix unlink in error path. 2012-02-04 12:41:55 +01:00
Andreas Schneider
9f802a83f3 propagate: Fix some blank lines. 2012-02-04 12:37:33 +01:00
Andreas Schneider
b99fd213b6 vio: Fix build errors. 2012-02-04 12:34:46 +01:00
Andreas Schneider
de2cb55f0e propagate: Remove unused variables. 2012-02-04 12:28:51 +01:00
Andreas Schneider
6dca82a4a1 reconcile: Fix return value. 2012-02-04 12:26:27 +01:00
Andreas Schneider
4e5b29257e include: Fix packed attribute for file structure. 2012-02-04 12:23:54 +01:00
Andreas Schneider
1c52b90fa4 Pack the csync_file_stat structure. 2012-02-04 12:15:48 +01:00
Christian Jann
ffd7d5b247 better idea to align the INSTRUCTIONs printf(%-20s,...) 2011-04-12 19:42:08 +02:00
Christian Jann
9c40ecafc4 csync.reconciler: show the correct type: "file" or "dir" 2011-04-12 17:59:25 +02:00
Christian Jann
deb620b5be align everything correctly (easier to read)
prefix "CSYNC_": no extra information -> removed
we could even remove "INSTRUCTION_" or change it to "INST_"
2011-04-12 17:09:39 +02:00
Christian Jann
a8071bfd14 csync.propagator/csync.reconciler first print instruction type,
than print the path and align everything correctly (easier to read)
2011-04-12 17:06:18 +02:00
Christian Jann
f65612ff2e hide instruction NONE messages when log level is set to debug,
only show these messages on log level trace
2011-04-12 13:20:50 +02:00
Christian Jann
aad3e146fc set instruction after conflict backup for the statedb merger to NONE 2011-04-12 10:09:41 +02:00
Christian Jann
92dc16a59e Increase version numbers. 2011-04-06 17:08:52 +02:00
Christian Jann
9864baa0c8 fixed small error:
csync/first/a~
was renamed to:
csync/first/~a_conflict-20110326-190457~
but it should be:
csync/first/a_conflict-20110326-190457~
2011-04-06 17:08:01 +02:00
Christian Jann
d842119065 improved logging 2011-04-06 17:07:20 +02:00
Christian Jann
e4d8e793f6 added new conflict resolution to libcsync
- use the latest version of the two files under its original filename
  in both destinations (same as currently implemented)
- additionally, create a copy of the older file under a different name
  using the same file extension with appended marker (e.g. "conflict")
  and timestamp in both destinations
  (e.g. textfile.odt -> textfile_conflict-20100222-105000.odt)
- At the Moment 'textfile_conflict-20100222-105000.odt' is only created
  on the side where the conflict has occurred and gets synced to the other side
  on the second sync.
2011-04-06 16:57:24 +02:00
Christian Jann
09980fcf5a fix hundreds of these warnings:
csync.c:272:75: warning: ISO C99 requires rest arguments to be used
2011-04-06 16:56:05 +02:00
Andreas Schneider
3a9bfdb489 Increase version numbers. 2010-02-15 11:56:35 +01:00
Andreas Schneider
6c2c86aa50 Fixed build warning. 2009-09-12 12:27:03 +02:00
Andreas Schneider
16c76166bd Improve detection of system libraries. 2009-09-01 12:25:10 +02:00
Andreas Schneider
312c40d16f Improve c_list_find functions. 2009-06-05 11:22:06 +02:00
Andreas Schneider
f98265b30e Some code cleanups. 2009-06-05 10:51:22 +02:00
Andreas Schneider
460aa67dca Document the propagation functions. 2009-05-25 12:58:34 +02:00
Andreas Schneider
778640f1e1 Fix the documentation of the reconciliation. 2009-05-25 12:58:00 +02:00
Andreas Schneider
62b33fbf2d Fix textwidth. 2009-05-25 11:59:30 +02:00
Andreas Schneider
7c88ed8454 Document Reconcilation. 2009-05-25 11:58:51 +02:00
Andreas Schneider
022731b241 Add a group for update detection functions. 2009-05-25 11:58:31 +02:00
Andreas Schneider
7ab802a3b2 Document update detection functions. 2009-05-25 11:42:46 +02:00
Andreas Schneider
3c05e000f8 Reformat some code in update detection functions. 2009-05-25 11:33:18 +02:00
Andreas Schneider
f57576f08a Cleanup c_list_insert_sorted(). 2009-05-23 11:57:15 +02:00
Andreas Schneider
5dda8fdfa5 Some code reformating. 2009-05-22 20:23:54 +02:00
Andreas Schneider
1d7ce7d5fe Improve the documentation of csync_excluded(). 2009-05-22 20:21:20 +02:00
Andreas Schneider
dd3c9cd99e Document csync_config_load(). 2009-05-22 20:19:06 +02:00
Andreas Schneider
6e893ab31c Document the return value of c_list_remove(). 2009-05-21 11:53:07 +02:00
Andreas Schneider
f79b291646 Add a c_rmdirs() function. 2009-05-14 17:22:42 +02:00
Andreas Schneider
fdea54edc5 Fix the vim modlines. 2009-05-13 10:12:07 +02:00
Andreas Schneider
df5a8d6662 Add a macro to get the size of an array. 2009-05-06 19:35:21 +02:00
Andreas Schneider
73548e8a16 Merge branch 'master' of git://git.csync.org/projects/csync/csync 2009-04-29 10:08:34 +02:00
Andreas Schneider
e7a495dc50 Fix a segfault in c_uppercase and c_lowercase. 2009-04-29 09:55:32 +02:00
Andreas Schneider
9de1f977b5 Cleanup some code of the doubly-linked list. 2009-04-25 10:57:46 +02:00
Andreas Schneider
867a8cb246 Reformat some code. 2009-04-22 13:41:46 +02:00
Andreas Schneider
e7a09af755 Add a function to uppercase and to lowercase a string. 2009-04-21 09:05:40 +02:00
Andreas Schneider
7d0393338c Fix possible precedence problems. 2009-03-27 00:00:49 +01:00
Andreas Schneider
5d84518f00 Fix comment typos ;) 2009-03-26 18:23:43 +01:00
Andreas Schneider
e948cf6880 Document all public functions. 2009-03-26 11:24:34 +01:00
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
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