List of commits:
Subject Hash Author Date (UTC)
Because of docker, we are now using HTTP_HOST insead of SERVER_NAME 9cf31231d760daac43e1c3454c5a308d69ea4898 Catalin(ux) M. BOIE 2019-11-14 03:22:37
Corrected stupid space char inside cache key 5958389c03b7536d6332a51e30b112ad3a520571 Catalin(ux) M. BOIE 2019-11-10 21:15:32
nginx: remove text/html because it is always added to gzip_types f8717bc9ac127e806696f088389c2911a6d37e28 Catalin(ux) M. BOIE 2019-11-09 13:05:54
vm: get rid of i386 (we move to x86_64) 67662a7b71f1b21f53fe7fa819afdf366ad3b4b4 Catalin(ux) M. BOIE 2019-11-09 07:58:05
SELinux: allow httpd_t to map rocketgit_exec_t files 6d3550736af317791be3d6355dd90bf64de323f5 Catalin(ux) M. BOIE 2019-11-09 00:36:03
Added rg_git_repo_is_empty function plus func test a13c5439fceffd8b1474f1105ca37c7b703d2fc9 Catalin(ux) M. BOIE 2019-11-08 04:34:34
TODO updates, user_min/max defaults changed d2f35a43f5de793565e0df9889d587c524df5f20 Catalin(ux) M. BOIE 2019-11-06 16:32:08
More rg_exec2 fixes 808297884e42942c83762040c4247c7cf9a593e8 Catalin(ux) M. BOIE 2019-11-06 16:31:09
Always set rg[hostname] - used also for ssh connections for TOTP 1a7a693617ac521967b8df73245cd704004b76b5 Catalin(ux) M. BOIE 2019-11-06 04:10:59
White space corrections 92a1b944842439b9476a954daa2a65c5acfca85c Catalin(ux) M. BOIE 2019-11-05 18:52:08
README updates b57e3765de34c5e4ed7afa8384f24b6337352b17 Catalin(ux) M. BOIE 2019-11-01 03:18:48
download page updates 0185da40f7b2779c886b9c3e67b10fe69b1b112c Catalin(ux) M. BOIE 2019-11-01 03:13:14
css: small updates 59ae919c798d64f74ed8bdeb08241e4e76840afe Catalin(ux) M. BOIE 2019-10-30 21:33:37
comparison: updated pagespeed and other changes 3f423b7b0a98c0342e5d855c254812d37a03a5b8 Catalin(ux) M. BOIE 2019-10-30 21:27:20
html: specify logo size to avoid re-render b2ce82a59029e93438e9e6792f6aa6f7e44741c7 Catalin(ux) M. BOIE 2019-10-30 21:15:10
git(rocketgit_t) needs to map rocketgit_var_t files 2b10062807dd4f478e136aea1c239e117b46caed Catalin(ux) M. BOIE 2019-10-30 21:02:18
css: gravatar is displayed as block to get rid of below extra space b02dc575be2ccd8b99eff7509f8a7e62c57654a6 Catalin(ux) M. BOIE 2019-10-30 20:58:03
SELinux: more rights added 2e71284e917886f9ef2b0dcb005f63ff8153df1f Catalin(ux) M. BOIE 2019-10-30 17:30:08
We need also php-json for API f53e706bea1f29bb678ca39c2295ac8354af76d8 Catalin(ux) M. BOIE 2019-10-30 17:26:35
Small changes in several places 357571a8a8821b82f072bf83808342693e9a649c Catalin(ux) M. BOIE 2019-10-30 17:13:29
Commit 9cf31231d760daac43e1c3454c5a308d69ea4898 - Because of docker, we are now using HTTP_HOST insead of SERVER_NAME
Author: Catalin(ux) M. BOIE
Author date (UTC): 2019-11-14 03:22
Committer name: Catalin(ux) M. BOIE
Committer date (UTC): 2019-11-14 03:22
Parent(s): 5958389c03b7536d6332a51e30b112ad3a520571
Signer:
Signing key:
Signing status: N
Tree: 3a36c85960c275d74b5e9dd19f69c84306abf6f0
File Lines added Lines deleted
inc/login/login.php 1 1
inc/user.inc.php 26 23
inc/user/confirm.php 1 1
inc/user/forgot.php 1 1
inc/util.inc.php 13 10
root/index.php 43 36
File inc/login/login.php changed (mode: 100644) (index 5254664..6509f76)
... ... while ($rg['doit'] == 1) {
22 22 } }
23 23
24 24 $r = rg_user_login_by_user_pass($db, $user, $pass, $login_token, $r = rg_user_login_by_user_pass($db, $user, $pass, $login_token,
25 $lock_ip, $rg['hostname'], $rg['login_ui']);
25 $lock_ip, $rg['https'], $rg['hostname'], $rg['login_ui']);
26 26 if ($r['ok'] !== 1) { if ($r['ok'] !== 1) {
27 27 $errmsg[] = $r['errmsg']; $errmsg[] = $r['errmsg'];
28 28 break; break;
File inc/user.inc.php changed (mode: 100644) (index c50a7bf..b66dea8)
... ... function rg_user_pass_valid($db, $uid, $pass)
945 945 /* /*
946 946 * Set session cookie * Set session cookie
947 947 */ */
948 function rg_user_set_session_cookie($db, $uid, $sess_time, $lock_ip, $domain)
948 function rg_user_set_session_cookie($db, $uid, $sess_time, $lock_ip, $https,
949 $domain)
949 950 { {
950 rg_log_enter("user_set_session_cookie: uid=$uid");
951 rg_log_enter("user_set_session_cookie: uid=$uid domain=$domain");
951 952
952 $secure = FALSE;
953 if (isset($_SERVER['HTTPS'])) {
953 if ($https) {
954 954 $secure = TRUE; $secure = TRUE;
955 955 $cookie_name = 'sids'; $cookie_name = 'sids';
956 956 } else { } else {
957 $secure = FALSE;
957 958 $cookie_name = 'sidu'; $cookie_name = 'sidu';
958 959 } }
959 960
 
... ... function rg_user_set_session_cookie($db, $uid, $sess_time, $lock_ip, $domain)
974 975 /* /*
975 976 * Auto login the user * Auto login the user
976 977 */ */
977 function rg_user_auto_login($db, $uid, $lock_ip, $domain, &$ui)
978 function rg_user_auto_login($db, $uid, $lock_ip, $https, $domain, &$ui)
978 979 { {
979 980 rg_prof_start("user_auto_login"); rg_prof_start("user_auto_login");
980 981 rg_log_enter("user_auto_login: uid=$uid lock_ip=$lock_ip"); rg_log_enter("user_auto_login: uid=$uid lock_ip=$lock_ip");
 
... ... function rg_user_auto_login($db, $uid, $lock_ip, $domain, &$ui)
991 992 } }
992 993
993 994 rg_user_set_session_cookie($db, $uid, $ui['session_time'], rg_user_set_session_cookie($db, $uid, $ui['session_time'],
994 $lock_ip, $domain);
995 $lock_ip, $https, $domain);
995 996
996 997 $ret = TRUE; $ret = TRUE;
997 998 break; break;
 
... ... function rg_user_auto_login($db, $uid, $lock_ip, $domain, &$ui)
1005 1006 /* /*
1006 1007 * Helper for rg_user_login_by_user_pass for db * Helper for rg_user_login_by_user_pass for db
1007 1008 */ */
1008 function rg_user_login_by_user_pass_db($db, $user, $pass, $lock_ip, $domain,
1009 &$ui)
1009 function rg_user_login_by_user_pass_db($db, $user, $pass, $lock_ip, $https,
1010 $domain, &$ui)
1010 1011 { {
1011 1012 global $rg_account_email_confirm; global $rg_account_email_confirm;
1012 1013
1013 1014 rg_prof_start('user_login_by_user_pass_db'); rg_prof_start('user_login_by_user_pass_db');
1014 1015 rg_log_enter('user_login_by_user_pass_db: user=' . $user rg_log_enter('user_login_by_user_pass_db: user=' . $user
1015 . ' lock_ip=' . $lock_ip . ' domain=' . $domain);
1016 . ' lock_ip=' . $lock_ip . ' https=' . $https
1017 . ' domain=' . $domain);
1016 1018
1017 1019 $ui = rg_user_empty(); $ui = rg_user_empty();
1018 1020
 
... ... function rg_user_login_by_user_pass_db($db, $user, $pass, $lock_ip, $domain,
1054 1056 * Authorize a user * Authorize a user
1055 1057 */ */
1056 1058 function rg_user_login_by_user_pass_helper($db, $user, $pass, $login_token, function rg_user_login_by_user_pass_helper($db, $user, $pass, $login_token,
1057 $lock_ip, $domain, &$ui)
1059 $lock_ip, $https, $domain, &$ui)
1058 1060 { {
1059 1061 global $rg_login_functions; global $rg_login_functions;
1060 1062
 
... ... function rg_user_login_by_user_pass_helper($db, $user, $pass, $login_token,
1064 1066 rg_prof_start('user_login_by_user_pass_helper'); rg_prof_start('user_login_by_user_pass_helper');
1065 1067 rg_log_enter('user_login_by_user_pass_helper: user=' . $user rg_log_enter('user_login_by_user_pass_helper: user=' . $user
1066 1068 . ' login_token=' . $login_token . ' lock_ip=' . $lock_ip . ' login_token=' . $login_token . ' lock_ip=' . $lock_ip
1067 . ' domain=' . $domain);
1069 . ' https=' . $https . ' domain=' . $domain);
1068 1070
1069 1071 $ui = rg_user_empty(); $ui = rg_user_empty();
1070 1072
 
... ... function rg_user_login_by_user_pass_helper($db, $user, $pass, $login_token,
1079 1081
1080 1082 while (1) { while (1) {
1081 1083 $r = rg_user_login_by_user_pass_db($db, $user, $pass, $r = rg_user_login_by_user_pass_db($db, $user, $pass,
1082 $lock_ip, $domain, $ui);
1084 $lock_ip, $https, $domain, $ui);
1083 1085 if ($r === TRUE) if ($r === TRUE)
1084 1086 break; break;
1085 1087
 
... ... function rg_user_login_by_user_pass_helper($db, $user, $pass, $login_token,
1260 1262 } }
1261 1263 rg_event_signal_daemon('', 0); rg_event_signal_daemon('', 0);
1262 1264
1263 rg_user_auto_login($db, $ui['uid'], $lock_ip, $domain, $ui);
1265 rg_user_auto_login($db, $ui['uid'], $lock_ip, $https, $domain,
1266 $ui);
1264 1267
1265 1268 $ret['ok'] = 1; $ret['ok'] = 1;
1266 1269 break; break;
 
... ... function rg_user_login_by_user_pass_helper($db, $user, $pass, $login_token,
1272 1275 } }
1273 1276
1274 1277 function rg_user_login_by_user_pass($db, $user, $pass, $login_token, function rg_user_login_by_user_pass($db, $user, $pass, $login_token,
1275 $lock_ip, $domain, &$ui)
1278 $lock_ip, $https, $domain, &$ui)
1276 1279 { {
1277 1280 rg_prof_start('user_login_by_user_pass'); rg_prof_start('user_login_by_user_pass');
1278 1281 rg_log_enter('rg_user_login_by_user_pass'); rg_log_enter('rg_user_login_by_user_pass');
1279 1282
1280 1283 while (1) { while (1) {
1281 1284 $ret = rg_user_login_by_user_pass_helper($db, $user, $pass, $ret = rg_user_login_by_user_pass_helper($db, $user, $pass,
1282 $login_token, $lock_ip, $domain, $ui);
1285 $login_token, $lock_ip, $https, $domain, $ui);
1283 1286 if ($ret['ok'] == 1) if ($ret['ok'] == 1)
1284 1287 break; break;
1285 1288
 
... ... function rg_user_login_by_user_pass($db, $user, $pass, $login_token,
1290 1293 $lt = substr($pass, -6); $lt = substr($pass, -6);
1291 1294 $pass2 = substr($pass, 0, -6); $pass2 = substr($pass, 0, -6);
1292 1295 $ret = rg_user_login_by_user_pass_helper($db, $user, $pass2, $ret = rg_user_login_by_user_pass_helper($db, $user, $pass2,
1293 $lt, $lock_ip, $domain, $ui);
1296 $lt, $lock_ip, $https, $domain, $ui);
1294 1297 if ($ret['ok'] == 1) if ($ret['ok'] == 1)
1295 1298 break; break;
1296 1299
 
... ... function rg_user_login_by_user_pass($db, $user, $pass, $login_token,
1298 1301 $lt = substr($pass, -8); $lt = substr($pass, -8);
1299 1302 $pass2 = substr($pass, 0, -8); $pass2 = substr($pass, 0, -8);
1300 1303 $ret = rg_user_login_by_user_pass_helper($db, $user, $pass2, $ret = rg_user_login_by_user_pass_helper($db, $user, $pass2,
1301 $lt, $lock_ip, $domain, $ui);
1304 $lt, $lock_ip, $https, $domain, $ui);
1302 1305 break; break;
1303 1306 } }
1304 1307
 
... ... function rg_user_http_git($db, $rg, $paras)
2331 2334 } }
2332 2335 $authd = rg_user_login_by_user_pass($db, $u, $p, $authd = rg_user_login_by_user_pass($db, $u, $p,
2333 2336 '' /*login_token*/, TRUE /*lock IP*/, '' /*login_token*/, TRUE /*lock IP*/,
2334 $rg['hostname'], $rg['login_ui']);
2337 $rg['https'], $rg['hostname'], $rg['login_ui']);
2335 2338 break; break;
2336 2339 } }
2337 2340
2338 $host = isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : '';
2341 $host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '';
2339 2342 // TODO: not clear if passing here login_ui is correct // TODO: not clear if passing here login_ui is correct
2340 2343 $r = rg_repo_fetch_push_helper($db, $host, $rg['ip'], $r = rg_repo_fetch_push_helper($db, $host, $rg['ip'],
2341 2344 $rg['login_ui'], $prefix, $user, $repo, $service); $rg['login_ui'], $prefix, $user, $repo, $service);
 
... ... function rg_user_http_git($db, $rg, $paras)
2466 2469 rg_git_info_pack("\x02", 'date/time: ' . gmdate('Y-m-d H:i:s') rg_git_info_pack("\x02", 'date/time: ' . gmdate('Y-m-d H:i:s')
2467 2470 . ' (UTC), debug id ' . $rg_log_sid . '.'); . ' (UTC), debug id ' . $rg_log_sid . '.');
2468 2471 // If user does not connect to the correct URL, correct them // If user does not connect to the correct URL, correct them
2469 if (!empty($host) && (strcasecmp($host, $rg['hostname']) != 0))
2470 rg_git_info_pack("\x02", 'Please use ' . $rg['hostname']
2472 if (!empty($host) && (strcasecmp($host, $rg['hostname_port']) != 0))
2473 rg_git_info_pack("\x02", 'Please use ' . $rg['hostname_port']
2471 2474 . ' instead of ' . $host . '.'); . ' instead of ' . $host . '.');
2472 2475 putenv('ROCKETGIT_SHOW_INFO=0'); putenv('ROCKETGIT_SHOW_INFO=0');
2473 2476 */ */
 
... ... function rg_user_http_git($db, $rg, $paras)
2495 2498 rg_git_info_pack("\x02", 'date/time: ' . gmdate('Y-m-d H:i:s') rg_git_info_pack("\x02", 'date/time: ' . gmdate('Y-m-d H:i:s')
2496 2499 . ' (UTC), debug id ' . $rg_log_sid . '.'); . ' (UTC), debug id ' . $rg_log_sid . '.');
2497 2500 // If user does not connect to the correct URL, correct them // If user does not connect to the correct URL, correct them
2498 if (!empty($host) && (strcasecmp($host, $rg['hostname']) != 0))
2499 rg_git_info_pack("\x02", 'Please use ' . $rg['hostname']
2501 if (!empty($host) && (strcasecmp($host, $rg['hostname_port']) != 0))
2502 rg_git_info_pack("\x02", 'Please use ' . $rg['hostname_port']
2500 2503 . ' instead of ' . $host . '.'); . ' instead of ' . $host . '.');
2501 2504 putenv('ROCKETGIT_SHOW_INFO=0'); putenv('ROCKETGIT_SHOW_INFO=0');
2502 2505
File inc/user/confirm.php changed (mode: 100644) (index 7c1ece2..defba4b)
... ... if ($uid !== FALSE) {
11 11
12 12 // auto-login // auto-login
13 13 $lock_ip = 0; // TODO: What should we do here? Present a form? $lock_ip = 0; // TODO: What should we do here? Present a form?
14 rg_user_auto_login($db, $uid, $lock_ip, $rg['hostname'],
14 rg_user_auto_login($db, $uid, $lock_ip, $rg['https'], $rg['hostname'],
15 15 $rg['login_ui']); $rg['login_ui']);
16 16 } else { } else {
17 17 // error // error
File inc/user/forgot.php changed (mode: 100644) (index 5d5864c..c58d45b)
... ... if ($rg['doit'] == 1) {
39 39 rg_user_forgot_pass_destroy($db, $r['uid']); rg_user_forgot_pass_destroy($db, $r['uid']);
40 40 // auto-login // auto-login
41 41 if (!rg_user_auto_login($db, $r['uid'], $lock_ip, if (!rg_user_auto_login($db, $r['uid'], $lock_ip,
42 $rg['hostname'], $rg['login_ui'])) {
42 $rg['https'], $rg['hostname'], $rg['login_ui'])) {
43 43 $_forgot = rg_template("msg/internal_err.html", TRUE /* xss */); $_forgot = rg_template("msg/internal_err.html", TRUE /* xss */);
44 44 return; return;
45 45 } }
File inc/util.inc.php changed (mode: 100644) (index c0cf795..2b8a694)
... ... function rg_base_url()
260 260 return $rg_base_url; return $rg_base_url;
261 261 } }
262 262
263 /*
264 * Builds a host[+port]
265 */
266 function rg_base_url_host_port($hostname, $port, $default_port)
267 {
268 if ($port != $default_port)
269 return $hostname . ':' . $port;
270
271 return $hostname;
272 }
273
263 274 /* /*
264 275 * Builds a correct URL to refer to the current virtualhost * Builds a correct URL to refer to the current virtualhost
265 276 * @http(s)_allow: '0' if not allowed, FALSE if unknown, else port number * @http(s)_allow: '0' if not allowed, FALSE if unknown, else port number
 
... ... function rg_base_url_build($hostname, $http_allow, $https_allow)
275 286
276 287 // Prefer httpS // Prefer httpS
277 288 if (intval($https_allow) > 0) { if (intval($https_allow) > 0) {
278 $add = '';
279 if (strcmp($https_allow, '443') != 0)
280 $add = ':' . $https_allow;
281
282 $rg_base_url = 'https://' . $hostname . $add;
289 $rg_base_url = 'https://' . rg_base_url_host_port($hostname, $https_allow, 443);
283 290 return; return;
284 291 } }
285 292
286 $add = '';
287 if (strcmp($http_allow, '80') != 0)
288 $add = ':' . $http_allow;
289
290 $rg_base_url = 'http://' . $hostname . $add;
293 $rg_base_url = 'http://' . rg_base_url_host_port($hostname, $http_allow, 80);
291 294 } }
292 295
293 296 function rg_re_repo_ssh($organization, $user, $repo) function rg_re_repo_ssh($organization, $user, $repo)
File root/index.php changed (mode: 100644) (index 449892b..3594bf9)
... ... $rg['bug'] = array("bug_id" => 0);
58 58 $rg['debug'] = isset($rg_allow_debug) ? $rg['debug'] = isset($rg_allow_debug) ?
59 59 rg_var_uint('rg_debug') | intval(rg_var_cookie_re('rg_debug', '/[^0-9]/')) : 0; rg_var_uint('rg_debug') | intval(rg_var_cookie_re('rg_debug', '/[^0-9]/')) : 0;
60 60 if ($rg['debug'] == 1) if ($rg['debug'] == 1)
61 setcookie('rg_debug', '1', 0, '/', $_SERVER['SERVER_NAME'],
61 setcookie('rg_debug', '1', 0, '/', $rg['hostname'],
62 62 FALSE /*secure*/, FALSE /*httponly*/); FALSE /*secure*/, FALSE /*httponly*/);
63 63 $rg['https'] = strcmp(rg_var_str('HTTPS'), 'on') == 0 ? 1 : 0; $rg['https'] = strcmp(rg_var_str('HTTPS'), 'on') == 0 ? 1 : 0;
64 64
 
... ... if ($r === FALSE) {
116 116 $hostname = rg_state_get($db, 'hostname'); $hostname = rg_state_get($db, 'hostname');
117 117 $http_allow = rg_state_get($db, 'http_allow'); $http_allow = rg_state_get($db, 'http_allow');
118 118 $https_allow = rg_state_get($db, 'https_allow'); $https_allow = rg_state_get($db, 'https_allow');
119 if (isset($_SERVER['SERVER_NAME'])) {
119 if (isset($_SERVER['HTTP_HOST'])) {
120 // We trust HTTP_HOST: somehow the user managed to get here
121 $sn = $_SERVER['HTTP_HOST'];
122 $_t = explode(':', $sn);
123 if (isset($_t[1])) {
124 $sn = $_t[0];
125 $port = $_t[1];
126 } else {
127 $port = $rg['https'] == 1 ? 443 : 80;
128 }
129 } else if (isset($_SERVER['SERVER_NAME'])
130 && (strcmp($_SERVER['SERVER_NAME'], '_') != 0)) {
120 131 $sn = $_SERVER['SERVER_NAME']; $sn = $_SERVER['SERVER_NAME'];
121 132 $port = $_SERVER['SERVER_PORT']; $port = $_SERVER['SERVER_PORT'];
133 } else if (isset($_SERVER['SERVER_ADDR'])) {
134 $sn = $_SERVER['SERVER_ADDR'];
135 $port = $_SERVER['SERVER_PORT'];
136 } else {
137 $sn = php_uname('n');
138 $port = 80;
139 }
122 140
123 if (strcmp($sn, 'rg.domain.tld') == 0) {
124 $sn = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '';
125 $_t = explode(':', $sn);
126 if (isset($_t[1])) {
127 $sn = $_t[0];
128 $port = $_t[1];
129 rg_log('DEBUG: HTTP_HOST: we have port [' . $sn . ']'
130 . ' [' . $port . ']');
131 }
132 }
133 if (empty($sn))
134 $sn = php_uname('n');
135
136 if ($hostname === FALSE) {
137 $hostname = $sn;
138 } else if (empty($hostname)) {
139 $hostname = $sn;
140 rg_state_set($db, 'hostname', $hostname);
141 }
141 if ($hostname === FALSE) {
142 $hostname = $sn;
143 } else if (empty($hostname)) {
144 $hostname = $sn;
145 rg_state_set($db, 'hostname', $hostname);
146 }
142 147
143 if ($rg['https'] == 1) {
144 if ($https_allow === FALSE) {
145 $https_allow = $port;
146 } else if (strcmp($https_allow, '') == 0) {
147 $https_allow = $port;
148 rg_state_set($db, 'https_allow', $https_allow);
149 }
150 } else {
151 if ($http_allow === FALSE) {
152 $http_allow = $port;
153 } else if (strcmp($http_allow, '') == 0) {
154 $http_allow = $port;
155 rg_state_set($db, 'http_allow', $http_allow);
156 }
148 if ($rg['https'] == 1) {
149 if ($https_allow === FALSE) {
150 $https_allow = $port;
151 } else if (strcmp($https_allow, '') == 0) {
152 $https_allow = $port;
153 rg_state_set($db, 'https_allow', $https_allow);
154 }
155 } else {
156 if ($http_allow === FALSE) {
157 $http_allow = $port;
158 } else if (strcmp($http_allow, '') == 0) {
159 $http_allow = $port;
160 rg_state_set($db, 'http_allow', $http_allow);
157 161 } }
158 162 } }
163
159 164 rg_log('DEBUG: hostname=' . $hostname . ' http_allow=' . $http_allow rg_log('DEBUG: hostname=' . $hostname . ' http_allow=' . $http_allow
160 165 . ' https_allow=' . $https_allow); . ' https_allow=' . $https_allow);
161 166 rg_base_url_build($hostname, $http_allow, $https_allow); rg_base_url_build($hostname, $http_allow, $https_allow);
162 167 rg_log('DEBUG: base_url=' . rg_base_url()); rg_log('DEBUG: base_url=' . rg_base_url());
163 168 $rg['hostname'] = $hostname; $rg['hostname'] = $hostname;
169 $rg['hostname_port'] =
170 rg_base_url_host_port($hostname, $port, $rg['https'] == 0 ? 80 : 443);
164 171 $rg['http_allow'] = $http_allow; $rg['http_allow'] = $http_allow;
165 172 $rg['https_allow'] = $https_allow; $rg['https_allow'] = $https_allow;
166 173 $rg['base_url'] = rg_base_url(); $rg['base_url'] = rg_base_url();
 
... ... if (($rg['login_ui']['uid'] == 0) && (strncmp($rg['sid'], "X", 1) != 0))
246 253 $rg['sid'] = ""; $rg['sid'] = "";
247 254 if (empty($rg['sid'])) { if (empty($rg['sid'])) {
248 255 $rg['sid'] = rg_user_set_session_cookie($db, 0 /*uid*/, 600, $rg['sid'] = rg_user_set_session_cookie($db, 0 /*uid*/, 600,
249 FALSE /*lock_ip*/, $rg['hostname']);
256 FALSE /*lock_ip*/, $rg['https'], $rg['hostname']);
250 257 rg_log("User has no sid, generate one [" . $rg['sid'] . "]"); rg_log("User has no sid, generate one [" . $rg['sid'] . "]");
251 258 } }
252 259
Hints:
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://rocketgit.com/user/catalinux/rocketgit

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/catalinux/rocketgit

Clone this repository using git:
git clone git://git.rocketgit.com/user/catalinux/rocketgit

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main