Commit 4db9e45
committed
Add support for
Normally entire PDFs are encrypted (or not).
But it is also possible to only encrypt attachments.
It is then also possible to *only* prompt for a password when the user opens
them.
In the existing flow, prompting for passwords happens because things are decrypted.
A specific error is thrown, caught, and the user is prompted.
To keep this flow working, this PR changes to decrypting attachments on demand,
instead of eagerly.
This sounds logical: to not read attachments on startup.
I’ve extensively tested this, not only with regular attachments, but also with outline items
and attachments in annotations.
This PR builds on GH-21234.
It’s an alternative to the naïve GH-20732.
Closes GH-20049./AuthEvent, on-demand decryption1 parent 19046a6 commit 4db9e45
23 files changed
Lines changed: 781 additions & 99 deletions
File tree
- src
- core
- display
- test
- integration
- pdfs
- unit
- web
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
79 | 79 | | |
80 | 80 | | |
81 | 81 | | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
82 | 86 | | |
83 | 87 | | |
84 | 88 | | |
| |||
5207 | 5211 | | |
5208 | 5212 | | |
5209 | 5213 | | |
5210 | | - | |
5211 | | - | |
| 5214 | + | |
| 5215 | + | |
| 5216 | + | |
| 5217 | + | |
| 5218 | + | |
| 5219 | + | |
| 5220 | + | |
| 5221 | + | |
| 5222 | + | |
| 5223 | + | |
| 5224 | + | |
| 5225 | + | |
| 5226 | + | |
| 5227 | + | |
| 5228 | + | |
| 5229 | + | |
| 5230 | + | |
| 5231 | + | |
| 5232 | + | |
| 5233 | + | |
| 5234 | + | |
| 5235 | + | |
| 5236 | + | |
| 5237 | + | |
| 5238 | + | |
| 5239 | + | |
| 5240 | + | |
| 5241 | + | |
| 5242 | + | |
5212 | 5243 | | |
5213 | 5244 | | |
5214 | 5245 | | |
| 5246 | + | |
5215 | 5247 | | |
5216 | 5248 | | |
5217 | 5249 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
28 | 31 | | |
29 | 32 | | |
30 | 33 | | |
31 | 34 | | |
32 | 35 | | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
33 | 39 | | |
34 | 40 | | |
35 | 41 | | |
| |||
43 | 49 | | |
44 | 50 | | |
45 | 51 | | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
46 | 56 | | |
47 | 57 | | |
48 | 58 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
58 | 89 | | |
59 | 90 | | |
60 | 91 | | |
| |||
88 | 119 | | |
89 | 120 | | |
90 | 121 | | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
91 | 125 | | |
92 | 126 | | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
93 | 134 | | |
94 | 135 | | |
95 | 136 | | |
| |||
123 | 164 | | |
124 | 165 | | |
125 | 166 | | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
126 | 190 | | |
127 | 191 | | |
128 | 192 | | |
| |||
369 | 433 | | |
370 | 434 | | |
371 | 435 | | |
| 436 | + | |
372 | 437 | | |
373 | 438 | | |
374 | 439 | | |
| |||
1068 | 1133 | | |
1069 | 1134 | | |
1070 | 1135 | | |
| 1136 | + | |
| 1137 | + | |
| 1138 | + | |
| 1139 | + | |
| 1140 | + | |
| 1141 | + | |
1071 | 1142 | | |
1072 | 1143 | | |
| 1144 | + | |
1073 | 1145 | | |
1074 | 1146 | | |
1075 | 1147 | | |
| |||
1084 | 1156 | | |
1085 | 1157 | | |
1086 | 1158 | | |
| 1159 | + | |
| 1160 | + | |
| 1161 | + | |
| 1162 | + | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
| 1166 | + | |
| 1167 | + | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
| 1171 | + | |
| 1172 | + | |
| 1173 | + | |
| 1174 | + | |
| 1175 | + | |
| 1176 | + | |
| 1177 | + | |
| 1178 | + | |
| 1179 | + | |
| 1180 | + | |
| 1181 | + | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
1087 | 1185 | | |
1088 | 1186 | | |
1089 | 1187 | | |
| |||
1182 | 1280 | | |
1183 | 1281 | | |
1184 | 1282 | | |
| 1283 | + | |
| 1284 | + | |
| 1285 | + | |
1185 | 1286 | | |
1186 | 1287 | | |
1187 | 1288 | | |
| |||
1556 | 1657 | | |
1557 | 1658 | | |
1558 | 1659 | | |
1559 | | - | |
1560 | | - | |
| 1660 | + | |
| 1661 | + | |
1561 | 1662 | | |
1562 | 1663 | | |
1563 | 1664 | | |
| |||
1740 | 1841 | | |
1741 | 1842 | | |
1742 | 1843 | | |
1743 | | - | |
1744 | | - | |
| 1844 | + | |
1745 | 1845 | | |
1746 | 1846 | | |
1747 | 1847 | | |
| |||
1766 | 1866 | | |
1767 | 1867 | | |
1768 | 1868 | | |
1769 | | - | |
| 1869 | + | |
| 1870 | + | |
1770 | 1871 | | |
1771 | | - | |
| 1872 | + | |
1772 | 1873 | | |
1773 | 1874 | | |
1774 | 1875 | | |
1775 | 1876 | | |
1776 | | - | |
1777 | | - | |
1778 | | - | |
1779 | | - | |
| 1877 | + | |
1780 | 1878 | | |
1781 | 1879 | | |
1782 | 1880 | | |
1783 | | - | |
1784 | | - | |
| 1881 | + | |
| 1882 | + | |
| 1883 | + | |
1785 | 1884 | | |
1786 | 1885 | | |
1787 | 1886 | | |
| |||
0 commit comments