1 We should always extract to a new, temporary directory (except maybe in the |
1 * Make sure you only try each extractor once? |
2 straight decompression case), and then move that directory based on what we |
|
3 actually want. This has several advantages: |
|
4 |
|
5 * Much easier to check whether or not the archive is a bomb (O(1) operation) |
|
6 * Can find other archives more reliably |
|
7 * Can set up a direct pipe from a decompressed to the unarchiver, since we're |
|
8 not interested in reading it multiple times anymore. |
|
9 * All this should mean x is faster, too. |
|
10 |
2 |
11 Things which I have a use case/anti-use case for: |
3 Things which I have a use case/anti-use case for: |
12 * CAB extraction. |
4 * CAB extraction. |
13 * Use file to detect the archive type. |
|
14 * Support lzma compression (http://tukaani.org/lzma/download) |
5 * Support lzma compression (http://tukaani.org/lzma/download) |
15 * Support pisi packages (http://paketler.pardus.org.tr/pardus-2007/) |
6 * Support pisi packages (http://paketler.pardus.org.tr/pardus-2007/) |
16 * Steal ideas from <http://martin.ankerl.com/files/e>. |
7 * Steal ideas from <http://martin.ankerl.com/files/e>. |
17 * Figure out what the deal is with strerror. (done?) |
8 * Figure out what the deal is with strerror. (done?) |
18 * Better error messages (file doesn't exist, isn't readable, etc.) |
9 * Better error messages (file doesn't exist, isn't readable, etc.) |
21 Things that are generally good: |
12 Things that are generally good: |
22 * Better tests. |
13 * Better tests. |
23 * Better error messages. |
14 * Better error messages. |
24 |
15 |
25 Things I think might be good but can't prove: |
16 Things I think might be good but can't prove: |
26 * Take URLs as arguments. |
|
27 * Consider having options about whether or not to make sane directories, |
17 * Consider having options about whether or not to make sane directories, |
28 have tarbomb protection, etc. |
18 have tarbomb protection, etc. |
29 * Use zipfile instead of the zip commands. |
19 * Use zipfile instead of the zip commands. |
30 * Processing from stdin. |
20 * Processing from stdin. |
31 * Extracting control.tar.gz from deb files. |
|
32 * shar support. |
21 * shar support. |