Project: csync2 "enhancement or extra patches"

Description: Develop patches to enhance or extend linbit's csync2 utility
Last modification: 16/04/2008
Task force members: vince
Contacts: hackingtaskforce <-at-> archloss dot fr

Prerequisites and links

csync2 is a usefull synchronization utility developped and maintained by linbit.

First of all, your must read and understand csync2's paper (pdf).

Then you can download and install that software and try playing with it (share your music or config files or home directory between 2 or more computers).

Contact us by mail (hackingtaskforce <-at-> archloss dot fr) or via the IRC channel (#archloss@irc.geeknode.org)

Why this project ?

csync2, as it is, is doing well, it is a mature and production quality project and thus is no longer actively developped. Its features are frozen and we also believe this is a good thing. The maintainers just address bug and security issues when they are reported. We want to identify and fix bugs and make patches to the main branch, maybe also some small improvements that will not interfere with existing working code. This is what we mean by "enhancement patches", we hope these will at the end be part of the official release from linbit. On another hand, we and some other users think some extra features would be nice. Because these might no be usefull to everbody and because some might change the main code drastically, we prefer to considered them as extra feature patches (aka "extra patches"). We want to gather and maintain compatibility between these extra patches and make them evolve when needed and keep them compatible with csync2 mainstream evolution.

Distributed patches

Tasks in progress

  1. motivate developpers to join the project
  2. organise a demonstration meeting
  3. configure our svn for this project
  4. csync2: determine the needs priority and roadmap

Official developpement roadmap

Not determined yet

Roadmap sandbox (to be investgated and confirmed)

  1. code studdy
  2. small bug fixes
  3. fix and improve documentation
  4. better log system (log file or database or syslog ?)
  5. sqlite 3 patch (cf Dennis Schafroth patch)
  6. file ownership, cf "preservation of ownership by matching user/group _string_", also make sure file is not re-transfered when just chmoded.
  7. do not first copy files in /tmp/ and move (let this as an option ?)
  8. ipv6 and "bind to given IP"
  9. csync running wrapper scripts ?
  10. csync over ssh
  11. SSL auth
  12. symlinks (dereference_symlinks option, and security and behaviour when giving paths going throug symlinks)
  13. handle sockets and pipes
  14. ACLs
  15. mysql patch (pgsql ?)
  16. bdb backend ?
  17. client daemon (incl. inotify event)
  18. lock is not database specific and reports "Csync2 will refuse to do anything when a /etc/csync2.lock file is found"

bugs

  1. config file (-C) + fix conflict (-f) does not work
  2. -C -f works only for one slave (requires multiple runs whith multiple slaves)
  3. prefix problems

Documentation improvements

  1. genaral behaviour (asymetry, client, server...)
  2. sqlite command to resolve problems
Site internet