I'm sponsoring this fast-track case for Bill Yan. This case is to
integrate an open source file synchronizer 'unison' into Solaris.
A draft man page of this tool was put in the case directory.
The requested binding is patch/micro. The timer is set to 03/31/2008.
-Frank
4. Technical Description
The intent of this case is to integrate an open source file synchronizer
'unison' into Solaris OS.
4.1 Unison Introduction
Unison is a cross-platform file-synchronization tool [1]. It allows two
replicas of a collection of files and directories to be stored on
different hosts (or different disks on the same host), modified
separately, and then brought up to date by propagating the changes in each
replica to the other. [2]
4.2 Security concerns:
Security becomes a concern when synchronizing files across network. Unison
provides two methods for communicating between the client and the server:
* Remote shell method: To use this method, you must have some way of
invoking remote commands on the server from the client's command line,
using a facility such as ssh. This method is more convenient and also more
secure (especially if you use ssh).
* Socket method: This method requires only that you can get TCP packets
from the client to the server and back.
The socket method is insecure: not only are the texts of your changes
transmitted over the network in unprotected form, it is also possible for
anyone in the network to connect to the server process and read out the
contents of your file system! The socket method is provided only for
expert users with specific needs; everyone else should use the remote
shell (ssh) method.
4.3 Limitations:
There are a few limitations in current version of Unison [2]:
4.3.1 In the interests of speed, the update detection algorithm may (depending
on which OS architecture that you run Unison on) actually use an
approximation.
4.3.2 When synchronize between a single-user file system and a shared Unix
server, by default, Unison will synchronize permissions verbatim, which may
leave group-writable files on the server that could be written over by a lot of
people.
4.3.3 The graphical user interface of Unison is single-threaded.
4.3.4 Unison does not understand hard links.
4.3.5 Renaming directories that containing "ignore"d files may result in loss
of data.
4.5 Interfaces
4.5.1 Imported Interfaces
+------------------------------------------------------------------+
| NAME | STABILITY LABEL | DESCRIPTION |
+-----------------------+-----------------+------------------------+
| libsocket | Committed | PSARC/1995/014 |
+------------------------------------------------------------------+
4.5.2 Exported Interfaces
+------------------------------------------------------------------+
| NAME | PROPOSED | DESCRIPTION |
| | STABILITY LABEL | |
+-----------------------+-----------------+------------------------+
| SUNWunison | Uncommitted | Unison package |
|-----------------------+-----------------+------------------------|
| /usr/bin/unison | Committed | Unison executable |
|-----------------------+-----------------+------------------------|
| ~/.unison/default.prf | Uncommitted | Unison default profile |
+------------------------------------------------------------------+
4.6 Release binding
Release binding requested: patch/micro.
6. Resources and Schedule
6.4 Steering Committee Requested Information
6.4.1 Consolidation C-team Name: SFW
6.5 ARC review type: Fast Track
6.6 ARC exposure: open
Footnotes:
----------
[1] http://www.cis.upenn.edu/~bcpierce/unison
[2] See man page of Unison for more details.