Commit Graph

2710 Commits

Author SHA1 Message Date
Carlos Quintana bef71b7be3
Update contact instructions on test_email 2022-05-13 10:55:13 +02:00
Carlos Quintana 933237e73b
Implement "Send me an email" button on final extension onboarding 2022-05-13 08:53:31 +02:00
Carlos Quintana 710f4d0709
Start adding extension onboarding pages 2022-05-13 08:21:35 +02:00
Adrià Casajús 52cd9d2692
Simplify condition 2022-05-12 19:02:06 +02:00
Adrià Casajús 75dd20ebcc
Fix condition 2022-05-12 19:01:04 +02:00
Adrià Casajús 0c896100a4
Update html 2022-05-12 18:46:42 +02:00
Adrià Casajús bfb1ae6371
PR comments 2022-05-12 18:42:16 +02:00
Adrià Casajús 39b035a123
Added docs 2022-05-12 18:36:12 +02:00
Adrià Casajús 9066116b7e
Simplified method 2022-05-12 18:33:13 +02:00
Adrià Casajús 4d07bc9d31
Moved global flag to config 2022-05-12 18:30:46 +02:00
Adrià Casajús caff70ea38
Set global config to enable/disable feature 2022-05-12 16:35:51 +02:00
Carlos Quintana 975eacc969
Remove config.SHA1 in favour of build_info.SHA1 2022-05-12 16:26:04 +02:00
Carlos Quintana 9959848d74
Use python version file 2022-05-12 16:21:36 +02:00
Carlos Quintana c3792dc333
Obtain git information from version file 2022-05-12 16:11:20 +02:00
Adrià Casajús 5dde39eb37
Prevent free users from creating reverse-alias 2022-05-12 13:20:05 +02:00
Son d2fad44003 create a constant for paddle grace days 2022-05-11 19:03:27 +02:00
Son 2573c68e82 use a grace period of 14 days for paddle subscription 2022-05-11 17:24:52 +02:00
Carlos Quintana e09d7a2b71
Fix open redirect 2022-05-11 14:50:37 +02:00
Adrià Casajús 48554369bd
Get the mailbox if possible from the email log 2022-05-10 23:34:57 +02:00
Adrià Casajús d2111d4768
Added doc comments 2022-05-10 18:26:56 +02:00
Adrià Casajús 6c13f7de05
refactored to reduce duplicated codepaths 2022-05-10 18:23:14 +02:00
Adrià Casajús a2f141d3cc
Get recipient address from the complaint report when possible 2022-05-10 17:54:51 +02:00
Son 44b0aba4f3 fix verp generation 2022-05-10 11:19:25 +02:00
Carlos Quintana 5b60ef1e35
Preserve next_url in oauth login 2022-05-09 12:20:14 +02:00
Son Nguyen Kim 7e00dfddc3
Merge pull request #954 from simple-login/fix-proton-login
allow the code to run without proton partner
2022-05-09 08:25:07 +02:00
Carlos Quintana c95bfb80a2
Add OAuth hook for checking the status code 2022-05-06 14:41:52 +02:00
Son b720dfc381 allow the code to run without proton partner 2022-05-05 15:05:39 +02:00
Carlos Quintana 8d4683e59e
Add login with proton 2022-05-05 12:20:55 +02:00
Adrià Casajús c48247e852
Remove deprecated verp email validation 2022-05-04 16:17:51 +02:00
Adrià Casajús 66c6db773f
Align db with models for the audit_log 2022-05-03 16:48:54 +02:00
Adrià Casajús 6936d99779
Set default state for provider complaint 2022-05-03 14:16:04 +02:00
Adrià Casajús 56159765d9
Rename 2022-05-02 11:53:32 +02:00
Adrià Casajús ba46ce5208
Format 2022-04-29 16:02:45 +02:00
Adrià Casajús baddc0fe67
Fix: sqlalchemy only suports str as server_default 2022-04-29 15:58:48 +02:00
Adrià Casajús e62022f032
Merge remote-tracking branch 'origin/master' into ac-store-contact-bounces
* origin/master: (29 commits)
  PR comments
  support "enabled" param in /api/v2/aliases
  Update PGPy to 0.5.4 to allow for python 3.10
  Also install libpq-dev
  Fix python 3.10
  Add methods to check if alias will be auto-created
  PR comments
  Allow sending messages in a background thread
  Use the proper import for newrelic agent
  not send emails to inform about an alias can't be created to disabled user
  prevent disabled user from using the api
  make sure disabled user can't create new alias
  Put version version between " so it is 3.10 instead of 3.1
  Add workflow for python 3.10
  Remove it for all creds
  Do not send the transports to the js part since we have not stored them previously
  move help to menu on small screen
  only show the help button on desktop
  use another logo for mobile
  add new parameter disabled in /GET /api/v2/aliases
  ...
