Warning: this is DEAD.

DEAD - Access to Repository

DEAD - Setup

Getting SSH to work

To get access, set up SSH. Test it... Create a key and send it to the repository administrator.

Once the key is set up on the repository server, or you have the password, you can test SSH from your node to the server. To test:

Via Own Account

Your umask should be something like 002 or 007. Check that you can access group wuf.

    $   CVS_DOMAIN=wuf.systemics.org
    $   CVS_USER=your_name

    $   ssh -l $CVS_USER  $CVS_DOMAIN pwd
    your_name@wuf.systemics.org's password: 
    /home/your_name
    $   ssh -l $CVS_USER  $CVS_DOMAIN cvs
    your_name@wuf.systemics.org's password: 
    Usage: cvs [cvs-options] command [command-options-and-arguments]
      where cvs-options are -q, -n, etc.
      ...

(That example above asks for the password.) If you don't see the pwd or cvs output grumbling, it is not working.

Using Restricted Shell

This method is set up by the administrator to give an SSH/CVS only account for all users.

    $   CVS_DOMAIN=wuf.systemics.org
    $   CVS_USER=webfunds-cvs

    $   ssh -l $CVS_USER  $CVS_DOMAIN pwd
    webfunds-cvs@wuf.systemics.org's password: 
    /home/webfunds-cvs
    $   ssh -l $CVS_USER  $CVS_DOMAIN ls
    webfunds-cvs@wuf.systemics.org's password: 
    smrsh: ls not available for sendmail programs (stat failed)
    $   ssh -l $CVS_USER  $CVS_DOMAIN cvs
    webfunds-cvs@wuf.systemics.org's password: 
    Usage: cvs [cvs-options] command [command-options-and-arguments]
      where cvs-options are -q, -n, etc.
      ...

Notes. That example above asks for the password; better if you can set up the SSH agent to deal with passwords. The initshell is set up to permit echo(1) and pwd(1) as test commands, try them as troubleshooting aids. If you don't see the cvs output grumbling in the last example, it is not working. If you can actually access ls(1) (as in the second example) or any other command other than cvs(1), then the security settings have broken, and you should contact the adminstrator.

DEAD - Your local CVS setup

To set up cvs, set your environment variable CVSROOT to

:ext:$CVS_USER@$CVS_DOMAIN:/home/webfunds-cvs/cvsroot

(Where the environment variables $CVS_USER $CVS_DOMAIN are as you discovered them in the previous section.) Change directory into where you want your local source copy, and try this command to get the readme.

$ cvs get README

Have a look at the README to see the location of projects. In README, for example, it tells you to use

$ cvs get java lib contracts

to obtain all of the WebFunds 3G source.

DEAD - Further Instructions

This page only gets you access to the repository - it is the once-off instructions. For more help on CVS, see the CVS cheat sheet. For compilation, etc, see The Guide.

(Admin Only)

Account setup

The developer's account will need to be added to the wuf group.

Restricted Login setup

Refer to the doco on initshell. On Linux servers, add the initshell to /etc/shells and check all modes.

smrsh setup

The login shell is set to smrsh. In the directory /etc/smrsh (for Linux) there are some programs that can be run. Primarily:

cvs(1) be set: mode=550 u=root g=smrshcvs to stop other smrsh(1) users accessing it (in this case, it should be a copy, not a symlink.)

In ~/.ssh stick the keys for key users (preferred over password). The umask should be something like 002 or 007.

More information on secure access to a repository is found here: Chrooted SSH CVS server HOW-TO.