diff options
| author | jvoisin | 2012-02-07 14:07:21 +0100 |
|---|---|---|
| committer | jvoisin | 2012-02-07 14:07:21 +0100 |
| commit | 61439b1508d7512fa2e33725dff24c6c17440011 (patch) | |
| tree | 3fb586d838f9ee90bb175eae3a5917a3fb88cf6f | |
| parent | 2cba152e7c00ff2c422d5e1c911f17ea07f346ed (diff) | |
Whitelist approach for jpeg
| -rw-r--r-- | lib/images.py | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/lib/images.py b/lib/images.py index 3eb3544..f4e884d 100644 --- a/lib/images.py +++ b/lib/images.py | |||
| @@ -8,22 +8,20 @@ import parser | |||
| 8 | class JpegStripper(parser.GenericParser): | 8 | class JpegStripper(parser.GenericParser): |
| 9 | ''' | 9 | ''' |
| 10 | represents a jpeg file | 10 | represents a jpeg file |
| 11 | remaining : | ||
| 12 | http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/CanonRaw.html | ||
| 13 | ''' | 11 | ''' |
| 14 | def _should_remove(self, field): | 12 | def _should_remove(self, field): |
| 15 | ''' | 13 | ''' |
| 16 | return True if the field is compromizing | 14 | return True if the field is compromizing |
| 17 | ''' | 15 | ''' |
| 18 | name = field.name | 16 | field_list = frozeset(['start_image', 'app0', 'start_frame', |
| 19 | if name.startswith('comment'): | 17 | 'start_scan', 'data', 'end_image']) |
| 20 | return True | 18 | if field.name in field_list: |
| 21 | elif name in ('photoshop', 'exif', 'adobe', 'app12'): | 19 | return False |
| 22 | return True | 20 | elif field.name.startswith('quantization['): |
| 23 | elif name in ('icc'): # should we remove the icc profile ? | 21 | return False |
| 24 | return True | 22 | elif field.name.startswith('huffman['): |
| 25 | else: | ||
| 26 | return False | 23 | return False |
| 24 | return True | ||
| 27 | 25 | ||
| 28 | 26 | ||
| 29 | class PngStripper(parser.GenericParser): | 27 | class PngStripper(parser.GenericParser): |
