[BACK]Return to TODO CVS log [TXT][DIR] Up to [local] / src / usr.bin / sudo

Annotation of src/usr.bin/sudo/TODO, Revision 1.1.1.1

1.1       millert     1: TODO list (most will be addressed in sudo 2.0)
                      2:
                      3: 01) Redo parsing to be more like op(8) with true command aliases where
                      4:     can specify uid, gid(s) and part/all of the environment.
                      5:
                      6: 02) Add default options to sudoers file (umask, def uid, def gids, dir, PATH).
                      7:     Defaults = option1, option2, ...
                      8:     Defaults@host = option1, option2, ...
                      9:     Defaults!user = option1, option2, ...
                     10:     Defaults%group = option1, option2, ...
                     11:     Defaults+netgroup = option1, option2, ...
                     12:
                     13: 03) Add a SHELLS reserved word that checks against /etc/shells.
                     14:
                     15: 04) Make the sudoers file accessible via NIS, Hesiod, and maybe NetInfo.
                     16:
                     17: 05) Add a -h (?) flag to sudo for a history mechanism.
                     18:
                     19: 06) Add an option to hard-code LD_LIBRARY_PATH?
                     20:
                     21: 07) Add Prog_Alias facility (Prog_Alias VI = /usr/secure/bin/vi +args).
                     22:
                     23: 08) check for <net/errno.h> in configure and include it in sudo.c if it exists.
                     24:
                     25: 09) Add generic STREAMS support for getting interfaces and netmasks.
                     26:
                     27: 10) Add support for "safe scripts" by checking for shell script
                     28:     cookie (first two bytes are "#!") and execing the shell outselves
                     29:     after doing the stat to guard against spoofing.  This should avoid
                     30:     the race condition caused by going through namei() twice...
                     31:
                     32: 11) Overhaul testsudoers to use things from parse.o so we don't reimplement
                     33:     things.
                     34:
                     35: 12) Make runas_user a struct "runas" with user and group components.
                     36:     (maybe uid and gid too???)
                     37:
                     38: 13) Add -g group/gid option.
                     39:
                     40: 14) Should be able to mix Cmnd_Alias's and command args.  Ie:
                     41:        pete   ALL=PASSWD [A-z]*,!PASSWD root
                     42:     where PASSWD was defined to be /usr/bin/passwd.
                     43:     This requires the arg parsing to happen in the yacc grammer.
                     44:     At the very least, commands and args have to become separate
                     45:     tokens in the lexer.
                     46:
                     47: 15) Add a per-tty restriction?  Ie: only can run foo from /dev/console.
                     48:
                     49: 16) Add test for how to read ether interfaces in configure script
                     50:
                     51: 17) Add configure check for $(CC) -R and use it in addition to -L
                     52:
                     53: 18) An option to make "sudo -s" use the target user's shell might be nice
                     54:     (and more like su).
                     55:
                     56: 19) Use getrlimit() in preference to getconf()/getdtablesize().
                     57:
                     58: 20) Add configure option to enable old behavior of visudo (O_EXCL)?
                     59:     --without-sudoers-lock?
                     60:
                     61: 21) Profile sudo again (is the yacc grammar optimal?)
                     62:
                     63: 22) Zero out encrypted passwords after use.  Use an Exit function or
                     64:     some such (have to hook in to emalloc() and friends).
                     65:     Hard (impossible?) to be thorough w/ atexit/on_exit.
                     66:
                     67: 23) Make 'sudo -l user' if run as root do a "sudo -l" output for the specified
                     68:     user.
                     69:
                     70: 24) Use strtol() and strtoul(), not atoi()
                     71:
                     72: 25) In parse.yacc get rid on unneeded '{ ; }'
                     73:
                     74: 26) Look into %e, %p, %k in parse.lex
                     75:
                     76: 27) Document Defaults stuff in sudoers.pod
                     77:
                     78: 28) Make syslog stuff work on vanilla ultrix
                     79:
                     80: 29) Implement date_format and log_format options.
                     81:
                     82: 30) Add support for: Default:user@host
                     83:
                     84: 31) Add -S flag to force password read from stdin