www.nico.schottelius.org/software/cinit/browse_source/cinit-0.0.4/TODO

67 lines
2.4 KiB
Plaintext

- 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.