*** empty log message ***
[findutils.git] / TODO
blob600210aa79cbf99d06d4ff24aea497239422fe2d
1 -*-outline-*-
2 * Miscellaneous security holes in find,
3 see
4 http://archives.neohapsis.com/archives/linux/lsap/2001-q1/thread.html#148
5 and
6 http://bugs.debian.org/findutils
8 * Speed of locate without "-i" option needs to be increased.
10 * There are many bugs to be fixed and features to be added to findutils.
11 The current distribution is a snapshot which fixes many
12 problems, but leaves others unsolved.  Many of the known problems are
13 not listed below.  Over the next few releases, I hope to fix more
14 items, and add the unfixed problems below.
16 * Internationalization
17 ** Is ansi2knr internationalized?  Does it need to be?
19 ** Should these files be internationalized?
20         strftime.c
22 ** Should translated long options be offered in locate and xargs?
23 ** updatedb.sh should be internationalized as well
24 ** the Solaris door files are partially supported (e.g. not by -type)
26 * new standards with Austin group
27 ** "-H" and "-L" options to find were added by Austin group standards.
28 They need to be implemented.
30 **Austin added the following options to xargs:
31 -I perhaps replaces -i
33 -L perhaps replaces -l
35 -E slightly different from -e
37 * Should fnmatch.h be a link to fnmatch.h.in?
38 See tar distribution for an example. 
40 * Eliminate unnecessary strcpy calls in xargs.
42 * lib/getline.c
43 getline.c contains a function getstr which is needed in locate,
44 but is not in the standard library.  In fact getstr is in curses.
45 This problem needs to be fixed.  Can getstr be removed?  Can getline.c
46 be optionally included, or is it mandatory?
48 * man pages for frcode, bigram, and code
49 Perhaps a better description in texi pages as well.
51 * Add option for find to sort output in lexical order for use for updatedb
52 olarsac@airfrance.fr (Olivier) made the following suggestion:
54 As I was running thru the code looking for the bug I wondered why the updatedb
55 has to use sort...
56 why not add an option to find that sorts the output in lexical order?
57 my point is:
58 - sort on a big list is costly (here we do locate on big big file system)
59 - find may (in theory) sort incrementally very easily by sorting only the current
60 directory entries before recursion
61 - it would also solve the lack of \0 sort that prevents you to use the -print0
62 to handle \n in file names properly
65 * large file problems
66 depcomp gets added by automake
67 strncasecmp is needed
68 which requires strcasecmp
69 getline.c temporarily removed from Makefile.am
70 remove getline.o from LIBOBJS
71 remove extra AM_FUNC_GETLINE
74 * xargs: allow newline or arbitrary character to separate arguments
75 Tyler 'Crackerjack' MacDonald <yi@yi.org> suggested that it would be
76 nice if newlines could separate arguments to xargs.  This would allow
77 a single line to be used as an argument, regardless of white space,
78 quotes, and backslash.  A function similar to read_string in xargs.c
79 can be written which replaces the line:
81       if (c == '\0')
83 with the appropriate character.
85 * investigate _LIBC when used with TOLOWER and TOUPPER
86 _LIBC is used to determine whether TOLOWER should check isupper first.
87 Is there something better to check?  Alternatively, can tolower be
88 checked at run time to determine whether isupper should be called first.
90 * make findutils multibyte safe
91 Bruno Haible reported many problems with findutils and multibyte.
93 * BeOS problems with multibyte
94 Bruno Haible reported problems with BeOS.
96 * What should be the default value of PRUNEFS in updatedb?
97 Currently, it is:
98 : ${PRUNEFS="nfs NFS proc"}
99 Perhaps it should default to nothing.
101 * Include example of use of updatedb in documentation.
102 Use something close to the Debian daily cron job.
104 * Side effects do not allow the implicit use of -print.
105 Specifically, the use of -prune turns off the implicit use of -print.
106 Look at this line in find.c:
107   else if (!no_side_effects (predicates->pred_next))
108 side_effects really means:
109 predicate which produces output, according to find.c, at least it does
110 some of the time.
111 Two predicates, side_effects, and produce_output
114 * Supply example for time range commands for find.
116                         --//--
117 This is used by Emacs' spell checker ispell.el:
119 LocalWords: ansi knr strftime xargs updatedb sh fnmatch hin strcpy
120 LocalWords: lib getstr getline frcode bigram texi depcomp automake
121 LocalWords: strncasecmp strcasecmp LIBOBJS FUNC findutils Solaris
122 LocalWords: LIBC TOLOWER TOUPPER tolower isupper PRUNEFS
123 LocalWords: nfs proc Debian cron
124 LocalWords: Haible BeOS Crackerjack