Tuesday, February 07, 2006

Making CVS listen on two ports

Because of firewalls, multiple networks, and slow to respond admins, my team has been running CVS on a wierd port (the only way we could get data through). We have finally convinced them to open up port 2401 so we could run it over the standard port.
In the meantime, the CVS server has been shared with several other groups.
To smooth the transition, I've proposed that we just run both ports for a week to give everybody time to switch.
My first thought on how to do this was good 'ol netcat. No such luck.
I was thinking along the lines of
nc -lp 2401 127.0.0.1 5222
when that didn't work, I tried
nc -lp 2401 | nc 127.0.0.1 5222
Still no dice.
The idea here was that I could have this just go on system startup if the box were rebooted for some reason.
I've gone with the old ssh port forwarding scheme but, it seems a bit of overkill.
ssh -gL 2401:127.0.0.1:5222 root@127.0.0.1
I know that I could write a little program to proxy the port but, I've already used more time on this than I think it deserves.
Just my $0.02, other solutions are always welcome.

permalink
Links to this post
0 comments

CVS Permission denied

or, the joy of maintaining a CVS server.

So, I'm stuck maintaining the group's CVS server. After some configuration and restarting xinetd, I get a persmission denied error when connecting remotely.
"can't create directory /root/tmp/cvs-1234, permission denied."
Seems bizzare that it would want to work in the root temp directory. Everything has always worked before.
After a bit of research, I believe that its happening because I am restarting xinetd (/etc/init.d/xinetd restart) as root, instead of how it happens during startup.
Solution, add a tmp directory entry in /etc/cvs/cvs.conf
So, now my /etc/cvs/cvs.conf file looks like:

CVS_REPOS="/usr/local/cvsroot"
CVS_PSERV_REPOS="/usr/local/cvsroot"
TMPDIR=/tmp


I hope someone might find that useful. I've seen lots of posts (after googling) on this.

permalink
Links to this post
0 comments