Commit Graph

190 Commits

Author SHA1 Message Date
Ralf Ramsauer b66c82aad8 Added tool for simple command injection 2015-10-01 22:10:35 +02:00
Ralf Ramsauer 49a5b88f6c Big rewrite of several things
- Data type Token changed from uint64_t to std::string
- Added new class "Request" that describes a JSON TCP request
- Classes may now throw Responses for proper error handling
- Removed JSON parsing from Logic
- proper Error handling everywhere
- Many small fixes
- removed unnecessary includes
- removed using namespace std everywhere
2015-10-01 22:09:55 +02:00
Ralf Ramsauer abf69d70fa Fixed typo 2015-10-01 18:02:25 +02:00
Ralf Ramsauer c9fa75201f Changed window sizes 2015-09-30 15:36:11 +02:00
Ralf Ramsauer cde0521d6f Added ui file for MainWindow 2015-09-30 15:26:28 +02:00
Ralf Ramsauer 765e41afd5 Switched to asynchronous asio handling 2015-09-30 15:21:41 +02:00
Ralf Ramsauer b2244ed9be Fix segfaults 2015-09-30 00:44:06 +02:00
Ralf Ramsauer 1984f6720e bugfix 2015-09-29 15:03:43 +02:00
Ralf Ramsauer 2b2ec56a9b Bugfix 2015-09-29 15:00:36 +02:00
Ralf Ramsauer b1ea4426a9 Some improvements 2015-09-29 14:55:20 +02:00
Ralf Ramsauer 60ed23486b Improved directory structure
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-29 14:33:53 +02:00
Ralf Ramsauer 4366e117d1 Improved GUI 2015-09-29 02:13:48 +02:00
Ralf Ramsauer a45fc4ca33 Bugfix: QR code generation was case insensitive
Also changed Qstring back to std::string
2015-09-29 02:13:35 +02:00
Ralf Ramsauer 2ab091679f Removed sending status code as answer to subscription message 2015-09-29 02:12:02 +02:00
Ralf Ramsauer a3bf378458 Added mainwindow.h to CMakeLists.txt 2015-09-29 02:11:29 +02:00
Ralf Ramsauer fb9f5f835e Fixed include bug 2015-09-28 17:07:21 +02:00
Ralf Ramsauer 9c7cc532fe Created new MainWindow QT Frontend
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-28 17:05:05 +02:00
Ralf Ramsauer 8f8d8a75b1 std::string -> QString 2015-09-28 17:03:03 +02:00
Ralf Ramsauer 3d7b6fbe08 Moved common code parts to static library
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-25 16:53:17 +02:00
Ralf Ramsauer 13b0b8744a Added simple Qt Qr widget 2015-09-25 13:12:07 +02:00
Ralf Ramsauer 69dcbe6b59 Write first tokenupdate on session initialization 2015-09-25 13:11:02 +02:00
Ralf Ramsauer b8cb8f9876 Added door state to Clientmessage / Doormessage 2015-09-25 03:26:07 +02:00
Ralf Ramsauer 404f219b6c added install rule for doorlock-client 2015-09-25 01:31:39 +02:00
Ralf Ramsauer cb5de7eba9 First working version of doorlock-client 2015-09-25 00:50:11 +02:00
Ralf Ramsauer b9dc2f5ee1 Improved Clientmessage
- Added Clientmessage::fromJson
- Improved JSON key handling
2015-09-25 00:50:10 +02:00
Ralf Ramsauer aa79228e47 Added Response::fromJSON 2015-09-25 00:50:10 +02:00
Ralf Ramsauer 4c05636ff0 Improved exception handling 2015-09-25 00:50:10 +02:00
Ralf Ramsauer 80d8610559 Added response to subscription 2015-09-25 00:50:10 +02:00
Ralf Ramsauer b07c0e8f54 Bugfix
socket might be closed after session-thread is spawned.
socket might throw errors very early.
2015-09-25 00:50:10 +02:00
Ralf Ramsauer 93fccda5d8 Small fix 2015-09-25 00:50:10 +02:00
Ralf Ramsauer 36787b91b3 Some refactoring 2015-09-25 00:50:10 +02:00
Ralf Ramsauer 9b58de4b5d Added stub for doorlock-client
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-25 00:50:10 +02:00
Ralf Ramsauer 9e4de23dff Renamed main.cpp to doorlockd.cpp
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-25 00:50:10 +02:00
Ralf Ramsauer 8ed116bf7f Added proper client and doormessage classes
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-25 00:50:10 +02:00
Ralf Ramsauer 92d19bfc98 Added subscriptions 2015-09-25 00:50:10 +02:00
Ralf Ramsauer 3de8855dac Added Client messages 2015-09-25 00:50:10 +02:00
Ralf Ramsauer 4f22e652e8 Added door callbacks 2015-09-25 00:50:10 +02:00
Ralf Ramsauer 8b4be48811 Some refactoring 2015-09-25 00:50:10 +02:00
Ralf Ramsauer deccb94cd5 Added new response code: AccessDenied 2015-09-25 00:50:10 +02:00
Ralf Ramsauer 2234c58371 Typos 2015-09-25 00:50:10 +02:00
Ralf Ramsauer 364a1f36fc Logical bugfix 2015-09-25 00:50:10 +02:00
Ralf Ramsauer 1d6719269b Resend version string after redirection stdout 2015-09-25 00:50:10 +02:00
Ralf Ramsauer 85f8e3a3bc Bugfix: Timeout was uninitialized 2015-09-25 00:50:10 +02:00
Ralf Ramsauer 4d2bdba703 Simplified version string 2015-09-25 00:50:10 +02:00
Ralf Ramsauer 32ebec327d Added version information 2015-09-25 00:50:10 +02:00
Ralf Ramsauer 201ffe1e44 Added baudrate 2015-09-25 00:50:10 +02:00
Ralf Ramsauer d6b092ea9f Changed default serial port 2015-09-25 00:50:10 +02:00
Ralf Ramsauer dcdc8bcfe2 Removed manual change of tokenTimeout
Epaper display is gone, this is not necessary any more.
2015-09-25 00:50:09 +02:00
Ralf Ramsauer 7496a0bab2 Rearranged code 2015-09-25 00:50:09 +02:00
Ralf Ramsauer 542f5518a6 TCP connection logging 2015-09-25 00:50:09 +02:00
Ralf Ramsauer c01eb22f91 Moved Command handling from logic to main 2015-09-25 00:50:09 +02:00
Ralf Ramsauer 211127f9d3 Refactored action to command 2015-09-25 00:50:09 +02:00
Ralf Ramsauer 5c825a0958 Implemented better Response handling
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-25 00:50:09 +02:00
Ralf Ramsauer 3b7338ea6e Added proper Response handling 2015-09-25 00:50:09 +02:00
Ralf Ramsauer 48565ef37e Moved JSON parsing to main.cpp 2015-09-25 00:50:09 +02:00
Ralf Ramsauer 60bbe3df76 Added condition variable, which is notified on Token updates 2015-09-25 00:50:09 +02:00
Ralf Ramsauer a06a2669e5 Check if logic is running 2015-09-25 00:50:09 +02:00
Ralf Ramsauer 4581e4da20 Removed using of std namespace 2015-09-25 00:50:09 +02:00
Ralf Ramsauer 09a1c613cc Improved error handling 2015-09-25 00:50:09 +02:00
Ralf Ramsauer 25c07e28a1 Implemented multi-threaded TCP session handling 2015-09-25 00:50:09 +02:00
Ralf Ramsauer cd1fcdc96b Removed unreachable code 2015-09-25 00:50:09 +02:00
Ralf Ramsauer 0f67ed23c5 moved License file 2015-09-25 00:50:09 +02:00
Ralf Ramsauer 703ecc9c86 Removed foreground option (default now)
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-25 00:50:09 +02:00
Ralf Ramsauer d979310893 Added emergency unlock scripts 2015-09-25 00:50:09 +02:00
Ralf Ramsauer 5808ef8677 doorlockd now uses doorcmds.h 2015-09-25 00:50:09 +02:00
Ralf Ramsauer 5af124000b Improved door responses 2015-09-25 00:50:09 +02:00
Ralf Ramsauer ad77fbe86b Typo 2015-09-25 00:50:08 +02:00
Ralf Ramsauer 9141b502c3 Readded PRE/POST Lock scripts 2015-09-25 00:50:08 +02:00
Ralf Ramsauer 73868b2d4d Rewrite of Door class
Removed old epaper display and added stub for qrcode printing.

Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-25 00:50:08 +02:00
Ralf Ramsauer b4d6a46025 removed wiringPi 2015-09-25 00:50:08 +02:00
Ralf Ramsauer 4d965f3614 Added proper json-cpp include directory 2015-09-25 00:50:08 +02:00
Ralf Ramsauer 392763f720 Added mutex to door.cpp to prevent lock collissions
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-25 00:50:08 +02:00
Ralf Ramsauer 3a50f596b5 Fixed Button-close bug
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-25 00:50:08 +02:00
Ralf Ramsauer 4dbce13cb0 Added logging to close request on button press
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-25 00:50:08 +02:00
Ralf Ramsauer d933bc9821 Automatically turn on blue light on unlocking
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-25 00:50:08 +02:00
Ralf Ramsauer a965779f3c Removed Door State from Logic
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-25 00:50:08 +02:00
Ralf Ramsauer d163e826ea Switched button type from open to close
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-25 00:50:08 +02:00
Ralf Ramsauer 6a8e917ede Added Lock Button
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
2015-09-25 00:50:08 +02:00
Ralf Ramsauer 052f2ff071 Removed LDAP TLS environment variable 2015-09-25 00:50:08 +02:00
Ralf Ramsauer 139e5a8409 Added Pre/Post Lock/Unlock Scripts 2015-09-25 00:50:08 +02:00
Ralf Ramsauer 4a170a934c New LDAP default URI 2015-09-25 00:50:08 +02:00
Ralf Ramsauer c37f66ff91 Improved Epaper QR code generation 2015-09-25 00:50:08 +02:00
Ralf Ramsauer e6cba90b37 Added comments 2015-09-25 00:50:08 +02:00
Ralf Ramsauer 13b392fc8b Improved klackering mechanism 2015-09-25 00:50:08 +02:00
Ralf Ramsauer 4d61754fc1 small bugfix 2015-09-25 00:50:08 +02:00
Ralf Ramsauer 8b2a0ea4ca Only listening on localhost 2015-09-25 00:50:07 +02:00
Ralf Ramsauer f99ed93f29 Removed authenticated feature. Authentication is now required 2015-09-25 00:50:07 +02:00
Ralf Ramsauer c8dccd7bfc Added Light-off feature 2015-09-25 00:50:07 +02:00
Ralf Ramsauer 21abbffeea Fixed small bug 2015-09-25 00:50:07 +02:00
Ralf Ramsauer 4f2625525f added rest of the software 2015-09-25 00:50:07 +02:00