7 Commits

Author SHA1 Message Date
4531f6244f * Removed deprecated text-render computation
* Added accounts types (savings and checking)
  * FS flush optimized balance computation
  * Automatic daily rate growth computations
2018-05-16 18:37:02 +02:00
856e16b3f2 * Added support for artificial key event triggers
* Added OnClose event to view: triggered when controller is removing view from render queue
* Added more localization
* Added bank transfer
* Fixed account balance reset
* Fixed user copying issues in database: now it does a full deep copy, as opposed to a shallow copy
* Fixed serverside sysinsert checks
* Fixed serverside Account_Get info endpoint
* Other minor things
2018-05-15 18:57:49 +02:00
98a6557000 Fixed some issues with asynchronous code
Updated some old code to use new methods
ECDH implementation now uses BitWriter/BitReader to serialize/deserialize
Added error handling to NetClient for predictable cases of error
Fixed regular SHA1 implementation
Partially remade optimized SHA1 implementation as a hybrid implementation between minimum allocation and minimum processor overhead
Fixed how Databse manages serialization/deserialization of Users
Updated Output class to support any type
Output now supports overwritable lines
Added OutputFormatter to simplify creating-column output
Sessions keys are no longer invalidated when client-server connection is closed
Added command system to server for easier administration
2018-04-26 23:51:41 +02:00
100f5a32be Major changes
Refactorings:
  * BinaryCollector -> BitWriter
  * BinaryDistributor -> BitReader

Additions:
  * Output class for making serverside output pretty and more readable
  * Better RSA keys (private keys withheld)

Changes:
  * Minor changes to all views and their rendering
  * Added corrective resizing to resize listener to prevent errant window sizes
  * Removed "default" language in favour of a purely priority-based system
  * NetContext now attempts to verify server identity before continuing to next context
  * Simplified common operations in Context
  * Minor updates to some layouts
  * Completed translations for english and swedish
  * Promise system now supports internal processing before notifying original caller
  * Bank interactor methods are now async
  * Added support for multiple accounts per user (separate repositories for money)
  * Removed test code from client program
  * Updated Database to support multiple accounts
  * Reimplemented RSA on the server side purely as an identity verification system on top of the networking layer (rather than part of the layer)
  * Added Account management endpoints
  * Added full support for System-sourced transactions
  * Added Account availability endpoint
  * Added verbose error responses
2018-04-26 00:24:58 +02:00
308639da5f Fully implemented Binary Collector and Distributor
- Added zigzag decoding
  - Added floating point value compression by reinterpreting and serializing floating point values as integer values
  - Moved serialization code to common code project
2018-04-10 17:44:38 +02:00
41e8d969ed Refactorings:
* Moved encryption algorithms into a folder
* Sorted networking into separate files

Additions:
* Created Elliptic Curve encryption implementation
* Generalized the key exchange implementation
    - Implemented Diffie-Hellman key exchange
    - Implemented Elliptic Curve Diffie-Hellman key exchange
* Started implementing binary data compressor

Changes:
* Changed NetClient and NetServer to use IKeyExchange for initial AES key exchange instead of RSA (for optimization)
* Adapted TextView implementation to properly support optional borders
* Fed InputView issue caused due to border rendering change
* Fixed and simplified Rectangle computations
* Fixed errant naming in Session layout file
* Fixed errant i18n naming in Session layout file
* Fixed resize background rendering issue in ConsoleController
* Fully implemented ListView (needs testing)
* Updated BankInteractor and server to use ECDH-E with Curve25519

Removals:
* Removed identity verification from NetClient (identities checks should be performed as a layer on top of NetClient/NetServer, not as part of it)
2018-04-09 03:26:00 +02:00
d17f4842d3 Added project 2018-03-31 00:57:10 +02:00