Adrià Casajús
0996378537
Revert "Keep the dirty email after registering ( #1459 )" ( #1460 )
...
This reverts commit 0664e3b80c
.
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-12-01 09:19:15 +01:00
Adrià Casajús
0664e3b80c
Keep the dirty email after registering ( #1459 )
...
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-11-30 18:38:48 +01:00
Adrià Casajús
f728b0175a
Use canonical email when registering users ( #1458 )
...
* Use canonical email for registration, check both when checking if user exists
* Fix test
* Set pagesize to 100
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-11-30 17:19:55 +01:00
Adrià Casajús
53ef99562c
Add unsub link to newsletters ( #1455 )
...
* Add unsub link to newsletters
* Remove debug statement
* Updated unsub link
* Update unsub style
* Format
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-11-28 15:08:46 +01:00
Adrià Casajús
3c36f37a12
Feat: Add enable/disable options in the admin panel ( #1450 )
...
* Feat: Add enable/disable options in the admin panel
* Fix duplicate method
* Black format
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-11-28 10:39:18 +01:00
Spitfireap
b849d1cfa7
Simpler csv export ( #1383 )
...
* Export alias in csv
* reformating
* template
* Improved contributing script and doc
* Updated test
* removed csv export from GDPR export archive
* added test for new route
* fix trailing space
* moved test to new utils file
2022-11-23 13:51:08 +01:00
Son Nguyen Kim
989358af34
Fix empty authorized address ( #1423 )
...
* not allow empty authorized address
* check authorized address before adding
* use github for flake8
* fix test
2022-11-15 16:04:31 +01:00
Adrià Casajús
4661972f97
Fix: When re-sending emails if they trigger exceptions move out of failed dir ( #1411 )
...
* Fix: When re-sending emails if they trigger exceptions move out of failed dir
* Use proper timeout
* Lint
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-11-10 13:24:46 +01:00
Son Nguyen Kim
25743da161
Dmarc transactional ( #1402 )
...
* make sure transactional email use the same domain for header from and envelope from
* fix import
2022-11-04 14:22:28 +01:00
Adrià Casajús
5bbf6a2654
Fix: Only override postfix port when enabling TLS if the port is set to be 25 ( #1401 )
...
* Fix: Only override postfix port when enabling TLS if the port is set to be 25
* Add connection timeout
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-11-04 11:13:19 +01:00
Adrià Casajús
dace2b1233
Fix: Do not re-re-deliver unsent mails on failure to re-deliver ( #1397 )
...
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-11-03 17:48:09 +01:00
Adrià Casajús
90d60217a4
Feat: Re-deliver mails ( #1394 )
...
* Feat: Send undelivered emails
* Add cron job
* Added to the crontab
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-11-02 15:51:14 +01:00
Adrià Casajús
3bc976c322
Feature: Add app name to each db connection ( #1393 )
...
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-11-02 15:41:48 +01:00
Son Nguyen Kim
36d1626972
Notify another mailbox about an email sent by a mailbox to a reverse alias ( #1381 )
...
* Notify another mailbox about an email sent by a mailbox to a reverse alias
* keep reverse alias in CC and To header
* use alias as From to hint that the email is sent from the alias
* keep original subject, improve wording
* only add DKIM if custom domain has DKIM enabled
2022-10-30 19:59:42 +01:00
Son Nguyen Kim
02f42821c5
fix 21004 error ( #1380 )
2022-10-27 14:03:11 +02:00
Adrià Casajús
a5056b3fcc
Fix: Use source ip if user is not authenticated ( #1379 )
...
* Fix: Use source ip if user is not authenticated
* Fix lint
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-10-27 13:37:45 +02:00
Adrià Casajús
f6463a5adc
Change: Do not sleep on exclusive zones ( #1375 )
...
* Change: Do not sleep on exclusive zones
* Update test
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-10-27 10:40:33 +02:00
Adrià Casajús
7f9ce5641f
Feat: Added parallel limiter to prevent sqlalchemy transaction issues ( #1360 )
...
* Feat: Added parallel limiter to prevent sqlalchemy transaction issues
* Remove logs
* Moved initialization to its own file
* Throw exception
* Added test
* Add redis to gh actions
* Added v6 to the name
* Removed debug prints
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-10-27 10:07:02 +02:00
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
2f769b38ad
Apple in app fix ( #1369 )
...
* error log if issue with apple sub
* use the right secret when polling apple sub
2022-10-25 19:45:53 +02:00
Son Nguyen Kim
35470613d3
add DailyMetric and Metric as admin page, remove EmailLog admin page ( #1352 )
2022-10-15 19:10:39 +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
72277211bb
For unauthenticated sessions only store them in redis for 5m ( #1345 )
...
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-10-13 15:55:08 +02:00
Adrià Casajús
d5ca316e41
Have custom domains set up multiple dkim records to be able to rotate keys ( #1334 )
...
* Have custom domains set up multiple dkim records to be able to rotate keys
* Apply suggestions from code review
* Some PR comments
* Keep dkim enabled if it is already
* Format
* PR updates
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-10-11 07:17:37 +02:00
Son Nguyen Kim
1c5a547cd0
do not quarantine an email if fails DMARC but has a small rspamd score ( #1337 )
...
* do not quarantine an email if fails DMARC but has a small rspamd score
* use 0 when cannot parse rspamd score
* use -1 as default value
2022-10-10 10:13:07 +02:00
Son Nguyen Kim
5088604bb8
Replace reverse alias ( #1335 )
...
* replace any reverse alias by real address for all contacts
* improve logging
* fix comment
* Request contacts in batches of 100 to avoid loading the db
* Fix typo
* Added tests for the contact replacement
* Increase batch size to 1k
* Revert and use only reply_email and website_email
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-10-10 10:00:19 +02:00
Adrià Casajús
faeddc365c
Display recovery codes for mfa only once ( #1317 )
...
* Recovery codes can only be shown after adding a 2FA code and cannot be seen afterwards
* Added recovery codes fix
* Updated models and script
* Formatting
* Format
* Added base code
* Updated wording
* Set the config by default
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-10-03 12:32:45 +02:00
Adrià Casajús
faaff7e9b9
Handle failed payments subscriptions in paddle ( #1327 )
...
* Handle failed payments subscriptions in paddle
* Added tests
* Remove unused import
* Remove unused import
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-09-30 17:51:06 +02:00
Carlos Quintana
fa50c23a43
Allow RedisSessionStore to connect to sentinel ( #1307 )
...
* Allow RedisSessionStore to connect to sentinel
* Reuse flask_limiter redis storage
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-09-23 10:23:07 +02:00
Son Nguyen Kim
72a130e225
do not add mime-version header if already present ( #1302 )
2022-09-22 13:46:32 +02:00
Adrià Casajús
b5aff490ef
Store session in redis if redis is enabled ( #1288 )
...
* Store sesions in redis to prevent saving old cookies
* Format
* Rename sid to session_id
* Logout session completely
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-09-21 11:11:17 +02:00
Adrià Casajús
9c86e1a820
Fix: Use email directly for DomainDeletedAlias ( #1273 )
...
* Fix: Use email directly for DomainDeletedAlias
* Add handling for reply phase
* Use the first mailbox of the domain for deleted domain aliase
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-09-08 14:54:32 +02:00
Son Nguyen Kim
753a28e886
handle case msg is string in replace() ( #1271 )
...
should fix https://sentry.io/organizations/simplelogin/issues/3563106404/?alert_rule_id=2478639&alert_timestamp=1662404226476&alert_type=email&environment=production&project=1868546&referrer=alert_email
2022-09-07 10:22:11 +02:00
Son Nguyen Kim
6595d34276
shouldn't count processed batch import ( #1268 )
2022-09-05 15:38:12 +02:00
Son Nguyen Kim
192d03fd68
make sure sl_formataddr always return str ( #1269 )
2022-09-05 15:38:04 +02:00
Son Nguyen Kim
313a928070
Create sl_formataddr to handle unicode for built-in formataddr ( #1265 )
...
* Create sl_formataddr to handle unicode for built-in formataddr
* fix circular import
2022-09-05 08:40:24 +02:00
Son Nguyen Kim
cea139b7d5
Improve handling when pgp key is invalid ( #1264 )
...
* remove unused email statuses
* add more logging
* use text_header if html_header not set
* improve email
* add a header about PGP failure when forward emails can't be encrypted
* remove unused email status
2022-09-02 11:47:04 +02:00
Son Nguyen Kim
25773448c2
admin can go directly to paddle ( #1263 )
2022-09-02 10:39:53 +02:00
Son Nguyen Kim
f69c9583fb
fix proton partner error when self host ( #1255 )
...
* fix proton partner error when self host
* fix test
* fix test
* remove a@b.c
2022-09-01 14:59:16 +02:00
Son Nguyen Kim
9eacd980ef
include_sender_in_reverse_alias set to true for new users ( #1244 )
2022-08-23 11:24:49 +02:00
Carlos Quintana
ba06852dc2
Do not crash if action is unknown ( #1231 )
2022-08-12 15:02:00 +02:00
Carlos Quintana
7eb44a5947
Fixes for connect with proton on mobile ( #1230 )
...
* Fixes for connect with proton on mobile
* Added a test
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-08-12 13:17:21 +02:00
Carlos Quintana
596dd0b1ee
Support next with Proton Link ( #1226 )
...
* Support next with Proton Link
* Add support for double next
* Fix bug on account relink
2022-08-11 10:38:44 +02:00
Adrià Casajús
3a75686898
Generate a web session from an api key ( #1224 )
...
* Create a token to exchange for a cookie
* Added Route to exchange token for cookie
* add missing migration
Co-authored-by: Adrià Casajús <adria.casajus@proton.ch>
2022-08-10 18:48:32 +02:00
Carlos Quintana
a9549c11d7
Rate limiting depending on user authenticated status ( #1221 )
...
* Rate limiting depending on user authenticated status
* Update app/extensions.py
Co-authored-by: Adrià Casajús <acasajus@users.noreply.github.com>
* Add rate_limiting tests
Co-authored-by: Adrià Casajús <acasajus@users.noreply.github.com>
2022-08-09 14:57:21 +02:00
Son Nguyen Kim
a88a8ff2be
add more logging ( #1223 )
2022-08-09 10:01:55 +02:00
Son Nguyen Kim
6c6deedf47
Stop paddle sub ( #1216 )
...
* admin can stop a paddle sub
* show admin menu if user is admin
2022-08-04 09:20:07 +02:00