2022-04-29 15:56:09 +02:00
Adrià Casajús cca709ed48
formatting 2022-04-29 15:50:52 +02:00
Adrià Casajús 04399e827e
Merge pull request #940 from simple-login/ac-check-auto-create
Add methods to check if an alias will be auto-created
2022-04-29 12:05:18 +02:00
Adrià Casajús 1f040fcebc
PR comments 2022-04-28 18:43:10 +02:00
Son a2c477a816 support "enabled" param in /api/v2/aliases 2022-04-28 17:24:35 +02:00
Adrià Casajús 46646f4ee2
Merge pull request #932 from simple-login/ac-fix-webauthn-transport
Do not send the transports to the js part since we have not stored them previously
2022-04-28 16:53:00 +02:00
Adrià Casajús bb4207c3a1
Merge pull request #938 from simple-login/ac-fix-invalid-import
Use the proper import for newrelic agent
2022-04-28 16:52:09 +02:00
Adrià Casajús 74b31eac66
PR comments 2022-04-28 15:24:45 +02:00
Adrià Casajús 7fd9bdc5a7
PR comments 2022-04-28 15:23:52 +02:00
Adrià Casajús 8e35a09788
Add methods to check if alias will be auto-created 2022-04-28 15:10:38 +02:00
Adrià Casajús f9a390c1a2
PR comments 2022-04-28 15:03:14 +02:00
Adrià Casajús 9a04376894
Allow sending messages in a background thread 2022-04-28 14:43:24 +02:00
Adrià Casajús 25c3626226
Use the proper import for newrelic agent 2022-04-28 13:02:45 +02:00
Son Nguyen Kim 93ae82aa46
Merge pull request #936 from simple-login/disable-user-cannot-use-api
prevent disabled user from using the api
2022-04-28 12:13:14 +02:00
Son 845b53b03f not send emails to inform about an alias can't be created to disabled user 2022-04-28 12:10:40 +02:00
Son 7b7cb0b571 prevent disabled user from using the api 2022-04-27 16:24:38 +02:00
Son eab7606f93 make sure disabled user can't create new alias 2022-04-27 16:06:54 +02:00
Adrià Casajús 657cae53a6
Remove it for all creds 2022-04-26 18:44:57 +02:00
Adrià Casajús ff33380bed
Do not send the transports to the js part since we have not stored them previously 2022-04-26 18:41:12 +02:00
Adrià Casajús 5208c549fa
Rename TransactionalComplaint to ProviderComplaint 2022-04-25 14:40:42 +02:00
Son 58b332b7bc add new parameter disabled in /GET /api/v2/aliases 2022-04-25 09:22:29 +02:00
Adrià Casajús fcd2ab6fed
Set data to non-nullable 2022-04-22 14:53:04 +02:00
Adrià Casajús 89d94963d7
PR comments 2022-04-22 14:49:03 +02:00
Son Nguyen Kim 5053d9f1f5
Merge pull request #918 from simple-login/handle-error-as-bytes
handle the AttributeError that can also be raised by as_bytes()
2022-04-22 10:51:55 +02:00
Son 68ec159d91 catch all exception in to_bytes 2022-04-22 10:20:43 +02:00
Son Nguyen Kim 2bcc22c391
Merge pull request #906 from simple-login/ac-hash-change
Support python>3.8 for verp emails and reduce size by truncating hmac and storing time in minutes since 2022-01-01
2022-04-22 10:11:31 +02:00
Adrià Casajús 0f14c3e74e
Move some comments as docstrings 2022-04-21 15:25:06 +02:00
Adrià Casajús 112b2c77c3
Add backwards compat with shake128 signed verp emails 2022-04-21 11:30:39 +02:00
Son 0f7ccec51a handle the AttributeError that can also be raised by as_bytes() 2022-04-21 11:28:11 +02:00
Adrià Casajús c573ef655e
Store bounces in the reply phase to prevent abuse 2022-04-21 11:23:58 +02:00
Son bddb5e500a able to handle several noreply addresses
This prepares the change of noreply@simplelogin.co to noreply@simplelogin.io
2022-04-21 08:59:46 +02:00
Adrià Casajús af24876c71
Use sha3 and truncate to 8 bytes and store time in minutes starting at 2022-01-01 2022-04-20 20:46:35 +02:00
Son Nguyen Kim 9b624edf11
Merge pull request #901 from simple-login/no-dot-in-reverse-alias
use _ instead of . in reverse alias
2022-04-19 18:24:37 +02:00
Adrià Casajús bad9202cf8
Calculate proper padding when decoding base32 2022-04-19 10:50:25 +02:00
Son Nguyen Kim 259851a04e
Merge pull request #860 from acasajus/remove-softfail
Generate secure transactional emails from address
2022-04-19 09:28:47 +02:00
Son 8dfdac79bf use _ instead of . in reverse alias
to avoid AC_FROM_MANY_DOTS SpamAssassin rule
2022-04-15 17:34:29 +02:00
Adrià Casajús d28980a810
Format 2022-04-14 18:27:20 +02:00
Adrià Casajús 4bcc728222
Merge remote-tracking branch 'origin/master' into remove-softfail
* origin/master: (34 commits)
  fix flake8
  add link to the anti phishing page
  improve email wording
  Move tests
  Only send enum names
  Only send enum name for events intead of the full class.enum
  Also track login and register events from the api routes
  typo
  revert changes
  Added fix for parts that are not messages
  Add missing formatting place
  Revert unwanted changes
  Do not show an error if we receive an unsubscribe from a different address
  Revert changes to pgp_utils
  fix import
  Send newrelic events on login and register
  PR changes
  format
  Move dmarc management to its own file
  ignore VERPTransactional
  ...
