Subject | Hash | Author | Date (UTC) |
---|---|---|---|
Use rg_repos for repositories | e5bda9469fddee7f201c22dfd89292830f4c342b | Catalin(ux) M. BOIE | 2012-03-22 03:42:06 |
Corrected <label> tags | 7e8621e79480b8964e04de8c54f10f1a702ea1fd | Catalin(ux) M. BOIE | 2012-03-20 04:25:38 |
Fixed unit testing | 31bfe5672e7d3b620d0e7b3c07ff72d84c149001 | Catalin(ux) M. BOIE | 2012-03-17 17:21:21 |
Fixed hook_update.sh unit testing | 86c4079e81efc5a4a7878e91d8f4318e443961f7 | Catalin(ux) M. BOIE | 2012-03-16 22:32:35 |
Bulk updates | f696473a7faee50782d3cc01e96cc85e7900b3de | Catalin(ux) M. BOIE | 2012-03-14 04:38:23 |
Style changes. | 87e30b1df29b7c6efa438be1cf369192a8068655 | Catalin(ux) M. BOIE | 2012-02-19 22:50:22 |
Bulk | 0923407bff68a58a0b7b034f8a6b4489ece5b237 | Catalin(ux) M. BOIE | 2012-02-12 22:21:44 |
Bulk update | 30310488bca37cefeba96b52b71c9c3e72c32907 | Catalin(ux) M. BOIE | 2011-12-15 23:34:03 |
Profiling tests. | afd1df2940fe440cde9b8ede988ff24c051a10d6 | Catalin(ux) M. BOIE | 2011-11-03 22:10:13 |
More bulk updates. | a2a2e2545eaad61d0c675ea2afb801f207534515 | Catalin(ux) M. BOIE | 2011-11-03 22:09:34 |
Another round of bulk updates. | 45bb00a88c420d439b4dd19971808722e4a70895 | Catalin(ux) M. BOIE | 2011-10-24 22:31:14 |
Bulk update. Mostly css. | 04734cd7cfc4fd4ec55dad70a3490f3065027639 | Catalin(ux) M. BOIE | 2011-10-03 23:18:26 |
Added rg_exec function and converted all calls from exec to rg_exec. | 097157e5886dace2b9f67ca238a1063a3baff4a0 | Catalin(ux) M. BOIE | 2011-09-28 03:28:49 |
Another round of bulk updates | cb9dbb75518ab3c214167646197ca7eb0de8e4e6 | Catalin(ux) M. BOIE | 2011-09-26 19:22:12 |
Bulk updates | cad0c710542dc3fb072268eba40b0abe11217fa9 | Catalin(ux) M. BOIE | 2011-09-21 20:25:23 |
Bulk changes. | d5274ef5f261086a2af6bd19ac04061bb3d55584 | Catalin(ux) M. BOIE | 2011-09-15 20:16:46 |
Store the fist instalation date in 'state' table. | e4ba8a9239e72e8de5eed0b3bb1f2a5f2d429105 | Catalin(ux) M. BOIE | 2011-08-31 16:14:44 |
Bulk changes. | 645d3deb19e399c05a8b14dd88c5151520482b6a | Catalin(ux) M. BOIE | 2011-08-25 20:39:25 |
Another bulk update - css related. | 3867eb5deadf9827450b40a53efe6c83f518a07b | Catalin(ux) M. BOIE | 2011-07-26 22:01:13 |
Bulk update. | 9d680f000b7c486be4664e1cb944f424c977c874 | Catalin(ux) M. BOIE | 2011-07-25 19:06:14 |
File | Lines added | Lines deleted |
---|---|---|
Makefile.in | 2 | 2 |
TODO | 27 | 28 |
inc/mr.inc.php | 1 | 1 |
inc/user.inc.php | 2 | 2 |
root/index.php | 0 | 3 |
samples/config.php | 4 | 1 |
tests/repo.php | 1 | 1 |
tests/user.php | 1 | 1 |
File Makefile.in changed (mode: 100644) (index c42fcbd..30b2a35) | |||
... | ... | install: all | |
30 | 30 | @mkdir -p $(I_VAR_LOG)/$(PRJ)-web | @mkdir -p $(I_VAR_LOG)/$(PRJ)-web |
31 | 31 | @-chown apache:apache $(I_VAR_LOG)/$(PRJ)-web | @-chown apache:apache $(I_VAR_LOG)/$(PRJ)-web |
32 | 32 | @chmod 0700 $(I_VAR_LOG)/$(PRJ)-web | @chmod 0700 $(I_VAR_LOG)/$(PRJ)-web |
33 | @mkdir -p $(I_VAR_LIB)/$(PRJ) | ||
34 | @-chown rocketgit:rocketgit $(I_VAR_LIB)/$(PRJ) | ||
33 | @mkdir -p $(I_VAR_LIB)/$(PRJ) $(I_VAR_LIB)/$(PRJ)/locks $(I_VAR_LIB)/$(PRJ)/repos | ||
34 | @-chown -R rocketgit:rocketgit $(I_VAR_LIB)/$(PRJ) | ||
35 | 35 | @chmod 0700 $(I_VAR_LIB)/$(PRJ) | @chmod 0700 $(I_VAR_LIB)/$(PRJ) |
File TODO changed (mode: 100644) (index 6716da8..e242427) | |||
1 | 1 | == BEFORE FIRST RELEASE! == | == BEFORE FIRST RELEASE! == |
2 | [ ] [Mon Feb 13 02:12:22 2012] [error] [client 2002:2e66:5950:79:72f3:95ff:fee1:73af] PHP Notice: Undefined index: organization in /usr/share/rocketgit/inc/util.inc.php on line 115, referer: http://rg.embedromix.ro:8000/user/catab/rocketgit/admin/rights?edit_uid=3 | ||
3 | [ ] $blocks = explode("@@left@@-=ROCKETGIT=-@@left@@", $a) - seems that \0 is replaced! | ||
4 | [ ] rg_exec! | ||
5 | [ ] Take care of PHP's time limit to not interfere with the rest. | ||
6 | [ ] Validate e-mails. | ||
7 | [ ] You cannot admin rights of a repository if is not yours. | ||
8 | [ ] Check XSRF attacks and other types. | ||
9 | 2 | [ ] $rg_pass_key should be done in init.php | [ ] $rg_pass_key should be done in init.php |
10 | [ ] Changing repo name probably is not working right. | ||
11 | [ ] Run update.php before rpm upgrade the scripts. | ||
12 | [ ] rg_repo_allow seems to not be used. | ||
13 | [ ] Deny any operation till schema update is done. | ||
14 | 3 | [ ] Test and fix update.php script. | [ ] Test and fix update.php script. |
15 | 4 | [ ] Check if rewinds are working as expected. | [ ] Check if rewinds are working as expected. |
16 | 5 | [ ] Fix the "edit repo" page! | [ ] Fix the "edit repo" page! |
17 | [ ] With FMH rights, seems that we insert a merge request, but create branch is | ||
18 | rejected in next hook! | ||
19 | [ ] Update of database must be done from a global init function, not by admin. | ||
20 | [ ] Switch all menus to templates. | ||
21 | [ ] Switch all forms to templates. | ||
6 | [ ] With FMH (Fetch + Anonymous push + merge commits) rights, seems that we insert a merge request, | ||
7 | but create branch is rejected in next hook! | ||
22 | 8 | [ ] 'cop' variable is not good - I do not remember what it means! | [ ] 'cop' variable is not good - I do not remember what it means! |
23 | [ ] Why is not working to access a user page ("invalid repo")?! | ||
24 | [ ] Delay connection to database. | ||
25 | [ ] Get memory statistics from /proc. | ||
26 | 9 | [ ] CSRF token is not used in admin page for an ordinary user! | [ ] CSRF token is not used in admin page for an ordinary user! |
27 | [ ] Differentiate between owner of a repository, currently logged in user and admin. | ||
28 | [ ] Warn before deleting a repo! | ||
29 | [ ] Update db structure at any function call (after an upgrade). | ||
10 | [ ] Update db structure at any function call (after an upgrade). (Deny any operation till schema update is done.) | ||
11 | [ ] Check if repo_path is valid from security pov. | ||
12 | [ ] Make available the push requests. | ||
13 | [ ] Add possibility to reject merge requests, to make them public, to delete etc. | ||
14 | |||
15 | == Normal priority == | ||
16 | [ ] | ||
17 | [ ] $blocks = explode("@@left@@-=ROCKETGIT=-@@left@@", $a) - seems that \0 is replaced! | ||
18 | [ ] Changing repo name probably is not working right. | ||
19 | [ ] Check XSRF attacks and other types. | ||
20 | [ ] Validate e-mails. | ||
21 | [ ] Take care of PHP's time limit to not interfere with the rest. | ||
22 | [ ] Run update.php before rpm upgrade the scripts. | ||
30 | 23 | [ ] Store by uid the repos, and make links to them. Make a function to rename | [ ] Store by uid the repos, and make links to them. Make a function to rename |
31 | 24 | a username. We have to keep track of renames so old links will | a username. We have to keep track of renames so old links will |
32 | 25 | still work. | still work. |
33 | [ ] Move repos to /var/lib | ||
34 | [ ] Fix 'update' hook - is a little bit strange. | ||
35 | [ ] Check if repo_path is valid from security pov. | ||
26 | [ ] Differentiate between owner of a repository, currently logged in user and admin. | ||
27 | [ ] Warn before deleting a repo! | ||
28 | [ ] Update of database must be done from a global init function, not by admin. | ||
29 | [ ] Switch all menus to templates. | ||
30 | [ ] Switch all forms to templates. | ||
36 | 31 | [ ] Check double slashes in URLs. | [ ] Check double slashes in URLs. |
37 | [ ] | ||
38 | |||
39 | == Normal priority == | ||
32 | [ ] Automatically create user on anonymous push? | ||
33 | [ ] I am not sure I can reload xinetd and httpd from spec file | ||
34 | [ ] Check SELinux context on /var/lib/rocketgit | ||
35 | [ ] admin: "Lock or accounts" and "Reset password for all accounts and send mail". | ||
36 | [ ] rg_repo_allow seems to not be used. | ||
37 | [ ] Get memory statistics from /proc. | ||
38 | [ ] Delay connection to database. | ||
40 | 39 | [ ] Add support for refs/notes/ pushes. | [ ] Add support for refs/notes/ pushes. |
41 | 40 | [ ] When logging _SERVER variables, log only the ones prefixed by ROCKETGIT_. | [ ] When logging _SERVER variables, log only the ones prefixed by ROCKETGIT_. |
42 | 41 | [ ] Ask password when doing any critical change of the account and send mail. | [ ] Ask password when doing any critical change of the account and send mail. |
File inc/mr.inc.php changed (mode: 100644) (index 3949651..50ea8bf) | |||
... | ... | require_once($INC . "/sql.inc.php"); | |
6 | 6 | ||
7 | 7 | $rg_mr_env_q = getenv("ROCKETGIT_MR_QUEUE"); | $rg_mr_env_q = getenv("ROCKETGIT_MR_QUEUE"); |
8 | 8 | if (empty($rg_mr_env_q)) | if (empty($rg_mr_env_q)) |
9 | $rg_mr_queue = $rg_base . "/q_merge_requests"; | ||
9 | $rg_mr_queue = $rg_repos . "/q_merge_requests"; | ||
10 | 10 | else | else |
11 | 11 | $rg_mr_queue = $rg_mr_env_q; | $rg_mr_queue = $rg_mr_env_q; |
12 | 12 |
File inc/user.inc.php changed (mode: 100644) (index 25bf8a9..fcc6952) | |||
... | ... | function rg_user_error() | |
30 | 30 | */ | */ |
31 | 31 | function rg_user_name2path($rr) | function rg_user_name2path($rr) |
32 | 32 | { | { |
33 | global $rg_base; | ||
33 | global $rg_repos; | ||
34 | 34 | ||
35 | 35 | $len = strlen($rr['user']); | $len = strlen($rr['user']); |
36 | 36 | $v = $rr['user']; | $v = $rr['user']; |
... | ... | function rg_user_name2path($rr) | |
42 | 42 | else | else |
43 | 43 | $type = "user"; | $type = "user"; |
44 | 44 | ||
45 | return $rg_base . "/" . $type . "s/" | ||
45 | return $rg_repos . "/" . $type . "s/" | ||
46 | 46 | . $v[0] . "/" . $v[1] . "/" . $rr['user']; | . $v[0] . "/" . $v[1] . "/" . $rr['user']; |
47 | 47 | } | } |
48 | 48 |
File root/index.php changed (mode: 100644) (index 59163d9..a3561f2) | |||
... | ... | $rg_ui = array(); | |
28 | 28 | $vv = rg_var_str("vv"); | $vv = rg_var_str("vv"); |
29 | 29 | rg_log("DEBUG: vv=$vv."); | rg_log("DEBUG: vv=$vv."); |
30 | 30 | if (strcmp($vv, "/") == 0) { // main page for site (not for user) | if (strcmp($vv, "/") == 0) { // main page for site (not for user) |
31 | rg_log("DEBUG: vv: it is the main page"); | ||
32 | 31 | $op = "main"; | $op = "main"; |
33 | 32 | } else if (strncmp($vv, "/op/", 4) == 0) { // command | } else if (strncmp($vv, "/op/", 4) == 0) { // command |
34 | rg_log("DEBUG: vv: it is an op"); | ||
35 | 33 | $_t = substr($vv, 4); | $_t = substr($vv, 4); |
36 | 34 | $_t = explode("/", $_t); | $_t = explode("/", $_t); |
37 | 35 | $op = $_t[0]; | $op = $_t[0]; |
... | ... | if (strcmp($vv, "/") == 0) { // main page for site (not for user) | |
42 | 40 | } | } |
43 | 41 | $cop = rtrim("/op/" . $op . "/" . $subop . "/" . $subsubop, "/"); | $cop = rtrim("/op/" . $op . "/" . $subop . "/" . $subsubop, "/"); |
44 | 42 | } else { // user or organization | } else { // user or organization |
45 | rg_log("DEBUG: vv: user or organization"); | ||
46 | 43 | if (strncmp($vv, "/user/", 6) == 0) { | if (strncmp($vv, "/user/", 6) == 0) { |
47 | 44 | $vv6 = substr($vv, 6); | $vv6 = substr($vv, 6); |
48 | 45 | $rr['prefix'] = "/user"; | $rr['prefix'] = "/user"; |
File samples/config.php changed (mode: 100644) (index b8c665d..2cb3510) | |||
... | ... | $rg_log_dir = "/var/log/rocketgit"; | |
53 | 53 | $rg_web_log_dir = "/var/log/rocketgit-web"; | $rg_web_log_dir = "/var/log/rocketgit-web"; |
54 | 54 | ||
55 | 55 | // lock dir | // lock dir |
56 | $rg_lock_dir = "/var/lib/rocketgit"; | ||
56 | $rg_lock_dir = "/var/lib/rocketgit/locks"; | ||
57 | |||
58 | // Repositories dir | ||
59 | $rg_repos = "/var/lib/rocketgit/repos"; | ||
57 | 60 | ||
58 | 61 | // Default theme | // Default theme |
59 | 62 | $rg_theme = "default"; | $rg_theme = "default"; |
File tests/repo.php changed (mode: 100644) (index f378a15..87fd5fd) | |||
... | ... | $rg_sql_debug = 1; | |
12 | 12 | ||
13 | 13 | // defaults | // defaults |
14 | 14 | $rg_repo_max_len = 100; | $rg_repo_max_len = 100; |
15 | $rg_base = "/base"; | ||
15 | $rg_repos = "/base"; | ||
16 | 16 | ||
17 | 17 | ||
18 | 18 | rg_log("name2base1"); | rg_log("name2base1"); |
File tests/user.php changed (mode: 100644) (index e96ba35..4cf6eda) | |||
... | ... | if ($r['uid'] != $uid) { | |
123 | 123 | } | } |
124 | 124 | ||
125 | 125 | // test name2path | // test name2path |
126 | $rg_base = "/base"; $user = "b"; $e = "/base/users/b/_/b"; | ||
126 | $rg_repos = "/base"; $user = "b"; $e = "/base/users/b/_/b"; | ||
127 | 127 | $rr = array("prefix" => "/" . $user, "user" => $user); | $rr = array("prefix" => "/" . $user, "user" => $user); |
128 | 128 | $r = rg_user_name2path($rr); | $r = rg_user_name2path($rr); |
129 | 129 | if (strcmp($r, $e) != 0) { | if (strcmp($r, $e) != 0) { |