Commit 9315aa4bb0b3f1d24c053538e7a674997d263570

Authored by Jay Berkenbilt
1 parent e1271361

TODO

Showing 1 changed file with 0 additions and 57 deletions
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