Adrià Casajús
d324e2fa79
Fix: Add csrf verification to directory updates ( #1358 )
...
* Fix: Add csrf verification to directory updates
* Update templates/dashboard/directory.html
* Added csrf for delete account form
* Fix tests
* Added CSRF check for settings page
* Added csrf to batch import
* Added CSRF to alias dashboard and alias transfer
* Added csrf to contact manager
* Added csrf to mailbox
* Added csrf for mailbox detail
* Added csrf to domain detail
* Lint
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-10-27 10:04:47 +02:00
Son Nguyen Kim
c71824c68e
Init daily metric ( #1351 )
...
* Add DailyMetric model
* increment nb_new_web_non_proton_user
* fix test
* fix test
2022-10-14 17:35:34 +02:00
Son Nguyen Kim
1fc75203f2
Improve test: disable rate limit during test and avoid conflicts between tests ( #1349 )
...
* disable rate limit during test, avoid conflict between tests
* fix test
2022-10-14 16:37:49 +02:00
Son Nguyen Kim
7b24cdd98a
Revert "remove deduct_limit as it has no effect ( #1347 )" ( #1348 )
...
This reverts commit 851ba0a99a
.
2022-10-13 22:00:45 +02:00
Son Nguyen Kim
851ba0a99a
remove deduct_limit as it has no effect ( #1347 )
...
* remove deduct_limit as it has no effect
- disable rate limit during test
- randomize data in test
- support non-empty db in test
* fix more test
2022-10-13 18:55:22 +02:00
Adrià Casajús
25fde11a86
Refactor alias suffix ( #1194 )
...
* Extract suffix generation and validation to a module
* Updated tests
* Make custom alias use signed suffixes
* Added the signature check to the module
* Fix invalid route
* Move more suffix related stuff
* Fix tests
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-07-27 17:40:22 +02:00
Adrià Casajús
21feced342
Refactor unsubscribe handling ( #1090 )
...
* Refactor unsubscribe email handling
* MR comments
* Moved all unsub logic to the encoder
* remove unused
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-06-30 11:40:01 +02:00
Son Nguyen Kim
09cec0cdec
allow to hide some public domains and set their order ( #1107 )
2022-06-22 18:21:19 +02:00
Adrià Casajús
220f21bb2a
Fix tests to allow re-running them locally without colliding with previous runs
2022-05-20 14:39:07 +02:00
Son
becde6458b
fix test
2022-04-18 11:55:14 +02:00
Son
9a994ec98b
fix test
2022-04-18 11:17:10 +02:00
Son
aaccfc6f9d
fix test
2022-04-18 10:18:51 +02:00
Son
cb8b20fc9a
fix test
2022-04-15 17:37:19 +02:00
Son
a966665478
refactor test: no hardcode a@b.c, make sure each test has a different user
2022-04-15 16:59:44 +02:00
Son
2baebe7934
remove unused import
2022-03-21 14:43:27 +01:00
Son
1952f368a8
require password to use the api key page
2022-03-21 14:40:47 +01:00
george
c415324932
Add flake8-bugbear
2022-02-06 20:37:43 +00:00
george
e6276dc32e
Fix typo.
2022-02-03 21:44:27 +00:00
george
172e509f53
Add comment.
2022-02-03 21:43:40 +00:00
george
3837a9955e
Just get the API key by user ID.
2022-02-03 19:49:29 +00:00
george
836e599517
Use POST requests to create and delete through the dashboard.
2022-02-03 19:47:41 +00:00
george
010c343641
Refactor to the dashboard folder.
2022-02-03 19:33:40 +00:00
Son
5a712f3877
make sure subdomain can only contain lowercase letters, numbers and dashes.
2022-01-26 14:53:27 +01:00
Son
80b0af91e5
allow user to create alias with domain that has ownership verified (and might not have MX verified)
2021-12-29 10:24:22 +01:00
Son
5e7730c35c
refactor: move regex_match() to its own file
2021-12-14 15:00:32 +01:00
Son
f3e8fc10a9
use re instead of re2 if error "Argument 'pattern' has incorrect type (expected bytes, got PythonRePattern)"
2021-12-11 19:38:22 +01:00
Son
adb376525f
flake8
2021-11-18 10:33:38 +01:00
Son
38ecb227b0
reduce subdomain/directory quota when user create/delete subdomain/directory
2021-11-18 10:33:15 +01:00
Son
a8c86785d1
make sure a deleted subdomain can't be recreated
2021-11-17 17:21:13 +01:00
Son
417f7b92b0
make sure a deleted directory can't be recreated
2021-11-17 17:02:31 +01:00
Son
caa8656748
create /dashboard/block_contact/:contact_id
2021-11-02 15:30:18 +01:00
Son
fd7d9969f8
create a test for unsubscribe
2021-11-02 15:20:33 +01:00
Son
57bfa7e933
make sure that a domain already used in a verified mailbox can't be added
2021-10-15 10:32:20 +02:00
Son
372466ab06
do not use flask-sqlalchemy
...
- add __tablename__ for all models
- use sa and orm instead of db
- rollback all changes in tests
- remove session in @app.teardown_appcontext
2021-10-12 14:36:47 +02:00
Son Nguyen Kim
264bab965a
fix test
2021-08-05 19:49:36 +02:00
Son Nguyen Kim
d181cd49dd
Sign the whole Alias Suffix Info instead of just the suffix
2021-07-19 20:14:59 +02:00
Son NK
92acf352b6
add limiter for random alias creation
2021-03-24 17:30:05 +01:00
Son NK
71389b7e09
add limiter on custom alias page
2021-03-24 16:52:05 +01:00
Son NK
9030d8b543
flake8
2021-02-17 13:01:28 +01:00
Son NK
9e486fc2c0
add alias transfer
2021-02-17 12:56:28 +01:00
Son NK
2b4dc3cdcc
when a custom domain is default and has random_prefix_generation enabled, use the random_prefix as the first choice
2021-01-02 18:17:53 +01:00
Son NK
33dd6083c7
rename available_suffixes_more_info -> get_available_suffixes
2020-12-31 14:27:04 +01:00
Son NK
5a3b79b4cf
replace available_suffixes by available_suffixes_more_info
2020-12-31 14:25:44 +01:00
Son NK
75d1b090cd
rename default_random_alias_public_domain_id -> default_alias_public_domain_id
2020-12-31 14:14:56 +01:00
Son NK
b9d8f11f2d
put the default domain to top
2020-12-31 13:59:03 +01:00
Renaud Boyer
0f48121fd5
linting
2020-12-06 17:46:10 +01:00
Renaud Boyer
d88aeeab7f
linting
2020-12-06 17:45:07 +01:00
Son NK
a989545505
make sure alias contact address is valid
2020-11-03 11:13:43 +01:00
Son NK
71be3b27f7
redirect user to dashboard when setup is done
2020-10-28 10:49:50 +01:00
Son NK
8dbd3c1c68
more detailed error message when an alias can't be created
2020-10-09 11:48:52 +02:00