Commit 9315aa4bb0b3f1d24c053538e7a674997d263570
1 parent
e1271361
TODO
Showing
1 changed file
with
0 additions
and
57 deletions
TODO
| 1 | -Pending Doc Updates | |
| 2 | -=================== | |
| 3 | - | |
| 4 | -Unicode Passwords | |
| 5 | - | |
| 6 | -Release notes | |
| 7 | - | |
| 8 | -* Windows now interprets CLI arguments as Unicode. Explain the | |
| 9 | - non-compatibility and how it is unavoidable. | |
| 10 | -* Refer to the manual for the rest | |
| 11 | - | |
| 12 | -Regular manual | |
| 13 | - | |
| 14 | -* Explain the password modes, how they work, and when you would need | |
| 15 | - to use other than auto (e.g. overriding automatic detection of | |
| 16 | - UTF-8, forcibly creating a file with incorrect encoding for tests, | |
| 17 | - etc.) | |
| 18 | -* Explain limitations around BiDi and normalize | |
| 19 | -* Explain that the features are CLI and that the library, for | |
| 20 | - compatibility, still expects bytes. Refer to the transcoding methods. | |
| 21 | - - Document that users should pass an appropriately encoded string: | |
| 22 | - PDF Doc for R3 and R4, and UTF-8 for R5 and R6, and that they can | |
| 23 | - use QUtil::utf8_to_pdf_doc to achieve this. | |
| 24 | -* Talk about automatic password recovery and what it does. | |
| 25 | - | |
| 26 | -Possible text | |
| 27 | - | |
| 28 | - - password modes: | |
| 29 | - - hex-bytes: hex-encoded bytes for password | |
| 30 | - - bytes: take the bytes as they are | |
| 31 | - - unicode: utf8-encoded, with notes about Windows doing this by default | |
| 32 | - - auto: determine automatically | |
| 33 | - - Note that --password-is-hex-key applies only to the main password | |
| 34 | - and is only related to reading. It bypasses the password checks | |
| 35 | - entirely and is not a password mode. The --password-mode option | |
| 36 | - tells qpdf how to interpret the password used in writing. | |
| 37 | - - Behavior of unicode: Fail if the password is not valid UTF-8. | |
| 38 | - For R <= 4 fail if the password cannot be transcoded to PDFDoc | |
| 39 | - without loss. | |
| 40 | - - Behavior of auto: For R >= 5 fail if the password is not valid | |
| 41 | - UTF-8 and tell the user about bytes. For R <= 4, if string is | |
| 42 | - valid UTF-8 and is able to be successfully transcoded to PDFDoc, | |
| 43 | - transcode it; otherwise fall back to bytes. | |
| 44 | - - For bytes and hexbytes, just treat the passwords as given, | |
| 45 | - documenting the change for Windows that incoming arguments are | |
| 46 | - UTF-8 starting in 8.4. | |
| 47 | - - Note that, for Windows, there is no guaranteed compatibility | |
| 48 | - because of the switch to wmain. For Non-Windows, "bytes" gives | |
| 49 | - backward compatibility, but "auto" will fix the bug of qpdf | |
| 50 | - generating invalid passwords when accented characters were used. | |
| 51 | - Take special note of @file password arguments, which are not | |
| 52 | - converted automatically to Unicode on Windows like CLI args are. | |
| 53 | - | |
| 54 | - Don't bother with normalize and BiDi for Unicode as that requires | |
| 55 | - something like ICU. If we ever do that, we can add additional flags | |
| 56 | - and method calls. | |
| 57 | - | |
| 58 | 1 | Soon |
| 59 | 2 | ==== |
| 60 | 3 | ... | ... |