2022-04-14 18:25:03 +02:00
Son debed67c68 return whether a domain is custom or primary in GET /api/v5/alias/options 2022-04-14 17:28:40 +02:00
Son a957cbb3c0 fix flake8 2022-04-14 09:47:58 +02:00
Son 1709de93ef add link to the anti phishing page 2022-04-14 09:28:26 +02:00
Son 95770de4d5 improve email wording 2022-04-14 09:23:49 +02:00
Adrià Casajús ca93c8e603
Merge remote-tracking branch 'origin/master' into ac-dmarc-reply-phase
* origin/master:
  Only send enum name for events intead of the full class.enum
  Also track login and register events from the api routes
  typo
  revert changes
  Added fix for parts that are not messages
  Add missing formatting place
  Revert unwanted changes
  Do not show an error if we receive an unsubscribe from a different address
  Revert changes to pgp_utils
  Send newrelic events on login and register
2022-04-12 12:48:46 +02:00
Adrià Casajús 0f91effce9
Only send enum names 2022-04-12 09:34:05 +02:00
Adrià Casajús 9928525cf9
Only send enum name for events intead of the full class.enum 2022-04-12 09:04:57 +02:00
Son Nguyen Kim 7a0fd34823
Merge pull request #886 from simple-login/ac-fix-unauthorized-email
Do not assume all parts in multipart messages are processed as messages
2022-04-11 17:54:35 +02:00
Adrià Casajús 2b149747f5
Also track login and register events from the api routes 2022-04-11 16:11:01 +02:00
Adrià Casajús 8da4293305
typo 2022-04-11 16:04:28 +02:00
Adrià Casajús c16fd25b2e
Added fix for parts that are not messages 2022-04-11 15:52:31 +02:00
Adrià Casajús ae8824a356
Revert unwanted changes 2022-04-11 14:20:56 +02:00
Adrià Casajús 7649f6b822
Do not show an error if we receive an unsubscribe from a different address 2022-04-11 14:19:32 +02:00
Adrià Casajús dc59b61fba
Revert changes to pgp_utils 2022-04-11 10:20:02 +02:00
Adrià Casajús f333bb00c5
fix import 2022-04-11 10:19:25 +02:00
Adrià Casajús 60a070731e
Send newrelic events on login and register 2022-04-11 10:18:22 +02:00
Adrià Casajús 7fdd7d7f6a
PR changes 2022-04-11 09:28:57 +02:00
Adrià Casajús 0dbe504329
format 2022-04-08 14:23:59 +02:00
Adrià Casajús 8df6d98522
Merge remote-tracking branch 'origin/master' into ac-dmarc-reply-phase 2022-04-08 11:34:12 +02:00
Adrià Casajús 68e58c0876
Move dmarc management to its own file 2022-04-08 11:28:14 +02:00
Adrià Casajús b128d64563
Moved spamd check to a custom file and cached the result 2022-04-07 19:17:37 +02:00
Adrià Casajús 0e3c46d944
Save original envelope for debugging 2022-04-06 17:31:46 +02:00
Adrià Casajús 8ca1be0166
Apply dmarc policy to the reply phase 2022-04-06 12:51:04 +02:00
Adrià Casajús 451e69a3c4
More rebase fixes 2022-03-30 16:09:17 +02:00
Adrià Casajús dce9e633bf
fix 2022-03-30 16:02:05 +02:00
Adrià Casajús db06ce0ae6
Create signed email addresses for VERP emails 2022-03-30 16:00:02 +02:00
Son 67c2c6afad add warning to email content when dmarc softfail 2022-03-30 19:48:07 +07:00
Son Nguyen Kim 110f2f2f2c
Merge pull request #861 from acasajus/spf-dmarc-backscatter
Reduce backscatter by checking return-path domain SPF status
2022-03-30 19:44:39 +07:00
Son Nguyen Kim f7a98bc7d2
Merge pull request #862 from simple-login/ac/sanitize-next
Properly validate //host.com urls
2022-03-30 19:40:36 +07:00
Adrià Casajús 83fc8964a8
PR comments 2022-03-30 09:53:35 +02:00
Son Nguyen Kim d561bae7dd
Merge pull request #864 from simple-login/ac/insecure-random
Replace using random with secrets for security purposes
2022-03-30 11:49:33 +07:00
Adrià Casajús 1555bc6346
fix test 2022-03-29 21:03:55 +02:00
Adrià Casajús 19e87a7156
More random to secrets 2022-03-29 18:42:28 +02:00
Adrià Casajús b15facb6e4
Use secrets instead of random 2022-03-29 18:40:52 +02:00
Adrià Casajús 97ef5ff765
Fix oauth redirect when clientid is invalid 2022-03-29 18:37:01 +02:00
Adrià Casajús a9e31cff26
Fix tests 2022-03-29 18:34:13 +02:00
Adrià Casajús c5b0f5304e
Format 2022-03-29 18:18:11 +02:00
Adrià Casajús d6df5e0ea0
Add limiters to auth routes 2022-03-29 18:14:13 +02:00
Adrià Casajús e91fd26964
Sanitized missing places 2022-03-29 18:03:18 +02:00
Adrià Casajús fe9161b101
Properly validate //host.com urls when redirecting after receiving a next param 2022-03-29 17:53:00 +02:00
Adrià Casajús 085c166cb2
Replace 5XX with 2XX for return path that fail SPF check 2022-03-29 15:09:10 +02:00
Adrià Casajús 7d36256b7c
Check return-path spf record before bouncing a message 2022-03-29 10:52:11 +02:00
Son 0d7d56c0ea send email when an email is put to quarantine 2022-03-25 18:02:17 +01:00
Son 63b1100a8b log event when there's no dmarc result 2022-03-25 16:19:11 +01:00
Son ce2d2a3b3a fix case where header isn't string 2022-03-25 16:17:58 +01:00
Son 32fd65b69b add more log for alias transfer 2022-03-23 18:33:33 +01:00
Son Nguyen Kim 3d30870395
Merge pull request #849 from acasajus/new/parse-rpamd-headers
Return 200 on fishy dmarc result
2022-03-22 17:36:45 +01:00
Son Nguyen Kim 99b05034b0
Merge pull request #843 from acasajus/new/parse-rpamd-headers
Parse rspamd headers and apply dmarc policy if found.
2022-03-22 17:13:11 +01:00
Adrià Casajús 517bcb632e
MR changes 2022-03-22 17:02:59 +01:00
Son 5b3688b6df set a domain for message-id 2022-03-22 11:02:02 +01:00
Adrià Casajús 5f831d593a
CamelCase to snake_case 2022-03-21 17:59:43 +01:00
Adrià Casajús 45459d65be
PR comments 2022-03-21 17:43:26 +01:00
Son f554375f23 decode, replace and encode for base64 encoding 2022-03-21 17:29:22 +01:00
Son 1952f368a8 require password to use the api key page 2022-03-21 14:40:47 +01:00
Son 9dc7cff87f add rate limiting for /auth/mfa 2022-03-21 14:23:35 +01:00
Son a662ef4aee remove g.deduct_limit in api auth endpoint 2022-03-21 14:23:20 +01:00
Adrià Casajús 06a1363e92
Updated MR comments 2022-03-21 12:03:11 +01:00
Adrià Casajús cdea0f5ee2
Rename header 2022-03-21 10:43:19 +01:00
Adrià Casajús 44dd06fabf
Added spoofed email test 2022-03-21 10:43:18 +01:00
Adrià Casajús c9cbaeb460
format 2022-03-21 10:43:17 +01:00
Adrià Casajús e8013f8e0c
Initial parse of rpamd extra headers 2022-03-21 10:43:17 +01:00
Son 0931642d11 use 10.0.0.0 network instead of 240.0.0.0 2022-03-20 10:38:58 +01:00
Son fa2f83dbf4 fix and refactor 2022-03-16 10:24:59 +01:00
Son 7e0992b767 add mime version header for transactional email 2022-03-14 19:23:38 +01:00
Son Nguyen Kim 79154378f2
Merge pull request #836 from cquintana92/feature/allow-to-edit-manual-subscription
Allow to edit manual subscription
2022-03-14 18:07:07 +01:00
Carlos Quintana ed58e811d1
Allow to edit manual subscription 2022-03-14 16:47:30 +01:00
Adrià Casajús 479a7420cb
Useful time format 2022-03-14 15:40:50 +01:00
Adrià Casajús b463ba8f41
Added filter 2022-03-14 15:33:09 +01:00
Adrià Casajús bf177ac5ba
Remove unused 2022-03-14 15:29:17 +01:00
Adrià Casajús 9b16143e59
Show nicer admin logs 2022-03-14 15:28:53 +01:00
Adrià Casajús 553d8976be
Added extend subscription log 2022-03-14 15:07:51 +01:00
Adrià Casajús 549c6ec7d3
Comment changes 2022-03-11 11:37:14 +01:00
Adrià Casajús 4368fd323f
Less changes 2022-03-10 18:13:33 +01:00
Adrià Casajús d0860cd54d
Merge remote-tracking branch 'origin/master' into new/admin-audit-trail
* origin/master: (35 commits)
  reduce nb of commit
  show "more" only when a notification has a title. Show either title or message. Use bold font when a notification isn't read
  create a notification when an alias is disabled
  mark a notification as read when user arrives on the notification page
  Use plausible outbound link tracking
  add more log
  fix discover page
  fix
  fix "local variable 'alias_id' referenced before assignment"
  make sure to close session in monitoring
  use Date instead of date for header value
  lessen alias automatic disable check
  refactor
  return the block reason in should_disable()
  add adhoc upgrade on admin
  add extend subscription for 1 month to admin
  disable edition on admin
  comment out some admin pages
  fix migration
  fix duplicated stats
  ...
