This is a package implementing a xbmsp streaming protocol server and
a (test) client code.

COMMAND LINE OPTIONS

  -l address
        Listen only given local address.  Only one -l flag can be
        given.  By default all local interface addresses are listened.

  -p port
        Listen given port (default is 1400).

  -r directory
        Use diven document root (default is current dir).  If -S
        flags are present, it's often the best choice to use an
        empty directory as a document root.  With option -r -
        user can create a virtual root directory into which the
        directories can be added with -S flag.

  -u user
        Run as given user.  Give up the user privileges and run with
        as given user instead.  You need to have root privileges in
        order to use this flag.

  -P password
        Require password authentication from the client.  Only
        clients supplying the given password can use the server.
        The client can also pass an user name in the authentication
        step, but it's ignored.

  -L
        Follow symbolic links in the data directories.  Normally
        symbolic links are not followed because of security reasons.
        This option overrides the default and more secure option.

  -f
        Fork process to background.

  -F pidfile
        Save pid number to given file.  This is especially usable
	if the server is running in the daemon mode (-f).

  -S mountpoint=dir
        Show dir in the root of the fileserver as mountpoint.  Multiple
        -S flags can be present.

EXAMPLE

  ccxstream -f -F /var/run/ccxstream.pid -P s3cre7 -r /u/documents -S video=/u/videos -S audio=/u/mp3 

     Run server in background and show directory /u/documents as a
     root directory of the server.  In addition show directory
     /u/videos in as directory video and directory /u/mp3 as directory
     audio in the document root.  All clients need to authenticate
     with password "s3cre7"
 
CAUTION

  For security reasons symbolic links are not followed.  Document root
  can however be a symbolic link.  If you want to use symbolic link
  to point to a shared directory (-S flag) you can circumvent the
  symbolic link by adding /. to the end of the path.  If for example
  /u/videos is actually a symbolic link pointing to a real video
  directory, you can use flag -S video=/u/videos/. instead of plain
  -S video=/u/videos that would not work with a symlink.

FOR WINDOWS/CYGWIN USERS

  Cygwin uses peculiar file mapping.  Ordinary drive letters are not
  used, but instead drives are mapped to unix like pathnames.  C:
  becomes /cygdrive/c and D: becomes /cygdrive/c and so on.  For
  example the path C:\DATA\MEDIA\VIDEO is /cygdrive/c/DATA/MEDIA/VIDEO
  (I'm sure that you can figure it out).

  It's also a known issue that in some Windows systems you have to use
  -l flag with the external ip-address of your Windows box in order to
  access it from the outside of your Windows box.
