CVSD server

cvsd is an outdated CVS server maintained by Arthur de Jong . We are still running this server, because there are productive legacy installations. All new installations should use GitLab.

 

Installation

Follow the README and enter ./configure in the untarred /usr/src/cvsd-x.y.z folder.

As a result, you should get /usr/local/sbin/cvsd.

file:cvsd-1.0.24.tar.gz 

For control use: /usr/lib/systemd/system/cvsd.service

[Unit]
Description=CVSd
After=postgresql.service network.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/web/projop/log/nsd.pid

Environment="LANG=en_US.UTF-8"
ExecStartPre=/usr/bin/rm -f /var/run/cvsd.pid
ExecStart=/usr/local/sbin/cvsd -f /etc/cvsd/cvsd.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s 9 $MAINPID

Restart=always

KillMode=process

[Install]
WantedBy=multi-user.target

 

Network

  • [IPFire] - Add a new firewall rule:
    • Source: Standard networks: Any
    • Destination: Firewall: RED
    • Protocol: TCP
    • Destination Port: 2401
    • Action: Accept
    • Remark: Red: Allow #2401 forward to GitLab
    • Rule position: 5
    • Activate rule: OK

  • [IPFire] - Add HAProxy forward:
    • listen cvsd
          bind *:2401
          timeout connect 4000
          timeout client 180000
          timeout server 180000
          server gitlab gitlab:2401
      
  • GitLab - Open incoming FW port:
    • firewall-cmd --permanent --add-port=2401/tcp
    • firewall-cmd --reload

 

Configuration

Configuration is set in /etc/cvsd/cvsd.conf:

 
# This is the configuration file for cvsd.
# See the manual page cvsd.conf(5) for more information.
# See the "Password authentication server"
# section in the cvs texinfo for more information
# about running a pserver.

# RootJail 
#  This is the location of the chroot jail
#  cvs should be run in.
#  Specify 'none' (without quotes) to not use
#  a chroot jail.
#  This directory should be initialized with
#  the cvsd-buildroot script.
RootJail /var/cvsd

# Uid 
#  This specifies which user id cvs should be
#  run as. This can be a numerical id or
#  a symbolic value.
Uid cvs

# Gid 
#  This specifies which group id cvs should be
#  run as. This can be a numerical id or
#  a symbolic value.
Gid cvs

# CvsCommand 
#  If you define this it should point to the cvs
#  command to execute. Otherwise "/bin/cvs" will
#  be used if a RootJail is configured and the
#  cvs command found at compiletime otherwise.
#  The path should be relative to the specified
#  RootJail and should start with a '/'.

# CvsArgs ...
#  Additional arguments to pass to the cvs command.
#  For example, to enable read-only access to the
#  repository, pass the -R option.

# Nice 
#  This specifies the nice value (on most systems
#  ranging from -20 to 20) where the smaller the number
#  (more negative) the higher the priority.
Nice 1

# Umask 
#  This specifies a umask used by the cvs pserver when
#  creating files. Specify as an octal value.
Umask 027

# Limit  
#   can be one of: coredumpsize, cputime, datasize, filesize,
#  memorylocked, openfiles, maxproc, memoryuse, stacksize or virtmem.
#   is the maximum value for the given resource. For size values
#  a suffix of 'b', 'k' or 'm' can be specified ('k' is default). Time
#  values can be formatted as 'mm:ss' or have 'm' or 's' suffixes
#  ('s' is default).
Limit coredumpsize 0

# PidFile 
#  This specifies the location the process id of the
#  daemon is written.
PidFile /var/run/cvsd.pid

# Listen 
# The addresses and ports to listen on for connections. #Listen * 2401 # MaxConnections # The maximum number of connections that will # be handled simultaneously. 0 is unlimited. MaxConnections 10 # Log [] # The way logging is done. Either none, syslog or a # filename may be specified, followed by an optional # loglevel. Loglevel may be one of: # crit, error, warning, notice, info (default) or debug. # This option can be supplied multiple times. # If this option is not specified syslog info is assumed. Log syslog info #Log /var/log/cvsd.log debug # Repos # This option specifies which repositories # can be used. The value is passed as a # --allow-root= parameter to cvs. # The path should be relative to the specified # RootJail and should start with a '/'. # This option can be supplied multiple times. Repos /home/cvsroot


  Contact Us
  Project Open Business Solutions S.L.

Calle Aprestadora 19, 12o-2a

08902 Hospitalet de Llobregat (Barcelona)

Spain

 Tel Europe: +34 609 953 751
 Tel US: +1 415 200 2465
 Mail: info@project-open.com