Commit 0e9b8f16 authored by Franco Fichtner's avatar Franco Fichtner

system: improve ssh key newline write; closes #1648

parent 59249e5c
...@@ -479,6 +479,9 @@ function local_user_set(&$user, $force_password = false) ...@@ -479,6 +479,9 @@ function local_user_set(&$user, $force_password = false)
@mkdir("{$user_home}/.ssh", 0700); @mkdir("{$user_home}/.ssh", 0700);
@chown("{$user_home}/.ssh", $user_name); @chown("{$user_home}/.ssh", $user_name);
$keys = base64_decode($user['authorizedkeys']); $keys = base64_decode($user['authorizedkeys']);
$keys = preg_split('/[\n\r]+/', $keys);
$keys[] = '';
$keys = implode($keys, "\n");
@file_put_contents("{$user_home}/.ssh/authorized_keys", $keys); @file_put_contents("{$user_home}/.ssh/authorized_keys", $keys);
@chown("{$user_home}/.ssh/authorized_keys", $user_name); @chown("{$user_home}/.ssh/authorized_keys", $user_name);
} else { } else {
......
...@@ -319,7 +319,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { ...@@ -319,7 +319,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') {
$userent['name'] = $pconfig['usernamefld']; $userent['name'] = $pconfig['usernamefld'];
$userent['descr'] = $pconfig['descr']; $userent['descr'] = $pconfig['descr'];
$userent['expires'] = $pconfig['expires']; $userent['expires'] = $pconfig['expires'];
$userent['authorizedkeys'] = base64_encode($pconfig['authorizedkeys']); $userent['authorizedkeys'] = base64_encode(trim($pconfig['authorizedkeys']));
$userent['ipsecpsk'] = $pconfig['ipsecpsk']; $userent['ipsecpsk'] = $pconfig['ipsecpsk'];
if (!empty($pconfig['gen_otp_seed'])) { if (!empty($pconfig['gen_otp_seed'])) {
// generate 160bit base32 encoded secret // generate 160bit base32 encoded secret
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment