cvsd.conf(5)

πŸ“¦
version 1.0.25build1 Β· 2 versions
, in debian trixie, ubuntu questing, ubuntu resolute, ubuntu stonking

🌸 cvsd.conf β€” the manual page, but make it cute 🌸

okay so bestie, welcome to cvsd.conf(5) πŸ’– this is the System Manager's Manual version, and it's literally the config file for cvsd. buckle up, it's giving ✨documentation✨ but make it fun.


✨ NAME ✨

cvsd.conf β€” the configuration file for cvsd. that's it, that's the name πŸŽ€


πŸ¦‹ DESCRIPTION πŸ¦‹

so cvsd.conf holds all the configuration info you need to run cvsd (go read cvsd(8) if you haven't, iykyk πŸ’…). the file is just options, one per line, and they tell cvsd how to do its thing. simple as that. no cap. 🌈


πŸ’… OPTIONS πŸ’…

here's where it gets juicy. every single one, no skipping, we're not that kind of girl 🫢

  • RootJail path β€” tells cvsd where the chroot jail lives, like where cvs should actually be run. bestie, you HAVE to initialize this directory with the cvsd-buildroot script first, otherwise it won't have all the right directories and binaries and it's gonna be a whole mess 😭. if this option just... isn't in the config file at all, or you set it to none (without quotes!!), then cvsd will run in the normal file system root instead. your call ✨
  • Uid uid β€” which user id cvs gets to run as. can be a numerical id or a symbolic value, whichever you vibe with. if you don't specify a uid, cvsd just runs under whatever uid it was started with. periodt πŸ‘‘
  • Gid gid β€” same energy as Uid, but for the group id. numerical or symbolic, dealer's choice. no gid specified? then cvsd runs under the gid it was started with. πŸ’œ
  • CvsCommand path β€” this should point to where the cvs command actually lives. ⚠️ important: if you set up a RootJail, this path is relative to that directory β€” but it should STILL start with a /, okay?? don't get cute. if you don't define this at all, it defaults to /bin/cvs when a chroot jail is configured, and /usr/bin/cvs otherwise. ✨
  • CvsArgs arg... β€” extra arguments you wanna pass to the cvs command, on top of the default ones. you can pass the -R option to put cvs in read-only mode, which is lowkey iconic for safety πŸŽ€. just know that not all options work in pserver mode, and the error messages are... not always very friendly 😭. fair warning.
  • Nice num β€” sets the nice value. on most systems that ranges from -20 to 20, and the smaller (more negative) the number, the higher the priority. if you don't specify a value, the nice level of the program just stays untouched. no notes πŸ’…
  • Umask mask β€” the umask that the cvs pserver uses when creating files. specify it as an octal value. if you don't, the default umask of 027 gets used. slay πŸ¦‹
  • Limit resource value β€” limits how much of a certain resource the cvs process can use. heads up: these resource limits get set on the executed cvs command, NOT on the daemon itself. okay so resource can be one of these:
    • coredumpsize β€” maixmum filesize of a coredump
    • cputime β€” maximum amount of seconds cputime consumed
    • datasize β€” maximum size of program's data segment
    • filesize β€” maximum size of files created
    • memorylocked β€” maximum amount of locked memory
    • openfiles β€” maximum number of open files (file descriptors)
    • maxproc β€” maximam number of processes (per user? max. children?)
    • memoryuse β€” maximum size of resident memory
    • stacksize β€” maximum stack size
    • virtmem β€” maximum amount of virtual memory allocated
    • pthreads β€” number of threads that the process may create
not all systems support all the resources listed here, so don't come for me if yours doesn't πŸ™ˆ. if no limits are defined, no extra limits get enforced. and if the system already set limits for processes, it may not even be possible to broaden them. sad but true πŸ’€

a value (resource limit) that's a size can take a suffix of b (bytes), k (1024 bytes) or m (1024*1024 bytes) β€” and k is the default. plain number values can also use the k and m suffixes, but their default is just the plain number. time values can be formatted as mm:ss, or take an m or s suffix, with s as the default. ⏰✨

  • PidFile file β€” where the daemon's process id gets written. if you don't specify a PidFile, the pid just... doesn't get written anywhere. /var/run/cvsd.pid is a good location for a pidfile, fyi πŸ‘‘
  • Listen address port β€” this one specifies which addresses and ports cvsd should listen on for connections. the address value can be * (that binds all addresses), or a symbolic (host name), dotted quad, or ipv6 address. the port value can be a numeric port number or a well known service like cvspserver. you can supply this option multiple times. also you can combine the address and port fields in the usual ways by separating them with a : or a ., optionally wrapping the address part in square brackets ([ and ]). some examples for you bestie:
# listen on all interfaces and all protocols on port 2401
Listen * 2401
# listen on IPv6 port 100
Listen :: 100
# listen on localhost
Listen localhost cvspserver
# listen on an ipv6 address
Listen [fe80::2a0:d2ff:fea5:e9f5]:2401

πŸŽ€ eat every time.

  • MaxConnections num β€” the max number of connections that can be handled at the same time. if you pass 0 (which is the default), then no limit is used at all. go wild 🌈
  • Log scheme/file logvelel β€” how logging gets done. the first argument is either none, syslog, or a file name that begins with a /. the second argument is optional and sets the loglevel. loglevel can be one of: crit, error, warning, notice, info (that's the default ✨) or debug. everything at the specified loglevel and higher gets logged. this option can be supplied multiple times, so go off. if you just omit it entirely, syslog info is assumed. πŸ’œ
  • Repos path β€” which repositories are allowed to be used. the value gets passed as a --allow-root=path parameter to cvs. the path should be relative to the specified RootJail, and it should start with a /. you can supply this option multiple times, but bestie you need to specify it at least once. non-negotiable πŸ’…

πŸŽ€ FILES πŸŽ€

  • /etc/cvsd/cvsd.conf β€” default location for the configuration file
  • /var/run/cvsd.pid (or other location) β€” the file where the process id is saved

πŸ‘‘ SEE ALSO πŸ‘‘


πŸ’– AUTHOR πŸ’–

Arthur de Jong <arthur@arthurdejong.org> β€” we stan 🫢


and that's a wrap, bestie ✨ this was Version 1.0.25, from Nov 2024, part of the System Manager's Manual β€” cvsd.conf(5). now go configure something iconic πŸ’…πŸŒΈπŸ’œ

πŸ“¦ where this page comes from