Commit graph

56 commits

Author SHA1 Message Date
eelke
0cd019db92 Fix for $-quoted strings
Note this does not solve all issues because we are tokenizing contents of strings of which we do not know they contains SQL
when the string is actually not SQL and contains $ the tokenizer gets confused.
2023-01-07 07:41:58 +01:00
eelke
4fa2189b27 Added the capability to reset the password manager
Also some documentation about the password manager.
2022-09-05 07:33:08 +02:00
eelke
b5ca7099c1 Catch botan exception in password manager and throw higher level exception. 2022-07-08 19:54:18 +02:00
eelke
8b671090a0 Big cleanup 2022-05-26 08:25:31 +02:00
eelke
a7d4a5f13d build fixes
# Conflicts:
#	pglablib/sqlast/SelectList.h
2022-05-24 18:56:39 +02:00
eelke
a7f247bdee Cleanup 2022-01-21 18:54:50 +01:00
eelke
50bf4588ce Cleanup remove system for background tasks we were not using anymore. 2022-01-16 18:51:43 +01:00
eelke
423043d431 Qt6 migration 2021-03-06 13:13:31 +01:00
eelke
7734661d26 missing includes
technically it was wrong all the time but it only showed up with newer visual c++ compiler.
2020-10-15 19:12:11 +02:00
eelke
817a371220 Removed rangechecked_cast was not working as I hoped. 2019-11-30 16:11:12 +01:00
eelke
404d4c856a range check not working as expected, temporarily disabled 2019-11-25 20:08:19 +01:00
eelke
f875f0f012 Implementation, tests and first use of rangechecked_cast 2019-11-04 18:02:48 +01:00
eelke
082293e58a Switched ConnectionConfig to QString from std::string to fit better into Qt framework 2019-09-16 19:24:39 +02:00
eelke
d489f11e52 Store encrypted passwords with connections.
Closes #22 as encrypted password is now deleted as part of the connection record.
2019-09-01 14:07:58 +02:00
eelke
48ac8c6bab Improved generation of c/cpp string from query
Extra lines before and after query are removed. Whitespace at end of line
is removed. SQL comments are converted to cpp style comments and are outside
the string literal.

To achieve this the function now uses the SQLLexer to know what is comment.
This also required the additional capability in the lexer to also return whitespace and newline tokens.
Also a few bugs in the lexer were fixed.
2019-08-19 13:52:23 +02:00
eelke
d7763e83bf More projects fixes. 2019-03-27 18:50:58 +01:00
eelke
4694b09ba1 Merge branch 'master' of ssh://gitlab.com:/eelke/pgLab
# Conflicts:
#	common.pri
2019-03-27 18:24:27 +01:00
eelke
089c793df7 MIsc changes 2019-03-27 18:23:00 +01:00
Eelke Klein
e7bfaeff9a project file cleanup
Moving system dependent parts into local.pri which is not tracked and supply local.pri.sample as a template for developers to adjust for their local system.
2019-03-24 08:53:22 +01:00
eelke
3820fb2600 RunControllableTask now also properly catches Exceptions and reports them through the Future. 2019-01-29 19:39:21 +01:00
eelke
39ac8ef02d Some work on parser, not used yet. 2019-01-28 20:53:10 +01:00
eelke
3b482c1c73 Fix lexer for empty input. 2019-01-28 20:52:39 +01:00
eelke
456180325e Code cleanups 2018-12-31 15:45:53 +01:00
eelke
f996703937 Corrected some usage of QueueTask that was already broken as QueueTask is defunct. 2018-12-31 15:19:16 +01:00
eelke
15bee33076 Made step to remove ASyncWindow in favour of usage of Future and FutureWatcher.
This should allow concurrency in the plugins to be independent from their container.

Contains also some work on the system for registering plugins.
2018-12-30 15:46:15 +01:00
eelke
880903db5f Several fixes of warnings/clang tidy 2018-12-16 15:38:32 +01:00
eelke
62c6ad5bfb Improved support from removing rows in crud tabs.
It can handle now complex selections and reports back errors encountered
when removing the rows fails.
2018-12-15 11:24:58 +01:00
eelke
9e645db1a8 Fixed some small details the analyzer was complaining about. 2018-12-09 21:10:35 +01:00
eelke
840af1e0a9 WIP: Added page showing list of functions.
Only list is shown, still working on details.
2018-11-25 09:06:01 +01:00
eelke
287073afdc Added remember option to password dialog.
Made to remember password of password manager for given time but not completely sure
how to implement that yet.
2018-11-15 19:24:29 +01:00
eelke
e36924c087 Passwords are now saved in a password manager.
The password manager uses strong encryption using a key derived from the passphrase using
scrypt key strengthening algorithm. This ensures encryption is performed using a strong key
and that brute forcing the passphrase is time consuming.

If the user loses his passphrase no recovery is possible.
2018-11-08 21:50:49 +01:00
eelke
6b9b602c64 Replaced old PasswordManager code with code using Botan's new PSK_Database
This greatly reduces the amount of encryption related code required. Thought
we still have todo our own key strenthening but this also is easier with Botan::PasswordHash.
2018-11-04 11:24:13 +01:00
eelke
d4d8316917 Collection of minor code improvements.
Program should still behave exactly the same.
2018-10-21 13:46:58 +02:00
eelke
780d912cd1 Adjusted project files for new boost version.
This should be handled differently the location of boost should not be baked into the project files.
2018-09-18 20:24:54 +02:00
eelke
31afc6fcbf Fix some warning 2018-08-05 09:05:24 +02:00
eelke
5b20f900fc Sketched rough parser code construction including some SQL AST classes. 2018-06-19 19:52:56 +02:00
eelke
99d738ee65 Added some classes from a stackoverflow to utilize Qt's concurrency functions especially cancellable QFuture's 2018-02-14 19:18:51 +01:00
eelke
914d2fe9fa Lexical analyzer should now be less confused by dots and comma's and an assortment of other single character symbols. 2018-02-05 22:25:38 +01:00
eelke
b436814eb5 THe SqlLexer also now recognizes casts. 2018-01-06 21:18:28 +01:00
eelke
2705a3417b The MainWindow now uses a background task to load the catalog.
As the background task can't be cancelled yet only closing of the window
can block if the task is still running.
2017-12-28 07:23:20 +01:00
eelke
057e745ebe Just some comments. 2017-12-26 07:34:08 +01:00
eelke
091040f13f Split big function in sql lexer into several functions. 2017-12-26 07:32:52 +01:00
eelke
04c656323d Defined a function to get rid of linker warning 2017-12-26 07:26:39 +01:00
eelke
6d4662aa98 Added WorkManager to manage background tasks.
Relies heavily on the QThreadPool.
2017-12-25 15:32:02 +01:00
eelke
8f1ba8130c Unit tests on PasswordManager are now much faster because the tests use a much
lower iterations count now then the default setting.
2017-12-16 21:42:41 +01:00
eelke
ad9ed1b698 Introduced new library for pglab code which I want to unit test.
Not everything can go into core because that would result in circular dependencies between core and pgsql.
2017-12-13 18:04:10 +01:00
eelke
dec52a3829 Unit tests for ParamList to json. 2017-12-09 19:39:37 +01:00
eelke
e9f5fff6d3 Moved files to core.lib for unit testing 2017-12-09 16:43:28 +01:00
eelke
3a13b7ffb4 Messy commit. Testing suff and some improvements to how data is shown. 2017-12-09 10:45:13 +01:00
eelke
bebb3391c3 Builds on windows again 2017-11-26 13:07:21 +01:00