Index: head/devel/flyspray/Makefile =================================================================== --- head/devel/flyspray/Makefile (revision 187543) +++ head/devel/flyspray/Makefile (revision 187544) @@ -1,79 +1,78 @@ # New ports collection makefile for: flyspray # Date created: 2003.08.28 # Whom: Nick Hilliard # # $FreeBSD$ # PORTNAME= flyspray -PORTVERSION= 0.9.8 +PORTVERSION= 0.9.9 CATEGORIES= devel -MASTER_SITES= http://flyspray.rocks.cc/files/ +MASTER_SITES= http://www.flyspray.org/ MAINTAINER= nick@foobar.org COMMENT= A simple, easy-to-use web based bug tracking system RUN_DEPENDS= ${LOCALBASE}/share/adodb/adodb.inc.php:${PORTSDIR}/databases/adodb USE_PHP= mysql pcre session +USE_ZIP= yes WANT_PHP_WEB= yes NO_BUILD= yes +NO_WRKSUBDIR= yes FLYSPRAYDIR= ${PREFIX}/share/${PORTNAME} ATTACHMENTDIR= ${DBDIR}/${PORTNAME}/attachments DBDIR= /var/db DOC_FILES= AUTHORS.txt BUGS.txt CHANGELOG.txt INSTALL.txt \ QA_CHECKLIST.txt README.txt TODO.txt UPGRADING.txt \ README.FreeBSD \ licences/ADOdb.licence.txt \ licences/Flyspray.licence.txt \ licences/NuvolaIcons.licence.txt \ - licences/class.jabber.php.licence.txt \ - licences/jsCalendar.licence.txt \ - licences/phpMarkdown.licence.txt \ - licences/phpmailer.licence.txt \ + licences/jsCalendar.licence.txt -FLYSPRAY_FILES= .htaccess favicon.ico header.php index.php \ - remote-client.php remote.php docs/licences/gnu_lgpl.html \ - includes lang scripts setup sql themes +FLYSPRAY_FILES= cache docs/licences/gnu_lgpl.html \ + favicon.ico feed.php header.php htaccess.dist includes \ + index.php javascript lang plugins robots.txt schedule.php \ + scripts setup templates themes PKGMESSAGE= ${WRKSRC}/pkg-message post-patch: @${CP} ${PKGDIR}/files/README.FreeBSD ${WRKSRC}/docs/ @${REINPLACE_CMD} -e "s|%%FLYSPRAYDIR%%|"${FLYSPRAYDIR}"|g" \ -e "s|%%DOCSDIR%%|"${DOCSDIR}"|g" \ ${WRKSRC}/docs/README.FreeBSD @${FIND} ${WRKSRC} -name \*.orig -exec ${RM} '{}' ';' do-install: @${MKDIR} ${FLYSPRAYDIR} ${CHMOD} 755 ${FLYSPRAYDIR} - ${INSTALL_DATA} ${WRKSRC}/flyspray.conf.php \ - ${FLYSPRAYDIR}/flyspray.conf.php-dist ${TOUCH} ${FLYSPRAYDIR}/flyspray.conf.php cd ${WRKSRC} && \ tar cf - ${FLYSPRAY_FILES} | \ (cd ${FLYSPRAYDIR} && tar -xf -) ${LN} -s ${ATTACHMENTDIR} ${FLYSPRAYDIR}/attachments ${LN} -s ${PREFIX}/share/adodb ${FLYSPRAYDIR} @${MKDIR} ${ATTACHMENTDIR} ${CHMOD} 750 ${ATTACHMENTDIR} ${CHOWN} ${WWWOWN}:${WWWGRP} ${ATTACHMENTDIR} + ${CHOWN} ${WWWOWN}:${WWWGRP} ${FLYSPRAYDIR}/cache ${CHOWN} ${WWWOWN}:${WWWGRP} ${FLYSPRAYDIR}/flyspray.conf.php post-install: install-doc @${SED} -e 's|%%DOCSDIR%%|${DOCSDIR}|g' pkg-message > ${PKGMESSAGE} @${CAT} ${PKGMESSAGE} install-doc: .if !defined(NOPORTDOCS) @${MKDIR} ${DOCSDIR} .for file in ${DOC_FILES} @${INSTALL_DATA} ${WRKSRC}/docs/${file} ${DOCSDIR} .endfor .endif .include Property changes on: head/devel/flyspray/Makefile ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.6 \ No newline at end of property +1.7 \ No newline at end of property Index: head/devel/flyspray/distinfo =================================================================== --- head/devel/flyspray/distinfo (revision 187543) +++ head/devel/flyspray/distinfo (revision 187544) @@ -1,3 +1,3 @@ -MD5 (flyspray-0.9.8.tar.gz) = e034c2f1638cca65c41c7cb3590e2014 -SHA256 (flyspray-0.9.8.tar.gz) = 0aba36c36092e2e8e843239245b8e39ea56c31286683a7d2ca9a458fdd08c4fa -SIZE (flyspray-0.9.8.tar.gz) = 385283 +MD5 (flyspray-0.9.9.zip) = f6c8e3c2b79caa85d27d8cffa253ee63 +SHA256 (flyspray-0.9.9.zip) = 567efbe2742724cc264d908db4c5769248b7e78942cecfe658607c473aa3553d +SIZE (flyspray-0.9.9.zip) = 1406199 Property changes on: head/devel/flyspray/distinfo ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.5 \ No newline at end of property +1.6 \ No newline at end of property Index: head/devel/flyspray/files/patch-docs-CHANGELOG.txt =================================================================== --- head/devel/flyspray/files/patch-docs-CHANGELOG.txt (revision 187543) +++ head/devel/flyspray/files/patch-docs-CHANGELOG.txt (nonexistent) @@ -1,18 +0,0 @@ ---- docs/CHANGELOG.txt.orig Sun Oct 23 01:22:26 2005 -+++ docs/CHANGELOG.txt Sun Oct 30 07:11:06 2005 -@@ -1,4 +1,14 @@ --0.9.8 - 23 October 2005 -+0.9.8 update1 - 30 October 05 -+ -+FIXED - Lack of .htaccess rewrite rule for dependency graphs -+FIXED - Cross Site Scripting security hole -+FIXED - Project selector permission query -+FIXED - Date range for Reports -+FIXED - Bugs with language pack function -+FIXED - error_reporting() in header.php -+ -+ -+0.9.8 - 23 October 05 - - NEW - Full-featured installer - NEW - Address rewriting for human-readable URLs Property changes on: head/devel/flyspray/files/patch-docs-CHANGELOG.txt ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/devel/flyspray/files/patch-remote.php =================================================================== --- head/devel/flyspray/files/patch-remote.php (revision 187543) +++ head/devel/flyspray/files/patch-remote.php (nonexistent) @@ -1,10 +0,0 @@ ---- remote.php.orig Thu Aug 25 01:53:36 2005 -+++ remote.php Wed Oct 26 23:03:01 2005 -@@ -564,6 +564,7 @@ - { - global $fs; - global $db; -+ global $dbprefix; - include_once('includes/notify.inc.php'); - $notify = new Notifications; - Property changes on: head/devel/flyspray/files/patch-remote.php ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/devel/flyspray/files/patch-scripts-index.php =================================================================== --- head/devel/flyspray/files/patch-scripts-index.php (revision 187543) +++ head/devel/flyspray/files/patch-scripts-index.php (nonexistent) @@ -1,67 +0,0 @@ ---- scripts/index.php.orig Sat Oct 22 13:41:49 2005 -+++ scripts/index.php Thu Oct 27 00:09:01 2005 -@@ -129,14 +129,16 @@ - // Those who aren't super users get this more restrictive query - } elseif (isset($_COOKIE['flyspray_userid'])) - { -- $check_projects = $db->Query("SELECT p.project_id -- FROM {$dbprefix}users_in_groups uig -- LEFT JOIN {$dbprefix}groups g ON uig.group_id = g.group_id, -- {$dbprefix}projects p -- WHERE ((uig.user_id = ? -- AND g.view_tasks = '1') -- OR p.others_view = '1') -- AND p.project_is_active = '1' -+ $check_projects = $db->Query("SELECT p.* FROM {$dbprefix}projects p -+ LEFT JOIN {$dbprefix}groups g -+ ON p.project_id=g.belongs_to_project -+ AND g.view_tasks=1 -+ LEFT JOIN {$dbprefix}users_in_groups uig -+ ON uig.group_id = g.group_id -+ AND uig.user_id = ? -+ WHERE p.project_is_active='1' -+ AND (p.others_view -+ OR uig.user_id IS NOT NULL) - ORDER BY p.project_title", - array($current_user['user_id']) - ); -@@ -334,7 +336,7 @@ - > - get_language_pack($lang, 'status'); - foreach($status_list as $key => $val) - { - if ($key == '2') -@@ -177,7 +177,7 @@ - > - get_language_pack($lang, 'priority'); - foreach($priority_list as $key => $val) - { - if ($key == '2') Property changes on: head/devel/flyspray/files/patch-scripts-newtask.php ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/devel/flyspray/files/patch-header.php =================================================================== --- head/devel/flyspray/files/patch-header.php (revision 187543) +++ head/devel/flyspray/files/patch-header.php (nonexistent) @@ -1,16 +0,0 @@ ---- header.php.orig Sun Oct 23 01:11:14 2005 -+++ header.php Wed Oct 26 04:16:53 2005 -@@ -4,8 +4,11 @@ - // move flyspray.conf.php to a directory where a browser can't access it. - // (RECOMMENDED). - --// Turn off PHP notices --error_reporting(E_ALL & -E_NOTICE); -+// You might like to uncomment the next line if you are receiving lots of -+// PHP NOTICE errors. We are in the process of making Flyspray stop making -+// these errors, but this will help hide them until we are finished. -+ -+//error_reporting(E_ALL & ~E_NOTICE); - - // Check PHP Version (Must Be at least 4.3) - // For 0.9.9, this should redirect to the error page Property changes on: head/devel/flyspray/files/patch-header.php ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.3 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/devel/flyspray/files/patch-includes-functions.inc.php =================================================================== --- head/devel/flyspray/files/patch-includes-functions.inc.php (revision 187543) +++ head/devel/flyspray/files/patch-includes-functions.inc.php (nonexistent) @@ -1,78 +0,0 @@ ---- includes/functions.inc.php.orig Sun Oct 23 09:03:37 2005 -+++ includes/functions.inc.php Sun Oct 30 10:51:12 2005 -@@ -18,19 +18,31 @@ - */ - function get_language_pack($lang, $module) - { -- $before = get_defined_vars(); -+ // MC: functions module is in functions.*inc*.php -+ if ($module == 'functions') { -+ $module .= '.inc'; -+ } -+ -+ $before = get_defined_vars(); - require_once("lang/en/$module.php"); - $after_en = get_defined_vars(); -- $new_var = array_keys(array_diff($after_en, $before)); -- $new_var_name = @$new_var[1]; -- $new_var['en'] = @$$new_var_name; -- if (file_exists("lang/$lang/$module.php")) -- { -- require_once("lang/$lang/$module.php"); -- } -- $new_var[$lang] = @$$new_var_name; -+ $new_var = array_keys(array_diff($after_en, $before)); - -- $$new_var_name = @array_merge($new_var['en'], $new_var[$lang]); -+ if (isset($new_var[1])) { -+ list(, $new_var_name) = $new_var; -+ $new_var['en'] = $$new_var_name; -+ -+ if (file_exists("lang/$lang/$module.php")) { -+ require_once("lang/$lang/$module.php"); -+ } -+ $new_var[$lang] = $$new_var_name; -+ // $$new_var_name = array_merge($new_var['en'], $new_var[$lang]); -+ $$new_var_name = $new_var['en']; -+ $merge_ref =& $$new_var_name; -+ foreach ($new_var[$lang] as $key => $val) { -+ $merge_ref[$key] = $val; -+ } -+ } - } - - /** Redirects the browser to the page in $url -@@ -189,17 +201,19 @@ - - $status_id = $get_details['item_status']; - -- require("lang/$lang/status.php"); -+ global $status_list, $severity_list, $priority_list; -+ $this->get_language_pack($lang, 'status'); -+ $this->get_language_pack($lang, 'severity'); -+ $this->get_language_pack($lang, 'priority'); -+ - $tmp_array = array("status_name" => $status_list[$status_id]); - $get_details = $get_details + $tmp_array; - - $severity_id = $get_details['task_severity']; -- require("lang/$lang/severity.php"); - $tmp_array = array("severity_name" => $severity_list[$severity_id]); - $get_details = $get_details + $tmp_array; - - $priority_id = $get_details['task_priority']; -- require("lang/$lang/priority.php"); - $tmp_array = array("priority_name" => $priority_list[$priority_id]); - $get_details = $get_details + $tmp_array; - -@@ -301,8 +315,9 @@ - global $db; - global $dbprefix; - global $lang; -+ global $functions_text; - -- require("lang/$lang/functions.inc.php"); -+ $this->get_language_pack($lang, 'functions'); - - // Just in case $perpage is something weird, like 0, fix it here: - if ($perpage < 1) { $perpage = ($totalcount > 0 ? $totalcount : 1); } Property changes on: head/devel/flyspray/files/patch-includes-functions.inc.php ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/devel/flyspray/files/patch-includes-regexp.php =================================================================== --- head/devel/flyspray/files/patch-includes-regexp.php (revision 187543) +++ head/devel/flyspray/files/patch-includes-regexp.php (nonexistent) @@ -1,94 +0,0 @@ ---- includes/regexp.php.orig Sun Jul 24 12:00:47 2005 -+++ includes/regexp.php Wed Oct 26 23:03:01 2005 -@@ -55,6 +55,20 @@ - - }; - -+if (isset($_GET['sort2']) && !empty($_GET['sort2'])) -+{ -+ // Yes. Now check its regex format for safety -- Limited range -+ if (preg_match ("/^(asc|desc)$/", $_GET['sort2'])) { -+ -+ // continue; -+ } else { -+ -+ $fs->Redirect($fs->CreateURL('error', null)); -+// print "Sorting request is invalid."; exit; -+ }; -+ -+}; -+ - if (isset($_GET['project']) && !empty($_GET['project'])) { - - // Yes. Now check its regex format for safety -- Numbers only -@@ -69,6 +83,21 @@ - }; - }; - -+if (isset($_GET['type']) && !empty($_GET['type'])) { -+ -+ // Yes. Now check its regex format for safety -- Numbers only -+ if (preg_match ("/^\d+$/", $_GET['type'])) { -+ -+ // continue; -+ -+ } else { -+ -+ $fs->Redirect($fs->CreateURL('error', null)); -+// print "Tasktype request is invalid."; exit; -+ }; -+}; -+ -+ - if (isset($_GET['page']) && !empty($_GET['page'])) - { - // Yes. Now check its regex format for safety -- Numbers only -@@ -324,4 +353,48 @@ - // print "Magic URL is invalid."; exit; - }; - }; -+ -+if (isset($_GET['tasks']) && !empty($_GET['tasks'])) -+{ -+ // Yes. Now check its regex format for safety -- Limited range -+ if (preg_match ("/^(all|assigned|reported|watched)$/", $_GET['tasks'])) { -+ -+ // continue; -+ } else { -+ -+ $fs->Redirect($fs->CreateURL('error', null)); -+// print "Tasks request is invalid."; exit; -+ }; -+ -+}; -+ -+if (isset($_GET['due']) && !empty($_GET['due'])) { -+ -+ // Yes. Now check its regex format for safety -- Numbers only -+ if (preg_match ("/^\d+$/", $_GET['due'])) { -+ -+ // continue; -+ } else { -+ -+ $fs->Redirect($fs->CreateURL('error', null)); -+// print "Due version request is invalid."; exit; -+ }; -+}; -+ -+if (isset($_GET['string']) && !empty($_GET['string'])) { -+ -+ // Yes. Now check its regex format for safety -- Numbers only -+ if (preg_match ("!<.*>!", $_GET['string'])) { -+ $fs->Redirect($fs->CreateURL('error', null)); -+ }; -+}; -+ -+if (isset($_GET['PHPSESSID']) && !empty($_GET['PHPSESSID'])) { -+ -+ // Yes. Now check its regex format for safety -- Numbers only -+ if (preg_match ("!<.*>!", $_GET['PHPSESSID'])) { -+ $fs->Redirect($fs->CreateURL('error', null)); -+ }; -+}; -+ - ?> Property changes on: head/devel/flyspray/files/patch-includes-regexp.php ___________________________________________________________________ Deleted: cvs2svn:cvs-rev ## -1 +0,0 ## -1.1 \ No newline at end of property Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Index: head/devel/flyspray/files/patch-scripts-details.php =================================================================== --- head/devel/flyspray/files/patch-scripts-details.php (revision 187543) +++ head/devel/flyspray/files/patch-scripts-details.php (nonexistent) @@ -1,60 +0,0 @@ ---- scripts/details.php.orig Sat Oct 22 13:41:22 2005 -+++ scripts/details.php Thu Oct 27 00:09:01 2005 -@@ -91,17 +91,19 @@ - } elseif (isset($_COOKIE['flyspray_userid'])) - { - -- $get_projects = $db->Query("SELECT DISTINCT p.* -- FROM {$dbprefix}users_in_groups uig -- LEFT JOIN {$dbprefix}groups g ON uig.group_id = g.group_id, -- {$dbprefix}projects p -- WHERE ((uig.user_id = ? -- AND g.view_tasks = '1') -- OR p.others_view = '1') -- AND p.project_is_active = '1' -- ORDER BY p.project_title", -- array($current_user['user_id']) -- ); -+ $get_projects = $db->Query("SELECT p.* FROM {$dbprefix}projects p -+ LEFT JOIN {$dbprefix}groups g -+ ON p.project_id=g.belongs_to_project -+ AND g.view_tasks=1 -+ LEFT JOIN {$dbprefix}users_in_groups uig -+ ON uig.group_id = g.group_id -+ AND uig.user_id = ? -+ WHERE p.project_is_active='1' -+ AND (p.others_view -+ OR uig.user_id IS NOT NULL) -+ ORDER BY p.project_title", -+ array($current_user['user_id']) -+ ); - - } else - { -@@ -242,7 +244,7 @@ - - get_language_pack($lang, 'severity'); - foreach($severity_list as $key => $val) - { - if ($task_details['task_severity'] == $key) -@@ -340,7 +342,7 @@ -