Commit graph

159 commits

Author SHA1 Message Date
s3lph
0fe8ef55a2 Pagelet initialization tests: Added safeguards against non-terminating threads. 2018-08-19 01:06:38 +02:00
s3lph
cd87695dd1 Pagelet initialization test. 2018-08-18 02:44:09 +02:00
s3lph
5bace1a3f8 Implemented pagelet initialization. 2018-08-17 20:44:07 +02:00
s3lph
f6901f7f9e User bootstrapping documentation 2018-08-15 16:18:52 +02:00
s3lph
0b34f5ec7f Added unit tests for admin user test and touchkey-only userlist. 2018-08-14 23:58:54 +02:00
s3lph
707883b1c4 Removed trailing whitespace. 2018-08-14 22:57:52 +02:00
s3lph
7f58da298b Basic user bootstrapping, still needs documentation & testing. 2018-08-14 22:53:39 +02:00
s3lph
30be649ae2 Implemented configurable static response headers. 2018-08-03 18:42:30 +02:00
s3lph
207f4f1531 Merge branch 'staging' into python-3.7 2018-08-02 17:34:39 +02:00
s3lph
be09ea1ee7 Wrote code documentation for the pagelets of the current implementation, and for some of the jinja2 templates 2018-07-23 00:19:41 +02:00
s3lph
c20029fb36 Moved primitives package to db. 2018-07-22 15:30:59 +02:00
s3lph
ca3c3e755c One more trailing whitespace. 2018-07-21 21:51:02 +02:00
s3lph
1c733c6203 Fixed another codestyle error. 2018-07-21 21:49:02 +02:00
s3lph
9afd86d5ab Fixed code style in db schema definitions. 2018-07-21 21:46:46 +02:00
s3lph
ce0a01cb7c Fixed change_user and change_product unit tests. 2018-07-21 21:45:05 +02:00
s3lph
bead299ccd Migration to a new database schema (version 2), where each transaction (purchase, deposit, or admin modification) is recorded individually. 2018-07-21 21:39:42 +02:00
s3lph
b1a56f59fc Moved currency formatting/parsing into generic util package 2018-07-20 15:30:58 +02:00
s3lph
a4930d268d Added code comments to parse_chf. 2018-07-20 15:25:06 +02:00
s3lph
862a0e6fa8 Implemented unit tests for currency formatting and parsing. 2018-07-20 15:20:33 +02:00
s3lph
103e06cf12 Implemented currency formatting and parsing. 2018-07-20 14:58:22 +02:00
s3lph
0ab7d48622 Enabled jinja2 escaping by default. 2018-07-20 13:57:23 +02:00
s3lph
63aef74e10 Merge branch '18-libmagic-mime-type-detection' into staging-unstable 2018-07-20 13:04:57 +02:00
s3lph
8b0e871dc7 Only use libmagic for static resources if extension-based guessing fails. 2018-07-20 13:01:33 +02:00
s3lph
b6b07fdac5 Merge branch '18-libmagic-mime-type-detection' into staging-unstable 2018-07-20 10:59:39 +02:00
s3lph
8598daf3b0 Catch potential file-magic exception. 2018-07-20 00:49:29 +02:00
s3lph
5912d1e624 Use a libmagic wrapper to guess Content-Type headers. 2018-07-20 00:32:51 +02:00
s3lph
2a75151c2f Merge branch 'dbfacade-staging-merge' into staging-unstable 2018-07-19 22:06:31 +02:00
s3lph
c4018156f5 Changed the change_user and change_product API to get rid of the update -> write -> undo on failure pattern. 2018-07-19 21:51:35 +02:00
s3lph
fcc64d1662 Implemented unit tests for get_user and get_product. 2018-07-19 21:33:19 +02:00
s3lph
105a10e91b Merged extended database API into a branch derived from master. WIP; needs unit tests. 2018-07-17 22:03:08 +02:00
s3lph
bb3d9e62e6 Ported code to Python 3.7. TODO: Port CI pipeline and deployment images. 2018-07-16 19:47:54 +02:00
s3lph
3e289e4df8 Merge branch 'master' into staging-unstable 2018-07-15 00:57:33 +02:00
s3lph
fe83b2017c Fixed some minor type annotation issues. 2018-07-15 00:55:39 +02:00
s3lph
c416cac03a Merge branch 'master' into staging-unstable 2018-07-14 23:48:31 +02:00
s3lph
69601150a7 Added additional unit tests. 2018-07-14 23:44:27 +02:00
s3lph
5c9d85fa70 Removed all APSW references. 2018-07-14 23:35:32 +02:00
s3lph
f423aa579a Merge branch 'master' into staging-unstable 2018-07-14 23:09:07 +02:00
s3lph
96eaa2c4c0 Unit tests for 304 Not Modified testing. 2018-07-14 23:05:50 +02:00
s3lph
a9fc6f451b Cleaner datetime API usage. 2018-07-14 22:55:14 +02:00
s3lph
87b66719e3 Implemented (probably quite shaky) static content cache headers. 2018-07-14 19:00:37 +02:00
s3lph
45be1930a4 Merge branch 'master' into staging-unstable 2018-07-14 13:20:53 +02:00
s3lph
4626f22339 config documentation 2018-07-14 13:14:53 +02:00
s3lph
8f82420d7f Logging config unit tests. 2018-07-14 12:55:09 +02:00
s3lph
a4967b1338 Slightly improved logging config. 2018-07-14 12:16:46 +02:00
s3lph
3382d23d85 Basic logging implementation; still undocumented. 2018-07-14 00:15:19 +02:00
s3lph
fab4303d5b Merge branch 'master' into DO-NOT-MERGE-horrible-webapp 2018-07-13 22:10:11 +02:00
s3lph
b12535bc93 Merge branch '3-constant-time-password-verification' into 'master'
Resolve "Password verification apparently vulnerable to timing attacks"

