The "main" task list is on http://sourceforge.net/pm/?group_id=33589

This list is the TODO for the project. Some older TODO items are also
available on the sourceforge site.

0.82 "Minty Chinchilla" 

*  To be released on Wednesday, Feb. 5th, in the evening. 

0.83 (new features): 

*  merge sct_parselib/syscalls.cpp from the
   r_syscalls_cpp_fix_memory_leaks branch to HEAD. 

*  design and implement the missing infrastructure pieces, per the
   list at the bottom of syscalls.dat. 

*  make tester create its temporary files in the user's temp
   directory. 

0.84 (testing)

*  device file testing code
   - that the kernel follows the protocol implicitly
   - that when userspacd provides garbage or malicious data, the kernel
    still behaves sanely. 

*  look for functions which return a value whose value is not being
   checked. 

*  make sure that sensible errors are returned, from all levels of the
   protocol, including to user space.

*  take a good, long look at the whole return value issue for before
   and after hooks, and for the original system call. Currently, the
   before hook can tell us to return something else, but not the after
   hook. 

*  make sure all of the userspace tools pass valgrind with flying
   colors.

0.85 (documenting): 

*  verify that the existing documentation matches the current
   code/design of the various components. 

*  write detailed design documents for components that don't have them
   yet. 

*  write a "quick start guide" for the person who just downloaded
   syscalltrack and has no idea what to do now. 

0.86 (cleanup): 

*  clean up sct_config's logging output, standardize on either logger
   or stdout/stderr. 

*  split sct_membufs into a linear buffer and a cyclic ring buffer
   (they're used for both currently, and that's too ugly for words). 

*  write suitable finalization routines for th libraries, and make
   sure everything is cleaned up appropriately on library exit. 

0.87 (new features): 

*  remove the globally serializing tracker_sem and "reset_all_vars"

0.88 (testing): 

... 

0.88 (profiling): 

... 

0.90 - 0.99: release candidate series, no new features, only bug
    fixing and non intrusive cleanups. 

* need to install the libraries and header files system wide, and make
  sure clients can build against them. 

AFTER 1.0 (in no particular order) 

*  write a generic syscall hijacking mechanism for 2.5, and port
   syscalltrack to use it. 

*  switch sct_config to use lex/yacc instead of the hand crafted
   parser. 

*  check the validity of the log format in sct_config, before passing
   it to the kernel. 

*  support for rule match counters (see
   http://sourceforge.net/pm/task.php?func=detailtask&project_task_id=46385&group_id=33589&group_project_id=12740)

*  support rule enable/disable

*  add constatns for all valid errno numbers

*  snarf from strace everything related to how syscall matches are
   logged, in particular symbolic constatns. 

*  split sct_rules into "core" library and "per arch" directories. 

*  whenever we work by file descriptor, allow working by file name. 

*  rework the system call parameters mechanism to provide a
   "replacement" parameter, for example, replacements for execve's
   original parameters for the after hook - or - solve the execve after
   params problem in some other way

*  add devfs support to the kernel module - Yotam Rubin contributed a
   patch, but it hasn't been applied yet due to devfs ugliness. Waiting
   for users to request it, I guess. 

*  module_main.c/tracker_sysctl needs to be updated to only build the
   rule for the specific sysctl commands that require it. 

*  Figure out a way to avoid having to change both the templates and
   the special syscalls, when making a change to the hijack stub or
   the tracking stubs. 
-- 
$Id: TODO,v 1.57 2003/02/05 20:27:56 mulix Exp $
