<?php
error_reporting(E_ALL | E_STRICT);
ini_set('track_errors', 'On');
$rg_cache_debug = TRUE;
$test_normal = TRUE;
$INC = dirname(__FILE__) . '/../inc';
require_once(dirname(__FILE__) . '/config.php');
require_once($INC . '/init.inc.php');
require_once($INC . '/util.inc.php');
require_once('helpers.inc.php');
require_once('http.inc.php');
rg_log_set_file('http_keys.log');
require_once('common.php');
$_testns = 'http_keys';
prepare_http();
$rg_ui = array('is_admin' => 1);
rg_test_create_user($db, $rg_ui);
$r = test_login($test_url, $rg_ui);
if ($r === FALSE) {
rg_log("Cannot login!");
exit(1);
}
rg_log('');
rg_log_enter('Loading Admin -> Settings -> SSH...');
$data = array();
$headers = array();
$r = do_req($test_url . '/op/admin/settings/ssh', $data, $headers);
if ($r === FALSE) {
rg_log("Cannot load page!");
exit(1);
}
if (!isset($r['tokens']['admin_settings_ssh'])) {
rg_log_ml('r:' . print_r($r, TRUE));
rg_log("No 'admin_settings_ssh' token?!");
exit(1);
}
$token = $r['tokens']['admin_settings_ssh'];
rg_log('Posting the form...');
$data = array(
'doit' => 1,
'token' => $token
);
$list = array(
'max_ssh_keys' => 10,
'ssh_key_min_bits_rsa' => 2048,
'ssh_key_allow_dsa' => 0,
'ssh_key_min_bits_ecdsa' => 256,
'AuthorizedKeysCommand' => 1
);
foreach ($list as $var => $def) {
$v = rg_state_get($db, $var);
if ($v === FALSE) {
rg_log('Cannot load state!');
exit(1);
}
if (empty($v))
$data[$var] = $def;
else
$data[$var] = $v;
}
$r = do_req($test_url . '/op/admin/settings/ssh', $data, $headers);
if (!strstr($r['body'], 'Configuration has been successfully saved.')) {
rg_log_ml('r: ' . print_r($r, TRUE));
rg_log("Cannot post form (expected answer missing)!");
exit(1);
}
rg_log_exit();
rg_log('OK!');
?>
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"
Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/rocketgit
Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/rocketgit
You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a
pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master