]> CyberLeo.Net >> Repos - FreeBSD/releng/10.3.git/blob - contrib/file/TODO
Update file(1) to new version with security update. [EN-18:02.file]
[FreeBSD/releng/10.3.git] / contrib / file / TODO
1 Most TODOs live in the TODO section of doc/file.man (i.e. file(1)).
2 They are more visible there, so please add any further TODOs to that
3 file, not here. More speculative material can live here.
4
5 (This change was made when Reuben Thomas noticed that all the bugs
6 listed in the BUGS section of the man page had been fixed!)
7
8 ---
9 It would be nice to simplify file considerably. For example,
10 reimplement the apprentice and non-pattern magic methods in Python,
11 and compile the magic patterns to a giant regex (or something similar;
12 maybe using Ragel (http://www.complang.org/ragel/)) so that only a
13 small amount of C is needed (because fast execution is typically only
14 required for soft magic, not the more detailed information given by
15 hard-wired routines). In this regard, note that hplip, which is
16 BSD-licensed, has a magic reimplementation in Python.
17 ---
18 Read the kerberos magic entry for more ideas.
19 ---
20 Write a string merger to make magic entry sizes dynamic.
21 Strings will be converted to offsets from the string table.
22 ---
23 Programming language support, we can introduce the concept of a group
24 of rules where n rules need to match before the rule is positive. This
25 could require structural changes to the matching code :-(
26
27 0       group   2       # require 2 matches
28 # rule 1
29 >0      ....
30 ...
31 # rule 2
32 >0      ....
33 ...
34
35 christos
36