Setup SVN repositories only for specified users over ssh. OpenSSH limit only one command execution.

Just to blog this. I'll need it in future.
If you have svn repositories server and you are using svn+ssh for the checkout and all svn actions you will want users to have access to only predefined repos only and not to any shell or anything.
I've done this by doing symlinks in their homes and using ssh file that looks like this
authorized_keys
:

command="svnserve -t --tunnel-user=user -r /home/user",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-rsa AAAAB3Nz1...KEY HERE....

this way, you can lock them to use only svnserve and it will lock them to co only what's in their home dirs.

If you're not familiar with details - eg. how to generate keys, what is authorized_keys etc, I stole this from here: http://ingomueller.net/node/331 - read more there.

Of course you have to keep your snserve up to date and pray there are no vulns in it, otherwise users can hack you :-)
But hey, you know the owners of the keys, don't you? :-)
Got my pont? ;-)

Roundcube with plugins support!!! WOW! Writing a plugin - display custom template has bogus docs.

Today I've noticed Roundcube has released a new version that finally has plugins support!
Grrrreaaat!

As expected in there is a change password plugin (with drivers supports) and some other that are pretty cool!
A list of plugins here: http://trac.roundcube.net/wiki/Plugin_Repository

Of course I've had some custom patching for my hosting users and now it's not working.
I've configured my change password plugin (which was the main showstopper for not upgrating to new roundcube) and the the little tiny hack for domain notification left.
I've decided to write a plugin that will do the job for me, so I can easily upgade after that.

Writing plugin isn't that hard at all. Here you can read more:
http://trac.roundcube.net/wiki/Doc_Plugins

also you can read plugins directory for more.

While creating my plugin I hit a problem and I've lost about 40 minutes searching for description and resolution.
The Resolutions was 5mins reading the class for temapltes but I thought I was wrong - no this is a mis-explanation in docs.
When you want to create a custom template you mkdir skins/default/templates and create/copy-modify html in it (I've copied login.html template).
Well all was fine while I've tried to show it.
Documentation is wrong.
When you call:

$rcmail->output->send('mytemplate');

you must actually call:

$rcmail->output->send('myplugin.mytemplate');
so the tpl class can understand this is a plugin and show your template and not search for default tpl.

Hope that helps someone.
Going to change/report this in docs now.
Oh. Symptoms are:

[12.Nov.2009 17:57:27 +0200]: PHP Error: Error loading template for logininfo in /var/www/roundcube/program/include/rcube_template.php on line 372 (GET /)

in your error log.