- check return values of most functions!
- check errno!
- check whether headers are ok
- remove printfs!
- write manpages (use doc/* as base for that)
- eventually split cinit code to csvc to minimize binary of cinit?
- cleanup comments
- cleanup headers!
- respawn_svc and exec_svc must return pid_t of executed service / watcher
- exec_svc.c: should we also change environment?
- write install-example for non-Linux systems (think of merge also)
- move messages to cinit.h or message.h or conf/msg-*!
- remove MAX_SVC
- change exec_svc to be much more dumb!
   *svc, *svc_param_file, *svc_env_file
- remove stat from exec_svc, do before!
- check for possibilies to save ram, free things
- stat() in run_svc -> don't call exec_svc, respawn_svc, run_run_svc
- close(*>2) before forking / executing
- get CTR-ALT-DEL
- check if we caught every signal, which could kill us
- create coala-socket with correct permissions! (550, root:cinit)

- run_svc_new:
   o we have many strcat()s, perhaps save length of pathbuf and strncat at
     pathtmp[strlen(pathbuf)] ?
   o should we check strcat and strcpy return values or do we expect them to work?

--------------------------------------------------------------------------------

- script merge sysVinit to cinit?
- circulaere abhaengigkeiten?
   - script vorher?

--------------------------------------------------------------------------------

- create conversion table:
   djbdns <-> name_server
   dnscache <-> name_caching
   qmail,postfix,... <-> MTA

--------------------------------------------------------------------------------
create_mini_cinit
   -> create something which should be runnable
      -> mount, fsck, getty
         --> for dev in `read /etc/fstab` ...
               fsck $dev
         --> mount -a
         --> mount -n -o remount,rw /
         --> getty from /etc/inittab or /sbin/*getty
            -> find out, which gettys with which params
   -> use it on 'make install'
--------------------------------------------------------------------------------

signal handlers:
sa.sa_handler=sigint; sigaction(SIGINT,&sa,0); /* ctrl-alt-del */
sa.sa_handler=sigwinch; sigaction(SIGWINCH,&sa,0);   /* keyboard request */

--------------------------------------------------------------------------------

Add support for 'cinit' group, which may shutdown/reboot/halt with
SO_PASSCRED in sockets

--------------------------------------------------------------------------------
Done
- include '/' in C_RUNS? make double strings? -> no.
