Commit graph

1568 commits

Author SHA1 Message Date
Son NK
d8e4396a70 add HOST param 2020-08-14 19:09:45 +02:00
Fabio Widmer
fbb17b1f57
Fix email_utils.py formatting 2020-08-14 16:50:59 +02:00
Fabio Widmer
9fa9dbe821
Fix email_utils.py formatting 2020-08-14 16:30:43 +02:00
Fabio Widmer
9226492f83
More self hosting improvements 2020-08-14 16:23:29 +02:00
Son NK
89830e2173 fix import 2020-08-14 12:06:26 +02:00
Son NK
6bc0c5ada4 fix Mailbox.delete: use alias_utils.delete_alias 2020-08-14 12:03:41 +02:00
Son NK
b4eb110971 fix Directory.create: use alias_utils.delete_alias 2020-08-14 12:02:54 +02:00
Son NK
2cae0200a8 use delete_alias(alias,user) instead of Alias.delete, DomainDeletedAlias.create, DeletedAlias.create 2020-08-14 12:02:33 +02:00
Son NK
4434ad62dd handle the case 2 users want to use the same email address 2020-08-13 11:00:48 +02:00
Son NK
b7cbaa6e84 delete the expired ChangeEmail object 2020-08-13 10:59:39 +02:00
Fabio Widmer
8e71e8e7f4
A few (self hosting) improvements 2020-08-12 16:12:41 +02:00
Fabio Widmer
d0ed69f8aa
Add Plausible Analytics support 2020-08-12 15:24:34 +02:00
Son NK
b395c2ebd0 use warning log for FIDO error 2020-08-12 12:48:51 +02:00
Son NK
9def7df974 also search for PGP key in contact 2020-08-08 10:26:24 +02:00
Son NK
8a11e42da9 notify admin when user cancels 2020-08-07 10:01:11 +02:00
Son NK
c74857c7e7 use alias name when searching 2020-08-07 09:56:44 +02:00
Son NK
2f00294ba3 replace pgp_enabled by disable_pgp 2020-08-06 14:22:28 +02:00
Son NK
1f0ef13ff2 do not require user to re-enter TOTP code when cancelling TOTP 2020-08-05 12:30:56 +02:00
Son NK
f17608df50 add link back to home page in recovery page 2020-08-05 12:28:20 +02:00
Son NK
6cb589350b avoid adding a built-in domain as custom domain 2020-08-04 21:07:45 +02:00
Son NK
a3051b3d45 black 2020-08-04 20:12:15 +02:00
Son NK
b3ca7d1d5b Return pgp_enabled in GET /api/v2/aliases 2020-08-04 20:11:59 +02:00
Son NK
03841693ba Return support_pgp in GET /api/v2/aliases 2020-08-04 20:09:42 +02:00
Son NK
f2fb599664 Optimize Alias.get_contacts() to retrieve the latest reply for each contact in a single query 2020-08-04 11:37:59 +02:00
Son NK
918b18870f show mailboxes that a catch-all alias belongs to 2020-08-01 12:41:48 +02:00
Son NK
41e2283d93 domain catch-all alias belongs to domain mailboxes 2020-08-01 12:31:43 +02:00
Son NK
f5bc166f39 able to choose mailboxes for a domain 2020-08-01 12:31:02 +02:00
Son NK
ec8f120085 small fixes in directory.py 2020-08-01 12:22:52 +02:00
Son NK
e8fc9752b5 Add DomailMailbox model 2020-08-01 12:20:59 +02:00
Son NK
ed22f5116f fix api key counter not correctly incremented 2020-08-01 10:14:59 +02:00
Son NK
68eeb2e121 add rel="noopener" for target="_blank" link 2020-07-30 10:09:10 +02:00
Son NK
efe1ab641f add hCaptcha check 2020-07-23 12:43:55 +02:00
Son NK
307e3c93c6 Add HCAPTCHA_SECRET, HCAPTCHA_SITEKEY param 2020-07-23 12:40:50 +02:00
Son NK
38a6bcc461 add warning log 2020-07-23 11:32:11 +02:00
Son NK
d89e41d0e5 use user.max_spam_score if present 2020-07-23 11:11:43 +02:00
Son NK
8e9968a7d9 Add User.max_spam_score column 2020-07-23 11:09:28 +02:00
Son NK
6437ee46e0 use LOG.exception instead of LOG.error to provide stacktrace 2020-07-17 12:59:07 +02:00
Son NK
7f29756230 do not hardcode oauth urls 2020-07-16 23:48:47 +02:00
Son NK
515b3510a8 use warning when user is out of quota 2020-07-15 19:14:37 +02:00
Son NK
8f17cda794 use warning error for alias expiration error 2020-07-13 20:40:26 +02:00
Son NK
28c96d0d35 return 412 when alias ceration time is expired 2020-07-11 19:23:56 +02:00
Son NK
1bbc416ec1 fix the case public domain is also a custom domain for a specific user: check for public domain first. 2020-07-05 11:45:00 +02:00
Son NK
f9cb40aa5b user can choose a random alias domain in a list of public domains 2020-07-04 23:29:06 +02:00
Son NK
4b479ea003 take into account user.default_random_alias_public_domain_id in create_new_random() 2020-07-04 23:27:02 +02:00
Son NK
4542a8353e add User.available_domains_for_random_alias(), default_random_alias_domain() 2020-07-04 23:24:32 +02:00
Son NK
955231199e Add User.default_random_alias_public_domain_id 2020-07-04 23:23:39 +02:00
Son NK
ee9b796b7d Add PublicDomain model 2020-07-04 23:18:11 +02:00
Son NK
4cd0227477 refactoring: move model methods below fields 2020-07-04 22:46:09 +02:00
Son NK
5ed39b47ca add setup-done page 2020-07-04 19:42:48 +02:00
Son NK
d59e9a6238 use warning level for apple server issue 2020-07-04 18:24:34 +02:00
Son NK
d0776b770f add GET /api/logout 2020-07-04 12:10:04 +02:00
Son NK
0d3a3e0c48 Create POST /api/api_key 2020-07-04 11:41:31 +02:00
Son NK
5b3ec91300 login user in api auth endpoints 2020-07-04 10:39:38 +02:00
Son NK
df96773959 show nb paid user on referral page 2020-07-02 08:48:59 +02:00
Son NK
96ac15a3e0 add user.is_paid() and referral.nb_paid_user() 2020-07-02 08:48:37 +02:00
Son NK
40b4273111 take into account /verifyReceipt can return 5** 2020-06-30 20:10:12 +02:00
Son NK
c41bffbbae refactor: use SESSION_COOKIE_NAME instead of hardcoding "slapp" 2020-06-28 21:17:18 +02:00
Son NK
b23259cacd add Mailbox.nb_failed_checks 2020-06-28 11:17:36 +02:00
Son NK
ec0f5ccd3a only return verified mailbox in alias.mailboxes 2020-06-28 11:15:29 +02:00
Son NK
204f5f9a0c fix alias can be none in delete alias endpoint 2020-06-28 09:48:21 +02:00
Son NK
02bd45bc4a fix alias can be none in update alias endpoint 2020-06-28 09:48:21 +02:00
Son NK
b2f82ba4a8 use custom domain to generate a random alias if user enables this option 2020-06-25 13:05:25 +02:00
Son NK
abe9768db4 user can update the random alias domain 2020-06-25 13:04:27 +02:00
Son NK
040c6d1f9e add User.default_random_alias_domain_id 2020-06-25 13:02:43 +02:00
Son NK
c91b44fa97 set rate limit to 5/minute on new alias routes 2020-06-24 10:32:22 +02:00
Son NK
774ffcae3b enable CORS on /api endpoints 2020-06-24 10:30:01 +02:00
Son NK
45a8b360e4 handle case where alias is None 2020-06-19 23:44:16 +02:00
Son NK
ee6a1a672d fix POST /v2/alias/custom/new when DISABLE_ALIAS_SUFFIX is set 2020-06-15 23:35:20 +02:00
Son NK
1a22d0cf9b fix domain can be null in self-hosting
# Conflicts:
#	app/api/views/new_custom_alias.py
#	app/dashboard/views/custom_alias.py
2020-06-15 15:58:05 +02:00
Son NK
4906d3a4a8 add more logging in email_domain_can_be_used_as_mailbox 2020-06-14 12:00:02 +02:00
Son NK
5705842415 add email_utils.copy() 2020-06-12 00:02:07 +02:00
Son NK
1dc2e9c54f fix retry pgp 2020-06-12 00:01:21 +02:00
Son NK
4ee38823b8 make sure to strip and lower email 2020-06-11 23:35:24 +02:00
Son NK
cadbe7d32b order alias.mailboxes 2020-06-10 22:32:00 +02:00
Son NK
9e2f1c5f9f try to load the public key if encrypt fails for 1st time 2020-06-10 22:28:15 +02:00
Son NK
d0c65ea378 send transactional email from SENDER if set 2020-06-10 13:55:47 +02:00
Son NK
9abfa3e98c Add new param SENDER, SENDER_DIR 2020-06-10 13:54:42 +02:00
Son NK
b47d95226d generate html from plaintext if not set 2020-06-10 12:18:39 +02:00
Son NK
0c4e48c906 remove bounced_email param from send_email_with_rate_control 2020-06-10 12:17:04 +02:00
Son NK
da7b46ef97 remove bounced_email param from send_email 2020-06-10 12:15:57 +02:00
Son NK
dfe708b4fb return user email in /api/auth/mfa 2020-06-09 17:20:37 +02:00
Son NK
0002531bc0 return user email in /api/auth/login 2020-06-09 17:19:03 +02:00
Son NK
1101ba5afa add Mailbox.nb_email_log and aliases 2020-06-09 17:02:45 +02:00
Son NK
582a971b80 remove pgp retry mechanism 2020-06-08 23:05:35 +02:00
Son NK
e988573cb4 hard exit when memory is more than 300MB 2020-06-08 13:53:27 +02:00
Son NK
d85b32d56f prettify contact manager page 2020-06-07 13:41:59 +02:00
Son NK
08f4891492 use breadcrumb for contact header 2020-06-07 13:41:59 +02:00
Son NK
6cccb450b0 fix contact order on alias contact manager page 2020-06-07 13:41:59 +02:00
Son NK
7b2d86552b fix popup display when edit contact 2020-06-07 13:41:59 +02:00
Son NK
f708ee6bb2 improve wordings in alias contact manager page 2020-06-07 13:41:59 +02:00
Son NK
afe975b8c3 User can add PGP key to for a contact 2020-06-07 13:40:24 +02:00
Son NK
c593253c7d Add pgp_public_key,pgp_finger_print columns to Contact model 2020-06-07 13:40:24 +02:00
Son Nguyen Kim
49a81db951
Merge pull request #223 from simple-login/pgp-fix
Fix intermitten PGP errors
2020-06-07 13:38:37 +02:00
Son NK
ce4992c7fb check if alias exists 2020-06-07 12:50:30 +02:00
Son NK
16df2acb29 stop the email handler process when PGP error 2020-06-07 11:41:35 +02:00
Son NK
123f3583fd log memory usage in encrypt_file() 2020-06-07 10:23:36 +02:00
Son NK
c8cd066d25 try encrypt again if fail 2020-06-06 23:06:34 +02:00
Son NK
e5b60d9251 prettify directory page 2020-06-05 23:25:37 +02:00
Son NK
83e540d1d4 Create directory alias with directory mailboxes 2020-06-05 22:30:32 +02:00
Son NK
bc01479a72 user can update directory mailboxes 2020-06-05 22:13:35 +02:00
Son NK
18b530fe6f Able to set mailboxes when creating directory 2020-06-05 22:12:21 +02:00
Son NK
8161d89c39 Create DirectoryMailbox model 2020-06-05 22:08:08 +02:00
Son NK
9603683c18 log the failed encrypted content to debug 2020-06-05 10:10:21 +02:00
Son NK
50a7442d02 update notification email 2020-06-03 21:37:44 +02:00
Son NK
ecab3ea6ed take into account the case premium user obtains a lifetime license
- do not show subscription expired date
- show lifetime plan message on settings page
2020-06-03 21:32:15 +02:00
Son NK
9fc0748fcc Support setting alias name in POST /api/v3/alias/custom/new 2020-06-03 21:22:29 +02:00
Son NK
d76aad3f17 format 2020-06-03 20:05:05 +02:00
Son NK
89dd8663ce fix alias is None 2020-06-03 20:04:54 +02:00
Son NK
acac06188c fix mailbox.nb_alias(): take into account multiple mailboxes per alias case 2020-06-03 09:06:38 +02:00
Son NK
48dc0dd1cc change mailboxes to mailbox_ids 2020-06-02 20:06:32 +02:00
Son NK
d055989239 Create POST /api/v3/alias/custom/new 2020-06-02 09:33:56 +02:00
Son NK
b356ea1b28 force convert header to string, sometimes addrs is Header object 2020-06-01 21:14:23 +02:00
Son NK
48998ff07e return nb_alias in GET /mailboxes 2020-05-31 11:52:01 +02:00
Son NK
0530a8aab5 return creation_timestamp in GET /mailboxes 2020-05-31 11:49:53 +02:00
Son NK
fa06c5cd4b make sure user cannot reuse the old password 2020-05-30 19:50:33 +02:00
Son Nguyen Kim
1e00ea300a
Merge pull request #214 from FozzieHi/reword
Reword some sentences.
2020-05-29 19:59:39 +02:00
George
a9460f120b
Change 2FA text 2020-05-29 13:51:56 +01:00
George
d10a993e9d
Fix typo 2020-05-29 13:46:50 +01:00
George
b9fd211acb
Fix lifetime user message 2020-05-29 13:46:06 +01:00
George
007768a5bb
User is able to view recovery codes. 2020-05-29 13:34:14 +01:00
George
c28484130b
Fix 2FA message 2020-05-29 13:33:14 +01:00
George
1c57dca4f3
Fix 2FA message 2020-05-29 13:32:55 +01:00
George
8635b37281
Add catch-all domains 2020-05-29 13:32:15 +01:00
George
9af4a6949a
Fix API key wording 2020-05-29 13:31:20 +01:00
Son NK
683b3e54d8 remove User.can_use_fido column: anyone can setup FIDO 2020-05-28 20:38:29 +02:00
George
a87f7e4be9
Change words 2020-05-27 21:53:48 +01:00
George
6f78802c0a
Rename text box requirements. 2020-05-27 21:52:45 +01:00
George
d9e29cc989
Reword 2FA page. 2020-05-27 19:49:13 +01:00
George
972f651eca
Reword pricing page. 2020-05-27 19:45:29 +01:00
George
aa8a8fafff
Change plan text. 2020-05-27 19:34:25 +01:00
Son NK
7a708ec41b Fix fido setup not working on Firefox
- disable form automatic submit when entering
- replace button by span to avoid automatic submit when clicking on the button on firefox
- check if key name is not empty
2020-05-27 20:28:31 +02:00
George
8c6cce9051
Change plan wording. 2020-05-27 19:04:16 +01:00
George
fd58557f19
Reword the settings page. 2020-05-27 18:48:05 +01:00
George
299e51cc08
Reword some sentences. 2020-05-27 18:23:33 +01:00
Son NK
78d9a88328 Add default field to GET /api/mailboxes 2020-05-27 14:18:20 +02:00
Son NK
2fb4b38e28 add alias.cannot_be_disabled 2020-05-27 14:11:32 +02:00
Son NK
eb6bfdd56f only show upgrade button to "free" lifetime user 2020-05-27 00:20:09 +02:00
Son NK
2f0a5aa429 add user.paid_lifetime column 2020-05-27 00:18:45 +02:00
Son NK
ba5d71dd75 Use FIRST_ALIAS_DOMAIN instead of EMAIL_DOMAIN when creating random alias 2020-05-26 09:07:36 +02:00
Son NK
62017592e1 Add ALIAS_DOMAINS config 2020-05-25 19:51:30 +02:00
Son Nguyen Kim
7d0ab3651f
Merge pull request #209 from SibrenVasse/rate_limit
Implement rate limiting
2020-05-25 12:18:19 +02:00
Sibren Vasse
31a1f94a5f Implement rate limiting 2020-05-25 11:39:33 +02:00
Son NK
b65328afe7 workaround browser cache for webauthn.js 2020-05-25 00:10:12 +02:00
Son NK
c68fad741b Improve how to use directory 2020-05-24 23:55:49 +02:00
Son NK
22c5513909 fix ForeignKeyViolation 2020-05-24 20:35:52 +02:00
Sibren Vasse
3c7e03f83d Add remember option to FIDO mfa path 2020-05-24 19:23:16 +02:00
Sibren Vasse
097ac771b0 Prevent OTP replay attacks by invalidating last token 2020-05-24 19:23:16 +02:00
Sibren Vasse
35bb1645a3 Allow user to disable mfa for browser for 30 days 2020-05-24 19:23:16 +02:00
Sibren Vasse
e15ab7f932 Add autofocus to login screen 2020-05-24 19:23:16 +02:00
Sibren Vasse
8c946d7026 Remove token when submitted value is incorrect 2020-05-24 19:23:16 +02:00
Son Nguyen Kim
eb60028b1f
Merge pull request #199 from developStorm/webauthn-multiple-keys
Support Multiple Keys for WebAuthn
2020-05-24 18:56:42 +02:00
Son NK
44fbffb679 add how to use for contact page 2020-05-23 23:21:00 +02:00
Son NK
0b1131a412 improve wording 2020-05-23 23:20:47 +02:00
Son NK
1e03f26cfa Return whether there's more notification in GET /api/notifications 2020-05-23 22:51:00 +02:00
Son NK
c47fb44c1e Pagination for contact page 2020-05-23 22:34:46 +02:00
Son NK
b01c91423f display notifications. user can mark a notification as read. 2020-05-23 19:54:06 +02:00
Son NK
dae357dd6b Add GET /api/notifications, /api/notifications/:notification_id 2020-05-23 19:54:06 +02:00
Son NK
a2e7de0bab Add Notification model 2020-05-23 19:54:06 +02:00
Son NK
dfb427e6da format 2020-05-23 19:50:36 +02:00
Son NK
9bb17533c1 no need to check for deletedAlias when changing mailbox or user email 2020-05-23 19:50:04 +02:00
Son NK
adce27b88b Add DomainDeletedAlias.get_by check when creating custom alias 2020-05-23 19:49:40 +02:00
Son NK
605e8d1f23 Fix DomainDeletedAlias check in Alias.create 2020-05-23 19:48:45 +02:00
Son NK
a4f8dc9c9d Use AliasInTrashError instead of DeletedAlias.get_by check when trying to create alias automatically 2020-05-23 19:45:26 +02:00
Son NK
c73820920b check DomainDeletedAlias when creating new alias 2020-05-23 19:35:18 +02:00
Son NK
1d598252e7 format 2020-05-23 19:18:50 +02:00
Son NK
6fc380c0d9 remove unused imports 2020-05-23 19:18:35 +02:00
Son NK
42b3666f45 use the alias v2 format for GET /api/aliases/:alias_id, POST /api/v2/alias/custom/new, POST /api/v2/alias/random/new 2020-05-23 19:18:24 +02:00
Son NK
6280512adf move get mailboxes to mailbox.py 2020-05-23 16:46:10 +02:00
Son NK
3eb6700232 user can cancel mailbox email change 2020-05-23 16:43:48 +02:00
Son NK
2f087de061 can update mailbox email 2020-05-23 16:40:28 +02:00
Son NK
a76ad0485f PUT /api/mailboxes/:mailbox_id: update mailbox 2020-05-23 16:26:26 +02:00
Son NK
5ae39c85c6 Add DELETE /api/mailboxes/:mailbox_id 2020-05-23 16:18:12 +02:00
Son NK
722bff319e add POST /api/mailboxes: create a new mailbox 2020-05-23 16:17:42 +02:00
Son NK
95ae2ec254 Add migrate_domain_trash() to move deleted alias to the correct trash 2020-05-23 12:17:50 +02:00
Son NK
2fbc2c171b check domain trash when creating custom alias in api 2020-05-23 12:02:01 +02:00
Son NK
40ec9f44a4 check if an alias is domain trash before creating it 2020-05-23 11:51:35 +02:00
Son NK
17acaec214 save deleted alias to domain trash if it belongs to a custom domain, otherwise global trash 2020-05-23 11:49:34 +02:00
Son NK
a3ff19dac4 create custom domain trash page 2020-05-23 11:48:43 +02:00
Son NK
bad3c39921 Add DomainDeletedAlias to store all deleted aliases for a domain 2020-05-23 11:44:15 +02:00
Son NK
a512fbc6e5 use POSTFIX_PORT instead of 25 if it's set 2020-05-21 20:43:12 +02:00
Son NK
817e4e0f87 add POSTFIX_PORT param 2020-05-21 20:43:12 +02:00
Son NK
6cc8dd548c use warning level for "emails were sent to in the last 24h" error 2020-05-21 20:07:04 +02:00
Son NK
281331bc51 use warning level for "Alias creation time expired" error 2020-05-21 20:05:54 +02:00
Son NK
cb036f651d do not call lower() on signed_suffix 2020-05-20 18:23:13 +02:00
Son NK
32a9bd9095 make sure to use lowercase for mailbox email 2020-05-20 18:16:18 +02:00
Son NK
93d972df09 make sure to use lowercase for alias email 2020-05-20 18:12:14 +02:00
Son NK
2217805d8c no need to move alias to global trash when a domain is deleted 2020-05-20 10:16:55 +02:00
devStorm
4fd7bf40ab
use dt filter 2020-05-18 14:05:03 -07:00
devStorm
7bd97e13b0
fido_model -> fidos 2020-05-18 13:55:38 -07:00
devStorm
ea914e0378
Rename FIDO->Fido 2020-05-18 13:54:05 -07:00
devStorm
7d1a744fe2
typo 2020-05-18 13:47:42 -07:00
devStorm
5c3d2c19c8
module level and can be prefixed 2020-05-18 13:46:13 -07:00
devStorm
c0a751ff13
Put button inside the form 2020-05-18 13:45:02 -07:00
Son NK
300ece2440 pycharm format 2020-05-18 19:15:20 +02:00
Son NK
e22f5d1c63 Improve wordings 2020-05-18 19:14:52 +02:00
Son Nguyen Kim
484aca1342
Merge pull request #197 from SibrenVasse/remove-reply-string
Remove reply string
2020-05-18 19:09:43 +02:00
devStorm
0a59dd5638
Activate key on enter 2020-05-18 05:27:57 -07:00
devStorm
d91fbb563a
Remove debug keys 2020-05-18 05:11:54 -07:00
devStorm
45023cd775
Copywriting consistency 2020-05-18 05:10:19 -07:00
devStorm
b64ed7ad63
key management page 2020-05-18 05:07:06 -07:00
devStorm
6ea17b4feb
remove debug code for sudo 2020-05-18 03:03:14 -07:00
devStorm
6509053fa8
named key 2020-05-18 02:55:41 -07:00
devStorm
0cdd0b3b07
black 2020-05-18 02:15:52 -07:00
devStorm
f79eb90d2a
sudo mode 2020-05-18 02:14:40 -07:00
devStorm
35f0c094fe
black 2020-05-18 01:04:45 -07:00
devStorm
419aa95f1f
more verify 2020-05-18 01:02:58 -07:00
devStorm
ec91d280bb
Verify 2020-05-18 00:08:06 -07:00
devStorm
2b8febe0b9
black 2020-05-18 00:06:24 -07:00
devStorm
9fb91c83e7
more setup 2020-05-18 00:01:27 -07:00
devStorm
f2f6e13af7
DB & Setup ready for multi-keys 2020-05-17 22:05:37 -07:00
Sibren Vasse
e905e151ca Create user setting for replacing reverse alias (default: false) 2020-05-17 19:40:46 +02:00
Son Nguyen Kim
1997c207ed
Merge pull request #196 from SibrenVasse/error_handling
Move api error handling to global error handler
2020-05-17 18:02:23 +02:00
Sibren Vasse
2d7bd225e9 Move api error handling to global error handler 2020-05-17 15:27:24 +02:00
Son NK
12b76dd33b Merge branch 'master' into alias-disable-pgp 2020-05-17 10:46:44 +02:00
Son NK
87d52216cb reformat 2020-05-17 10:35:11 +02:00
Son NK
20e66edbaa fix redirection to next page 2020-05-17 10:28:00 +02:00
Son NK
2e208ed505 display recovery code options on mfa and fido page 2020-05-17 10:27:20 +02:00
Son NK
da4e0bf384 create /auth/recovery page 2020-05-17 10:17:52 +02:00
Son NK
043ecd4fac redirect user to recovery codes page after MFA setup. Remove all recovery codes when user is no more MFA. 2020-05-17 10:11:38 +02:00
Son NK
3f7842ed3e create /recovery_code page 2020-05-17 10:05:55 +02:00
Son NK
aaa1a869ea add RecoveryCode model 2020-05-17 09:59:07 +02:00
Son NK
13bb9810b6 use can disable PGP on an alias 2020-05-16 20:51:07 +02:00
Son NK
5e6454e6de use a different class for alias toggle 2020-05-16 20:51:07 +02:00
Son NK
b167297808 Support disable_pgp in update alias endpoint 2020-05-16 20:51:07 +02:00
Son NK
95213b6d85 Add alias.disable_pgp column 2020-05-16 20:51:07 +02:00
Son NK
62ed7def00 fix wording 2020-05-16 20:50:27 +02:00
Sibren Vasse
a5f24e0227 Add more From: sender formatting options 2020-05-16 18:44:31 +02:00
Son NK
a4d17e7afc use multiple-select instead of bootstrap-select 2020-05-16 12:17:26 +02:00
Son NK
362d101bab Merge branch 'master' into multiple-mailboxes
# Conflicts:
#	app/dashboard/templates/dashboard/custom_alias.html
#	email_handler.py
#	templates/emails/com/newsletter/mobile-darkmode.html
2020-05-16 11:28:25 +02:00
Son Nguyen Kim
d97b52184e
Merge pull request #186 from SibrenVasse/dark_flash
Frontend improvements
2020-05-15 23:37:30 +02:00
Son NK
7ed77a66b2 format 2020-05-15 23:18:42 +02:00
Son NK
2978bfb281 Fix user cannot change personal email back and better naming.
Happens when user
- changes their personal email
- wants to change back: they can't as this email is already used as mailbox
2020-05-15 23:18:30 +02:00
Son NK
aba0a534c0 When a mailbox is deleted, only put alias that has this mailbox as single mailbox to global trash 2020-05-15 16:47:55 +02:00
Son NK
ff1aa72b1d lazy load alias._mailboxes and alias.mailbox 2020-05-15 16:46:02 +02:00
Son NK
0b652cf3f8 remove AliasMailbox.user_id column 2020-05-15 16:35:57 +02:00
Son NK
355b4dc2cf remove too verbose log 2020-05-15 15:30:19 +02:00
Sibren Vasse
012bc52694 Fix formatting 2020-05-15 13:42:48 +02:00
Sibren Vasse
e44d92705c Add missing last_page check (index) Move disabled class to correct element (alias_log) 2020-05-15 13:42:48 +02:00
Sibren Vasse
cb269a1bbe Change pagination style 2020-05-15 13:42:48 +02:00
Son Nguyen Kim
4d87df01a3
Merge pull request #181 from developStorm/webauthn-patch-1
Auto activate WebAuthn authentication
2020-05-14 20:39:49 +02:00
Son Nguyen Kim
50cdbc2b74
Merge pull request #183 from simple-login/api-error
API Error handling for 404 and 500
2020-05-14 20:36:53 +02:00
Son Nguyen Kim
2def79e689
Merge pull request #187 from SibrenVasse/domain_check
On domain check fail, update database
2020-05-14 20:36:02 +02:00
Sibren Vasse
c7530947d3 On domain check fail, update database 2020-05-14 15:05:04 +02:00
Son NK
3a1af9f424 fall back for UnicodeDecodeError 2020-05-14 13:27:04 +02:00
Son NK
ee19957d5d Add 405 error 2020-05-13 23:28:00 +02:00
Son NK
5c8c741a6a API Error handling for 404 and 500 2020-05-13 22:02:38 +02:00
Son NK
e6c37cad0b Handle case where data["receipt"]["in_app"] is empty 2020-05-13 21:41:34 +02:00
Son NK
2b71fee712 use warning log level for "No existing AppleSub" error 2020-05-13 21:38:25 +02:00
devStorm
a9967c9a4d
Auto activate WebAuthn authentication 2020-05-11 19:17:51 -07:00
Son NK
591fee301e prettify dns page 2020-05-11 23:23:08 +02:00
Son NK
70e842789e make pages compatible with dark-theme 2020-05-11 23:22:15 +02:00
Son NK
cbfeee4e28 display list of mailboxes in alias contact manager 2020-05-10 20:09:54 +02:00
Son NK
8f35290a21 fix overflow error when there are several mailboxes 2020-05-10 20:09:54 +02:00
Son NK
bc55b98e12 display mailbox that a bounce affects 2020-05-10 20:09:54 +02:00
Son NK
0f09ef681c Add EmailLog.bounced_mailbox_id 2020-05-10 20:09:54 +02:00
Son NK
4b479defa8 Support alias having multiple mailboxes in forward phase 2020-05-10 20:09:54 +02:00
Son NK
e704497b0f make sure prefix is not empty before submitting 2020-05-10 20:09:54 +02:00
Son NK
e52f2ca6de Support multiple mailboxes in custom alias page 2020-05-10 20:09:54 +02:00
Son NK
b375f87d2c User can update multiple mailboxes 2020-05-10 20:09:54 +02:00
Son NK
90dae2e3c8 Support mailbox_ids in PUT /api/aliases/:alias_id 2020-05-10 20:09:54 +02:00
Son NK
165d986561 add mailboxes to GET /api/v2/aliases 2020-05-10 20:09:54 +02:00
Son NK
684e8983ef Add AliasMailbox table 2020-05-10 20:09:54 +02:00
Son NK
47430725a7 improve doc 2020-05-10 20:09:54 +02:00
Son Nguyen Kim
8535853730
Merge pull request #177 from simple-login/darkmode-2
Dark mode implementation
2020-05-10 20:09:14 +02:00
doanguyen
7ef78c991f Dark mode implementation
* Using CSS variable as a solution
* The new darkmode css is now live in another file so that upgarding
dashboard.css doesn't affect the darkmode itself
* Used a naive darkmode controller by client javascript. No persistance
state is stored in the backend at the moment
2020-05-10 16:52:14 +02:00
Son NK
92cd75f14a Add DISABLE_ONBOARDING param 2020-05-10 14:43:41 +02:00
Son NK
cde8452e5b Fix Google oauth_state KeyError 2020-05-10 11:34:32 +02:00
Son NK
9ddb8ff2d4 add more info to spf alert email. Set the max number of emails per 24h to 1 2020-05-10 10:37:56 +02:00
Son NK
ac6d1c1106 able to set nb max alert in send_email_with_rate_control 2020-05-10 10:34:39 +02:00
Son NK
8244fa01e7 only show advanced options when spf_available 2020-05-10 09:21:55 +02:00
Son NK
0bfd6b3ec7 remove deleted_alias page 2020-05-10 09:20:08 +02:00
Son NK
526df4ea09 fix DeletedALias 2020-05-09 23:39:57 +02:00
Son NK
06c1128ee6 reformat 2020-05-09 23:12:46 +02:00
Son NK
178515dbde alert user when spf fails 2020-05-09 23:00:30 +02:00
Son NK
4e4eda4efa display enforce-SPF option. Change wording. 2020-05-09 22:29:32 +02:00
Son NK
b95b758692 Optimize imports 2020-05-09 20:49:38 +02:00
Son NK
d9f1fb9130 Create send_email_with_rate_control(): same as send_email() but with rate control 2020-05-09 20:43:17 +02:00
Son NK
7fdef16f37 add SentAlert model to keep track of alert emails sent to user 2020-05-09 20:40:36 +02:00
Son Nguyen Kim
b95d815e5c
Merge pull request #168 from simple-login/global-trash
Global trash
2020-05-09 18:08:51 +02:00
Son Nguyen Kim
5fa2a86f23
Merge pull request #170 from developStorm/webauthn-patch
🐛 WebAuthn bug fixes
2020-05-09 18:05:34 +02:00
Son Nguyen Kim
54b32be321
Merge pull request #174 from simple-login/spf-update
Spf update
2020-05-09 18:04:43 +02:00
Son Nguyen Kim
16d8737770
Merge pull request #171 from SibrenVasse/secure_cookie
Session cookie flags.
2020-05-09 18:03:15 +02:00
Son NK
295c2fd03f Hide the SPF toggle 2020-05-09 17:34:59 +02:00
Son NK
2d8f056e11 Fix wording 2020-05-09 17:26:26 +02:00
Son Nguyen Kim
e23887bb37
Merge pull request #164 from SibrenVasse/spf
Enforce SPF
2020-05-09 14:37:09 +02:00
Sibren Vasse
001079bdc5 Enforce SPF 2020-05-09 14:15:08 +02:00
Sibren Vasse
e7c3a127b8 Set samesite and secure attributes of session cookie. Enable strong session protection. 2020-05-09 14:13:37 +02:00
devStorm
d236f906ad
🐛 WebAuthn bug fixes
- User may not have name
- user_verification should be discouraged to work on iOS
2020-05-08 14:21:38 -07:00
Son NK
e68eab44b0 allow user who has TOTP enabled to continue using the mobile app 2020-05-08 20:23:13 +02:00
Son NK
75a28c53cf fix grammar mistake 2020-05-08 13:40:21 +02:00
Son NK
ad194c46f2 remove lifetime licence in pricing page 2020-05-08 12:38:42 +02:00
Son NK
cf35fe2646 Put all aliases belonging to a domain to global trash when the domain is deleted 2020-05-07 22:50:45 +02:00
Son NK
9898d85722 Put all aliases belonging to a directory to global trash when this directory is deleted 2020-05-07 22:42:39 +02:00
Son NK
7a1f944887 Put all aliases belonging to a mailbox to global trash when this mailbox is deleted 2020-05-07 22:40:53 +02:00
Son NK
0441e5e2a9 Remove DeletedAlias.user_id column 2020-05-07 22:40:30 +02:00
Son NK
5b4eafce50 fix formatting 2020-05-07 22:28:49 +02:00
Son NK
2f5a03dcad make sure to add alias into global trash when deleting it 2020-05-07 22:27:27 +02:00
Son NK
300f1d7032 Override Alias.create to check in global trash first 2020-05-07 22:23:36 +02:00
Son Nguyen Kim
18e50e4a28
Merge pull request #167 from simple-login/disable-social-login-signup
disable sign-up via social login
2020-05-07 22:02:08 +02:00
Son NK
ccb30a2def disable sign-up via social login 2020-05-07 22:01:14 +02:00
Son Nguyen Kim
a785e664e9
Merge pull request #165 from simple-login/same-mailbox-different-user
Same mailbox different user
2020-05-07 21:56:36 +02:00
Son NK
f929f23acc return 403 if user enables FIDO 2020-05-07 21:54:36 +02:00
Son NK
c85ea1538e Allow the same mailbox used by different user 2020-05-07 21:47:11 +02:00
Son NK
f8e896541d replace Mailbox.email unique constraint by (email, user_id) 2020-05-07 21:46:16 +02:00
Son NK
806f7016ae fix: wrongly set alias custom_domain when custom_domain is in EMAIL_ALIAS 2020-05-07 20:48:11 +02:00
Son NK
101ab408b2 black format 2020-05-07 18:01:12 +02:00
Son NK
4709237b92 only user with can_use_fido can use fido 2020-05-07 17:58:24 +02:00
Son NK
18d62a81d1 add User.can_use_fido 2020-05-07 17:56:25 +02:00
Son NK
84c529c867 optimize import 2020-05-07 17:49:29 +02:00
Son NK
fe1262686e black format 2020-05-07 17:48:44 +02:00
Son Nguyen Kim
e35fb631cf
Merge pull request #159 from developStorm/master
Implement WebAuthn
2020-05-07 17:47:06 +02:00
devStorm
2290a90b09
Use try-else 9b8340f3e0 (r421465450) 2020-05-07 05:41:34 -07:00
devStorm
b0c39635a5
Remove credential_id variable 2020-05-07 05:37:03 -07:00
devStorm
e4895b52a0
fix SITE_URL 2020-05-07 05:34:17 -07:00
devStorm
f7e3320242
model - fido_enabled 2020-05-07 05:32:52 -07:00
devStorm
9b8340f3e0
Black formatted 2020-05-07 02:53:28 -07:00
devStorm
0052dad13e
Do not show full error msg to user 2020-05-07 02:48:56 -07:00
devStorm
282cbe25a3
Calculate RP_ID in config 2020-05-07 02:39:30 -07:00
devStorm
c38b3c768c
fix SimpleLogin brand name 2020-05-07 02:34:19 -07:00
devStorm
3ab3f819b7
Make RP_ID a constant 2020-05-07 02:33:24 -07:00
devStorm
b8b1313db9
typo 'infomation' 2020-05-07 02:31:42 -07:00
Son NK
16de59a9f5 mailbox can be other user's email 2020-05-06 12:34:52 +02:00
Son NK
35b1972730 increase the expired alias creation session to 600 secs 2020-05-06 10:10:47 +02:00
Son NK
d9e9a54082 add more info in "alias expire" error 2020-05-06 10:09:17 +02:00
Son NK
e9d03d1d4b Handle the case where a deleted mailbox verification link is clicked 2020-05-06 10:06:05 +02:00
devStorm
ced02a8f20
remove debug code 2020-05-05 14:26:26 -07:00
devStorm
fc001cfc24
fix exception handling 2020-05-05 14:13:01 -07:00
devStorm
370b71ebd3
Setting page options 2020-05-05 05:28:27 -07:00
devStorm
9da6054ec0
Allow to use either OTP or FIDO for 2FA 2020-05-05 05:16:33 -07:00
devStorm
650d6e35f0
FIDO login middleware 2020-05-05 05:03:29 -07:00
Son NK
103418dff7 Strip off http:// or https:// prefix in domain 2020-05-05 12:46:32 +02:00
Son NK
3eb904c882 set max length for domain 2020-05-05 12:46:11 +02:00
devStorm
286b1143ca
Store sign count 2020-05-05 03:16:52 -07:00
devStorm
705941b8b8
Unlink security key 2020-05-05 02:20:52 -07:00
devStorm
a32b69078f
Key registration (Backend) 2020-05-05 01:58:42 -07:00
devStorm
3ce4dfb371
Security key setup page (front-end) 2020-05-05 01:32:49 -07:00
Sibren Vasse
0e4799030d Add default alias name to custom domain 2020-05-03 19:35:02 +02:00
Son NK
4ca6b02047 fix DKIM cname check 2020-05-03 12:48:42 +02:00
Son NK
753e82d490 Add DMARC 2020-05-03 12:01:31 +02:00
Son NK
a270987f70 Add CustomDomain.dmarc_verified column 2020-05-03 11:51:22 +02:00
Son NK
6a42673229 remove the copy button, use CNAME for DKIM 2020-05-03 11:19:14 +02:00
Son NK
625def2367 use 2-column layout for api key, domain, directory, mailbox 2020-05-03 10:48:21 +02:00
Son NK
8a147e36a7 create how-to-use section for api key, domain, directory, mailbox 2020-05-03 10:47:29 +02:00
Son NK
fe73005d49 fix referral display on mobile 2020-05-03 10:46:35 +02:00
Son NK
eff0eb9e32 can delete referral 2020-05-02 18:14:09 +02:00
Son NK
1667356742 User can update/create referral name 2020-05-02 18:11:10 +02:00
Son NK
3ce3a05c7b Add referral name 2020-05-02 18:08:05 +02:00
Son NK
62bec84900 Add obsolete warnings 2020-05-02 16:23:40 +02:00
Son NK
d32669f515 Add /api/v2/alias/custom/new 2020-05-02 16:22:17 +02:00
Son NK
72e9b52b29 Add /api/v4/alias/options 2020-05-02 16:21:18 +02:00
Son NK
abeb246b2c add alias suffix anti-tampering to oauth authorize 2020-05-02 12:50:19 +02:00
Son NK
9874422700 refactor custom_alias: create available_suffixes() 2020-05-02 12:34:11 +02:00
Son NK
c7ebee2118 Fix suggested_emails: only return enabled aliases 2020-05-02 12:28:44 +02:00
Son NK
8467d2b934 fix <select>: add "form-control" class on all <select> 2020-05-02 12:28:20 +02:00
Son NK
0edcc25289 refactor verify_prefix_suffix: remove user_custom_domains param 2020-05-02 12:27:54 +02:00
Son NK
db92003e5f Anti tamper: avoid submitting any suffix 2020-05-02 12:15:03 +02:00
Son NK
9a4df685da remove referral section from Settings 2020-05-01 18:32:35 +02:00
Son NK
95a90a9979 use log warning for verifyReceipt 2020-05-01 18:31:06 +02:00
Son NK
ef58b935d4 remove unused code 2020-04-30 22:39:31 +02:00
Son NK
7277c30735 use bootbox instead of notie 2020-04-30 22:37:39 +02:00
Son NK
9be813b96d fix naming 2020-04-29 16:57:28 +02:00
Son NK
8ae51998f5 take into account MacApp 2020-04-29 15:50:06 +02:00
Son NK
9c60cd3d88 Add MACAPP_APPLE_API_SECRET param 2020-04-29 15:47:03 +02:00
Son NK
b750c6e011 prettify some pages 2020-04-28 20:25:40 +02:00
Son NK
0bb311464c remove custom-select as it's not displayed properly 2020-04-28 20:23:24 +02:00
Son NK
cc6293d698 Order mailbox by created order 2020-04-28 20:22:37 +02:00
Son NK
d46e8e52a4 Order directory by created order 2020-04-28 20:09:57 +02:00
Son NK
d453c83974 order api key by created order 2020-04-28 20:08:45 +02:00
Son NK
e1d8c55a66 add mention of MyDigiPassword to the 2FA app list 2020-04-28 19:52:18 +02:00
Son NK
6acbf2f8dc do not accept email without MX record 2020-04-27 23:08:34 +02:00
Son NK
96366ddcfa Deprecate social login, prettify some pages 2020-04-27 23:08:21 +02:00
Son NK
a069fe7b6a do not return error when user doesn't exist on forgot_password 2020-04-27 22:57:55 +02:00
Son NK
26a094469b remove logout.html 2020-04-27 22:56:44 +02:00
Son Nguyen Kim
af9e93ea30
Merge pull request #143 from simple-login/check-mx
Check MX record of email domain to see if it is disposed
2020-04-27 20:54:28 +02:00
Son NK
fd90811e85 Prettify alias contact manager 2020-04-27 19:58:55 +02:00
Son NK
acacab887e Check MX record of email domain to see if it is disposed 2020-04-27 18:17:50 +02:00
Son NK
01cc07b9fe change the general stats: display #alias, forward, reply, block 2020-04-27 09:30:08 +02:00
Son NK
23c17b8cff Fix filker reset when going to next page 2020-04-27 09:29:27 +02:00
Son NK
131a0473fd Move alias activity details into collapsed section 2020-04-26 18:53:00 +02:00
Son NK
76b4611bc2 Show global stats 2020-04-26 18:49:23 +02:00
Son NK
c350bca488 collapsible filters 2020-04-26 18:24:43 +02:00
Son NK
18d1b59845 add vuejs to package.json 2020-04-26 17:51:47 +02:00
Son NK
7b2e4da87f Support alias filter 2020-04-26 13:04:27 +02:00
Son NK
12714ae601 Add Only enabled alias sorting option 2020-04-26 12:31:10 +02:00
Son NK
4c64393df1 Add other sorting options: A-Z, Z-A, new-old, old-new 2020-04-26 12:25:12 +02:00
Son NK
7021fd650b User can update alias name 2020-04-26 10:41:08 +02:00
Son NK
63af3297f7 return alias name in GET /api/v2/aliases 2020-04-26 10:38:58 +02:00
Son NK
7a2fc007e8 Accept "name" in PUT /api/aliases/:alias_id 2020-04-26 10:38:16 +02:00
Son NK
22bfb4082e add alias.name column 2020-04-26 10:37:40 +02:00
Son NK
04713eff3d show alias creation date in "more" section if not shown yet 2020-04-26 10:02:10 +02:00
Son NK
a422f33323 Add GET /api/mailboxes 2020-04-25 23:42:56 +02:00
Son NK
88ddca54c1 return mailbox in GET /api/v2/aliases 2020-04-25 23:42:56 +02:00
Son NK
ee7e783f2a keep sort param when redirecting back to index 2020-04-25 15:31:20 +02:00
Son NK
a2666cc4fe remove "set-mailbox" form post 2020-04-25 15:30:19 +02:00
Son NK
1a081f87c4 Remove "set-note" post form 2020-04-25 15:28:25 +02:00
Son NK
fb9dc23529 remove form POST switch-email-forwarding 2020-04-25 15:26:07 +02:00
Son NK
bbcd4fc355 remove "trigger-email" 2020-04-25 15:21:35 +02:00
Son NK
af431c3d8b Handle alias can be None when deleting 2020-04-25 15:16:46 +02:00
Son NK
97544ac760 Update mailbox using ajax
refactor: return Mailbox in User.mailboxes()
2020-04-25 13:49:40 +02:00
Son NK
489153a750 Support update mailbox_id in PUT /aliases/:aliasID 2020-04-25 13:49:40 +02:00