I've taked Jeff Mock's code, cleaned up it, organized it, added documentation, and put it here:
http://homepage.mac.com/pauljlucas/software/rio_grande-0.9.tar.gzThe complete set of changes is:
- Reorganized the directory structure:
(a) Moved CGIs to a cgi-bin directory.
(b) Moved the database out from under the web server's document root.
(c) Moved non-CGI (e.g., ssdp) code out from under the web server. - Rewrote all CGIs majorly cleaning up the code.
- Playlist support has been added to the CGIs.
- Half of the "favourites" Rio request has been implemented: the Rio can now request "/favourites/all" and get the contents of a plain text file back.
- The "build" CGI has been rewritten as a command-line program and also:
(a) Now builds playlist files from directory names.
(b) Colons are now allowed in track names.
(c) Added optional warnings. - The "ssdp" daemon has been cleaned up and also:
(a) Now takes command-line options.
(b) If started as root, gives away its root privileges.
(c) Added proper setting of SO_REUSEADDR socket option.
(d) Can now alternatively run under (x)inetd.
(e) Logging is now optional. - Added sample a dhcpd.conf, a (correct) httpd.conf, an NFS exports, inetd.conf, and xinetd files.
- Removed the web interface. (Sorry, I don't care about it. I edit my MP3 files' ID3 tags using other software anyway, e.g., Apple's iTunes.)
Suggestions (including a better name) welcome.