mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-08-26 12:46:08 +00:00
networks: Retrieve password while editing PPPoE
- Retrieve password using connection.get_secrets() instead of settings_pppoe.get_password(). - Make sure IPv4 settings are not accessed during PPPoE editing.
This commit is contained in:
parent
5e6c54e600
commit
958c249dfb
@ -88,7 +88,7 @@ available over this interfaces. Select Internal only for trusted networks.'),
|
|||||||
choices=[('external', 'External'), ('internal', 'Internal')])
|
choices=[('external', 'External'), ('internal', 'Internal')])
|
||||||
username = forms.CharField(label=_('Username'))
|
username = forms.CharField(label=_('Username'))
|
||||||
password = forms.CharField(label=_('Password'),
|
password = forms.CharField(label=_('Password'),
|
||||||
widget=forms.PasswordInput())
|
widget=forms.PasswordInput(render_value=True))
|
||||||
show_password = forms.BooleanField(label=_('Show password'),
|
show_password = forms.BooleanField(label=_('Show password'),
|
||||||
required=False)
|
required=False)
|
||||||
|
|
||||||
|
|||||||
@ -112,27 +112,21 @@ def edit(request, uuid):
|
|||||||
'form': form})
|
'form': form})
|
||||||
else:
|
else:
|
||||||
settings_connection = connection.get_setting_connection()
|
settings_connection = connection.get_setting_connection()
|
||||||
settings_ipv4 = connection.get_setting_ip4_config()
|
|
||||||
settings_pppoe = connection.get_setting_pppoe()
|
|
||||||
form_data['interface'] = connection.get_interface_name()
|
form_data['interface'] = connection.get_interface_name()
|
||||||
try:
|
try:
|
||||||
form_data['zone'] = settings_connection.get_zone()
|
form_data['zone'] = settings_connection.get_zone()
|
||||||
except KeyError:
|
except KeyError:
|
||||||
form_data['zone'] = 'external'
|
form_data['zone'] = 'external'
|
||||||
|
|
||||||
form_data['ipv4_method'] = settings_ipv4.get_method()
|
if settings_connection.get_connection_type() != 'pppoe':
|
||||||
if not settings_pppoe:
|
settings_ipv4 = connection.get_setting_ip4_config()
|
||||||
form_data['username'] = ''
|
form_data['ipv4_method'] = settings_ipv4.get_method()
|
||||||
form_data['password'] = ''
|
|
||||||
else:
|
|
||||||
form_data['username'] = settings_pppoe.get_username()
|
|
||||||
form_data['password'] = settings_pppoe.get_password()
|
|
||||||
|
|
||||||
if settings_ipv4.get_num_addresses():
|
if settings_ipv4.get_num_addresses():
|
||||||
# XXX: Plinth crashes here. Possibly because a double free bug
|
# XXX: Plinth crashes here. Possibly because a double free bug
|
||||||
# address = settings_ipv4.get_address(0)
|
# address = settings_ipv4.get_address(0)
|
||||||
# form_data['ipv4_address'] = address.get_address()
|
# form_data['ipv4_address'] = address.get_address()
|
||||||
pass
|
pass
|
||||||
|
|
||||||
if settings_connection.get_connection_type() == '802-11-wireless':
|
if settings_connection.get_connection_type() == '802-11-wireless':
|
||||||
settings_wireless = connection.get_setting_wireless()
|
settings_wireless = connection.get_setting_wireless()
|
||||||
@ -156,6 +150,10 @@ def edit(request, uuid):
|
|||||||
elif settings_connection.get_connection_type() == '802-3-ethernet':
|
elif settings_connection.get_connection_type() == '802-3-ethernet':
|
||||||
form = AddEthernetForm(form_data)
|
form = AddEthernetForm(form_data)
|
||||||
elif settings_connection.get_connection_type() == 'pppoe':
|
elif settings_connection.get_connection_type() == 'pppoe':
|
||||||
|
settings_pppoe = connection.get_setting_pppoe()
|
||||||
|
form_data['username'] = settings_pppoe.get_username()
|
||||||
|
secrets = connection.get_secrets('pppoe')
|
||||||
|
form_data['password'] = secrets['pppoe']['password']
|
||||||
form = AddPPPoEForm(form_data)
|
form = AddPPPoEForm(form_data)
|
||||||
|
|
||||||
return TemplateResponse(request, 'connections_edit.html',
|
return TemplateResponse(request, 'connections_edit.html',
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user