ladybird/Userland/Libraries/LibPDF
Rodrigo Tobar bb48a67f84 LibPDF: Reset encryption key on failed user password attempt
When an attempt is made to provide the user password to a
SecurityHandler a user gets back a boolean result indicating success or
failure on the attempt. However, the SecurityHandler is left in a state
where it thinks it has a user password, regardless of the outcome of the
attempt. This confuses the rest of the system, which continues as if the
provided password is correct, resulting in garbled content.

This commit fixes the situation by resetting the internal fields holding
the encryption key (which is used to determine whether a user password
has been successfully provided) in case of a failed attempt.
2022-12-20 10:28:58 +01:00
..
Fonts LibPDF: Follow a FontFile's Length values 2022-12-16 01:24:43 -07:00
CMakeLists.txt LibPDF: Add first interpolation methods 2022-12-10 10:49:03 +01:00
ColorSpace.cpp LibPDF: Add more knowledge to ColorSpaces classes 2022-12-10 10:49:03 +01:00
ColorSpace.h LibPDF: Add more knowledge to ColorSpaces classes 2022-12-10 10:49:03 +01:00
CommonNames.cpp LibPDF: Add Type0 and TrueType fonts 2022-03-31 18:10:45 +02:00
CommonNames.h LibPDF: Treat Encyption's Length item as optional 2022-12-20 10:28:58 +01:00
Document.cpp LibPDF: Store page number, not Value, in OutlineItem 2022-12-17 19:40:52 +01:00
Document.h LibPDF: Store page number, not Value, in OutlineItem 2022-12-17 19:40:52 +01:00
DocumentParser.cpp Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
DocumentParser.h LibPDF: Try to repair XRef tables with broken indices 2022-11-25 22:44:47 +01:00
Encoding.cpp LibPDF: Add missing character quirk for WinAnsiEncoding fonts 2022-12-08 09:54:20 +01:00
Encoding.h LibPDF: Add missing character quirk for WinAnsiEncoding fonts 2022-12-08 09:54:20 +01:00
Encryption.cpp LibPDF: Reset encryption key on failed user password attempt 2022-12-20 10:28:58 +01:00
Encryption.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
Error.h LibPDF: Add Errors class that accumulate multiple errors 2022-12-16 10:04:23 +01:00
Filter.cpp LibPDF: Implement Run Length Decoding 2022-11-30 14:51:14 +01:00
Filter.h LibPDF: Implement png predictor decoding for flate filter 2022-11-19 15:42:08 +01:00
Forward.h LibPDF: Get rid of PlainText/Encoded StreamObject 2022-03-29 02:52:57 +02:00
Interpolation.cpp LibPDF: Add first interpolation methods 2022-12-10 10:49:03 +01:00
Interpolation.h LibPDF: Add first interpolation methods 2022-12-10 10:49:03 +01:00
Object.h Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
ObjectDerivatives.cpp LibPDF: Add facility to obtain Vector<float> from ArrayObject 2022-12-10 10:49:03 +01:00
ObjectDerivatives.h LibPDF: Add facility to obtain Vector<float> from ArrayObject 2022-12-10 10:49:03 +01:00
Operator.h Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
Parser.cpp LibPDF: Add support for multi-line comments 2022-12-16 10:04:23 +01:00
Parser.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
Reader.cpp LibPDF: Parse floating point numbers that omit a leading zero correctly 2022-10-16 17:44:54 +02:00
Reader.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
Reference.h LibPDF: Extract reference bitpacking into dedicated class 2021-09-20 17:39:36 +04:30
Renderer.cpp LibPDF: Don't abort on unsupported drawing operations 2022-12-16 10:04:23 +01:00
Renderer.h LibPDF: Switch to best-effort PDF rendering 2022-12-16 10:04:23 +01:00
Value.cpp Everywhere: Stop shoving things into ::std and mentioning them as such 2022-12-14 11:44:32 +01:00
Value.h Everywhere: Stop shoving things into ::std and mentioning them as such 2022-12-14 11:44:32 +01:00
XRefTable.h Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00