[ Note: As mentionned to me recently, you should rather use http://monkey.org/~dugsong/openbsd/stsh-1.0.tar.gz ]


Here is a modified version of the stsh systraced shell.

Trying to setup a systraced CVS server, I ran into troubles with the following error:
$ cvs co src
/bin/ksh: <stdin>[1]: Root: not found
/bin/ksh: <stdin>[2]: Valid-responses: not found
/bin/ksh: <stdin>[3]: valid-requests: not found
^Ccvs [checkout aborted]: received interrupt signal
Killed by signal 2.
Exit 1
The stsh version from Jose works very well but is only capable to handle full login sessions. It is not what CVS uses when CVS_RSH is set to 'rsh' or preferably to 'ssh'.
I tried to add this feature to stsh. Here is what I get: stsh-0.4.taz. It has been successfully tested on OpenBSD and NetBSD-3.x.
This archive also includes an OpenBSD usr_bin_cvs systrace policy and a NetBSD usr_bin_cvs one. These policies are based on my needs. If you write an improved version of this policy, please send it to me. Thanks.

Documentation:
The installation process is exactly the same than the one explained on the Jose's page. Read it!
Exceptions go to these 2 make's variables:
make -D WITH_USER_POLICIES
compile stsh to use user-configured policies.
It is required if you manage to setup multiple CVSROOT (CVS trees) with dedicated users. Take care of user's homes and all related file permissions.
make -D DEBUG_SYSLOG
compile stsh in debugging mode. Extra informations are sent to syslogd using the 'LOG_NOTICE' priority.
(You can generaly see these debug messages into /var/log/messages.)



Valid HTML 4.01!