Nico Kadel-Garcia wrote on Fri, Apr 01, 2011 at 23:46:16 -0400:
> On Fri, Apr 1, 2011 at 10:09 PM, Daniel Shahaf <d...@daniel.shahaf.name> 
> wrote:
> > Doesn't 'svnserve --log-file' handle this?
> >
> > Clients run 'ssh $host svnserve -t' by default, so you'd have to make
> > that invocation spawn an svnserve that has --log-file passed to it.  You
> > could alter the svnserve in $PATH or use sshd configuration
> > (ForceCommand and command="" directives) to achieve that.
> 
> Great.  The "--log-file" option is not in the manual page. Time for a
> bug report.
> 

Or a patch.

(Good catch, though.)

> Modern versions of OpenSSH (such as the version 5 in RHEL 6 and
> contemporary Debian releases) does not read your .bashrc for non-login
> sessions. (This is actually standards compliant behavior, which
> OpenSSH version 4 did not follow.)

Are you describing a change in sshd or in bash?

zsh does read .zshenv under current Debian's sshd.

> This makes stashing an svnserve
> alias or $PATH setting unavailable going forward, and dependent on the
> typically shared 'svn' user to have this set in their path for
> svn+ssh.
> 
> ForceCommand looks like it will *break* ordinary svn+ssh, without

True.  You could allow shell access if you took other steps to prevent
users from running 'cat' or (--log-file)-less 'svnserve' on the repository.

> using the SSH_ORIGINAL_COMMAND environment variable. Interesting. It
> would take fascinating parsing, and awkward configuration with managed
> SSH keys, but it's vaguely feasible.
> 
> That looks...... really awkward to manage, and without any graceful
> SSH key management tools for Subversion access, it becomes a alocal
> and manually managed setup, and requires the manipulation of the SSH
> daemon's sshd_config. That's not very modular.

Replacing /usr/bin/svnserve by a 2-line wrapper script works too.

Reply via email to