Skip to content

Commit 368dd5e

Browse files
committed
Clarify that peers_prefilter works on peers_X values from form.
1 parent 04b7fa6 commit 368dd5e

File tree

7 files changed

+21
-15
lines changed

7 files changed

+21
-15
lines changed

mig/install/MiGserver-template.conf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -762,9 +762,9 @@ password_legacy_policy = __PASSWORD_LEGACY_POLICY__
762762
# Optional additional guard against simple passwords with the cracklib library
763763
password_cracklib = __ENABLE_CRACKLIB__
764764
# Optional prefilter on users who may potenially invite peers as site users.
765-
# Used as a coarse filter to reject clearly invalid user requests early.
766-
# Space separated list of user field and regexp-filter pattern pairs separated
767-
# by colons.
765+
# Used as a coarse filter to reject clearly invalid user requests early by only
766+
# filtering on form values (peers_full_name and peers_email). Space separated
767+
# list of user field and regexp-filter pattern pairs separated by colons.
768768
peers_prefilter = __PEERS_PREFILTER__
769769
# Optional limit on users who may invite peers as site users. Space separated
770770
# list of user field and regexp-filter pattern pairs separated by colons.

mig/shared/configuration.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -529,7 +529,7 @@ def get(self, *args, **kwargs):
529529
'site_signup_methods': ['extcert'],
530530
'site_login_methods': ['extcert'],
531531
'site_signup_hint': "",
532-
'site_peers_prefilter': [('email', '.*')],
532+
'site_peers_prefilter': [('peers_email', '.*')],
533533
'site_peers_permit': [('distinguished_name', '.*')],
534534
'site_peers_notice': "",
535535
# TODO: switch to CSRF_FULL when rpc and scripts are ready?

mig/shared/functionality/reqcertaction.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,8 @@ def main(client_id, user_arguments_dict):
192192

193193
peers_list = []
194194
for (peer_name, peer_email) in zip(peers_full_name_list, peers_email_list):
195-
peers_list.append({'full_name': peer_name, 'email': peer_email})
195+
peers_list.append({'peers_full_name': peer_name,
196+
'peers_email': peer_email})
196197
valid_peers = prefilter_potential_peers(peers_list, configuration)
197198
if not valid_peers:
198199
output_objects.append({'object_type': 'error_text', 'text':

mig/shared/functionality/reqoidaction.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,8 @@ def main(client_id, user_arguments_dict):
200200

201201
peers_list = []
202202
for (peer_name, peer_email) in zip(peers_full_name_list, peers_email_list):
203-
peers_list.append({'full_name': peer_name, 'email': peer_email})
203+
peers_list.append({'peers_full_name': peer_name,
204+
'peers_email': peer_email})
204205
valid_peers = prefilter_potential_peers(peers_list, configuration)
205206
if not valid_peers:
206207
output_objects.append({'object_type': 'error_text', 'text':

mig/shared/install.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ def abspath(path, start):
8484
return path
8585
return os.path.normpath(os.path.join(start, path))
8686

87+
8788
def transform_str_to_dict(input_str):
8889
"""
8990
Transforms a string input into a Python literal or container.
@@ -447,7 +448,7 @@ def generate_confs(
447448
daemon_pubkey_from_dns=False,
448449
daemon_show_address='',
449450
alias_field='',
450-
peers_prefilter='email:.*',
451+
peers_prefilter='peers_email:.*',
451452
peers_permit='distinguished_name:.*',
452453
vgrid_creators='distinguished_name:.*',
453454
vgrid_managers='distinguished_name:.*',
@@ -1519,7 +1520,8 @@ def _generate_confs_prepare(
15191520
jupyter_openids, jupyter_oidcs, jupyter_rewrites = [], [], []
15201521
services = user_dict['__JUPYTER_SERVICES__'].split()
15211522

1522-
jupyter_services_proxy_configs = transform_str_to_dict(jupyter_services_proxy_config)
1523+
jupyter_services_proxy_configs = transform_str_to_dict(
1524+
jupyter_services_proxy_config)
15231525
if not isinstance(jupyter_services_proxy_configs, dict):
15241526
print('Error: jupyter_services_proxy_config '
15251527
'could not be interpreted correctly. Double check that your '
@@ -1623,7 +1625,8 @@ def _generate_confs_prepare(
16231625
ws_host = host.replace(
16241626
"https://", "wss://").replace("http://", "ws://")
16251627
member_def = "Define JUPYTER_%s %s" % (name_index, host)
1626-
ws_member_def = "Define WS_JUPYTER_%s %s" % (name_index, ws_host)
1628+
ws_member_def = "Define WS_JUPYTER_%s %s" % (name_index,
1629+
ws_host)
16271630

16281631
# No user supplied port, assign based on url prefix
16291632
if len(host.split(":")) < 3:
@@ -1641,7 +1644,8 @@ def _generate_confs_prepare(
16411644

16421645
jupyter_defs.extend([member_def, ws_member_def])
16431646

1644-
service_proxy_config_kwargs = jupyter_services_proxy_configs.get(name, {})
1647+
service_proxy_config_kwargs = jupyter_services_proxy_configs.get(
1648+
name, {})
16451649
# Get proxy template and append to template conf
16461650
proxy_template = gen_balancer_proxy_template(
16471651
url, def_name, name, hosts, ws_hosts,

tests/fixture/confs-stdlocal/MiGserver.conf

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -762,10 +762,10 @@ password_legacy_policy =
762762
# Optional additional guard against simple passwords with the cracklib library
763763
password_cracklib = False
764764
# Optional prefilter on users who may potenially invite peers as site users.
765-
# Used as a coarse filter to reject clearly invalid user requests early.
766-
# Space separated list of user field and regexp-filter pattern pairs separated
767-
# by colons.
768-
peers_prefilter = email:.*
765+
# Used as a coarse filter to reject clearly invalid user requests early by only
766+
# filtering on form values (peers_full_name and peers_email). Space separated
767+
# list of user field and regexp-filter pattern pairs separated by colons.
768+
peers_prefilter = peers_email:.*
769769
# Optional limit on users who may invite peers as site users. Space separated
770770
# list of user field and regexp-filter pattern pairs separated by colons.
771771
peers_permit = distinguished_name:.*

tests/fixture/mig_shared_configuration--new.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@
183183
],
184184
"site_peers_prefilter": [
185185
[
186-
"email",
186+
"peers_email",
187187
".*"
188188
]
189189
],

0 commit comments

Comments
 (0)