Closes #3

See merge request s3lph/matemat!11
2018-07-13 20:08:11 +00:00
s3lph
9b67d1d1ff Merge branch '7-configuration-file' into DO-NOT-MERGE-horrible-webapp 2018-07-13 20:58:37 +02:00
s3lph
48ad9bc7df Fixed #3 Password verification apparently vulnerable to timing attacks. 2018-07-13 20:04:42 +02:00
s3lph
8fab13e13a Added support for multiple config files 2018-07-13 16:02:30 +02:00
s3lph
758a2eb018 Fixed: Expand ~ in config file parsing. 2018-07-13 01:22:17 +02:00
s3lph
23e6662ca8 Fixed previous unit tests and implemented tests for config parsing. 2018-07-13 00:15:08 +02:00
s3lph
2dd57dcfd6 Reworked and cleaned up config file integration. 2018-07-13 00:14:48 +02:00
s3lph
a52f09fc58 First, horrible config file support. 2018-07-11 22:06:06 +02:00
s3lph
f860ae3b58 Fixed: Wrong argument name check when adding a new product. 2018-07-11 18:24:23 +02:00
s3lph
68a228e95f Fixed user-generated static resources paths. 2018-07-11 16:57:38 +02:00
s3lph
3a8497325f Moved database and user generated content to /var/matemat 2018-07-11 16:06:36 +02:00
s3lph
c3a7f3cf16 Fixed: Check if all required arguments are set in change requests from the admin panel. Also removed the requirement to enter the current password in order to change the touchkey. 2018-07-11 12:30:27 +02:00
s3lph
0481b5bf98 Always add Matemat version number to Jinja template. 2018-07-09 22:46:35 +02:00
s3lph
e618f06d11 Included version number in base template. 2018-07-09 22:41:58 +02:00
s3lph
6db093437b Merge branch 'jinja2-template' into DO-NOT-MERGE-horrible-webapp 2018-07-09 22:38:39 +02:00
s3lph
1b00c80133 Implemented a more explicit Pagelet return API using class instances to describe the action to take. 2018-07-09 20:50:02 +02:00
s3lph
e3c65776b5 A first, semi-sane integration of Jinja2 templates 2018-07-09 01:09:53 +02:00
s3lph
7c078f2c63 Merge branch 'webserver-impl' into pagelet-return-api 2018-07-08 15:18:17 +02:00
s3lph
a0d1520ecf Fixed a line-to-long style error 2018-07-08 15:13:58 +02:00
s3lph
079d9909c0 Some typing fixes that make mypy a litte happier 2018-07-08 15:10:22 +02:00
s3lph
14f339e630 Added unit test for redirection testing. 2018-07-07 19:24:00 +02:00
s3lph
f1ff14d29c More user-friendly return value in the pagelet API. 2018-07-07 18:58:23 +02:00
s3lph
0aa790dae8 Merge branch 'webserver-impl' into DO-NOT-MERGE-horrible-webapp 2018-07-07 15:40:59 +02:00
s3lph
528f7322ac Docstrings for the request parser tests. 2018-07-07 15:37:57 +02:00
s3lph
00bcae9874 Fixed behavior for missing Content-Type in multipart parts 2018-07-07 15:29:32 +02:00
s3lph
f699058cf0 first, horribly broken, undocumented implementation of the matemat webapp using jinja2 templates 2018-07-07 15:11:27 +02:00
s3lph
a89f2cd15d Updated documentation in wiki, and a minor doc fix in the code 2018-07-04 22:05:47 +02:00
s3lph
0fb60d1828 Using the new RequestArguments API throughout the project. 2018-06-29 22:13:39 +02:00
s3lph
2f927cec41 Implemented a container for RequestArgument instances, with some more unit tests. 2018-06-29 21:56:22 +02:00
s3lph
21a927046d Reworked RequestArgument API to somewhat more lax concerning 0-indices, potentially leading to safer code. 2018-06-29 18:29:51 +02:00
s3lph
73c7dbe89f Documentation of RequestArgument test cases. 2018-06-29 18:11:26 +02:00
s3lph
ab9e470c35 Some more type hinting/safety. 2018-06-29 01:22:12 +02:00
s3lph
8898abc77b Documentation of the RequestArgument class. 2018-06-29 01:12:25 +02:00
s3lph
118de8bf95 New request parsing (WIP: Documentation) 2018-06-28 23:58:01 +02:00
s3lph
5bb1dfad21 Fixed a style error 2018-06-27 21:20:36 +02:00
s3lph
f702eccc57 First implementation of multipart/form-data parsing 2018-06-27 21:17:18 +02:00
s3lph
5ccb2c9304 Fixed failing unit tests. 2018-06-20 02:04:35 +02:00
s3lph
3801909408 Added GET and POST array argument tests, and added some docstrings to the tests. 2018-06-20 00:53:06 +02:00
s3lph
12f0a0928d Removed an additional newline that was in violation of PEP8. 2018-06-19 23:55:53 +02:00
s3lph
67db4c654a Added tests for HTTP POST requests. 2018-06-19 23:51:46 +02:00
s3lph
3b2d8ffa93 Added unit tests for pagelet and static resource serving. 2018-06-19 21:37:56 +02:00
s3lph
0bfd4efab9 Added unit tests for pagelet and static resource serving. 2018-06-19 21:34:48 +02:00
s3lph
2f12403e1f Added two more testcases for session testing. 2018-06-19 20:16:39 +02:00
s3lph
9414b19dc2 More unit tests for the webserver. 2018-06-19 00:03:30 +02:00
s3lph
2f2f6b73e9 Use crypt with SHA512 instead of bcrypt. Going to change to BLOWFISH when adopting Python 3.7. 2018-06-15 22:30:35 +02:00
s3lph
2313237773 Implemented the first webserver unit test. 2018-06-14 01:13:50 +02:00
s3lph
1d995f2462 Added some more documentation, especially package docs. 2018-06-13 00:52:47 +02:00
s3lph
97b8d8b054 Added lots of code documentation to the httpd module. 2018-06-13 00:00:41 +02:00
s3lph
700af6883f Initial commit for webserver code. Still needs a lot of documentation, and even more, test coverage. 2018-06-12 21:45:50 +02:00
s3lph
7a8c898ebc Added additional documentation to MatematDatabase. 2018-06-06 14:13:42 +02:00
s3lph
8eda31cbbe Renamed DatabaseFacade to MatematDatabase and added additional documentation. 2018-06-06 13:54:36 +02:00
s3lph
4d07d02c10 Merge branch 'master' into db-doc 2018-06-06 13:37:17 +02:00
s3lph
33888fe597 Added lots of missing type annotations. 2018-06-06 12:59:49 +02:00
s3lph
edaf9afc8b Removed an unneeded newline that caused the pycodestyle job to fail. 2018-06-05 22:54:30 +02:00