Subject | Hash | Author | Date (UTC) |
---|---|---|---|
Added tutorial for OpenSSH key settings; also template improvements | 4828eb810a73e3b4f692746ee6ef998a5a833317 | Catalin(ux) M. BOIE | 2016-11-11 20:46:09 |
Functional test for Admin -> Settings -> SSH | aa0f87c101fa0ca39559992b3ef5e415920e8d0d | Catalin(ux) M. BOIE | 2016-11-11 17:34:27 |
More SSH fixes: allow admin to limit what key types are allowed and the max number of keys. | ab10c1c851c68b399d6ef6afb2fbf362f61d328c | Catalin(ux) M. BOIE | 2016-11-07 20:35:29 |
TODO update and typo corrections. | 4f3aee242f4465d1c27dc1f171a72ab06ae8b822 | Catalin(ux) M. BOIE | 2016-11-06 12:39:17 |
Added possibility to use AuthorizedKeysCommand for performance reasons | bce5d32d2b419cb9bc53d54de2a915ac1342432e | Catalin(ux) M. BOIE | 2016-11-06 12:35:15 |
Restart rocketgit-fpm service if needed | 5742bea67f2e784e2b2bb9e97f005fc621c4119d | Catalin(ux) M. BOIE | 2016-11-02 19:56:53 |
Added CORS headers so API will work | 57b172971ff1329d02dc1220ec77fe9a875d6633 | Catalin(ux) M. BOIE | 2016-11-02 19:56:17 |
Added git hosting solution comparison page | 8eca6c104373fd0dbcde54691edfd9e81a3a59be | Catalin(ux) M. BOIE | 2016-11-02 19:54:26 |
Be sure a key is present or use a default one (api) | 842d587f948ff4ec9de56e2ebfd591d96b066a43 | Catalin(ux) M. BOIE | 2016-10-13 22:45:51 |
Small correction in wording agains CLA | 70dc902b1c84e6ee416d7af2af8bef319dbb7504 | Catalin(ux) M. BOIE | 2016-10-11 15:50:07 |
Make it the default: word-wrap: break-word | 1512f51eba93b6dd296246bf20432ec9223148d9 | Catalin(ux) M. BOIE | 2016-10-08 07:53:19 |
Footer: reverse last two columns | d9fe4e8adf980996d5ca06387a0a2c49236e7ad4 | Catalin(ux) M. BOIE | 2016-10-08 07:51:55 |
Post configuration must include also web conf file | 3583e8915579dc8e4c9a508bac7998a3e612e501 | Catalin(ux) M. BOIE | 2016-10-08 07:50:00 |
ssl_request_log -> rocketgit-ssl_request_log | 639e5532748729cd8a6ac8e4cf082b24e15e2eeb | Catalin(ux) M. BOIE | 2016-10-08 07:47:45 |
Add 'SSLCipherSuite PROFILE=SYSTEM' to the SSL configuration | 100d73878b3da1718cf97c58d016ed182c690a9b | Catalin(ux) M. BOIE | 2016-10-08 06:33:09 |
Instruct login user to create a repo if she/he has none. | f6f2f438deadb1ec80d32acbc8947dcc849dca19 | Catalin(ux) M. BOIE | 2016-10-08 06:24:57 |
Small changes at vm docs | 8106a47f5bf89990ba7f7dbb0f8feb319ba4d883 | Catalin(ux) M. BOIE | 2016-10-05 03:32:37 |
No need to login to find out the ip address | 55a3abd3dda66d9d0dccdc0fc27dc3dc3e7c3fa1 | Catalin(ux) M. BOIE | 2016-10-05 03:25:47 |
Bump version to 0.62 | 61acc979d8c3bb629e03dc371bba1f604f300205 | Catalin(ux) M. BOIE | 2016-10-04 18:49:31 |
TODO updates | cc78fa90ebdb7605013f2ba40b7d196d708d7415 | Catalin(ux) M. BOIE | 2016-10-04 18:49:04 |
File inc/admin.inc.php changed (mode: 100644) (index c0dfe44..b6d3fec) | |||
... | ... | function rg_admin_settings_ssh($db, $rg) | |
482 | 482 | { | { |
483 | 483 | global $rg_max_ssh_keys; | global $rg_max_ssh_keys; |
484 | 484 | ||
485 | rg_log_enter('admin_settings_menu'); | ||
485 | rg_log_enter('admin_settings_ssh'); | ||
486 | 486 | ||
487 | 487 | $ret = ''; | $ret = ''; |
488 | 488 | $errmsg = array(); | $errmsg = array(); |
... | ... | function rg_admin_settings_ssh($db, $rg) | |
610 | 610 | $rg['HTML:errmsg'] = rg_template_errmsg($errmsg); | $rg['HTML:errmsg'] = rg_template_errmsg($errmsg); |
611 | 611 | $rg['rg_form_token'] = rg_token_get($db, $rg, | $rg['rg_form_token'] = rg_token_get($db, $rg, |
612 | 612 | 'admin_settings_ssh'); | 'admin_settings_ssh'); |
613 | $ret .= rg_template('admin/settings/main.html', | ||
613 | $ret .= rg_template('admin/settings/ssh/main.html', | ||
614 | 614 | $rg, TRUE /*xss*/); | $rg, TRUE /*xss*/); |
615 | 615 | break; | break; |
616 | 616 | } | } |
File inc/demo.inc.php changed (mode: 100644) (index 419cb45..3b49eed) | |||
... | ... | function rg_demo($rg, $paras) | |
20 | 20 | ||
21 | 21 | $d = $rg_demos[$demo]; | $d = $rg_demos[$demo]; |
22 | 22 | ||
23 | $rg['is_demo'] = 1; | ||
23 | 24 | $rg['demo']['demo'] = $demo; | $rg['demo']['demo'] = $demo; |
24 | 25 | $rg['demo']['HTML:demo_name'] = rg_template('doc/demo/demos/' . $demo | $rg['demo']['HTML:demo_name'] = rg_template('doc/demo/demos/' . $demo |
25 | 26 | . '/name.html', $rg, TRUE /*xss*/); | . '/name.html', $rg, TRUE /*xss*/); |
... | ... | function rg_demo($rg, $paras) | |
38 | 39 | break; | break; |
39 | 40 | } | } |
40 | 41 | } | } |
41 | if ($pi === FALSE) | ||
42 | if ($pi === FALSE) { | ||
43 | rg_log('Invalid page: ' . $page); | ||
42 | 44 | return rg_template('doc/demo/invalid_page.html', | return rg_template('doc/demo/invalid_page.html', |
43 | 45 | $rg, TRUE /*xss*/); | $rg, TRUE /*xss*/); |
46 | } | ||
44 | 47 | ||
45 | 48 | rg_log_ml('DEBUG: pi: ' . print_r($pi, TRUE)); | rg_log_ml('DEBUG: pi: ' . print_r($pi, TRUE)); |
46 | 49 | foreach ($pi as $k => $v) | foreach ($pi as $k => $v) |
... | ... | $rg_demos = array( | |
93 | 96 | 'prev' => 'add_hook', | 'prev' => 'add_hook', |
94 | 97 | 'next' => '' | 'next' => '' |
95 | 98 | ) | ) |
99 | ), | ||
100 | 'config' => array( | ||
101 | array( | ||
102 | 'page' => '0', | ||
103 | 'prev' => '', | ||
104 | 'next' => 'openssh' | ||
105 | ), | ||
106 | array( | ||
107 | 'page' => 'openssh', | ||
108 | 'prev' => '0', | ||
109 | 'next' => '' | ||
110 | ) | ||
96 | 111 | ) | ) |
97 | 112 | ); | ); |
98 | 113 |
File inc/util.inc.php changed (mode: 100644) (index c40422b..d6c838b) | |||
... | ... | function rg_template_string(&$s, $off, &$data, $xss_protection) | |
799 | 799 | ||
800 | 800 | if (isset($rg_template_functions[$func])) | if (isset($rg_template_functions[$func])) |
801 | 801 | $value = $rg_template_functions[$func]($param); | $value = $rg_template_functions[$func]($param); |
802 | } else if (strncmp($var, 'TEMPLATE:', 9) == 0) { | ||
803 | $path = substr($var, 9); | ||
804 | rg_log("DEBUG: found a template path=[$path]!"); | ||
805 | $value = rg_template($path, $data, $xss_protection); | ||
806 | } else if (strncmp($var, 'SET:', 4) == 0) { | ||
807 | $rest = substr($var, 4); | ||
808 | rg_log("DEBUG: found a set rest=[$rest]!"); | ||
809 | $_t = explode('=', $rest, 2); | ||
810 | if (isset($_t[1])) | ||
811 | $data[$_t[0]] = $_t[1]; | ||
812 | $value = ''; | ||
802 | 813 | } else { | } else { |
803 | 814 | //rg_log("DEBUG: VAR [$var] NOT FOUND!"); | //rg_log("DEBUG: VAR [$var] NOT FOUND!"); |
804 | 815 | } | } |
File root/themes/default/admin/settings/ssh/main.html renamed from root/themes/default/admin/settings/main.html (similarity 100%) |
File root/themes/default/doc/demo/demos/ci-1/0/main.html changed (mode: 100644) (index 5f5238f..e91061f) | |||
... | ... | for some branches, for example, "pre-production" or "production".<br /> | |
11 | 11 | ||
12 | 12 | Continuous Integration automatically can: | Continuous Integration automatically can: |
13 | 13 | <ul> | <ul> |
14 | <li>Build and test you branch on different operating systems and architectures</li> | ||
14 | <li>Build and test your changes on different operating systems and | ||
15 | architectures</li> | ||
15 | 16 | <li>Deploy a build that passed the test using your script</li> | <li>Deploy a build that passed the test using your script</li> |
16 | 17 | <li>Add custom labels to the build and test steps to easily identify | <li>Add custom labels to the build and test steps to easily identify |
17 | what gone wrong.</li> | ||
18 | what gone wrong.</li> | ||
18 | 19 | </ul> | </ul> |
File root/themes/default/doc/demo/demos/config/0/main.html added (mode: 100644) (index 0000000..1794b14) | |||
1 | <div class="demo_page_title">@@demo::page_name@@</div> | ||
2 | |||
3 | This tutorial will decribe the RocketGit configuration.<br /> | ||
4 | <br /> | ||
5 | |||
6 | We will show you how to configure OpenSSH for best performance and security.<br /> | ||
7 | In the future, we will add here more configuration pages, as we migrate them | ||
8 | from the /etc/rocketgit/config.php to web interface.<br /> |
File root/themes/default/doc/demo/demos/config/0/name.html added (mode: 100644) (index 0000000..de3a71b) | |||
1 | Welcome to RocketGit configuration tutorial! |
File root/themes/default/doc/demo/demos/config/name.html added (mode: 100644) (index 0000000..284cf1b) | |||
1 | Configuration - Fine tune your RocketGit instance |
File root/themes/default/doc/demo/demos/config/openssh/main.html added (mode: 100644) (index 0000000..9ab0643) | |||
1 | <div class="demo_page_title">@@demo::page_name@@</div> | ||
2 | |||
3 | This page will show you how to best configure your OpenSSH settings.<br /> | ||
4 | <br /> | ||
5 | |||
6 | To configure what type of keys are allowed, minimum number of bits or | ||
7 | if you use auto-generated authorized_keys file or expect OpenSSH to call | ||
8 | a RocketGit helper, just login as an admin user and go to | ||
9 | 'Admin -> Settings -> SSH' menu.<br /> | ||
10 | You will see something like this:<br /> | ||
11 | |||
12 | @@SET:errmsg=@@ | ||
13 | @@SET:url=/op/doc/demo/config/openssh@@ | ||
14 | @@SET:max_ssh_keys=10@@ | ||
15 | @@SET:hints=@@ | ||
16 | @@TEMPLATE:admin/settings/ssh/main.html@@ | ||
17 | <br/> | ||
18 | |||
19 | You may want to limit the number of keys per user, or avoid some SSH key | ||
20 | types or with insecure number of bits. |
File root/themes/default/doc/demo/demos/config/openssh/name.html added (mode: 100644) (index 0000000..d870e16) | |||
1 | OpenSSH settings |
File root/themes/default/doc/demo/list.html changed (mode: 100644) (index b9ee936..a696d64) | |||
1 | 1 | <div class="main_title">Tutorials - learn about RocketGit</div> | <div class="main_title">Tutorials - learn about RocketGit</div> |
2 | 2 | ||
3 | 3 | <div class="islands"> | <div class="islands"> |
4 | <div class="island"> | ||
5 | <div class="island_title">Configuration</div> | ||
6 | <a href="/op/doc/demo/config">Fine tune your RocketGit instance</a> | ||
7 | </div> | ||
8 | |||
4 | 9 | <div class="island"> | <div class="island"> |
5 | 10 | <div class="island_title">Webhooks</div> | <div class="island_title">Webhooks</div> |
6 | 11 | Soon... | Soon... |
File tests/themes/util/template1.html added (mode: 100644) (index 0000000..80cb3f9) | |||
1 | T1S @@TEMPLATE:template2.html@@ T1E |
File tests/themes/util/template2.html added (mode: 100644) (index 0000000..bbb1e94) | |||
1 | T2S @@aaa@@ T2E |
File tests/util.php changed (mode: 100644) (index 01a688f..1a22a8c) | |||
... | ... | if (strcmp($r, $e) != 0) { | |
488 | 488 | exit(1); | exit(1); |
489 | 489 | } | } |
490 | 490 | ||
491 | |||
492 | rg_log(''); | ||
493 | rg_log_enter('Testing rg_template with file template'); | ||
494 | $a = array('aaa' => 'ccc'); | ||
495 | $r = trim(rg_template('template1.html', $a, TRUE /*xss*/)); | ||
496 | $e = 'T1S T2S ccc T2E T1E'; | ||
497 | if (strcmp($r, $e) != 0) { | ||
498 | rg_log('TEMPLATE: is not working correctly' | ||
499 | . ' [' . $r . '] != [' . $e . ']'); | ||
500 | exit(1); | ||
501 | } | ||
502 | rg_log_exit(); | ||
503 | |||
504 | |||
491 | 505 | $t = "test rg_copy_tree"; | $t = "test rg_copy_tree"; |
492 | 506 | rg_log($t); | rg_log($t); |
493 | 507 | $r = rg_copy_tree("tree1", "tree1.copy", 0755); | $r = rg_copy_tree("tree1", "tree1.copy", 0755); |