def ssh_settings(request, template_name='admin/ssh_settings.html'): client = SSHClient() key = client.get_user_key() if request.method == 'POST': form = SSHSettingsForm(request.POST, request.FILES) if form.is_valid(): if form.did_request_delete() and client.get_user_key() is not None: try: form.delete() return HttpResponseRedirect('.') except Exception as e: logging.error('Deleting SSH key failed: %s' % e) else: try: form.create(request.FILES) return HttpResponseRedirect('.') except Exception as e: # Fall through. It will be reported inline and in the log. logging.error('Uploading SSH key failed: %s' % e) else: form = SSHSettingsForm() if key: fingerprint = humanize_key(key) else: fingerprint = None return render_to_response(template_name, RequestContext(request, { 'key': key, 'fingerprint': fingerprint, 'public_key': client.get_public_key(key), 'form': form, }))
def __init__(self, hostname, key, message): from reviewboard.ssh.utils import humanize_key SSHError.__init__(self, message) self.hostname = hostname self.key = humanize_key(key) self.raw_key = key
def __init__(self, hostname, key, expected_key): from reviewboard.ssh.utils import humanize_key SSHKeyError.__init__( self, hostname, key, _("Warning! The host key for server %(hostname)s does not match " "the expected key.\n" "It's possible that someone is performing a man-in-the-middle " "attack. It's also possible that the RSA host key has just " "been changed. Please contact your system administrator if " "you're not sure. Do not accept this host key unless you're " "certain it's safe!") % { 'hostname': hostname, }) self.expected_key = humanize_key(expected_key) self.raw_expected_key = expected_key
def ssh_settings(request, template_name='admin/ssh_settings.html'): """Render the SSH settings page.""" client = SSHClient() key = client.get_user_key() if request.method == 'POST': form = SSHSettingsForm(request.POST, request.FILES) if form.is_valid(): if form.did_request_delete() and client.get_user_key() is not None: try: form.delete() return HttpResponseRedirect('.') except Exception as e: logger.error('Deleting SSH key failed: %s' % e) else: try: form.create(request.FILES) return HttpResponseRedirect('.') except Exception as e: # Fall through. It will be reported inline and in the log. logger.error('Uploading SSH key failed: %s' % e) else: form = SSHSettingsForm() if key: fingerprint = humanize_key(key) else: fingerprint = None return render(request=request, template_name=template_name, context={ 'has_file_field': True, 'key': key, 'fingerprint': fingerprint, 'public_key': client.get_public_key(key).replace('\n', ''), 'form': form, })
if request.method == 'POST': form = SSHSettingsForm(request.POST, request.FILES) if form.is_valid(): try: form.create(request.FILES) return HttpResponseRedirect('.') except Exception, e: # Fall through. It will be reported inline and in the log. logging.error('Uploading SSH key failed: %s' % e) else: form = SSHSettingsForm() if key: fingerprint = humanize_key(key) else: fingerprint = None return render_to_response(template_name, RequestContext(request, { 'key': key, 'fingerprint': fingerprint, 'public_key': client.get_public_key(key), 'form': form, })) def manual_updates_required(request, updates, template_name="admin/manual_updates_required.html"): """ Checks for required manual updates and displays informational pages on
def test_humanize_key_with_dsa_key(self): """Testing humanize_key with DSA key""" humanized = humanize_key(test_keys.dsa_key) self.assertIsInstance(humanized, six.text_type) self.assertEqual(humanized, '62:4b:7f:b0:94:57:e2:bb:e7:d8:a4:88:88:c6:10:38')
def test_humanize_key_with_rsa_key(self): """Testing humanize_key with RSA key""" humanized = humanize_key(test_keys.rsa_key) self.assertIsInstance(humanized, six.text_type) self.assertEqual(humanized, '76:ec:40:bd:69:9e:b1:e4:47:a9:e3:74:82:ec:0c:0f')