File TODO changed (mode: 100644) (index bfa7e54..294792c) |
1 |
1 |
== BEFORE FIRST RELEASE! == |
== BEFORE FIRST RELEASE! == |
|
2 |
|
[ ] Check if same user can create two repos with the same name! |
2 |
3 |
[ ] When we are altering keys table and we upgrade, the file will not be rebuilt. |
[ ] When we are altering keys table and we upgrade, the file will not be rebuilt. |
3 |
4 |
We have to dirty it. |
We have to dirty it. |
4 |
|
[ ] Do not prevent double ssh keys by database. Use the PHP code. |
|
5 |
|
[ ] Fix this shit. isset($_REQUEST['rights']) ? rg_rights_a2s(rg_var_str("rights")) : $rg |
|
6 |
|
[ ] when you add a bug, state any shoul not be present. |
|
|
5 |
|
[ ] Fix this shit: isset($_REQUEST['rights']) ? rg_rights_a2s(rg_var_str("rights")) : $rg |
|
6 |
|
[ ] when you add a bug, state 'any' should not be present. |
7 |
7 |
[ ] bug tracker is private? |
[ ] bug tracker is private? |
8 |
8 |
[ ] When I visit bug page, I auto add a save search. Bad! (doit == 1) |
[ ] When I visit bug page, I auto add a save search. Bad! (doit == 1) |
9 |
9 |
[ ] Is not clear that the owner has full rights (repo->admin->edit). |
[ ] Is not clear that the owner has full rights (repo->admin->edit). |
|
37 |
37 |
|
|
38 |
38 |
|
|
39 |
39 |
== Medium == |
== Medium == |
|
40 |
|
[ ] In logs we should log the version! |
|
41 |
|
[ ] GeoIP |
|
42 |
|
[ ] Specify a timeout for push/fetch. |
|
43 |
|
[ ] Describe also the instalation. |
40 |
44 |
[ ] Allow search from the first page. |
[ ] Allow search from the first page. |
41 |
45 |
[ ] Send notifications when a user is given rights to a repo. |
[ ] Send notifications when a user is given rights to a repo. |
42 |
46 |
[ ] Detect hexa strings and link them to commits. |
[ ] Detect hexa strings and link them to commits. |
File inc/user/repo-page.php changed (mode: 100644) (index 14c6068..db81318) |
... |
... |
if ($rg_git_port != 0) |
86 |
86 |
$repo_more['HTML:urls'] = rg_template_table("repo/urls", $urls, $repo_more); |
$repo_more['HTML:urls'] = rg_template_table("repo/urls", $urls, $repo_more); |
87 |
87 |
|
|
88 |
88 |
if (strcmp($subop, "admin") == 0) { |
if (strcmp($subop, "admin") == 0) { |
89 |
|
if ($can_admin != 1) |
|
90 |
|
rg_security_violation("User is not admin!"); |
|
91 |
|
|
|
92 |
89 |
include($INC . "/user/repo/admin/admin.php"); |
include($INC . "/user/repo/admin/admin.php"); |
93 |
90 |
$_repo_body .= $_admin; |
$_repo_body .= $_admin; |
94 |
91 |
} else if (strcmp($subop, "source") == 0) { |
} else if (strcmp($subop, "source") == 0) { |
File inc/user/repo/admin/admin.php changed (mode: 100644) (index 966187a..1ef6589) |
... |
... |
rg_log("/inc/user/repo/admin/admin"); |
4 |
4 |
$_admin_body = ""; |
$_admin_body = ""; |
5 |
5 |
$repo_admin_more = $repo_more; |
$repo_admin_more = $repo_more; |
6 |
6 |
|
|
|
7 |
|
if (rg_repo_allow($db, $ri, $rg_ui, "A") !== TRUE) { |
|
8 |
|
// Probably the user is not logged in |
|
9 |
|
$_url = rg_re_url("/op/login"); |
|
10 |
|
rg_redirect($_url); |
|
11 |
|
exit(0); |
|
12 |
|
} |
|
13 |
|
|
7 |
14 |
// TODO: we must set the url globally, in index.php! |
// TODO: we must set the url globally, in index.php! |
8 |
15 |
$_url_admin = rg_re_repopage($rg_ui, $rr['repo']) . "/admin"; |
$_url_admin = rg_re_repopage($rg_ui, $rr['repo']) . "/admin"; |
9 |
16 |
|
|
File scripts/remote.php changed (mode: 100644) (index 33d71ff..cb73cce) |
... |
... |
rg_log_set_file($rg_log_dir . "/remote.log"); |
22 |
22 |
|
|
23 |
23 |
function info($str) |
function info($str) |
24 |
24 |
{ |
{ |
25 |
|
global $access_type; |
|
26 |
|
|
|
27 |
|
rg_log("Sending error: " . $str); |
|
|
25 |
|
rg_log("Sending: " . $str); |
28 |
26 |
$str2 = "RocketGit: " . $str . "\n"; |
$str2 = "RocketGit: " . $str . "\n"; |
29 |
|
if ($access_type == 2) { // git |
|
30 |
|
$str3 = "\n" . $str2; |
|
31 |
|
$len = strlen($str3) + 4; |
|
32 |
|
$str4 = sprintf("%04x", $len) . $str3; |
|
33 |
|
fwrite(STDERR, $str4); |
|
34 |
|
} else { // ssh |
|
|
27 |
|
if (isset($_SERVER['SSH_CONNECTION'])) { |
|
28 |
|
// ssh |
35 |
29 |
fwrite(STDERR, $str2); |
fwrite(STDERR, $str2); |
|
30 |
|
} else { |
|
31 |
|
// git - seems is not working |
|
32 |
|
/* |
|
33 |
|
$len = 4 + 1 + strlen($str2); |
|
34 |
|
echo sprintf("%04x", $len) . "\2" . $str2; |
|
35 |
|
*/ |
36 |
36 |
} |
} |
37 |
37 |
} |
} |
38 |
38 |
|
|
|
... |
... |
umask(0022); |
47 |
47 |
rg_log("Start..."); |
rg_log("Start..."); |
48 |
48 |
rg_log("_SERVER: " . rg_array2string($_SERVER)); |
rg_log("_SERVER: " . rg_array2string($_SERVER)); |
49 |
49 |
|
|
50 |
|
info("Welcome to RocketGit " . $more['rg_version'] . "!"); |
|
51 |
|
|
|
52 |
50 |
$db = rg_sql_open($rg_sql); |
$db = rg_sql_open($rg_sql); |
53 |
51 |
if ($db === FALSE) |
if ($db === FALSE) |
54 |
52 |
fatal("Internal error (db)!"); |
fatal("Internal error (db)!"); |
|
... |
... |
if ($r !== TRUE) |
59 |
57 |
|
|
60 |
58 |
if (isset($_SERVER['SSH_CONNECTION'])) { |
if (isset($_SERVER['SSH_CONNECTION'])) { |
61 |
59 |
rg_log("SSH connection: " . $_SERVER['SSH_CONNECTION']); |
rg_log("SSH connection: " . $_SERVER['SSH_CONNECTION']); |
62 |
|
$access_type = 1; |
|
63 |
60 |
|
|
64 |
61 |
// we do not have host info |
// we do not have host info |
65 |
62 |
$host = ""; |
$host = ""; |
|
... |
... |
if (isset($_SERVER['SSH_CONNECTION'])) { |
92 |
89 |
rg_internal_error("Cannot update key last_use!"); |
rg_internal_error("Cannot update key last_use!"); |
93 |
90 |
} else { |
} else { |
94 |
91 |
rg_log("git-daemon connection..."); |
rg_log("git-daemon connection..."); |
95 |
|
$access_type = 2; |
|
96 |
92 |
|
|
97 |
93 |
// we have no client info |
// we have no client info |
98 |
94 |
$uid = 0; |
$uid = 0; |
|
... |
... |
rg_log("Running [$run]..."); |
227 |
223 |
passthru($run, $ret); |
passthru($run, $ret); |
228 |
224 |
rg_log("[$run] returned $ret."); |
rg_log("[$run] returned $ret."); |
229 |
225 |
|
|
230 |
|
info("Done. Thank you!"); |
|
231 |
|
|
|
232 |
226 |
rg_prof_end("remote.php"); |
rg_prof_end("remote.php"); |
233 |
227 |
rg_prof_log("rg_log"); |
rg_prof_log("rg_log"); |
234 |
228 |
?> |
?> |