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 | Soon | 1 | Soon |
| 59 | ==== | 2 | ==== |
| 60 | 3 |