Commit Graph

101 Commits

Author SHA1 Message Date
Marius Kittler 3afa954ebd Fix old namespaces being mentioned in the documentation 2019-09-04 18:47:45 +02:00
Martchus a3d104cf8b Reduce code for flag enum classes 2019-08-14 01:22:33 +02:00
Martchus d89c7b7bf1 Set project() on top-level
See https://github.com/Martchus/cpp-utilities/pull/15
2019-07-20 18:10:36 +02:00
Martchus a1b694a50b Allow creating a new file in PasswordFile::save()
to ease saving a file under a different location
2019-07-03 23:59:07 +02:00
Marius Kittler b6ad06faa2 Do not close file if not opened in PasswordFile::save() 2019-06-25 11:36:47 +02:00
Martchus a2772506a3 Adapt to changes in c++utilities 2019-06-12 21:02:09 +02:00
Martchus b323460dbb Adapt to changes in c++utilities 2019-06-10 22:44:29 +02:00
Marius Kittler 0754760b19 Adapt to c++utilities v5 2019-05-04 22:25:14 +02:00
Martchus 986ceaf567 Bump version 2019-02-17 17:07:11 +01:00
Marius Kittler 4642f56d0d Apply cmake-format 2019-02-06 18:02:40 +01:00
Marius Kittler 1d06d52f18 Add override to ~ParsingException() 2019-02-06 18:02:14 +01:00
Martchus 2828061193 Let CMake generate code for test application 2019-01-13 22:30:54 +01:00
Martchus e29457dfd0 Improve const correctness 2018-12-23 18:57:03 +01:00
Martchus a25282b3d1 Make exception c'tors/d'tors non-inline again
Otherwise it is not possible to throw/catch it accross
library boundaries under Android.
2018-12-22 02:47:33 +01:00
Martchus 42f37a1852 Fix warning about implicit conversion 2018-12-22 02:46:55 +01:00
Martchus 4412c62433 Add remark regarding PasswordFile::isEncryptionUsed() 2018-12-22 02:46:24 +01:00
Marius Kittler 292a8668bf Extend tests 2018-12-21 17:52:15 +01:00
Marius Kittler 35b09d73b2 Allow inlining simple PasswordFile methods 2018-12-21 17:33:05 +01:00
Marius Kittler 70f62bf94a Set open options
Not used yet but maybe useful later
2018-12-21 17:32:31 +01:00
Marius Kittler c04fdd6cc2 Use override 2018-12-21 17:31:50 +01:00
Marius Kittler af5d9147b4 Improve exception constructors 2018-12-21 17:31:24 +01:00
Martchus 2c856e3976 Add statistics 2018-12-21 01:12:53 +01:00
Martchus b9af93adbd Fix |= operator for flags 2018-12-19 00:14:59 +01:00
Martchus d4e24046d0 Fix includes in utils/openssl.h 2018-12-18 23:59:24 +01:00
Martchus 448c5b1a37 Improve reading/writing overall file
* Allow to hash password N times using SHA-256
* Use flags instead of bool parameter
* Expose extended header
* Fix bugs when reading/writing extended headers
* Store password as std::string

Reading files written with previous versions is still
possible. If new features are not used it is also possible
to read new files with previous versions.
2018-12-18 23:17:19 +01:00
Martchus d9edcc4083 Apply clang-format 2018-12-08 19:09:17 +01:00
Martchus ff76846e8b Don't use pubsetbuf() when using libc++
Otherwise the eof bit is set on attempt to read
2018-12-03 00:28:24 +01:00
Martchus 60d8972dcb Improve error handling when loading file
* Handle IO errors when reading internal buffer
* Throw an error when the decompressed or decrypted buffer
  is empty
2018-12-03 00:26:11 +01:00
Martchus 7fd253f895 Read directly from the vector's buffer 2018-09-08 19:50:28 +02:00
Martchus 51442d0b68 Improve coding style in PasswordFile 2018-09-08 19:50:28 +02:00
Martchus e6f66ce932 Fix warnings, improve coding style 2018-09-07 01:14:21 +02:00
Martchus 30a95e2ffc Add a separate write() method to handle file opening manually
Opening the file manually can be useful, eg. when dealing with
Androids storage access framework.
2018-09-07 00:58:40 +02:00
Martchus e265bbe733 Allow to access underlying file stream directly 2018-09-05 00:33:01 +02:00
Martchus 4c6a271eb8 Improve c'tors and d'tors
* Provide move c'tor
* Actually copy the entries and header info
* Remove useless close() in d'tor (should be called anyways)
2018-09-05 00:32:32 +02:00
Martchus f448e34cd8 Use IoUtilities::NativeFileStream in PasswordFile
* Allows to support UTF-8 characters in the path under Windows
* Allows to open a file from existing file descriptor
* Requires c++utilities to be compiled with USE_NATIVE_FILE_BUFFER
  to take effect.
2018-09-05 00:29:36 +02:00
Martchus ed872b0486 Fix typo 2018-09-04 20:24:43 +02:00
Martchus 405afe4e31 Make Field default-constructable 2018-06-13 00:40:16 +02:00
Martchus 69161989ae Fix missing std prefix 2018-06-12 21:49:16 +02:00
Martchus 968e597c24 Support "file://" protocol 2018-06-12 21:47:38 +02:00
Martchus ca9ac4f747 Make include guards more unique and consistent 2018-06-09 22:30:07 +02:00
Martchus 537c326510 Test Field 2018-06-09 22:24:03 +02:00
Martchus 132be3fd8b Fix making labels unique 2018-06-09 22:09:33 +02:00
Martchus 76e5eec85b Add tests for entry classes 2018-06-09 21:44:43 +02:00
Martchus c6dd177799 Fix NodeEntry::replaceChild() to update indices/children correctly 2018-06-09 21:18:13 +02:00
Martchus ba1e58c1e5 Fix NodeEntry::deleteChildren() to update indices correctly 2018-06-09 21:17:50 +02:00
Martchus a7b597759b Improve coding style in Io classes 2018-06-09 21:17:01 +02:00
Martchus 5eec94baac Make OpenSslRandomDevice usable with uniform_int_distribution 2018-06-09 19:47:50 +02:00
Martchus 0e40562866 Improve coding style in PasswordFile tests 2018-06-09 18:35:26 +02:00
Martchus 7c619b6d62 Fix error message for compression 2018-06-09 18:35:05 +02:00
Martchus d80cb7233a Apply clang-format 2018-03-20 20:11:31 +01:00