[evolvis-commits] r18543: [#3291] Check for users/ in scmgit subrepos; fix permissions for all

mirabilos at evolvis.org mirabilos at evolvis.org
Fri Sep 7 18:49:36 CEST 2012


Author: mirabilos
Date: 2012-09-07 18:49:35 +0200 (Fri, 07 Sep 2012)
New Revision: 18543

Modified:
   trunk/gforge_base/evolvisforge-5.1/src/debian/changelog
   trunk/gforge_base/evolvisforge-5.1/src/plugins/scmgit/common/GitPlugin.class.php
Log:
[#3291] Check for users/ in scmgit subrepos; fix permissions for all

Modified: trunk/gforge_base/evolvisforge-5.1/src/debian/changelog
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/debian/changelog	2012-09-07 16:49:30 UTC (rev 18542)
+++ trunk/gforge_base/evolvisforge-5.1/src/debian/changelog	2012-09-07 16:49:35 UTC (rev 18543)
@@ -1,8 +1,9 @@
 fusionforge (1:5.1.1+evolvis69) xunstable; urgency=low
 
   * Postfix: use proxy:pgsql: for virtual_alias_maps, thanks gecko2
+  * [#3291] Check for users/ in scmgit subrepos; fix permissions for all
 
- -- Thorsten Glaser <t.glaser at tarent.de>  Wed, 05 Sep 2012 16:01:04 +0200
+ -- Thorsten Glaser <t.glaser at tarent.de>  Fri, 07 Sep 2012 18:38:09 +0200
 
 fusionforge (1:5.1.1+evolvis68) unstable; urgency=high
 

Modified: trunk/gforge_base/evolvisforge-5.1/src/plugins/scmgit/common/GitPlugin.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/plugins/scmgit/common/GitPlugin.class.php	2012-09-07 16:49:30 UTC (rev 18542)
+++ trunk/gforge_base/evolvisforge-5.1/src/plugins/scmgit/common/GitPlugin.class.php	2012-09-07 16:49:35 UTC (rev 18543)
@@ -388,11 +388,9 @@
 		system ("chgrp -R $unix_group $root") ;
 		system ("chmod g+s $root") ;
 		if ($project->enableAnonSCM()) {
-			system ("chmod g+wX,o+rX-w $root") ;
-			system ("chmod -R g+wX,o+rX-w $main_repo") ;
+			system("chmod -R g+wX,o+rX-w $root");
 		} else {
-			system ("chmod g+wX,o-rwx $root") ;
-			system ("chmod -R g+wX,o-rwx $main_repo") ;
+			system("chmod -R g+wX,o-rwx $root");
 		}
 
 		$result = db_query_params ('SELECT u.user_name FROM plugin_scmgit_personal_repos p, users u WHERE p.group_id=$1 AND u.user_id=p.user_id AND u.unix_status=$2',
@@ -706,12 +704,18 @@
 			$p_reponame = ltrim(preg_replace('#(/|.git)*$#', '', trim($p_reponame)), "/");
 
 			$e = false;
+			$p_reponamefull = "";
 			foreach (explode("/", $p_reponame) as $p_reponamepart) {
 				if (!account_groupnamevalid($p_reponamepart)) {
 					$e = "Invalid subrepo name! " . $GLOBALS['register_error'] . "\n";
 					break;
 				}
+				$p_reponamefull .= $p_reponamepart . "/";
 			}
+			if (substr($p_reponamefull, 0, strlen("users/")) ==
+			    "users/") {
+				$e = "Invalid subrepo name! May not begin with users/\n";
+			}
 
 			if (!$e) {
 				$res = db_query_params('INSERT INTO scm_subrepos



More information about the evolvis-commits mailing list