2022-03-10 18:10:13 +01:00
Adrià Casajús 733efc387c
Updated admin view 2022-03-10 17:49:30 +01:00
Adrià Casajús 98c942d84a
Added admin log view 2022-03-10 17:32:35 +01:00
Adrià Casajús bc82bab1eb
Added alembic migration 2022-03-10 16:37:21 +01:00
Adrià Casajús 1d15af53b7
Add an audit log for the admin panel 2022-03-10 16:13:31 +01:00
Son 0e3a5c3d3c mark a notification as read when user arrives on the notification page 2022-03-09 17:58:26 +01:00
Son 6f80edfd64 fix discover page 2022-03-08 16:38:03 +01:00
Son a64a70cbc8 use Date instead of date for header value 2022-03-07 15:57:29 +01:00
Son 350f498b94 lessen alias automatic disable check 2022-03-07 15:50:58 +01:00
Son 71136669e9 return the block reason in should_disable() 2022-03-07 15:44:27 +01:00
Son f7ba3873d0 add adhoc upgrade on admin 2022-03-02 19:05:17 +01:00
Son 52a911f9d3 add extend subscription for 1 month to admin 2022-03-02 19:04:45 +01:00
Son b2d8f5a017 disable edition on admin 2022-03-02 19:04:30 +01:00
Son 627b2e56d9 comment out some admin pages 2022-02-28 16:40:07 +01:00
Son Nguyen Kim 6a520e110c
Merge pull request #816 from simple-login/feature/include-sender-in-header
Feature/include sender in header
2022-02-28 09:24:18 +01:00
Son 205d8d7d3f add index for Alias custom_domain_id and directory_id columns 2022-02-26 17:51:50 +01:00
Son 4faf0d7636 optimize dashboard page: load custom domain using joinedload() instead of explicit join 2022-02-26 17:34:53 +01:00
Son Nguyen Kim 7df93c2ee5
Merge pull request #813 from cquintana92/feature/make-nameservers-configurable
Make nameservers configurable
2022-02-25 12:29:50 +01:00
Son 007aa56551 user can turn on/off the including sender in header option 2022-02-25 12:24:54 +01:00
Son 51598ada02 add User.include_header_email_header column 2022-02-25 12:24:54 +01:00
Carlos Quintana e9dd73e99b
Replace env by os.environ.get 2022-02-25 11:19:49 +01:00
Adrià Casajús 01cc65bdca
Allow to have lower priority MX servers 2022-02-24 17:23:45 +01:00
Carlos Quintana 8f339923f8
Make nameservers configurable 2022-02-24 15:05:05 +01:00
Son 7da06ba424 return 422 if account not activated 2022-02-22 22:12:36 +01:00
Son Nguyen Kim e9d134fe8f
Merge pull request #784 from FozzieHi/fix-testing-warnings
Fix deprecation warnings.
2022-02-21 17:12:36 +01:00
Son Nguyen Kim e55c3a155b
Merge pull request #803 from acasajus/fix/sentry-APP-ZP
Only allow authenticated and enabled users to accept a OAuth post request
2022-02-21 17:11:53 +01:00
Adrià Casajús 4b13d5a28c
Fix test 2022-02-21 16:03:39 +01:00
Son Nguyen Kim 7d008228e3
Merge pull request #811 from cquintana92/feature/ignore-or-reject-for-blocked-contacts
Allow to configure ignore or reject response for blocked contacts
2022-02-21 15:55:48 +01:00
Son Nguyen Kim bfcd75bdea
Merge pull request #801 from acasajus/new/no-reply
Send support questions to the support ticket page
2022-02-21 15:07:27 +01:00
Carlos Quintana ee9170bb17
Allow to configure ignore or reject response for blocked contacts 2022-02-21 12:52:21 +01:00
Adrià Casajús 33163660f7
PR comments 2022-02-21 12:30:26 +01:00
Adrià Casajús 3e983e3557
Only allow authenticated and enabled users to accept a OAuth post request 2022-02-17 17:25:04 +01:00
Adrià Casajús b0ac2f871a
Fixes 2022-02-17 13:21:40 +01:00
Adrià Casajús 398c1a55f1
Change SUPPORT_EMAIL to NOREPLY 2022-02-17 13:18:52 +01:00
Adrià Casajús 15ce7b00d8
Reply to noreply@... once per user 2022-02-16 18:38:31 +01:00
Carlos Quintana 2a751624a8
Default ALLOWED_REDIRECT_DOMAINS to URL if it's not set 2022-02-16 16:16:14 +01:00
Carlos Quintana b4e291d4fd
Make NextUrlSanitizer a static class 2022-02-16 16:05:50 +01:00
Carlos Quintana 6be99bc576
Do not account for urlencoded redirects 2022-02-16 16:02:13 +01:00
Carlos Quintana a44acf1846
Add support for allowed redirect domains 2022-02-16 09:38:55 +01:00
Carlos Quintana 39222cf868
Simplify conditional 2022-02-15 16:33:30 +01:00
Carlos Quintana 2f9489fe39
Only allow relative redirects 2022-02-15 15:16:31 +01:00
Son 728d935d65 add ZENDESK_ENABLED param 2022-02-14 18:08:32 +01:00
Son c3cd1419f9 reformat code: put POST handling on top 2022-02-14 18:02:54 +01:00
Son a0bb4e9ccc more verbose error 2022-02-14 18:02:30 +01:00
Son Nguyen Kim 69c8980c18
Merge pull request #792 from acasajus/new/zendesk-support
Create support tickets via zendesk
2022-02-14 17:53:30 +01:00
Adrià Casajús 416e7b363a
PR fixes 2022-02-14 15:58:36 +01:00
Adrià Casajús 305ce38379
PR changes 2022-02-14 11:19:03 +01:00
Adrià Casajús 700856053a
PR comment fixes 2022-02-11 13:32:31 +01:00
Adrià Casajús 8120128a51
Added Zendesk token 2022-02-10 12:59:48 +01:00
Adrià Casajús 639d4412e1
Updated comments from PR 2022-02-10 12:47:31 +01:00
Adrià Casajús c9974d5321
Removed successful ticket created page and replaced with notification 2022-02-10 12:38:56 +01:00
Adrià Casajús 3fedc84c95
Add rate limit to ticket createion 2022-02-10 12:34:46 +01:00
Son Nguyen Kim c18f9658b0
Merge pull request #787 from FozzieHi/test-config
Update testing suite and refactor.
2022-02-10 11:37:36 +01:00
Adrià Casajús e844c9a392
Removed disabled page and redirected to the normal dashboard 2022-02-10 11:04:36 +01:00
Adrià Casajús f59c5499fb
Formatting 2022-02-10 10:30:28 +01:00
Adrià Casajús 8aee883aae
Updated with more PR comments 2022-02-09 16:41:04 +01:00
Adrià Casajús 95fa95649d
Added comments from PR 2022-02-09 16:20:55 +01:00
Adrià Casajús e57dcac2d2
Added zendesk submission flow 2022-02-09 12:00:48 +01:00
Adrià Casajús 219d5b998f
Add a suport form to create tickets in zendesk 2022-02-08 22:04:25 +01:00
Son 5b62f5a745 add rate limit to /auth/register 2022-02-07 18:45:41 +01:00
george c415324932
Add flake8-bugbear 2022-02-06 20:37:43 +00:00
george f7be992437
Update black, flake8 and pre-commit and use specific pre-commit versions. 2022-02-06 14:25:53 +00:00
Son 5da31f53b4 add MONITORING_EMAIL param 2022-02-04 15:43:40 +01:00
george 936d90a5f5
Fix deprecation warnings. 2022-02-04 13:49:38 +00:00
Son 4d1c4cfdff support pinned parameter in /api/v2/aliases 2022-02-03 11:16:49 +01:00
Son Nguyen Kim 543923b325
Merge pull request #760 from FozzieHi/delete-all-api-keys-button
Add a button to delete all API Keys
2022-02-02 18:31:05 +01:00
Son 049bd746ad refactor shell 2022-01-26 15:22:37 +01:00
Son 5a712f3877 make sure subdomain can only contain lowercase letters, numbers and dashes. 2022-01-26 14:53:27 +01:00
george 74713c2142
Rename method. 2022-01-25 18:32:34 +00:00
Son Nguyen Kim 89a800eed9
Merge pull request #753 from FozzieHi/totp-invalid-login-email
Invalid TOTP and recovery code email notifications
2022-01-24 18:35:52 +01:00
Son fc3f06f4d8 create notification listing page 2022-01-24 16:45:36 +01:00
Son 90fa4abf69 create a notification for a bounce email 2022-01-24 16:10:36 +01:00
Son 1de6fefc59 add notification detail page 2022-01-24 15:22:01 +01:00
Son 5b7949f346 return title in /api/notifications 2022-01-24 15:20:59 +01:00
Son 3422f038eb add Notification title 2022-01-24 15:18:56 +01:00
george 65531b5c63
Add a button to delete all API Keys. 2022-01-23 18:38:54 +00:00
Son e73288354d remove IGNORED_EMAILS variable 2022-01-21 19:30:27 +01:00
george ab72927a16
Update text. 2022-01-20 18:24:28 +00:00
george 50122da0fe
Implement API notifications and use a function in email_utils 2022-01-20 17:42:11 +00:00
george 42407a0543
Send the email after the local error. 2022-01-20 16:44:15 +00:00
george f7f91afc1e
Send a notification email for invalid recovery codes. 2022-01-20 16:41:42 +00:00
george 6d736aa915
Implement rate limiting with send_email_with_rate_control. 2022-01-20 15:05:18 +00:00
george 0eb2984b9c
Add invalid TOTP login email notifications. 2022-01-20 14:18:47 +00:00
Son b929dc5462 check if alias is not none 2022-01-18 09:40:50 +01:00
Son 0806f9243e return custom domain json in patch 2022-01-16 17:26:11 +01:00
Son 841621dbe2 handle the case mailboxes is empty in try_auto_create_via_domain 2022-01-13 09:33:32 +01:00
Son 4cea47cc27 add setting for include_website_in_one_click_alias 2022-01-12 11:50:49 +01:00
Son 6cd8e45d21 return the default sender format (AT) in case user uses a non-supported sender format 2022-01-12 10:19:25 +01:00
Son c0067b7657 add more log 2022-01-10 15:58:22 +01:00
Son 73d781cf6b handle non number alias_id 2022-01-10 10:44:41 +01:00
Son 9c696bd038 ignore VERPReply 2022-01-09 20:35:57 +01:00
Son 6cdf5637aa validate the alias address before creating 2022-01-09 20:22:41 +01:00
Son a0727435eb use warning level 2022-01-09 20:13:41 +01:00
Son c5e4dd6d16 save email for debug with error name as prefix 2022-01-08 16:58:23 +01:00
Son 862d0e7a11 warn users if SL is used with another forwarding service 2022-01-08 00:42:03 +01:00
Son ed4acebdb1 delete the email log in reply phase if NonReverseAliasInReplyPhase 2022-01-08 00:28:26 +01:00
Son 01ba5e8bf0 return 5** if CannotCreateContactForReverseAlias 2022-01-08 00:16:16 +01:00
Son 20b6ce29fc take into account authorized_address when checking email loop 2022-01-08 00:09:45 +01:00
Son d4e31257fa make sure to output exception name in log 2022-01-07 16:45:12 +01:00
Son fb87225d2d raise error when receiving emails sent from reverse alias 2022-01-07 16:14:21 +01:00
Son d4e1aec875 refactor 2022-01-07 14:57:47 +01:00
Son 6b31b8926e fix comment 2022-01-07 14:27:53 +01:00
Son 1bdae7fbe8 handle CannotCreateContactForReverseAlias when user creates a new contact 2022-01-07 10:47:36 +01:00
Son 5195c9de8b raise error when a non reverse-alias is used during the reply phase 2022-01-07 10:34:08 +01:00
Son 84d1f22a7b add Contact.automatic_created column to know which contact is created during the forward phase 2022-01-07 10:21:31 +01:00
Son ad622df071 make sure a contact with website_email=reverse alias of another contact can't be created 2022-01-07 10:04:12 +01:00
Son b2e4578953 add yield_per_query() helper 2022-01-06 18:50:54 +01:00
Son d1b9fb8bb5 add type annotation for Session 2022-01-06 18:30:14 +01:00
Son 37bb7655d5 remove unused import 2022-01-06 15:30:33 +01:00
Son 9ff323c746 make sure to set custom_domain_id when creating a new alias 2022-01-06 15:29:37 +01:00
Son b7e8324e5a move get_custom_domain() to alias_utils 2022-01-06 15:20:09 +01:00
Son 33bd7dbcd6 refactor 2022-01-06 14:57:01 +01:00
Son de9f994fe2 check suffix in try_auto_create 2022-01-06 11:12:26 +01:00
Son 4976f48944 add /phone/provider2/sms 2022-01-05 18:14:51 +01:00
Son b505ceebe9 add PHONE_PROVIDER_2_HEADER, PHONE_PROVIDER_2_SECRET config 2022-01-05 18:14:14 +01:00
Son 385dd1e755 handle out-of-office email in addition to bounce 2022-01-05 15:30:44 +01:00
Son ffc621596a fix is_automatic_out_of_office: only use "Auto-Submitted" header 2022-01-05 15:21:54 +01:00
Son 6cb55e27f3 make sure alias that starts with bounce prefix can't be automatically created 2022-01-05 15:16:04 +01:00
Son 5e2ea81a6c do not consider out-of-office as bounce 2022-01-04 18:06:08 +01:00
Son 2ed7c5fcdb only return active number 2022-01-04 16:26:38 +01:00
Son 4ac8da1e8f poll messages on the phone reservation page 2022-01-04 16:24:50 +01:00
Son 4d8c89105f GET /api/phone/reservations/:reservation_id 2022-01-04 16:22:41 +01:00
Son d51c32ad51 always return 200 for phone provider1 callback 2022-01-04 14:58:41 +01:00
Son 72bd998b9b fix logging 2022-01-04 14:58:24 +01:00
Son bc2f9ad45f add PhoneNumber.comment column 2022-01-04 14:54:55 +01:00
Son 127f8daad7 add /phone/provider1/sms 2022-01-04 14:53:22 +01:00
Son 3484f71dac add PHONE_PROVIDER_1_HEADER and PHONE_PROVIDER_1_SECRET config 2022-01-04 14:52:56 +01:00
Son a4b113b7fa remove DISPOSABLE_FILE_PATH 2022-01-04 09:40:10 +01:00
Son d38fa95eed make sure number of minutes is specified 2022-01-04 09:35:34 +01:00
Son 325207d6ba Use InvalidMailboxDomain instead of DISPOSABLE_EMAIL_DOMAINS 2022-01-03 10:33:21 +01:00
Son 4332fd3244 Create InvalidMailboxDomain model 2022-01-03 10:31:33 +01:00
Son 85fb859dcb show error when a domain can't be used as random alias default domain 2022-01-03 10:05:06 +01:00
Son 34118f459a ignore smtp error in send_trial_end_soon_email() 2022-01-03 09:59:52 +01:00
Son 558200113c remove unnecessary code in send_email() 2022-01-01 11:47:45 +01:00
Son 01a8a0343e log when an alias is deleted 2021-12-31 11:18:08 +01:00
Son 61226545c2 handle the 2 consecutive dots in alias 2021-12-31 11:15:24 +01:00
Son 9ee449722a new domain has ownership verified if its root has the ownership verified 2021-12-31 11:10:36 +01:00
Son a6f5b755aa set apple_sub.product_id 2021-12-30 16:20:31 +01:00
Son e1d82b7e0d Add AppleSubscription.product_id col 2021-12-30 16:20:18 +01:00
Son 30ba566457 take into account _MACAPP_MONTHLY_PRODUCT_ID in verify_receipt 2021-12-30 16:15:33 +01:00
Son 22cf8cfe38 send Custom/smtp_connection_time to newrelic 2021-12-30 14:17:46 +01:00
Son 2cd50c582a remove NEWRELIC_CONFIG_PATH 2021-12-30 14:15:49 +01:00
Son c5185eddf3 Revert "log "Custom/smtp_connection_time" metric in newrelic"
This reverts commit 378bad6253.
2021-12-30 11:55:48 +01:00
Son 378bad6253 log "Custom/smtp_connection_time" metric in newrelic 2021-12-30 11:46:01 +01:00
Son a64968f6e5 consider utf-8 email encoding as no encoding 2021-12-30 11:36:52 +01:00
Son b3469ba9d4 log how much time to get a smtp connection 2021-12-30 11:28:50 +01:00
Son c14a7b4f7a use with ... for smtp 2021-12-29 17:09:24 +01:00
Son f439e39580 cache smtp server and remove POSTFIX_PORT_FORWARD 2021-12-29 16:26:37 +01:00
Son 733a9c42b0 delete activation code before sending email to avoid any delay 2021-12-29 10:26:42 +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 b9e2a79933 enable email sending retry in cron job 2021-12-28 16:42:01 +01:00
Son a270c72d60 add random_alias_suffix to settings api 2021-12-28 15:24:58 +01:00
Son 229dc7fd44 fix test 2021-12-28 15:09:33 +01:00
Son 83be94b43e user can create aliases for domains that don't have mx verified 2021-12-28 12:01:32 +01:00
Son fc42db43ca add new sender formats: NAME_ONLY, AT_ONLY, NO_NAME 2021-12-28 10:49:37 +01:00
Son 24a392818b sl_sendmail tries by default 2 times before giving up: replace can_retry by retries 2021-12-27 17:03:44 +01:00
Son 2cf1c4143a reduce sleep time between sl_sendmail failure 2021-12-27 17:00:11 +01:00
Son a6569d47dd do not put price in plan_name to take into account discount 2021-12-26 22:04:45 +01:00
Son 584772f798 fix upgrade_channel 2021-12-23 19:28:57 +01:00
Son 879b364a47 return 421 to retry when SMTPRecipientsRefused error 2021-12-23 18:17:29 +01:00
Son 544df7034d do not retry sending email in send_email() 2021-12-16 21:31:01 +01:00
Son 75d6b1dab5 add more logging 2021-12-16 15:09:15 +01:00
Son 64c6ef2cbe retry when SMTPRecipientsRefused too 2021-12-16 15:06:26 +01:00
Son a142a430d2 use sl_sendmail instead of smtp.sendmail 2021-12-16 10:32:10 +01:00
Son eec2880c41 fix case signed_suffix is None 2021-12-15 17:12:27 +01:00
Son 79ca39a625 use regex_match instead of re.fullmatch() 2021-12-14 15:00:32 +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 a021bba811 fix toggle contact should only be used by authenticated user 2021-12-06 18:39:12 +01:00
Son c6a2af3c3c remove unused admin column 2021-12-06 18:04:23 +01:00
Son 3e2c120a73 phone reservation page
- add twilio lib
- create phone listing, reservation page
- add twilio callback to receive messages
2021-12-02 17:03:13 +01:00
Son 7109dc7120 add models for phone: Country, Number, Reservation, Message 2021-12-02 16:50:26 +01:00
Son daca70f2b4 add TWILIO_AUTH_TOKEN config 2021-12-02 16:30:30 +01:00
Son 226ce9333c return error if invalid alias address 2021-12-02 16:17:41 +01:00
Son e1123961cf check if user has lifetime license on pricing page 2021-12-01 17:41:20 +01:00
Son 4d388a202c allow user with manual or coinbase subscription to switch to paddle 2021-12-01 17:16:01 +01:00
Son c6f49821c7 remove unused import 2021-12-01 10:39:08 +01:00
Son 34509cbbb3 delete account is protected by password 2021-12-01 10:11:18 +01:00
Son 4ffa5c9345 display expires date 2021-11-30 10:33:31 +01:00
Son 94a90665ea black format 2021-11-29 16:46:03 +01:00
Son 21bd4ed97e display all user payment channels on admin 2021-11-29 16:26:41 +01:00
Son c29b5100fb delete User.subscription_cancelled 2021-11-29 16:17:24 +01:00
Son 325a1a9524 remove unused User.premium_end 2021-11-29 11:35:28 +01:00
Son 5f47d172e0 move fake_data() to dedicated fiel 2021-11-28 11:51:31 +01:00
Son c356c75494 show coupon expires date when user buys a coupon 2021-11-26 18:20:46 +01:00
Son 4d0f6811b2 error if coupon is expired 2021-11-26 18:11:03 +01:00
Son 06d459ba99 Add coupon.expires_date column 2021-11-26 18:10:23 +01:00
Son 6d1b6720cf set content_type for plain text message 2021-11-25 10:34:59 +01:00
Son dd6e265aa0 add RSPAMD_SIGN_DKIM and add "X-SimpleLogin-Want-Signing" header 2021-11-25 10:34:42 +01:00
Son 4c33b63f97 better way to know whether this is the last page 2021-11-23 14:44:48 +01:00
Son cd553608a5 fix 2021-11-23 14:35:37 +01:00
Son f049da8c9a Compare mx domains with priority order and not priority value 2021-11-23 14:31:53 +01:00
Son eeb24f594a Add OLD_UNSUBSCRIBER and support it 2021-11-22 18:17:07 +01:00
Son 55ae61527d user can buy 1-year coupon 2021-11-22 16:30:27 +01:00
Son 2d9f8e83e6 add PADDLE_COUPON_ID to config 2021-11-22 16:28:49 +01:00
Son b5c2d9ee2a fix custom domain not correctly set on /v2/alias/custom/new and /v3/alias/custom/new 2021-11-22 16:20:50 +01:00
Son 3add9e6db8 make sure to delete Fido when disabling Fido on a user 2021-11-22 15:58:11 +01:00
Son bd8b9526f6 set Fido.user_id 2021-11-22 15:57:51 +01:00
Son e4f2e1f5a8 add Fido.user_id column 2021-11-22 15:57:38 +01:00
Son 63e1baf46a can disable both OTP and FIDO 2021-11-22 11:32:14 +01:00
Son 77e38e63fe handle hotmail complaint during reply phase 2021-11-21 11:31:28 +01:00
Son 63f4d15329 do not decrease directory or subdomain quota when user deletes a subdomain/directory 2021-11-20 20:00:35 +01:00
Son a072fdcd96 do not send emails to disabled user 2021-11-20 19:42:49 +01:00
Son 30f2734853 flake8 2021-11-19 18:32:04 +01:00
Son b2c31ef658 fix the pagination error display 2021-11-19 18:30:36 +01:00