-
Notifications
You must be signed in to change notification settings - Fork 1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #19413 from jdavcs/dev_permaban
Prevent users from reusing a banned email after account is purged
- Loading branch information
Showing
9 changed files
with
450 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -1817,6 +1817,44 @@ | |
:Type: str | ||
|
||
|
||
~~~~~~~~~~~~~~~~~~ | ||
``email_ban_file`` | ||
~~~~~~~~~~~~~~~~~~ | ||
|
||
:Description: | ||
E-mail ban file is used to specify email addresses that have been | ||
banned. If a user attempts to register a new account using an | ||
email address listed in this file, registration will be denied. | ||
This file does not affect user sign-in. Email addresses are | ||
matched against a canonical address representation based on rules | ||
defined in <canonical_email_rules>. The file should include one | ||
email address per line. Lines starting with the "#" character are | ||
ignored. | ||
Example value "banned_emails.conf" | ||
The value of this option will be resolved with respect to | ||
<config_dir>. | ||
:Default: ``None`` | ||
:Type: str | ||
|
||
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
``canonical_email_rules`` | ||
~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
:Description: | ||
Specifies how email addresses are reduced to their canonical form | ||
by assigning rules to email service domains and domain aliases. | ||
Available rules - ignore_case Values are not case-sensitive | ||
([email protected] == [email protected]) - ignore_dots | ||
Periods in the local-part of an email address are ignored | ||
([email protected] == [email protected]) - sub_addressing | ||
Suffixes prefixed with <sub_addressing_delim> in the local-part of | ||
an email address are ignored ([email protected] == | ||
[email protected] if delimiter is the character '+') | ||
:Default: ``{'all': {'ignore_case': False, 'ignore_dots': False, 'sub_addressing': False, 'sub_addressing_delim': '+'}, 'gmail.com': {'aliases': ['googlemail.com'], 'ignore_case': True, 'ignore_dots': True, 'sub_addressing': True}, 'proton.me': {'aliases': ['pm.me', 'protonmail.com'], 'ignore_case': True, 'sub_addressing': True}}`` | ||
:Type: map | ||
|
||
|
||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
``registration_warning_message`` | ||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -225,6 +225,8 @@ def __init__(self, **kwargs): | |
self.custom_activation_email_message = "custom_activation_email_message" | ||
self.email_domain_allowlist_content = None | ||
self.email_domain_blocklist_content = None | ||
self.email_ban_file = None | ||
self.canonical_email_rules = None | ||
self.email_from = "email_from" | ||
self.enable_old_display_applications = True | ||
self.error_email_to = "[email protected]" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -1217,6 +1217,46 @@ galaxy: | |
# <config_dir>. | ||
#email_domain_allowlist_file: null | ||
|
||
# E-mail ban file is used to specify email addresses that have been | ||
# banned. If a user attempts to register a new account using an email | ||
# address listed in this file, registration will be denied. This file | ||
# does not affect user sign-in. Email addresses are matched against a | ||
# canonical address representation based on rules defined in | ||
# <canonical_email_rules>. The file should include one email address | ||
# per line. Lines starting with the "#" character are ignored. | ||
# Example value "banned_emails.conf" | ||
# The value of this option will be resolved with respect to | ||
# <config_dir>. | ||
#email_ban_file: null | ||
|
||
# Specifies how email addresses are reduced to their canonical form by | ||
# assigning rules to email service domains and domain aliases. | ||
# Available rules - ignore_case Values are not case-sensitive | ||
# ([email protected] == [email protected]) - ignore_dots Periods | ||
# in the local-part of an email address are ignored | ||
# ([email protected] == [email protected]) - sub_addressing | ||
# Suffixes prefixed with <sub_addressing_delim> in the local-part of | ||
# an email address are ignored ([email protected] == | ||
# [email protected] if delimiter is the character '+') | ||
#canonical_email_rules: | ||
# all: | ||
# ignore_case: false | ||
# ignore_dots: false | ||
# sub_addressing: false | ||
# sub_addressing_delim: + | ||
# gmail.com: | ||
# aliases: | ||
# - googlemail.com | ||
# ignore_case: true | ||
# ignore_dots: true | ||
# sub_addressing: true | ||
# proton.me: | ||
# aliases: | ||
# - pm.me | ||
# - protonmail.com | ||
# ignore_case: true | ||
# sub_addressing: true | ||
|
||
# Registration warning message is used to discourage people from | ||
# registering multiple accounts. Applies mostly for the main Galaxy | ||
# instance. If no message specified the warning box will not be shown. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -322,6 +322,46 @@ tool_shed: | |
# <email_domain_blocklist_file> will be ignored. | ||
#email_domain_allowlist_file: null | ||
|
||
# E-mail ban file is used to specify email addresses that have been | ||
# banned. If a user attempts to register a new account using an email | ||
# address listed in this file, registration will be denied. This file | ||
# does not affect user sign-in. Email addresses are matched against a | ||
# canonical address representation based on rules defined in | ||
# <canonical_email_rules>. The file should include one email address | ||
# per line. Lines starting with the "#" character are ignored. | ||
# Example value "banned_emails.conf" | ||
# The value of this option will be resolved with respect to | ||
# <config_dir>. | ||
#email_ban_file: null | ||
|
||
# Specifies how email addresses are reduced to their canonical form by | ||
# assigning rules to email service domains and domain aliases. | ||
# Available rules - ignore_case Values are not case-sensitive | ||
# ([email protected] == [email protected]) - ignore_dots Periods | ||
# in the local-part of an email address are ignored | ||
# ([email protected] == [email protected]) - sub_addressing | ||
# Suffixes prefixed with <sub_addressing_delim> in the local-part of | ||
# an email address are ignored ([email protected] == | ||
# [email protected] if delimiter is the character '+') | ||
#canonical_email_rules: | ||
# all: | ||
# ignore_case: false | ||
# ignore_dots: false | ||
# sub_addressing: false | ||
# sub_addressing_delim: + | ||
# gmail.com: | ||
# aliases: | ||
# - googlemail.com | ||
# ignore_case: true | ||
# ignore_dots: true | ||
# sub_addressing: true | ||
# proton.me: | ||
# aliases: | ||
# - pm.me | ||
# - protonmail.com | ||
# ignore_case: true | ||
# sub_addressing: true | ||
|
||
# Append "/{brand}" to the "Galaxy" text in the masthead. | ||
#brand: null | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -1303,6 +1303,87 @@ mapping: | |
The value of this option will be resolved with respect to <config_dir>. | ||
email_ban_file: | ||
type: str | ||
path_resolves_to: config_dir | ||
required: false | ||
desc: | | ||
E-mail ban file is used to specify email addresses that have been banned. | ||
If a user attempts to register a new account using an email address listed in this file, | ||
registration will be denied. This file does not affect user sign-in. Email addresses are | ||
matched against a canonical address representation based on rules defined in <canonical_email_rules>. | ||
The file should include one email address per line. Lines starting with the "#" character are ignored. | ||
Example value "banned_emails.conf" | ||
canonical_email_rules: | ||
type: map | ||
desc: | | ||
Specifies how email addresses are reduced to their canonical form by assigning rules to | ||
email service domains and domain aliases. | ||
Available rules | ||
- ignore_case | ||
Values are not case-sensitive ([email protected] == [email protected]) | ||
- ignore_dots | ||
Periods in the local-part of an email address are ignored ([email protected] == [email protected]) | ||
- sub_addressing | ||
Suffixes prefixed with <sub_addressing_delim> in the local-part of an email address are ignored | ||
([email protected] == [email protected] if delimiter is the character '+') | ||
default: | ||
all: | ||
ignore_case: false | ||
ignore_dots: false | ||
sub_addressing: false | ||
sub_addressing_delim: "+" | ||
gmail.com: | ||
aliases: | ||
- googlemail.com | ||
ignore_case: true | ||
ignore_dots: true | ||
sub_addressing: true | ||
proton.me: | ||
aliases: | ||
- pm.me | ||
- protonmail.com | ||
ignore_case: true | ||
sub_addressing: true | ||
|
||
mapping: | ||
regex;(.+): | ||
type: map | ||
desc: | | ||
Email service domain name. Note that "all" is a reserved keyword used to refer to all email service domain names. | ||
Example value "gmail.com" | ||
mapping: | ||
aliases: | ||
type: seq | ||
desc: | | ||
Domain aliases used by email service. | ||
sequence: | ||
- type: str | ||
ignore_dots: | ||
type: bool | ||
default: false | ||
desc: | | ||
Periods in the local-part of an email address will be ignored. | ||
ignore_case: | ||
type: bool | ||
default: false | ||
desc: | | ||
Email addresses are not case-sensitive. | ||
sub_addressing: | ||
type: bool | ||
default: false | ||
desc: | | ||
In the email address's local-part, ignore the suffix prefixed with <sub_addressing_delim>. | ||
sub_addressing_delim: | ||
type: str | ||
default: "+" | ||
desc: | | ||
The delimiter used to separate the address from the optional sub-addressing suffix. | ||
registration_warning_message: | ||
type: str | ||
default: >- | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -570,6 +570,87 @@ mapping: | |
therefore, in case <email_domain_allowlist_file> is set and is not empty, | ||
<email_domain_blocklist_file> will be ignored. | ||
email_ban_file: | ||
type: str | ||
path_resolves_to: config_dir | ||
required: false | ||
desc: | | ||
E-mail ban file is used to specify email addresses that have been banned. | ||
If a user attempts to register a new account using an email address listed in this file, | ||
registration will be denied. This file does not affect user sign-in. Email addresses are | ||
matched against a canonical address representation based on rules defined in <canonical_email_rules>. | ||
The file should include one email address per line. Lines starting with the "#" character are ignored. | ||
Example value "banned_emails.conf" | ||
canonical_email_rules: | ||
type: map | ||
desc: | | ||
Specifies how email addresses are reduced to their canonical form by assigning rules to | ||
email service domains and domain aliases. | ||
Available rules | ||
- ignore_case | ||
Values are not case-sensitive ([email protected] == [email protected]) | ||
- ignore_dots | ||
Periods in the local-part of an email address are ignored ([email protected] == [email protected]) | ||
- sub_addressing | ||
Suffixes prefixed with <sub_addressing_delim> in the local-part of an email address are ignored | ||
([email protected] == [email protected] if delimiter is the character '+') | ||
default: | ||
all: | ||
ignore_case: false | ||
ignore_dots: false | ||
sub_addressing: false | ||
sub_addressing_delim: "+" | ||
gmail.com: | ||
aliases: | ||
- googlemail.com | ||
ignore_case: true | ||
ignore_dots: true | ||
sub_addressing: true | ||
proton.me: | ||
aliases: | ||
- pm.me | ||
- protonmail.com | ||
ignore_case: true | ||
sub_addressing: true | ||
|
||
mapping: | ||
regex;(.+): | ||
type: map | ||
desc: | | ||
Email service domain name. Note that "all" is a reserved keyword used to refer to all email service domain names. | ||
Example value "gmail.com" | ||
mapping: | ||
aliases: | ||
type: seq | ||
desc: | | ||
Domain aliases used by email service. | ||
sequence: | ||
- type: str | ||
ignore_dots: | ||
type: bool | ||
default: false | ||
desc: | | ||
Periods in the local-part of an email address will be ignored. | ||
ignore_case: | ||
type: bool | ||
default: false | ||
desc: | | ||
Email addresses are not case-sensitive. | ||
sub_addressing: | ||
type: bool | ||
default: false | ||
desc: | | ||
In the email address's local-part, ignore the suffix prefixed with <sub_addressing_delim>. | ||
sub_addressing_delim: | ||
type: str | ||
default: "+" | ||
desc: | | ||
The delimiter used to separate the address from the optional sub-addressing suffix. | ||
brand: | ||
type: str | ||
required: false | ||
|
Oops, something went wrong.