Commit Graph

981 Commits

Author SHA1 Message Date
thez3ro
a76c92ed9a
change inAutotype logic, preventing multiple autotype call 2018-02-04 23:13:15 +01:00
thez3ro
a9479fd662
refactor autotype sequences and entry-point functions 2018-02-04 23:13:15 +01:00
thez3ro
b5cabbeb43
add support for multiple autotype sequence, fix #559 2018-02-04 23:13:15 +01:00
thez3ro
065a85e05c
fix effective autotype sequence 2018-02-04 23:13:15 +01:00
Janek Bevendorff
a8471f1617 Re-add QStandardPaths include to fix compilation error on macOS,
resolves #1455
2018-02-04 22:56:31 +01:00
frostasm
6007e0de71 Refactor DetailsWidget 2018-02-04 15:51:30 +02:00
Janek Bevendorff
527868a6b3
Guarantee that configuration values are committed to disk on exit 2018-02-04 13:56:46 +01:00
Janek Bevendorff
17e3f1c21f Create history item when setting up a TOTP seed, resolves #1445 2018-02-01 19:16:17 +01:00
Jonathan White
6a4b275d40
Minor changes to address comments 2018-01-28 11:31:56 -05:00
Jonathan White
3db9a86a4c
After 3 failed saves, offer to disable safe saves
* User is prompted to disable safe saves after three failed attempts
* Completely retooled basic settings to group settings logically
* Added setting for "atomic saves"
2018-01-28 11:28:39 -05:00
Jonathan White
d7f408e455
Correct saving files to DropBox/Drive/OneDrive
* Replaces QSaveFile with QTemporaryFile
* Added backup before save config setting
* This method may cause data loss (see comments)
2018-01-28 11:28:33 -05:00
Janek Bevendorff
8dd6cdeb69
Fix history truncation based on max size and extend unit tests 2018-01-23 02:31:29 +01:00
Christian Kieschnick
258438f01f
Fix code-style issues
Fixed issues pointed out during review
2018-01-23 00:57:04 +01:00
Christian Kieschnick
943dc6cdd6
Add tests for modified, fix history for autotype
Added tests to ensure #1387 works
Fixed issue detected during testing - AutoTypeAssociations were not
pushed to history
2018-01-23 00:57:01 +01:00
Christian Kieschnick
045f157a63
Add extend entry-size calculation (resolved #1387)
Extended the calculation for the size of history items to match KeePass2
Small refactoring regarding readability in EntryAttachements
2018-01-23 00:56:58 +01:00
Janek Bevendorff
0f5307437c
Fix multiple TOTP issues, resolves #1360
- Fix crash when deleting TOTP entry
- Fix memory leak when selecting TOTP entries
- Fix TOTP update timeout on DetailsWidget
- Fix TOTP settings attributes not being applied before first call to totpSeed()
2018-01-23 00:22:04 +01:00
Janek Bevendorff
bbc5ff5103 Use actual full en_US translation for English and drop en_plurals file 2018-01-21 15:54:46 +01:00
Janek Bevendorff
8da3efa2c2 Add disambiguation info to source strings 2018-01-21 15:54:46 +01:00
Janek Bevendorff
3605bec8e0 Change 'unget' error message to untranslatable qWarning 2018-01-21 15:54:46 +01:00
Fonic
8c78aca69e Code cleanup
Comprehensive code cleanup:
- formatting
- comments
- obsolete code
2018-01-21 15:17:05 +01:00
Fonic
e3a5a22b84 Update state syncer to account for new features
Update state syncer (class DatabaseWidgetStateSync) to account for new
features:
- properly sync view state when switching tabs
- properly read/write view state from/to config

Update classes EntryModel and EntryView to consistenly name list/search
modes. Before, both classes defined list mode as 'group mode' and search
mode as 'entry list mode', which differed from naming in other classes
such as DatabaseWidget.
2018-01-21 15:17:05 +01:00
Janek Bevendorff
b04c8c2b6e
Explicitly support AES-KDF in KDBX4 and don't convert KDBX4 files with AES-KDF back to KDBX3 when saving 2018-01-13 14:25:00 -05:00
Janek Bevendorff
df728083cc
Add challenge response to key before transformation, resolves #1060
* Re-implement KDBX4 challenge-response key assembly with transform
seed instead of master seed
2018-01-13 14:24:59 -05:00
Jonathan White
bef7ba2cfe
Implements KDBX4 format with Argon2 KDF
* Adds KDBX4 reader/writer interfaces
* Adds KDBX4 XML reader/write interfaces
* Implements test cases for KDBX4
* Fully compatible with KeePass2
* Corrects minor issues with Argon2 KDF
2018-01-13 14:24:55 -05:00
Jonathan White
738f870e70
Correct regression in database modification signal 2018-01-13 14:24:43 -05:00
Jonathan White
542ee42313
Add Argon2Kdf and enable parameters in db settings
Note: This implementation is not yet connected to the
database itself and will corrupt existing kdbx3 db's.

* Implemented memory and parallelism parameters for Argon2Kdf
* Using libargon2; libsodium does not support Argon2d algorithm
* Moved basic rounds parameter into Kdf class
* Reimplemented benchmark algorithm; previous was utterly broken
2018-01-13 14:23:30 -05:00
Jonathan White
2866bc626a
Removed dead code 2018-01-13 14:23:29 -05:00
Janek Bevendorff
15648991fc
Refactor Kdf class, remove fields concept 2018-01-13 14:23:28 -05:00
Janek Bevendorff
d00ccd2eb5
Add AsyncTask helper functions 2018-01-13 14:23:27 -05:00
Janek Bevendorff
0d6ca0945b
Reformat code, fix minor style issues, make kdf() getter const 2018-01-13 14:23:27 -05:00
Janek Bevendorff
d1a19a1009
Refactor Endian namespace 2018-01-13 14:23:27 -05:00
angelsl
23347b392f
Fix typo in Endian and add uint{16,32,64}ToBytes 2018-01-13 14:23:24 -05:00
angelsl
2e19af5032
Pull out KDFs into their own class hierarchy
In preparation for multiple KDFs in KDBX 4
2018-01-13 14:23:20 -05:00
varjolintu
06518c5736 keepassxc-browser 2018-01-04 21:42:20 +01:00
Janek Bevendorff
71f38f17cd Restrict Q_OS_UNIX ifdefs to non-Mac platforms 2017-12-27 20:35:05 +01:00
Rafael Sadowski
e29d3497eb s/Q_OS_LINUX/Q_OS_UNIX/g
Enable support for UNIX like OS.
2017-12-27 20:35:05 +01:00
Janek Bevendorff
23f8d58859 Add default value for DarkTrayIcon option and fix style issues 2017-12-27 16:46:56 +01:00
Vlad N
4fa00b74ad Moved dark icon logic into FilePath. 2017-12-27 16:44:26 +01:00
Vlad N
55271311c4 Added dark tray icon parameter to settings. 2017-12-27 16:44:25 +01:00
frostasm
0c200d360b Add attachments tab to details view 2017-12-24 20:10:12 +02:00
Janek Bevendorff
5b525eb9ca Refactor Translator class to load qtbase translations from local directory if available 2017-12-23 17:47:46 +01:00
Aleksa Sarai
9f8943c89b keepassxc-cli show: resolve references in output (#1280)
* core: database: make UUID searching case-insensitive

4c4d8a5e84 ("Implement search for reference placeholder based on
fields other than ID") changed the semantics of searching-by-reference
in KeePassXC. Unforuntately it contained a bug where it implicitly
became case-sensitive to UUIDs, which broke existing databases that used
references (especially since the default reference format uses a
different case to the UUID used while searching).

The tests didn't catch this because ->toHex() preserves the case that it
was provided, they have been updated to check that UUIDs are case
insensitive.

* cli: show: resolve references in output

Previously, `keepassxc-cli show` would not resolve references. This
would make it quite hard to script around its output (since there's not
interface to resolve references manually either). Fix this by using
resolveMultiplePlaceholders as with all other users of ->password() and
related entry fields.

Fixes: keepassxreboot/keepassxc#1260

* tests: entry: add tests for ref-cloned entries

This ensures that the most "intuitive" current usage of references
(through the clone feature of the GUI) remains self-consistent and
always produces the correct results. In addition, explicitly test that
case insensitivity works as expected. These should avoid similar
regressions in reference handling in the future.

* http: resolve references in AccessControlDialog

The access control dialog previously would not show the "real" username
or "real" title when asking for permission to give access to entries.
Fix this by resolving it, as we do in many other places.

Fixes: keepassxreboot/keepassxc#1269


Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2017-12-17 10:44:12 -05:00
Mike Woudenberg
938cf8fce2 Adds listener for Gnome specific screensaver activation 2017-12-03 13:17:43 +01:00
frostasm
c4bbb76da4 Remove "Can't resolve placeholder" warning (#1137) 2017-11-30 20:07:16 +02:00
frostasm
d99dee9c40 Small refactoring related to references placeholders 2017-11-30 20:07:16 +02:00
Martin Unzner
b44092ac43 Add capability to resolve UUID 2017-11-30 20:07:16 +02:00
frostasm
4c4d8a5e84 Implement search for reference placeholder based on fields other than ID 2017-11-30 20:07:16 +02:00
frostasm
8c7ef64fab Show "Can't resolve placeholder" warning only in debug mode 2017-11-30 20:07:16 +02:00
Weslly
5fa76dfd66
Remove ShowToolbar from config 2017-11-26 22:59:48 -02:00
Louis-Bertrand Varin
2cd5006260 Formatting 2017-11-21 14:06:40 -05:00
Louis-Bertrand Varin
94ea323836 Extracting default clone flags. 2017-11-21 14:06:40 -05:00
Louis-Bertrand Varin
2ff56fe86c Only updating custom group icon if set. 2017-11-21 14:06:40 -05:00
Louis-Bertrand Varin
9603c91877 Merge : Synchronising groups. 2017-11-21 14:06:40 -05:00
Weslly
19ac36b965
Change QTotp class name to Totp 2017-11-20 22:25:09 -02:00
Joel Smith
8ca52ba8f9 Add initial Steam TOTP support
* Add the concept of custom TOTP encoders, each with potential for custom
  code alphabet, length, step interval and code direction (i.e. reversed)
* Select custom encoder via overload of the digits field of a loaded entry
* Allow selection of custom encoders via the "TOTP Settings" field's
  size, as currently done by KeeTrayTOTP for Steam. Use "S" for the
  short name of the Steam custom encoder
* Allow selection of custom encoders via the "otp" field by appending
  a "&encoder=<name>" field to the URL query. For example,
  "&encoder=steam"
* Update TOTP set-up dialog to permit selection between (default,
  steam, custom) settings.
2017-11-20 17:08:01 -07:00
Weslly
806248ebd4
Review fixes 2017-11-20 16:50:56 -02:00
Weslly
dc7322cc4a
Improve macOS pasteboard handling 2017-11-20 16:09:42 -02:00
Adolfo E. García
cc6be754f7 Remove deprecated Optional.h 2017-11-12 12:09:35 -06:00
Adolfo E. García
c9895dd5c7 Improve Base32.cpp 2017-11-12 12:09:35 -06:00
frostasm
f34b090b42 Add support for working with multiple entry attachments at once 2017-11-12 17:41:53 +02:00
Jonathan White
f3d85ae219
Cleaned up url display code 2017-10-26 12:19:23 +02:00
Jonathan White
b9fd609bb2
Resolve placeholders in entry details url 2017-10-26 12:19:23 +02:00
thez3ro
71ae2a3458
remember last selected tab, hide passwords by default 2017-10-26 12:19:23 +02:00
thez3ro
eb65822665
layout update 2017-10-26 12:19:23 +02:00
thez3ro
0e6fedc056
fix group parent, add details update by keyboard 2017-10-26 12:19:23 +02:00
thez3ro
1a87e30b95
add preview panel for entries and groups 2017-10-26 12:19:23 +02:00
Francois Ferrand
263bee3c09 Detect session lock on Xfce/XUbuntu 16.04
The current code does not work with XUbuntu 16.04, which uses
light-locker to lock the screen.

I am not using a screensaver, but I suspect the screensaver activation
may have been detected by the existing events, and using it could thus
mask the issue.
2017-10-25 17:09:00 +02:00
Janek Bevendorff
b510243dd8
Merge branch 'release/2.2.2' into develop 2017-10-21 22:23:27 +02:00
Adolfo E. García
86cd2c09a4 Improve readability of code 2017-10-21 13:15:02 +02:00
Adolfo E. García
f1d99dd0ed Improve testing of Base32 2017-10-21 13:15:02 +02:00
Adolfo E. García
c731f8e5c0 Fix bug in Base32::decode and add bounds check
The bug that was fixed, was affecting how the number of bytes of decoded data was  calculated and thus, even though it didn't truncate the result, it was causing the array to be resized unnecessarily.
2017-10-21 13:15:02 +02:00
Adolfo E. García
24f560aaa2 Replace Optional with QVariant 2017-10-21 13:15:02 +02:00
Adolfo E. García
d21ae0f94a Fix for loop's variable increment style 2017-10-21 13:15:02 +02:00
Adolfo E. García
95b0ad15ef Fix code style 2017-10-21 13:15:02 +02:00
Adolfo E. García
19eb6a8a60 Add new Base32 implementation 2017-10-21 13:15:02 +02:00
Janek Bevendorff
190d3a1da9 Merge pull request #1078 from frostasm/implement-recursive-resolving-for-placeholders
Implement recursive resolving for placeholders
2017-10-19 21:50:57 +02:00
Janek Bevendorff
8592f7e672 Merge branch 'release/2.2.2' into develop 2017-10-19 21:45:49 +02:00
frostasm
f0fcc19915 Implement recursive resolving for placeholders 2017-10-19 22:40:26 +03:00
frostasm
e81d8beb19 Refactor Entry::resolvePlaceholder function 2017-10-19 22:40:26 +03:00
frostasm
5e0df62d7a Add processing of the url placeholders 2017-10-19 22:40:26 +03:00
Janek Bevendorff
ec8c99c3b2 Fix remaining uses of KEEPASSXC_SNAP_BUILD 2017-10-19 15:52:46 +02:00
rockihack
c6f83b9ca6 Fix: Regenerate transform seed and transform master key on save. 2017-10-18 23:04:37 -04:00
Janek Bevendorff
ab21f718ba Merge branch 'release/2.2.2' into develop 2017-10-12 14:10:20 +02:00
Louis-Bertrand Varin
2e81751131 Backporting #1008 2017-10-07 11:03:24 -04:00
louib
242faa138b Add custom icons when merging. (#1008)
* Adding missing custom icons on merge.
* qDebug when adding icon
* Adding test for merge custom icons.
2017-10-07 10:40:29 -04:00
Jonathan White
4277364e91 Fixed cast warning 2017-10-07 07:36:25 -04:00
Jonathan White
5098866413 Rewrote resolveUrl function to conform to various test cases 2017-10-03 18:40:32 -04:00
Jonathan White
91d746c5c0 Corrected issues with desktop and tray icons in snap build 2017-10-03 15:43:52 -04:00
Jonathan White
14e3d9d576
Merge remote-tracking branch 'origin/master' into develop
# Conflicts:
#	src/core/Group.cpp
2017-10-01 11:10:10 -04:00
Jonathan White
59786d7bd7 Mask passwords in URL column in Entry View 2017-09-29 16:14:41 -04:00
Jonathan White
cb0b948603 Multiple fixes to custom icon downloading
* Fixes #904, icons are saved at or below 128x128
* Fixes #403, crash occurs due to dialog on non-gui thread
* Fixes #232, icon hashes calculated and compared against
2017-09-29 09:01:55 -04:00
Jonathan White
649a14db84 Set "Don't Modify for Non-Data Changes" to true by default 2017-09-28 12:07:21 -04:00
Josef Vitu
be312bbe4f Prevent unnecessary memory allocations 2017-09-24 18:01:01 -04:00
Adolfo E. García
522e132200 New base32 implementation (#984)
* Add new base32 encode/decode implementation
* Remove old base32 implementation
* Updates licensing info
2017-09-24 18:00:12 -04:00
Jonathan White
4b6dbcaec4 Maintain entry history when merging databases (#970) 2017-09-23 12:27:05 -04:00
Louis-Bertrand Varin
faf36190bd Fixes #940 : segfault when searching after merging 2017-09-15 22:34:22 +02:00
louib
6e1fd0694f CLI : basic entry manipulation commands. (#919)
* CLI : basic entry manipulation commands.

* Code review.
2017-09-06 09:14:41 -04:00
louib
1220b7d501 Feature : Update entries across groups when merging (#807)
* Feature : Update entries across groups when merging

* Styling
2017-09-05 10:28:47 -04:00
luzpaz
09d6d3c545 misc. typo fixes
non-user-facing trivial source comment fixes
2017-08-18 16:18:55 -04:00
louib
b2107b5e27 Adding Locate command. (#829)
* Adding Locate command.

* Adding group searching in locate
2017-08-05 12:20:26 -04:00
louib
839a61ef59 Moving keyFile after password. (#830)
* Moving keyFile after password.

* Using tr() in unlockFromStdin.
2017-07-31 10:17:08 -04:00
louib
fe877486ff Handle FileKey::load errors (--key-file) (#825) 2017-07-29 17:24:24 -04:00
louib
1d30283514 Feature : --key-file option for CLI (#816)
* removing readFromLine

* Removing gui-prompt

* execute uses an arg list.

* Testing with key-file

* Fixing the -a option in EntropyMeter.
2017-07-25 13:41:52 -04:00
louib
1edabc4b3c Feature : Clip command using native programs. (#792)
* Adding a timeout option
* Using native apps.
* Renaming PasswordInput -> Utils
2017-07-22 19:40:30 -04:00
Janek Bevendorff
90468e8095
Merge branch 'release/2.2.1' into develop 2017-07-20 14:15:14 +02:00
thez3ro
cdad46377b Fix Single Istance behavior 2017-07-19 00:23:58 +02:00
thez3ro
691e60d72b check if url is valid 2017-07-18 18:40:18 +02:00
thez3ro
9ceadac299 fix google favicon download over https 2017-07-18 18:40:18 +02:00
thez3ro
bb50db40d2 resolve URL only with HTTP enabled 2017-07-18 18:40:18 +02:00
thez3ro
35c6df2535 resolve URL for correct favicon downloading, fixes #240 #238 2017-07-18 18:40:18 +02:00
louib
3b23e68540 Refactoring : Introducing Command class for CLI commands (#778) 2017-07-17 15:16:53 -04:00
Janek Bevendorff
6e44eed9fe
Merge branch 'release/2.2.1' into develop 2017-07-01 10:09:06 +02:00
Toni Spets
1158294323 Add UI to configure default auto-type delay 2017-06-29 21:00:54 +02:00
Toni Spets
ceeeee3d76 Split auto-type title and URL matching into separate options 2017-06-29 06:03:57 +03:00
Janek Bevendorff
8a36322e28
Merge branch 'release/2.2.1' into develop 2017-06-29 03:23:14 +02:00
Janek Bevendorff
e555937214
Make favicon Google fallback optional and off by default 2017-06-29 00:32:47 +02:00
Gianfranco Costamagna
640b09c6b2 Add code to detect a system library for zxcvbn, with fallback to the embedded one in case it is not found 2017-06-28 15:13:57 +02:00
Jonathan White
9a7e6850d6
Merge remote-tracking branch 'origin/develop' into release/2.2.0 2017-06-23 14:21:30 -04:00
louib
48ea024d7e Adding support for listing a group. (#652)
* Adding support for listing a group.

* added findGroupByPath

* Removing useless asserts.

* Code review.
2017-06-21 17:34:49 -04:00
Jonathan White
6dfeea1980
Merge remote-tracking branch 'origin/develop' into release/2.2.0 2017-06-21 17:20:57 -04:00
Weslly
400073c7cc Disable stdin echo when entering passwords on cli 2017-06-21 11:15:59 -03:00
Weslly
719323e9c3 Add option to limit search to current group 2017-06-21 01:01:50 -03:00
Jonathan White
8d70167acf Add support for portable config settings (#645)
* Add support for portable config settings

* Use applicationDirPath instead of currentPath
2017-06-19 10:49:02 -04:00
Louis-Bertrand Varin
574c5cf1b2 clang-format Database.cpp 2017-06-15 10:31:14 -04:00
Louis-Bertrand Varin
f3f6f6a493 Adding saveToFile function. 2017-06-14 19:50:19 -04:00
thez3ro
a53b111182
Update and fix copyright headers 2017-06-14 15:54:43 +02:00
Jonathan White
bfee734669
Fixed variable naming error that prevented compiling on Windows 2017-05-27 21:33:30 -04:00
louib
dcc8094ce4 Add the GUI prompt option to the merge command. (#589) 2017-05-25 13:07:24 -04:00
louib
c3bd5d21aa Adding a GUI prompt for password. (#587) 2017-05-22 17:53:41 -04:00
Louis-Bertrand Varin
eeafe77614 Find entry by title. 2017-05-21 13:51:16 -04:00
louib
54ad927044 Moving print group in Group class. (#586) 2017-05-21 13:05:44 -04:00
louib
a2e82dc883 Feature : clip command (#578) 2017-05-19 14:04:11 -04:00
thez3ro
b69b50c6c6
fix codestyle and use C++11 keywords 2017-05-17 13:04:02 +02:00
Louis-Bertrand Varin
970525cfd4
Styling + CFNotificationName -> CFStringRef 2017-05-17 13:04:02 +02:00
thez3ro
533136fb0e
Add file header, use nullptr instead of NULL, fix code style 2017-05-17 13:04:02 +02:00
Jonathan White
147c000ef1
Corrected nullptr crash on Windows when going to sleep 2017-05-17 13:04:02 +02:00
thez3ro
1b7b2ff456
Added freedesktop DBus, fixed codestyle 2017-05-17 13:04:02 +02:00
Claudio Bantaloukas
289e98ed5b
remove commented code 2017-05-17 13:04:02 +02:00
Claudio Bantaloukas
44085df592
Avoid warning in MacOS implementation 2017-05-17 13:04:02 +02:00
Claudio Bantaloukas
a3af8fc0ea
Fix Linux ScreenLockListener implementation 2017-05-17 13:04:02 +02:00
Claudio Bantaloukas
2de5a9d281
Lock database when OS is locked (Windows, DBus, macOS implementations) #134 2017-05-17 13:04:02 +02:00
Yen Chi Hsuan
c53f5baceb Merge branch 'develop' into feature/allow-disable-app-bundle 2017-05-14 22:58:17 +08:00
Yen Chi Hsuan
3822625e77 Allow disabling .app bundles on Mac 2017-05-14 22:51:12 +08:00
Jan Hellwig
c06e55df81
Use a dedicated tray icon when the database is unlocked. 2017-05-11 12:27:40 +02:00
Weslly
4c9b8c7794 Review fixes 2017-05-03 21:04:12 -03:00
Weslly
bf57a28654 Add TOTP support 2017-05-03 20:55:14 -03:00
thez3ro
40b4dc3b61
Only printable extended ASCII 2017-05-01 01:18:42 +02:00
thez3ro
b474d34cf0
Add Extended ASCII to password generator 2017-04-28 21:36:43 +02:00
Louis-Bertrand Varin
fa7c945363
Adding EASCII character class. 2017-04-28 19:01:02 +02:00
Vladimir Svyatski
75c16d1cbb Add requested source code changes 2017-04-21 18:07:57 +03:00
Jonathan White
1f469a7acc Merge pull request #464 from louib/feature/ignoreGroupExpansion
Ignore group expansion and other minor changes when marking database as dirty
2017-04-20 21:09:56 -04:00
Louis-Bertrand Varin
bce747e7f9 Ignore group expansion. 2017-04-04 10:21:45 -04:00
thez3ro
0c755846fe
fix camel case 2017-03-22 00:04:36 +01:00
thez3ro
8937647d5f
let every string as separator 2017-03-22 00:00:23 +01:00
thez3ro
1d32695f10
permit only wordcount > 0 2017-03-22 00:00:23 +01:00
thez3ro
044feea23a
remove short wordlists 2017-03-22 00:00:23 +01:00
thez3ro
98e2c311c3
fix wordCount instead of length 2017-03-22 00:00:23 +01:00
thez3ro
d9ccde94c9
New Diceware passphrase generator, close #21 2017-03-22 00:00:23 +01:00
Louis-Bertrand Varin
55a32c58a9 Moving access error to MainWindow. 2017-03-18 13:19:57 -04:00
Louis-Bertrand Varin
15a288aa5b Adding warning messages when config access error. 2017-03-18 13:19:57 -04:00
seatedscribe
3fcf342fbc Merge remote-tracking branch 'upstream/develop' into feature/import-csv-format 2017-03-16 21:25:38 +01:00
thez3ro
e3602e3c75
fix regex for placeholders, fix #402, add regression test 2017-03-16 20:32:29 +01:00
Louis-Bertrand Varin
993f90cb2c Extracting openDatabaseFile. 2017-03-16 10:09:50 -04:00
Janek Bevendorff
15dd783d2c
Merge branch 'develop' into feature/yubikey 2017-03-10 18:01:14 +01:00
Janek Bevendorff
8d487d31a4
Replace Q_EMIT, Q_SIGNALS and Q_SLOTS macros with MOC keywords 2017-03-10 16:12:02 +01:00
Janek Bevendorff
cb51ec61f7
Replace remaining instances of Q_FOREACH with C++11 range-based for loops 2017-03-10 16:11:57 +01:00
seatedscribe
705b74b3ba Merge remote-tracking branch 'upstream/develop' into feature/import-csv-format 2017-03-08 22:52:39 +01:00
thez3ro
78acdf9095
pointer to referenceRegExp 2017-03-07 20:16:51 +01:00
thez3ro
40851409fb
reuse referenceRegExp 2017-03-07 17:20:57 +01:00
thez3ro
a03e354504
highlight reference field in Database view 2017-03-07 17:20:57 +01:00
Janek Bevendorff
3c1271b1c4
Merge branch 'develop' into feature/yubikey 2017-03-06 13:49:48 +01:00
seatedscribe
39057a6aa0
Better widget positions, removed futile message when no errors shows up 2017-03-06 00:59:40 +01:00
seatedscribe
41f9c3d2a1 Better handle of parser status messages (critical/not critical)
Use of messageWidget for displaying parser status messages
setRootGroup assigns the right label to the root db folder
test uses portable QTemporaryFile instead of hardcoded file
2017-03-05 21:27:29 +01:00
seatedscribe
a7e358c27d Syntax style, spaces and pretty indentation 2017-03-05 21:27:29 +01:00
seatedscribe
afdf02b4be Implement import of databases in CSV (Comma Separated Values) format (i.e. from other password managers) 2017-03-05 21:27:29 +01:00
Ryan Matthews
1fe75f9420 Add feature to handle references, resolves #75
- Create popup for clone options
  - Add ability to resolve references for autotype/http/copying
2017-03-04 19:49:33 -05:00
Janek Bevendorff
5df7b9aa85
Merge branch 'develop' into feature/yubikey 2017-03-03 22:04:55 +01:00
Jonathan White
cdce9e27fb Merge pull request #344 from rockihack/windows-dacl
Prevent memory dumps on windows.
2017-03-02 17:34:53 -05:00
rockihack
cdf54b07c5 Add more detailed comment. 2017-03-02 19:24:31 +01:00
rockihack
6d69f0b547 Grant minimal access rights to the user associated with the process token. 2017-02-26 22:59:21 +01:00
rockihack
153dc620c8 Add #ifdef Q_OS_WIN guard. 2017-02-25 01:35:47 +01:00
rockihack
d0ebaff7b4 Prevent memory dumps on windows. 2017-02-25 01:12:01 +01:00
Janek Bevendorff
e25e7ff4a2
Merge branch 'develop' into feature/yubikey 2017-02-25 01:09:59 +01:00
Janek Bevendorff
093fe5c7ef
Use QSharedPointer instead of cloning YkChallengeResponseKey and make it a QObject to allow emitting signals 2017-02-23 23:52:36 +01:00
Janek Bevendorff
9715ba0c8a
Rework security settings, set sane default timeout value 2017-02-22 16:08:06 +01:00
Janek Bevendorff
a27147a75e
Merge branch 'develop' into feature/yubikey 2017-02-20 20:24:38 +01:00
thez3ro
2ad5e6f06a
load a different config with debug option, close #290 2017-02-18 13:52:52 +01:00
Janek Bevendorff
37c7318097
Merge branch 'develop' into feature/yubikey 2017-02-15 00:24:28 +01:00
thez3ro
8408e7fdb4
fix #218 custom attribute like KeePass interface 2017-02-08 01:04:05 +01:00
Janek Bevendorff
a3fd3205a9 KeePassX PR Migration: #190 Search for Group Names (#168)
* Search Group details in addition to entry details; feature parity with KeePass
* Remove assertions to prevent crashes in Debug mode when search result is empty
2017-01-28 11:27:20 -05:00
Janek Bevendorff
01e9d39b63
Add 'Remember my choice' checkbox
Allow user to store preference when asked whether to execute command, resolves #51
2017-01-28 14:18:43 +01:00
Jonathan White
16ed89c471
Implement ability to clone an entry when in search mode.
* Cloned entries have "- Clone" appended to their name
2017-01-25 20:02:32 -05:00
Jonathan White
39e0708b3b
Correcting missing icons when running release from build directory 2017-01-14 21:41:18 -05:00
Janek Bevendorff
e17576a6f7 Merge branch 'develop' into feature/yubikey 2017-01-15 03:20:21 +02:00
Josh Soref
084a1dd7d2 spelling: whose 2017-01-14 20:12:32 +01:00
Josh Soref
569ea3ebdd spelling: attachments 2017-01-14 17:31:38 +01:00
Kyle Manna
951fa96848 YubiKey: Fix database locking
* Save the master seed upon first challenge so it can be used as a
  challenge at a later point.
* When verifyKey() is called, verify that the challenge is successful.
* Uncheck YubiKey box to not leak information about how the database is
  protected.

Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-08 16:48:06 -08:00
Kyle Manna
77cc99acd3 YubiKey: Clean-up master seed challenge
* Tweak the logic so it more closely resembles other code (i.e.
  trasnformKey()). Matches existing style better.
* Save the challengeResponseKey in the database structure so that
  it can be referred to later (i.e. database unlocking).

Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-08 16:47:39 -08:00
Kyle Manna
faa055010f challenge: Propagate failed challenge to caller
* If a removed Yubikey is to blame, re-inserting the Yubikey won't
  resolve the issue.  Hot plug isn't supported at this point.
* The caller should detect the error and cancel the database write.

Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-08 16:40:25 -08:00
Kyle Manna
e354a0ee0e database: Pass master seed to challenge response keys
* Pass the master seed from the database to CompositeKey::challenge()
  function which will in turn issue challenges to all selected
  drivers.

Signed-off-by: Kyle Manna <kyle@kylemanna.com>
2017-01-07 23:16:39 -08:00
Jonathan White
0e65b9b9f8
Corrected autotype lib building for Windows 2017-01-02 22:25:37 -05:00
TheZ3ro
405b82588b Add Autotype Entry-Attributes, Fix Group default sequence (#107) 2016-11-25 12:26:59 -05:00
Jonathan White
3d249365c2
Merge remote-tracking branch 'origin/feature/autoreload-db' into develop 2016-11-25 12:04:44 -05:00
Jonathan White
7fb33653ad
Implemented major autoreload functionality
* Ignore autoreload on save / save-as
* Consolidated db save code
* Corrected bug (crash) in merge entry code due to not cloning the entry
* Enhanced known modified status of database
* Implemented test cases for autoreload
2016-11-25 12:03:36 -05:00
TheZ3ro
b2f3cc6903 Add some password-related feature (#92)
* Add Standalone Password Generator. Closes #18 
* Add an entropy meter for passwords. Closes #84
* Don't require password repeat when it is visible. Fixes #27
2016-11-23 21:59:24 -05:00
Jonathan White
20c3ca7d37
Merge remote-tracking branch 'origin/develop' into feature/autoreload-db
# Conflicts:
#	src/gui/DatabaseWidget.cpp
#	src/gui/DatabaseWidget.h
2016-11-11 16:47:01 -05:00
TheZ3ro
6927158daa Add unlock dialog on Autotype and show default Autotype sequence (#89)
* Add unlockdialog on autotype. Fix #10
* Show default autotype sequence for existing entries
* NOTE: New entries/groups do not show the default autotype sequence
2016-11-11 16:26:07 -05:00
Jonathan White
37aedc8b03 Cleaned up code and added spots for todo work. Fully Working! 2016-11-09 07:38:14 -05:00
TheZ3ro
753b9c9e67 Add Autotype on Windows and MacOS (#63)
* Add Autotype on Windows, including Windows 10
* Add MacOS autotype, fix macdeployqt build
* Make QT_BINARY_DIR overwritable at compile time
2016-11-08 16:13:57 -05:00
Jonathan White
06b1baa454 Automatic reload the database when the file is externally modified 2016-11-07 23:03:01 -05:00
Jonathan White
e25cd9ba48 Add Merge database utility function (#47)
Thank you to @TheZ3ro and @monomon for there major contributions to this PR!
2016-11-07 22:37:42 -05:00
Jonathan White
ccec84aef2 Rename application to KeePassXC and change icon (#70) 2016-11-03 00:05:30 -04:00
Josef Vitu
6c3c0087dd
🔒 Implement automatic locking when minimizing 2016-10-28 13:22:17 +02:00
thez3ro
3bbf11e26f Unlocked tray icon #37 2016-10-10 00:02:28 -04:00
Felix Geyer
fff9e7ac46 Convert Q_FOREACH loops to C++11 for loops.
Q_FOREACH will de deprecated soon.
2016-10-02 21:45:55 -04:00
Felix Geyer
ad834f0f58 Merge branch '2.0' 2016-10-02 21:45:55 -04:00
Felix Geyer
61ce733c6f Make Entry::endUpdate() return whether the entry has been modified. 2016-10-02 21:45:54 -04:00
Felix Geyer
c78822f6e6 Merge branch '2.0' 2016-10-02 21:45:54 -04:00
Felix Geyer
a10a30f390 Fix name of Qt translation file.
In Qt5 it's qtbase_<lang> instead of qt_<lang>
2016-10-02 21:44:33 -04:00
Felix Geyer
1635a5211f Pass entryFlags to clone() when recursing into sub-groups.
Based on https://github.com/keepassx/keepassx/pull/178 by Mois Moshev <mois@monomon.me>

Closes #525
2016-09-02 11:47:22 +02:00
Florian Geyer
8d16522d39 Repair UUID of inconsistent history items.
Closes #130
2016-08-03 23:48:40 +02:00
Jonathan White
7f7753a004 Fixed various Qt5 changes in the http code 2016-02-28 10:52:02 -05:00
Jonathan White
aba4fa94be Merge remote-tracking branch 'keepassx/master'
# Conflicts:
#	README.md
#	share/translations/keepassx_de.ts
#	src/CMakeLists.txt
#	src/gui/MainWindow.h
2016-02-27 19:11:09 -05:00
Felix Geyer
4eea7c8297 Remove KEEPASSX_EXPORT attribute from Tools::binaryFind().
It's an inline function. Declaring it as KEEPASSX_EXPORT breaks
building on Windows.

Closes #373
2016-02-13 11:54:54 +01:00
Felix Geyer
71d4cb781d Merge branch '2.0' 2016-01-29 17:22:37 +01:00
Felix Geyer
93585aded7 Always display scaled custom icons.
Closes #322
2016-01-26 22:44:38 +01:00
Felix Geyer
38245aa2a9 Add iconScaledPixmap() convenience functions. 2016-01-24 20:12:33 +01:00
Felix Geyer
1f33e6f044 Add Metadata::customIconScaledPixmap(). 2016-01-24 20:12:33 +01:00
Felix Geyer
4752adf9d3 Move pixmap caching to Metadata. 2016-01-24 20:12:21 +01:00
Felix Geyer
ecfbf72a57 Merge branch '2.0' 2015-12-15 21:05:00 +01:00
Felix Geyer
17ab438c5a Make sure Windows doesn't load DLLs from the current working directory. 2015-12-06 14:32:06 +01:00
Felix Geyer
77b4bfb14e Cleanup string argument numbers. 2015-12-06 14:31:23 +01:00
Felix Geyer
2fa531745f Check XML key file for valid base64 before using it.
QByteArray::fromBase64() doesn't validate the input.

Closes #366
2015-11-01 18:32:15 +01:00
Felix Geyer
dff3fc0572 Coding style fixes. 2015-10-15 18:02:31 +02:00
Felix Geyer
5de0ec94e0 Stop using deprecated methods from QtAlgorithms. 2015-10-13 22:52:07 +02:00
Felix Geyer
3dd98deecc Use QStandardPaths::DataLocation instead of AppDataLocation.
AppDataLocation is only available in Qt >= 5.4.
2015-09-12 18:41:48 +02:00
Paultergeist
abacec5787 Fixed compile error on Mac 2015-09-12 14:00:53 +02:00
Felix Geyer
7fa0eddc5f Make C++11 mandatory. 2015-09-12 13:55:50 +02:00
Felix Geyer
0e85c98d02 Remove backported definitions from Global.h. 2015-09-12 13:51:49 +02:00
Felix Geyer
ba1ca4ec08 Rename x11 auto-type plugin to xcb.
This matches what QGuiApplication::platformName() returns.
2015-09-12 13:51:49 +02:00
Felix Geyer
460b23b1eb Use QElapsedTimer everywhere. 2015-09-12 13:51:49 +02:00
Felix Geyer
9882f16614 Remove Tools::currentDateTimeUtc(). 2015-09-12 13:51:49 +02:00
Felix Geyer
03a330a4dd Port Tools::platform() to Qt 5.
The Q_WS_* definitions are gone.
2015-09-12 13:51:49 +02:00
Felix Geyer
5ad9edc3fd QDesktopServices::storageLocation() calls to QStandardPaths. 2015-09-12 13:51:49 +02:00
Felix Geyer
c714fc89f1 Add missing include statements. 2015-09-12 13:51:49 +02:00
Felix Geyer
5a745da07b Remove QCOmmandLineParser.
It is part of Qt >= 5.2.
2015-09-12 13:51:49 +02:00
Felix Geyer
531018e58d Remove QSaveFile and QLockFile.
They are part of Qt >= 5.1.
2015-09-12 13:51:49 +02:00
Felix Geyer
af3d896bdf Make setNativeLocks() non-fatal on OS X. 2015-07-21 23:12:20 +02:00
Felix Geyer
ceeb72a277 Pull QLockFile updates from the qtbase repository. 2015-07-21 23:11:02 +02:00
Felix Geyer
607007f94f Display country in language list.
But only if the translation specifies one.
2015-07-18 18:38:41 +02:00
Felix Geyer
6889cc2f20 Another Qt 4.6 compatibility fix. 2015-07-16 22:55:50 +02:00
Felix Geyer
8325b20d36 Make QElapsedTimer optional in QLockFile.
This restores compatibility with Qt 4.6.
2015-07-16 21:52:08 +02:00
Felix Geyer
719ac64851 Fix unused variable warning. 2015-07-16 19:49:41 +02:00
Felix Geyer
8ad48d6774 Protect against emitting inactivityDetected() while it'is still processed. 2015-07-13 21:25:48 +02:00
Felix Geyer
154f1673e9 QSaveFile: Flush temporary file and fsync before renaming.
Closes #301
2015-07-13 21:01:53 +02:00
Felix Geyer
577609b3e3 Make calling QSaveFile::commit() non-fatal if it's not open. 2015-07-13 21:00:50 +02:00
denk-mal
5982763bed implement a (nonperfect) hide-to-tray on win close 2015-06-18 15:23:41 +02:00
Ivan
a115bbdc6f Merge branch 'master' of https://github.com/keepassx/keepassx 2015-05-22 21:06:32 -07:00
Felix Geyer
a8bf6a9782 Refactor Tools::disableCoreDumps().
- Use all available methods.
- Don't print a warning when no method is implmeneted on the platform.
2015-05-14 12:58:00 +02:00
Felix Geyer
eeb940c0dc Fix plugin path detection when installed with DESTDIR.
This is in no way perfect but should cover most common cases.

Closes #291
2015-05-12 22:24:59 +02:00
Felix Geyer
05b5446e94 Protect opened databases with a file lock.
Closes #18
2015-05-12 22:24:45 +02:00
Ivan
33ed4fd7cf Merge branch 'master' of https://github.com/keepassx/keepassx 2015-05-12 11:03:48 -07:00
Felix Geyer
a762cef0a9 Catch and handle all errors from libgcrypt. 2015-05-09 23:21:44 +02:00
dartraiden
3fca61dc24 spelling correction, fixed typos 2015-05-06 19:38:43 +03:00
Felix Geyer
6411b9bd66 Merge remote-tracking branch 'github/pr/82'
https://github.com/keepassx/keepassx/pull/82

Closes #145
2015-04-14 23:07:14 +02:00
Ivan
d70ee509b4 Merge branch 'master' of https://github.com/keepassx/keepassx 2015-04-11 15:41:25 -07:00
Felix Geyer
cf0bc32b27 Store icons with a resolution of up to 128x128 px.
Follows what KeePass 2.29 will implement.
2015-04-08 18:22:13 +02:00
Felix Geyer
93ab7eb058 Use CMAKE_INSTALL_DATADIR to look for the data dir. 2015-04-08 18:07:53 +02:00
Felix Geyer
b055d524e8 Merge branch 'lockdb' 2015-04-05 10:38:58 +02:00
Ivan
e20968bdfe Merge branch 'master' of https://github.com/keepassx/keepassx 2015-04-04 23:31:12 -07:00
Felix Geyer
3ab1072e9e Scale new custom icons down to 64x64 if they are larger. 2015-03-31 22:31:04 +02:00
Joe Harvell
00df73ced0 Issue #270 - turning off key location memory
Add general settting for whether or not to remember last key files
2015-03-14 22:06:53 -05:00
IvanF
61c6962bf2 Deleted unused and unrelated files
Merged lots of changes from upstream that were missed or ignored
2015-01-30 00:29:01 -08:00
IvanF
235baa3dcc Merge branch 'master' of https://github.com/keepassx/keepassx
Conflicts:
	README.md
	src/core/Config.cpp
	src/gui/DatabaseTabWidget.cpp
	src/gui/DatabaseTabWidget.h
	src/gui/DatabaseWidget.cpp
	src/gui/DatabaseWidget.h
	src/gui/MainWindow.cpp
	src/gui/MainWindow.h
	src/gui/MainWindow.ui
	src/gui/SearchWidget.ui
	src/gui/SettingsWidget.cpp
	src/gui/SettingsWidgetGeneral.ui
2015-01-29 00:17:39 -08:00
Felix Geyer
33650c4a04 Add non-const version of Group::groupsRecursive(). 2015-01-11 16:20:24 +01:00
Felix Geyer
3ea0592b53 Add hasKey() convenience methods. 2014-12-03 23:36:24 +01:00
Felix Geyer
07e4fbacd4 Remove ModifiedOnExpandedStateChanges config option.
I'm pretty sure noone knew what it actually does.
This is the sort of option users shouldn't be bothered with.
2014-11-30 23:04:17 +01:00
Felix Geyer
4cdb9a645d Add an option to display a tray icon.
Also implement "Minimize to tray" functionality.
2014-11-02 11:44:03 +01:00
Felix Geyer
867d14f7aa Merge branch 'movestill-fixConfigPath'
https://github.com/keepassx/keepassx/pull/49
2014-06-15 13:20:17 +02:00
Sebastien Fricker
06e08557ac New setting: enablin/disabling the automatic reload on changes 2014-06-09 10:51:24 +02:00
Sebastien Fricker
95fdefdcc7 Merge github.com:keepassx/keepassx
Conflicts:
	src/gui/DatabaseWidget.cpp
2014-06-09 09:54:29 +02:00
Felix Geyer
28694ae687 Add initial support for translations. 2014-05-18 01:33:22 +02:00
Florian Geyer
ea3375490c Introduce interface for exporter. 2014-05-16 12:32:06 +02:00
Florian Geyer
204cd8d971 Move exporter to separate class. 2014-05-16 12:07:22 +02:00
Florian Geyer
819cfd459a Move match method out of entry class. 2014-05-16 00:19:58 +02:00
Florian Geyer
8bf4826003 Move search into separate class. 2014-05-15 23:50:40 +02:00
Felix Geyer
bf39d0b1be Enable entry title matching but always ask before performing auto-type. 2014-05-15 18:34:12 +02:00
Felix Geyer
147cd4ed7b Add option to use the entry title for auto-type window matching. 2014-05-15 18:30:57 +02:00
Sebastien Fricker
7a8d4577f1 Automatic reload of a database when it get modified
When the database if modified by an other instance of KeePassX, KeePassX
detect it and reload automatically the database.
2014-05-03 16:59:41 +02:00
Jascha Dachtera
65eb71e645 Merge branch 'master' of https://github.com/keepassx/keepassx 2014-05-02 21:29:12 +02:00
Tim Gion
d6c30b0886 Fixed location of config file on Mac (and probably Windows). 2014-04-30 22:26:39 -04:00
Felix Geyer
e263c475c9 Increase default number of transform rounds to 100000.
Even low-end smartphone should be able to handle that.
2014-04-26 18:34:33 +02:00
Felix Geyer
5de62a5ef4 Add Group::resolveAutoTypeEnabled(). 2014-04-26 18:30:22 +02:00
Felix Geyer
7893a2e84d Rename Group::includeInSearch() to resolveSearchingEnabled().
Make it public and drop the resolveInherit parameter.
2014-04-26 18:27:52 +02:00
Jascha Dachtera
65626f0da2 Merge branch 'master' of https://github.com/keepassx/keepassx
Use SymmetricCipherGcrypt directly in Protocol.cpp to make it work with the latest master
revision.
2014-04-18 13:59:24 +02:00
Florian Geyer
ad26d962dc Add option in settings for using group icons for newly created entries.
Closes #174
2014-04-14 23:38:09 +02:00
Felix Geyer
0b9167c78b Add an option to always ask before performing auto-type.
Closes #120
2014-04-14 22:57:18 +02:00
Keith Bennett
b432103b82 Return password quality to keepasshttp client. 2014-03-23 19:09:45 +00:00
Keith Bennett
73f91db939 Merged keepassx-http. 2014-03-22 14:49:32 +00:00
Felix Geyer
b9370c6e79 More careful null checking and member initalization. 2014-03-22 12:10:49 +01:00
Florian Geyer
4a08101a60 Remove obsolete ArgumentParser files. 2014-03-08 10:45:40 +01:00
Felix Geyer
586de64293 Restore compatibility with old Qt versions. 2014-01-19 10:46:53 +01:00
Felix Geyer
678c4a8ece Set the application name and version in QApplication. 2014-01-18 15:31:24 +01:00
Felix Geyer
bc14898b13 Replace ArgumentParser with a backport of QCommandLineParser from Qt 5.2. 2014-01-18 15:23:55 +01:00
Felix Geyer
b6497d9245 Coding style fixes. 2014-01-14 21:00:27 +01:00
Felix Geyer
3af2307468 Reworked the PasswordGeneratorWidget.
It's loosely based on OS X PasswordAssistant. Generation happens as soon as a
change is made, and on open of the widget. A combobox has been added to allow
one to choose from some randomally-generated alternatives, and the UI is
generally been made a bit more compact.

Written by Michael Curtis <michael@moltenmercury.org> and revised by me.

Closes #119

https://github.com/keepassx/keepassx/pull/38
2014-01-13 00:24:25 +01:00
Felix Geyer
29c997e1bc Add an option to show passwords by default.
Closes #93
2014-01-12 17:23:47 +01:00
Felix Geyer
8b437821a2 Add ability to load icons with on/off state. 2014-01-12 17:13:10 +01:00
Felix Geyer
a8edad1e27 Add option to lock databases after user inactivity.
Closes #62
2014-01-07 21:57:38 +01:00
Felix Geyer
f648172625 Rename EntryAttributes::URLNameKey to URLKey. 2013-12-02 00:10:47 +01:00
Florian Geyer
4a3da3abe7 Hard code copy action for default attributes. 2013-12-01 09:43:41 +01:00
Florian Geyer
34f12ac39c Remove duplicate menu entries to copy username and password. 2013-11-30 16:05:10 +01:00
Ben Boeckel
66b3d22041 Use QString::toLatin1() rather than ::toAscii()
The toAscii (and fromAscii) are removed from Qt5 in favor of Latin1.
2013-11-24 21:19:20 +01:00
Felix Geyer
98c821df05 Add Group::exportToDb(). 2013-11-22 13:36:46 +01:00
Felix Geyer
a992c76d6a Allow passing entry cloning flags to Group::clone(). 2013-11-22 13:34:34 +01:00
Felix Geyer
f2dfef8c41 Add flags to Entry::clone() for customized cloning. 2013-11-22 13:32:13 +01:00
Felix Geyer
cb804eb143 Document clone() methods. 2013-11-22 10:30:50 +01:00
Felix Geyer
1f47033835 Make sure icon() and iconPixmap() never crash. 2013-11-22 10:30:50 +01:00
Charles Brunet
4a870f61f1 Added option to minimize window when copying data to clipboard
https://github.com/keepassx/keepassx/pull/24
2013-10-29 20:54:56 +01:00
Felix Geyer
5daf0853c9 Coding style fixes. 2013-10-13 18:08:50 +02:00
Felix Geyer
7dde8a771f Use QUINT32_MAX in tests instead of hardcoding the number. 2013-10-12 19:11:57 +02:00
Felix Geyer
9c788a6e84 Support custom backends in Random.
Useful for tests.
2013-10-09 22:06:32 +02:00
Felix Geyer
67338aac7b Avoid using QApplication in core. 2013-10-08 17:37:12 +02:00
Felix Geyer
6504b6f2bd Drop Qt module name from include statements.
This is a preparation to be able to build KeePassX against Qt 5.
2013-10-03 15:18:16 +02:00
Francois Ferrand
d2ab008aa0 Auto-reload settings. 2013-04-30 17:31:08 +02:00
Felix Geyer
5588792344 Make KeePass2XmlReader::parseGroup() safe against reordered xml elements. 2013-04-29 22:31:50 +02:00
Felix Geyer
61ee763515 Add Entry::copyDataFrom(). 2013-04-29 22:31:49 +02:00
Felix Geyer
fd18bc0330 Use standard GNU install dirs and make them overridable. 2013-04-29 22:17:31 +02:00
Francois Ferrand
d5c8787451 Detect background changes to database file.
This gives the option to reload the database.

TODO:
 - Settings for reloadBehavior (ask, reloadUnchanged, ignore)
 - Improve notification, by using a header instead of dialog: nicer, less
intrusive, gives more options to user, and works better when multiple databases
are open.
 - Keep tab order on reload.
2013-04-29 09:11:26 +02:00
Florian Geyer
b499a6df77 Fix coding style. 2013-04-27 11:40:10 +02:00
Florian Geyer
cabec57631 Make argument keys immutable. 2013-04-27 11:40:10 +02:00
Florian Geyer
63f7a0685f Small ArgumentParser refactoring. 2013-04-27 11:40:10 +02:00
Francois Ferrand
850c7c7ecf Option to automatically reopen databases which were last opened. 2013-04-24 13:30:30 +02:00
Florian Geyer
f0985ff9d9 Remember opened databases on quit.
Refs #36
2013-04-18 21:52:08 +02:00
Francois Ferrand
75f0d132e5 Add removeSharedEncryptionKeys() and removeStoredPermissions() 2013-04-18 17:57:00 +02:00
Francois Ferrand
ea992bc3e6 Support KeyPassHttp protocol.
Allows using passIfox (firefox) and Chromeipass (chrome).
2013-04-12 15:16:56 +02:00
Felix Geyer
fe42861bed Add safety check so we don't insert empty icons. 2013-04-07 19:37:44 +02:00
Felix Geyer
5a96e19ce9 Copy custom icons when copying/moving entries/groups to another database. 2013-04-07 18:32:43 +02:00
Florian Geyer
2558e6db79 First draft of an argument parser.
Possibility to set custom config path.
2013-04-06 11:00:45 +02:00
Felix Geyer
bee570c3cf Add Group::clone().
Move all the data we want to clone into a GroupData struct.
2013-04-04 21:48:55 +02:00
Felix Geyer
be288d26ca Change Entry::clone() to set a random uuid. 2013-04-04 21:25:11 +02:00
Felix Geyer
60335452a4 Add compiler flags to hide all symbols by default. 2013-03-30 00:14:32 +01:00
Felix Geyer
5550d7af0d Fix autotype test (build) failures on Mac OS and Windows.
We need to tell Windows what symbols the main program exports
and the autotype plugin imports.

On both systems the linker needs the path of the main program that
loads the plugin.
2013-03-29 16:27:02 +01:00
Felix Geyer
1c7e8f6921 Small optimizations. 2013-03-26 23:53:34 +01:00
Florian Geyer
97b488b2ba Ignore an unused variable. 2013-03-24 21:57:34 +01:00
Florian Geyer
13393ed2d3 Fix removal of history entries in release builds.
Closes #56
2013-03-24 21:57:34 +01:00
Felix Geyer
c7593a3047 Stop suppressing signals in Group dtor.
That way we emit entry/group removed signals.

Move cleanupParent() call to the bottom so we
maintain the group tree structure for objects that
connect to those signals.
2013-03-24 14:00:23 +01:00
Felix Geyer
72d17c045f Handle deleting groups more consistently.
Delete the entries and child groups in Group dtor
no what if the group has a database or not.
2013-03-24 14:00:23 +01:00
Felix Geyer
eb6612b787 Fix database icons license issues.
Pull C62_Tux.png, C63_Feather.png, C64_Apple.png, C65_Apple.png
and C65_W.png from the latest KeePass 2 version.

Replace C68_BlackBerry.png with another icon from openclipart.org.
It's unclear where this KeePass 2 icon is from.

Closes #69
2013-03-23 21:50:23 +01:00
Felix Geyer
2ed3201b14 Add PasswordGenerator backend.
Refs #52
2013-03-12 21:55:11 +01:00
Florian Geyer
e85dbda62a Update timeinfo when cloning an entry. 2012-11-06 23:34:16 +01:00
Felix Geyer
41973d0e92 Revert "Handle DeferredDelete events in Tools::wait()."
Caused a crash when performing auto-type from AutoTypeSelectDialog.

This reverts commit 6b3fed1ce5.
2012-11-03 15:12:04 +01:00
Florian Geyer
bd90ba9326 Move initial auto-type timeout to plugins. 2012-11-02 15:49:25 +01:00
Felix Geyer
6b3fed1ce5 Handle DeferredDelete events in Tools::wait(). 2012-11-02 15:43:45 +01:00
Felix Geyer
d7cbec1a02 Make sure that TestGui doesn't leave a temp file behind.
Swap the parent/child relationship between QTemporaryFile and Config
because the QTemporaryFile dtor is called before its chidren are destroyed.
2012-10-28 18:07:23 +01:00
Felix Geyer
606dbc6eb4 Add infrastructure for auto-type tests. 2012-10-28 15:33:44 +01:00
Florian Geyer
ddd5e8a209 Add menu entry to copy an entry attribute to clipboard. 2012-10-24 20:03:33 +02:00
Felix Geyer
18337927f5 Fix includes for ptrace(PT_DENY_ATTACH, ...). 2012-10-23 17:06:50 +02:00
Felix Geyer
59847f4f30 Make QSaveFile work on Windows when the target file already exists. 2012-10-22 17:48:13 +02:00
Florian Geyer
92bf7c94d0 Whitespace separated search terms are AND concatenated. 2012-10-21 21:09:27 +02:00
Felix Geyer
4d263a09db Include config-keepassx.h in Tools.cpp for the HAVE_* defines. 2012-10-21 19:24:17 +02:00
Felix Geyer
169e6327ea Disable core dumps and tracing on *nix.
But only when built in release mode.

Closes #4
2012-10-21 12:33:00 +02:00
Felix Geyer
7286b1847d Add Database::verifyKey().
And make Database::hasKey() const.
2012-10-12 12:10:41 +02:00
Florian Geyer
de1a94ff61 Add presets for expire date.
Closes #44
2012-08-18 17:33:41 +02:00
Florian Geyer
6c695e3fd0 Remember show toolbar option.
Closes #43
2012-08-15 19:50:31 +02:00
Felix Geyer
0bac9752ba Use QTime instead of QElapsedTimer with Qt 4.6.
The latter has been introduced in Qt 4.7.
2012-08-05 19:19:01 +02:00
Felix Geyer
8fb2f9db7c Move inline keyword to function definition. 2012-08-04 22:06:41 +02:00
Felix Geyer
668103a00f Show group and entry view context menus from MainWindow.
This allows us to drop the duplicate actions in DatabaseWidget.
2012-08-04 22:06:41 +02:00
Felix Geyer
e9a96ff80a Mark m_pixmapCacheKey as mutable so we don't have to const_cast. 2012-07-25 12:18:16 +02:00
Felix Geyer
92efb3d20b Move autoTypeSequence() and windowMatches() to the AutoType class. 2012-07-23 18:06:04 +02:00
Felix Geyer
ecea101962 Return Q_NULLPTR instead of 0 when the return type is a pointer. 2012-07-23 14:58:57 +02:00
Felix Geyer
7820bf2510 For global auto-type use the default sequence of the entry before the group. 2012-07-23 12:56:00 +02:00
Felix Geyer
33b4cd8636 Don't add new entries to EntryModel when in search mode.
Only allow moving entries from one group to the other.
2012-07-21 22:21:49 +02:00
Florian Geyer
f6e1af30b3 Move recycle bin creation method to Group class. 2012-07-21 11:58:00 +02:00
Felix Geyer
a50d2709e7 Replace EntryAttachments and EntryAttributes operator=() with copyDataFrom().
QObjects are not supposed to have assignment operators.
2012-07-20 12:15:19 +02:00
Felix Geyer
ef579cbe3c Refactor Entry::truncateHistory().
This allows us to drop Entry::getSize() and EntryAttachments::attachmentsSize()
which have weird semantics.
2012-07-20 00:45:34 +02:00
Felix Geyer
0c1fecfb2b const_cast "this" instead of the member variable. 2012-07-19 23:32:31 +02:00
Felix Geyer
308d3ad84b Use constructor initialization lists where possible. 2012-07-19 19:42:14 +02:00
Felix Geyer
4152e93bb7 Add a cache for FilePath::icon(). 2012-07-18 21:22:36 +02:00
Felix Geyer
f01076856b Don't add double "/" to paths. 2012-07-18 21:22:36 +02:00
Felix Geyer
2a45f57386 Support proper plugin finding.
So we don't have to hardcode the location anymore.
2012-07-18 21:22:36 +02:00
Felix Geyer
7fef3bd701 Rename DataPath to FilePath. 2012-07-18 21:22:26 +02:00
Felix Geyer
490414716d Generate new random transform seed when changing transform rounds. 2012-07-17 10:57:08 +02:00
Felix Geyer
66422437d3 Regenerate key in Database::setTransformRounds().
Merge Database::updateKey() into Database::setTransformRounds() and
regenerate the key if the database already has a key.

Closes #34
2012-07-17 10:33:54 +02:00
Felix Geyer
965dba63d7 Use Q_OS_MAC instead of the nonexistent Q_OS_MACOS.
Thanks to Richard Johnson for spotting this.

Closes #33
2012-07-16 17:49:12 +02:00
Felix Geyer
7db6850528 Add AutoTypeAssociations::removeEmpty(). 2012-07-16 17:37:18 +02:00
Felix Geyer
7abaf0e215 Fix bug in Entry::autoTypeSequence() with default window sequences.
When using the default sequence autoTypeSequence() returned an empty string.
2012-07-16 17:34:19 +02:00
Felix Geyer
f98d834edb Move Auto-Type associations handling from Entry into an own class. 2012-07-16 09:54:04 +02:00
Felix Geyer
f4a4930f42 Entry::autoTypeSequence() returns null string when no window matches.
Return QString() when a windowTitle is passed but doesn't match any
auto-type association.
2012-07-15 11:30:30 +02:00
Felix Geyer
bc207714da Add initial auto-type implementation.
The platform dependent bits are separated in plugins.
A plugin for X11 using Xlib is already done.
2012-07-12 22:33:20 +02:00
Felix Geyer
073f3f9dfc Add ListDeleter class.
A class that deletes all elements of a QList when it goes out of scope.
2012-07-12 22:28:44 +02:00
Felix Geyer
549c3ce598 Fix memory leak in QSaveFile. 2012-07-12 21:30:37 +02:00
Felix Geyer
9de4cbbbd6 Use Q_OS_* defines instead of Q_WS_*. 2012-07-12 13:58:40 +02:00
Felix Geyer
13eb1f6330 Add Tools::sleep() and Tools::wait(). 2012-07-12 13:51:50 +02:00
Felix Geyer
2f98d95b66 Import QSaveFile from libkdeqt5staging.
It's planned to become part of Qt 5.1.
2012-07-06 14:36:04 +02:00
Felix Geyer
d826ae5daf Add assert to make sure the temp file could be opened successfully. 2012-07-03 12:39:03 +02:00
Felix Geyer
6ca3b8aa81 Make google cpplint happy. 2012-07-02 20:00:06 +02:00
Felix Geyer
1b9c2bb16b Improve array size assert. 2012-07-01 22:21:49 +02:00
Felix Geyer
782223a643 Coding style fixes. 2012-07-01 21:58:45 +02:00
Felix Geyer
c844c6b712 Convert icon filename QVector to a plain char* array. 2012-07-01 21:35:07 +02:00
Felix Geyer
85031658d1 Add Q_STATIC_ASSERT macro, backported from Qt 5. 2012-07-01 21:27:11 +02:00
Felix Geyer
6ce53b142d clang: Use __has_feature() to detect C++11 features. 2012-07-01 20:24:43 +02:00
Felix Geyer
ee3bc89a54 Coding style fixes. 2012-06-30 00:22:07 +02:00
Felix Geyer
baa5a74ba0 Convert iconCount() and expiredIconIndex() to constants. 2012-06-29 15:22:43 +02:00
Felix Geyer
4e6cf15a09 Fix compiler warning about __GXX_EXPERIMENTAL_CXX0X__ being undefined. 2012-06-29 14:34:17 +02:00
Felix Geyer
2287250a07 Define COMPILER_EXPLICIT_OVERRIDES when using gcc >= 4.7. 2012-06-29 14:18:12 +02:00
Felix Geyer
68155e8f89 Make use of Q_NULLPTR. 2012-06-29 14:15:16 +02:00
Felix Geyer
af142fc433 Optionally enable C++ 11. 2012-06-29 14:14:58 +02:00
Florian Geyer
204822b66f Improve auto save handling. 2012-06-24 19:30:30 +02:00
Felix Geyer
b0ad864fe0 Always convert explicitly from QByteArray to QString. 2012-06-24 18:23:27 +02:00
Felix Geyer
f690522725 Coding style fixes. 2012-06-24 11:32:54 +02:00
Florian Geyer
a720903083 Use temporary settings file for gui test. 2012-06-14 23:07:49 +02:00
Thom Troy
bd5dd130e5 Add auto save on exit 2012-06-12 10:00:02 +02:00
Thom Troy
17f4e23215 Added automatically saving DB after change 2012-06-12 10:00:01 +02:00
Felix Geyer
d3fcf2e0c4 Move singleton instance code to static member functions. 2012-05-31 14:51:44 +02:00
Florian Geyer
cf5f56af6f Rename setting so it refers only to group expanded state changes. 2012-05-30 11:27:09 +02:00
Florian Geyer
5003499700 Add settings option if visual changes mark databases as modified. 2012-05-29 22:10:03 +02:00
Florian Geyer
6f48983efe Remember last opened files. 2012-05-27 23:41:33 +02:00
Felix Geyer
7194a3d7a8 Store defaults in Config. 2012-05-27 20:05:57 +02:00
Felix Geyer
de95b6c347 Add DataPath::icon() parameter to only use local icons. 2012-05-27 12:43:58 +02:00
Felix Geyer
c6253fc025 Make copy constructor and assignment operator of singleton classes private. 2012-05-26 16:45:59 +02:00
Felix Geyer
e323fd169e Use QDesktopServices::storageLocation() on Mac OS too. 2012-05-25 13:42:59 +02:00
Florian Geyer
b5249d196d Rename KeePassApp to Application and move it to gui directory. 2012-05-21 22:04:40 +02:00
Florian Geyer
d445bf1ecd Use a signal to connect to a slot in main window.
Coding style fixes.

http://gitorious.org/keepassx/keepassx/merge_requests/10
2012-05-21 22:04:40 +02:00
Tobias Tangemann
679398be00 Handle OSX Finder events 2012-05-21 22:04:40 +02:00
Felix Geyer
ca7c59d313 Fix data path on Mac OS. 2012-05-21 17:55:09 +02:00
Felix Geyer
5297722ede Include header cleanup. 2012-05-20 23:08:23 +02:00
Florian Geyer
4797926be6 History items can now be removed.
Refs #23
2012-05-20 13:07:45 +02:00
Florian Geyer
4ec9df76cd Add toHex function to Uuid. 2012-05-18 14:41:34 +02:00
Florian Geyer
d218924b4f Add expiry option to group edit. 2012-05-18 10:52:05 +02:00
Florian Geyer
810a6e4b39 Display history items.
Refs #23
2012-05-17 23:29:37 +02:00
Florian Geyer
eb82df5994 Add entry clone functionality. 2012-05-16 10:30:25 +02:00
Felix Geyer
5ef3cdb428 Add some more asserts to make sure we only store UTC QDateTimes. 2012-05-16 10:05:58 +02:00
Felix Geyer
ce268260b1 Display expired entries and groups struck out. 2012-05-15 20:02:08 +02:00
Florian Geyer
621ec80bbe Use static constants for default icon numbers. 2012-05-15 18:46:59 +02:00
Felix Geyer
b90807c4d3 Coding style fixes. 2012-05-15 17:48:48 +02:00
Felix Geyer
a407e0082b Coding style improvements. 2012-05-14 19:10:42 +02:00
Felix Geyer
cd41727583 Get rid of Database pointer in Metadata. 2012-05-14 17:04:05 +02:00
Felix Geyer
53fb28624e Fix memory leak in Entry::truncateHistory(). 2012-05-14 16:29:22 +02:00
Felix Geyer
b88a0d8de3 Coding style improvements. 2012-05-14 16:27:59 +02:00
Florian Geyer
a57e8f9864 Preserve order of custom icons.
Closes #25
2012-05-13 20:50:41 +02:00
Florian Geyer
6b6c109903 Add search.
Refs #24
2012-05-13 19:21:10 +02:00
Florian Geyer
746a535c7d Create recycle bin with search state and auto type disabled. 2012-05-13 19:03:41 +02:00
Felix Geyer
af726d465d Fix typo. 2012-05-13 13:33:55 +02:00
Florian Geyer
4807ec3368 Include groups in custom icon delete check.
Refs #22
2012-05-12 02:14:06 +02:00
Florian Geyer
e4b6289c0b Prevent deletion of custom icon if it is still used by other entries.
Refs #22
2012-05-12 00:30:29 +02:00
Florian Geyer
1c24b2c5c4 Add gui option for history max items and size to database settings widget. 2012-05-11 20:14:52 +02:00
Florian Geyer
1a74feb253 Improve history limits.
Closes #16
2012-05-11 20:14:43 +02:00
jacek81
8c87a87da6 Added history limits enforcement 2012-05-11 20:04:51 +02:00
Felix Geyer
860a2131b3 Emit dataChanged() when the entry icon has changed. 2012-05-11 14:14:12 +02:00