Rocco Rutte:
[apps/madmutt.git] / TODO.mutt-ng
index 506f5b7..36f5cc9 100644 (file)
@@ -1,21 +1,24 @@
 Here's a list of all mutt-ng specific TODOs (not in priority order):
 
-muttngbug must call fleang, not flea
+- We need to do a security audit. At least remove all the unsafe
+  function calls, even when they're marked with "secure" or "checked",
+  and replace it with secure alternatives instead. In this process,
+  remove any calls of functions for which we have internal library
+  alternatives already.
 
-Really make sure that there're no more files installed with conflicting
-paths between mutt <-> mutt-ng. Update documentation to state that
-there're new version of all helper programs.
+- Start cleanup and finally make all the patches work together. As some
+  starting hints: kill the caching for NNTP in favor of the header
+  caching patch, move as much code of optional compile-time features out
+  to their subdirectories, and so forth.
 
-We need to do a security audit. At least remove all the unsafe function calls, even when they're
-marked with "secure" or "checked", and replace it with secure alternatives instead.
+- Stop making up names of global functions with mutt_*; give meaningful
+  names and declare them in the right headers to eventually obsolote
+  protos.h. This counts for data typedef's, too! Write one header and
+  one source file per datatype, do proper information hiding and thus
+  provide sane internal abstraction to get "future ready." For example,
+  for all the mailbox handling, the mbox_*/mmdf_* and mh_*/maildir_*
+  functions should only be called directly in the right abstraction
+  layer's implementation. And so forth.
 
-Remove all the multibyte-character handling stuff. It only makes the source code complicated, and
-doesn't add any special functionality - no, in one case, it already caused lots of problems.
-
-Update the ChangeLog file or create a new ChangeLog.mutt-ng file.
-
-Incorporate a lot more patches that are floating around in the web.
-
-Investigate why build w/ the following cmdline fails:
-./configure
-(or ./configure --with-regex --enable-imap --with-ssl=/usr/local/ssl -enable-buffy-size --with-exec-shell=/bin/zsh --enable-hcache  --with-idn=/usr/local/lib/ ?)
+- Improve documentation, update/rewrite/remove README.SSL and files in doc/
+  all other documents in directory root are up-to-date