CDSS: The CD Sharing System

CDSS is a framework for the distribution of software installation media images and their contents over multiple file sharing protocols. The CDSS system provides a unique isolated server instance for every accessing user, even when another instance of that server is already running. CDSS uses the Linux host-based firewall system to transparently redirect inbound connections from each user to their specific server instance. By doing so, multiple users can access the CDSS server over the same protocol on the standard port without requiring any special configuration by the user. Each user can only communicate with the server instance that was started explicitly for them and that has been automatically configured by CDSS to allow access only to the files that they have requested.

CDSS is distributed as a set of perl scripts. The main scripts for creating and removing shares run setuid-root in order to modify firewall rules and mount and dismount disk images. CDSS also comes with a set of scripts that can be used to provide a web-based frontend to the primary sharing and removal scripts. The frontend scripts do not require special priviledges and are optional, but highly recommended.

CDSS was the subject of a Refereed Paper at the USENIX/SAGE LISA 2003 conference in San Diego, CA in October 2003.

CDSS is currently undergoing a substantial rewrite to provide support for the IPTables firewalling system and to make the code more modular. A older version of the code is available from SourceForge. Those interested in the more up-to-date code should check out the CDSS CVS Archive, which has current versions of all files.

Any questions or comments about CDSS should be directed to Ted Cabeen <secabeen@pobox.com>.