aboutsummaryrefslogtreecommitdiffstats
path: root/TODO
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2009-10-19 02:17:11 +0200
committerJay Berkenbilt <ejb@ql.org>2009-10-19 02:17:11 +0200
commit09175e457852c585a68a86d43280f7e0790a4a3b (patch)
tree64269f6bb06d53975f4b8fe51a3900f868748629 /TODO
parent94131116a90a076c49e799aa5e4c63ce0ecb0391 (diff)
downloadqpdf-09175e457852c585a68a86d43280f7e0790a4a3b.tar.zst
more testing, bug fix for linearized aes encrypted files
git-svn-id: svn+q:///qpdf/trunk@824 71b93d88-0707-0410-a8cf-f5a4172ac649
Diffstat (limited to 'TODO')
-rw-r--r--TODO56
1 files changed, 10 insertions, 46 deletions
diff --git a/TODO b/TODO
index 952f5c80..81f05087 100644
--- a/TODO
+++ b/TODO
@@ -1,6 +1,9 @@
2.1
===
+ * Really need to handle /Crypt filter for Metadata. Search for crypt
+ below.
+
* Update documentation to reflect new command line flags and any
other relevant changes. Should read through ChangeLog and the
manual before releasing 2.1.
@@ -16,9 +19,6 @@
* Add comments for the security functions that map them back to the
items in Adobe's products.
- * Have force version at least turn off object streams and maybe
- change security settings?
-
* Add error codes to QPDFException. Change the error interface so
that warnings and errors are pointers that can be queried using
more C API functions. We need a way to get a full string as well
@@ -47,49 +47,7 @@
- Update C API for R4 encryption
- - When we write encrypted files, we must remember to omit any
- encryption filter settings from original streams.
-
- - test various combinations with and without cleartext-metadata
- and aes in compression tests
-
- - figure out a way to test crypt filters defined on a stream
-
- - test combinations of linearization and v4 encryption
-
- - would be nice to test strings and streams with different
- encryption types, but without sample data, we'd have to write
- them ourselves which is not that useful
-
- - figure out how to look at the metadata so I can tell whether
- /EncryptMetadata is working the way it's supposed to
-
- - Do something with embedded files, but what and how?
- - General notes:
-
- /CF - keys are crypt filter names, values are are crypt
- dictionaries
-
- Individual streams may also have crypt filters. Filter type
- /Crypt; /DecodeParms must contain a Crypt filter decode
- parameters dictionary whose /Name entry specifies the particular
- filter to be used. If /Name is missing, use /Identity.
- /DecodeParms << /Crypt << /Name /XYZ >> >> where /XYZ is
- /Identity or a key in /CF.
-
- /Identity means not to encrypt.
-
- Crypt Dictionaries
-
- /Type (optional) /CryptFilter
- /CFM:
- /V2 - use rc4
- /AESV2 - use aes
- /Length - supposed to be key length, but the one file I have
- has a bogus value for it, so I'm ignoring it.
-
- We will ignore remaining fields and values.
2.2
===
@@ -127,7 +85,13 @@ General
crypt filters, and there are already special cases in the code to
handle those. Most likely, it won't be a problem, but someday
someone may find a file that qpdf doesn't work on because of crypt
- filters.
+ filters. There is an example in the spec of using a crypt filter
+ on a metadata stream.
+
+ When we write encrypted files, we must remember to omit any
+ encryption filter settings from original streams.
+
+ We need a way to test this.
* The second xref stream for linearized files has to be padded only
because we need file_size as computed in pass 1 to be accurate. If