1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-19 19:59:43 +00:00

- Upgrade to 0.10.4-ja-1 (1).

- Use $DISTNAME rather than $DISTFILES.
- Sync with www/trac.
  = installs contrib files into $EXAMPLESDIR.
  = prefer py-pysqlite23 instead of py-pysqlite20 for depending SQLite.
  = sort plist.

PR:		ports/112833 (1)
Submitted by:	TAKATSU Tomonari <tota@rtfm.jp> (1)
This commit is contained in:
Jun Kuriyama 2007-10-13 08:45:17 +00:00
parent 7c4d277167
commit 91e20b6a8f
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=201385
4 changed files with 34 additions and 214 deletions

View File

@ -6,12 +6,11 @@
#
PORTNAME= trac
PORTVERSION= 0.10.3
PORTREVISION= 2
PORTVERSION= 0.10.4
CATEGORIES= japanese www devel python
MASTER_SITES= http://dist.bsdlab.org/ \
http://www.i-act.co.jp/project/products/downloads/
DISTFILES= ${PORTNAME}-${PORTVERSION}-ja-1.zip
DISTNAME= ${PORTNAME}-${PORTVERSION}-ja-1
MAINTAINER= kuriyama@FreeBSD.org
COMMENT= An enhanced wiki and issue tracking system for software projects
@ -24,13 +23,12 @@ OPTIONS= SILVERCITY "Use Silvercity for syntax highlighting" On \
PGSQL "Use PostgreSQL instead of SQLite3" Off \
SUBVERSION "Support for subversion RCS" On
CONFLICTS= trac-0.*
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}-ja-1
USE_ZIP= yes
USE_PYTHON= yes
USE_PYDISTUTILS= yes
PYDISTUTILS_PKGNAME= trac
PYDISTUTILS_PKGVERSION= 0.10.3.1
PYDISTUTILS_PKGVERSION= 0.10.4
MAN1= trac-admin.1 tracd.1
@ -42,6 +40,7 @@ x-generate-plist:
;s,@dirrm share/man(/.*)?$$,,g \
;s,${PYTHON_SITELIBDIR:S,^${PYTHONBASE}/,,},%%PYTHON_SITELIBDIR%%,g \
;s,share/trac,%%DATADIR%%,g \
;s,share/examples/trac,%%EXAMPLESDIR%%,g \
;s,@dirrm (%%PYTHON_SITELIBDIR%%|${PYTHON_LIBDIR:S,${PYTHONBASE}/,,})$$,,g \
' | ${TR} -s '\n') > temp-pkg-plist
@ -49,6 +48,8 @@ post-patch:
${FIND} ${WRKSRC} -name '*.orig' | ${XARGS} ${RM}
post-install:
@${MKDIR} ${EXAMPLESDIR}
@${INSTALL_DATA} ${WRKSRC}/contrib/* ${EXAMPLESDIR}
@${ECHO_CMD}
@${CAT} ${PKGMESSAGE}
@${ECHO_CMD}
@ -66,7 +67,7 @@ RUN_DEPENDS+= ${PREFIX}/bin/rst2html:${PORTSDIR}/textproc/py-docutils
.if defined(WITH_PGSQL)
RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/psycopg2/__init__.py:${PORTSDIR}/databases/py-psycopg2
.else
RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/pysqlite2/__init__.py:${PORTSDIR}/databases/py-pysqlite20
RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/pysqlite2/__init__.py:${PORTSDIR}/databases/py-pysqlite23
.endif
.if !defined(WITHOUT_SUBVERSION)

View File

@ -1,3 +1,3 @@
MD5 (trac-0.10.3-ja-1.zip) = 2ed8046e0f59c3751b35b1941789baee
SHA256 (trac-0.10.3-ja-1.zip) = d4b8a505d003649eb2dde7e85674280e9b84caf3721db74696d8d4d928823247
SIZE (trac-0.10.3-ja-1.zip) = 644169
MD5 (trac-0.10.4-ja-1.zip) = dbc2468ca9acf70dd5fbd078e415fee6
SHA256 (trac-0.10.4-ja-1.zip) = 9b9f188b726a7a15d28c1b44814b8db04a987bc165bcacfac8f3a0907123337a
SIZE (trac-0.10.4-ja-1.zip) = 650892

View File

@ -1,194 +0,0 @@
Index: RELEASE
===================================================================
--- RELEASE (.../trac-0.10.3) (revision 4957)
+++ RELEASE (.../trac-0.10.3.1) (revision 4957)
@@ -1,8 +1,8 @@
-Release Notes for Trac 0.10.3
-=============================
-December 12, 2006
+Release Notes for Trac 0.10.3.1
+===============================
+March 8, 2007
-We're happy to announce the Trac 0.10.3 release, available from:
+We're happy to announce the Trac 0.10.3.1 release, available from:
http://trac.edgewall.org/wiki/TracDownload
@@ -11,18 +11,15 @@
http://trac.edgewall.org/wiki/MailingList
-Trac 0.10.3 is a bug fix release and fixes a few bugs introduced in the
-0.10.1 and 0.10.2 releases. A brief summary of major changes:
+Trac 0.10.3.1 is a security release:
+* Always send "Content-Disposition: attachment" headers where potentially
+ unsafe (user provided) content is available for download. This behaviour
+ can be altered using the "render_unsafe_content" option in the
+ "attachment" and "browser" sections of trac.ini.
+ * Fixed XSS vulnerability in "download wiki page as text" in combination with
+ Microsoft IE. Reported by Yoshinori Oota, Business Architects Inc.
- * Timeline fail to load with a "NoSuchChangeset" error message (#4132).
- * Timed out MySQL connections not handled properly (#3645).
- * Subversion repository resync broken. (#4204).
-The complete list of closed tickets can be found here:
-
- http://trac.edgewall.org/query?status=closed&milestone=0.10.3
-
-
Acknowledgements
================
Index: wiki-default/WikiStart
===================================================================
--- wiki-default/WikiStart (.../trac-0.10.3) (revision 4957)
+++ wiki-default/WikiStart (.../trac-0.10.3.1) (revision 4957)
@@ -1,4 +1,4 @@
-= Welcome to Trac 0.10.3 =
+= Welcome to Trac 0.10.3.1 =
Trac is a '''minimalistic''' approach to '''web-based''' management of
'''software projects'''. Its goal is to simplify effective tracking and handling of software issues, enhancements and overall progress.
Index: ChangeLog
===================================================================
--- ChangeLog (.../trac-0.10.3) (revision 4957)
+++ ChangeLog (.../trac-0.10.3.1) (revision 4957)
@@ -1,3 +1,14 @@
+Trac 0.10.3.1 (March 8, 2007)
+http://svn.edgewall.org/repos/trac/tags/trac-0.10.3.1
+
+ Trac 0.10.3.1 is a security release:
+ * Always send "Content-Disposition: attachment" headers where potentially
+ unsafe (user provided) content is available for download. This behaviour
+ can be altered using the "render_unsafe_content" option in the
+ "attachment" and "browser" sections of trac.ini.
+ * Fixed XSS vulnerability in "download wiki page as text" in combination with
+ Microsoft IE. Reported by Yoshinori Oota, Business Architects Inc.
+
Trac 0.10.3 (Dec 12, 2006)
http://svn.edgewall.org/repos/trac/tags/trac-0.10.3
Index: trac/attachment.py
===================================================================
--- trac/attachment.py (.../trac-0.10.3) (revision 4957)
+++ trac/attachment.py (.../trac-0.10.3.1) (revision 4957)
@@ -555,22 +555,24 @@
# Eventually send the file directly
format = req.args.get('format')
if format in ('raw', 'txt'):
- if not self.render_unsafe_content and not binary:
- # Force browser to download HTML/SVG/etc pages that may
- # contain malicious code enabling XSS attacks
- req.send_header('Content-Disposition', 'attachment;' +
- 'filename=' + attachment.filename)
- if not mime_type or (self.render_unsafe_content and \
- not binary and format == 'txt'):
- mime_type = 'text/plain'
+ if not self.render_unsafe_content:
+ # Force browser to download files instead of rendering
+ # them, since they might contain malicious code enabling
+ # XSS attacks
+ req.send_header('Content-Disposition', 'attachment')
+ if format == 'txt':
+ mime_type = 'text/plain'
+ elif not mime_type:
+ mime_type = 'application/octet-stream'
if 'charset=' not in mime_type:
charset = mimeview.get_charset(str_data, mime_type)
mime_type = mime_type + '; charset=' + charset
+
req.send_file(attachment.path, mime_type)
# add ''Plain Text'' alternate link if needed
- if self.render_unsafe_content and not binary and \
- mime_type and not mime_type.startswith('text/plain'):
+ if (self.render_unsafe_content and
+ mime_type and not mime_type.startswith('text/plain')):
plaintext_href = attachment.href(req, format='txt')
add_link(req, 'alternate', plaintext_href, 'Plain Text',
mime_type)
Index: trac/mimeview/api.py
===================================================================
--- trac/mimeview/api.py (.../trac-0.10.3) (revision 4957)
+++ trac/mimeview/api.py (.../trac-0.10.3.1) (revision 4957)
@@ -604,8 +604,8 @@
content, selector)
req.send_response(200)
req.send_header('Content-Type', output_type)
- req.send_header('Content-Disposition', 'filename=%s.%s' % (filename,
- ext))
+ req.send_header('Content-Disposition', 'attachment; filename=%s.%s' %
+ (filename, ext))
req.end_headers()
req.write(content)
raise RequestDone
Index: trac/__init__.py
===================================================================
--- trac/__init__.py (.../trac-0.10.3) (revision 4957)
+++ trac/__init__.py (.../trac-0.10.3.1) (revision 4957)
@@ -11,7 +11,7 @@
"""
__docformat__ = 'epytext en'
-__version__ = '0.10.3'
+__version__ = '0.10.3.1'
__url__ = 'http://trac.edgewall.org/'
__copyright__ = '(C) 2003-2006 Edgewall Software'
__license__ = 'BSD'
Index: trac/versioncontrol/web_ui/browser.py
===================================================================
--- trac/versioncontrol/web_ui/browser.py (.../trac-0.10.3) (revision 4957)
+++ trac/versioncontrol/web_ui/browser.py (.../trac-0.10.3.1) (revision 4957)
@@ -21,7 +21,7 @@
from fnmatch import fnmatchcase
from trac import util
-from trac.config import ListOption, Option
+from trac.config import ListOption, BoolOption, Option
from trac.core import *
from trac.mimeview import Mimeview, is_binary, get_mimetype
from trac.perm import IPermissionRequestor
@@ -57,6 +57,18 @@
glob patterns, i.e. "*" can be used as a wild card)
(''since 0.10'')""")
+ render_unsafe_content = BoolOption('browser', 'render_unsafe_content',
+ 'false',
+ """Whether attachments should be rendered in the browser, or
+ only made downloadable.
+
+ Pretty much any file may be interpreted as HTML by the browser,
+ which allows a malicious user to attach a file containing cross-site
+ scripting attacks.
+
+ For public sites where anonymous users can create attachments it is
+ recommended to leave this option disabled (which is the default).""")
+
# INavigationContributor methods
def get_active_navigation_item(self, req):
@@ -216,6 +228,11 @@
format == 'txt' and 'text/plain' or mime_type)
req.send_header('Content-Length', node.content_length)
req.send_header('Last-Modified', http_date(node.last_modified))
+ if not self.render_unsafe_content:
+ # Force browser to download files instead of rendering
+ # them, since they might contain malicious code enabling
+ # XSS attacks
+ req.send_header('Content-Disposition', 'attachment')
req.end_headers()
while 1:
Index: trac/scripts/tests/admin-tests.txt
===================================================================
--- trac/scripts/tests/admin-tests.txt (.../trac-0.10.3) (revision 4957)
+++ trac/scripts/tests/admin-tests.txt (.../trac-0.10.3.1) (revision 4957)
@@ -1,5 +1,5 @@
===== test_help_ok =====
-trac-admin - The Trac Administration Console 0.10.3
+trac-admin - The Trac Administration Console 0.10.3.1
Usage: trac-admin </path/to/projenv> [command [subcommand] [option ...]]

View File

@ -24,9 +24,6 @@ bin/tracd
%%PYTHON_SITELIBDIR%%/trac/core.py
%%PYTHON_SITELIBDIR%%/trac/core.pyc
%%PYTHON_SITELIBDIR%%/trac/core.pyo
%%PYTHON_SITELIBDIR%%/trac/db_default.py
%%PYTHON_SITELIBDIR%%/trac/db_default.pyc
%%PYTHON_SITELIBDIR%%/trac/db_default.pyo
%%PYTHON_SITELIBDIR%%/trac/db/__init__.py
%%PYTHON_SITELIBDIR%%/trac/db/__init__.pyc
%%PYTHON_SITELIBDIR%%/trac/db/__init__.pyo
@ -51,6 +48,9 @@ bin/tracd
%%PYTHON_SITELIBDIR%%/trac/db/util.py
%%PYTHON_SITELIBDIR%%/trac/db/util.pyc
%%PYTHON_SITELIBDIR%%/trac/db/util.pyo
%%PYTHON_SITELIBDIR%%/trac/db_default.py
%%PYTHON_SITELIBDIR%%/trac/db_default.pyc
%%PYTHON_SITELIBDIR%%/trac/db_default.pyo
%%PYTHON_SITELIBDIR%%/trac/env.py
%%PYTHON_SITELIBDIR%%/trac/env.pyc
%%PYTHON_SITELIBDIR%%/trac/env.pyo
@ -159,6 +159,9 @@ bin/tracd
%%PYTHON_SITELIBDIR%%/trac/upgrades/db19.py
%%PYTHON_SITELIBDIR%%/trac/upgrades/db19.pyc
%%PYTHON_SITELIBDIR%%/trac/upgrades/db19.pyo
%%PYTHON_SITELIBDIR%%/trac/upgrades/db20.py
%%PYTHON_SITELIBDIR%%/trac/upgrades/db20.pyc
%%PYTHON_SITELIBDIR%%/trac/upgrades/db20.pyo
%%PYTHON_SITELIBDIR%%/trac/upgrades/db3.py
%%PYTHON_SITELIBDIR%%/trac/upgrades/db3.pyc
%%PYTHON_SITELIBDIR%%/trac/upgrades/db3.pyo
@ -273,12 +276,6 @@ bin/tracd
%%PYTHON_SITELIBDIR%%/trac/web/wsgi.py
%%PYTHON_SITELIBDIR%%/trac/web/wsgi.pyc
%%PYTHON_SITELIBDIR%%/trac/web/wsgi.pyo
%%PYTHON_SITELIBDIR%%/trac/wiki/intertrac.py
%%PYTHON_SITELIBDIR%%/trac/wiki/intertrac.pyc
%%PYTHON_SITELIBDIR%%/trac/wiki/intertrac.pyo
%%PYTHON_SITELIBDIR%%/trac/wiki/interwiki.py
%%PYTHON_SITELIBDIR%%/trac/wiki/interwiki.pyc
%%PYTHON_SITELIBDIR%%/trac/wiki/interwiki.pyo
%%PYTHON_SITELIBDIR%%/trac/wiki/__init__.py
%%PYTHON_SITELIBDIR%%/trac/wiki/__init__.pyc
%%PYTHON_SITELIBDIR%%/trac/wiki/__init__.pyo
@ -288,6 +285,12 @@ bin/tracd
%%PYTHON_SITELIBDIR%%/trac/wiki/formatter.py
%%PYTHON_SITELIBDIR%%/trac/wiki/formatter.pyc
%%PYTHON_SITELIBDIR%%/trac/wiki/formatter.pyo
%%PYTHON_SITELIBDIR%%/trac/wiki/intertrac.py
%%PYTHON_SITELIBDIR%%/trac/wiki/intertrac.pyc
%%PYTHON_SITELIBDIR%%/trac/wiki/intertrac.pyo
%%PYTHON_SITELIBDIR%%/trac/wiki/interwiki.py
%%PYTHON_SITELIBDIR%%/trac/wiki/interwiki.pyc
%%PYTHON_SITELIBDIR%%/trac/wiki/interwiki.pyo
%%PYTHON_SITELIBDIR%%/trac/wiki/macros.py
%%PYTHON_SITELIBDIR%%/trac/wiki/macros.pyc
%%PYTHON_SITELIBDIR%%/trac/wiki/macros.pyo
@ -297,8 +300,18 @@ bin/tracd
%%PYTHON_SITELIBDIR%%/trac/wiki/web_ui.py
%%PYTHON_SITELIBDIR%%/trac/wiki/web_ui.pyc
%%PYTHON_SITELIBDIR%%/trac/wiki/web_ui.pyo
%%EXAMPLESDIR%%/README
%%EXAMPLESDIR%%/bugzilla2trac.py
%%EXAMPLESDIR%%/emailfilter.py
%%EXAMPLESDIR%%/htdigest.py
%%EXAMPLESDIR%%/migrateticketmodel.py
%%EXAMPLESDIR%%/sourceforge2trac.py
%%EXAMPLESDIR%%/trac-post-commit-hook
%%EXAMPLESDIR%%/trac-post-commit-hook.cmd
%%EXAMPLESDIR%%/trac-pre-commit-hook
%%DATADIR%%/cgi-bin/trac.cgi
%%DATADIR%%/cgi-bin/trac.fcgi
@exec mkdir -p %D/%%DATADIR%%/conf
%%DATADIR%%/htdocs/README
%%DATADIR%%/htdocs/asc.png
%%DATADIR%%/htdocs/attachment.png
@ -340,6 +353,7 @@ bin/tracd
%%DATADIR%%/htdocs/trac_logo_mini.png
%%DATADIR%%/htdocs/wiki.png
%%DATADIR%%/htdocs/xml.png
@exec mkdir -p %D/%%DATADIR%%/plugins
%%DATADIR%%/templates/README
%%DATADIR%%/templates/about.cs
%%DATADIR%%/templates/anydiff.cs
@ -428,15 +442,14 @@ bin/tracd
@dirrm %%DATADIR%%/wiki-macros
@dirrm %%DATADIR%%/wiki-default
@dirrm %%DATADIR%%/templates
@exec mkdir %D/%%DATADIR%%/plugins
@dirrmtry %%DATADIR%%/plugins
@dirrm %%DATADIR%%/htdocs/js
@dirrm %%DATADIR%%/htdocs/css
@dirrm %%DATADIR%%/htdocs
@exec mkdir %D/%%DATADIR%%/conf
@dirrmtry %%DATADIR%%/conf
@dirrm %%DATADIR%%/cgi-bin
@dirrm %%DATADIR%%
@dirrm %%EXAMPLESDIR%%
@dirrm %%PYTHON_SITELIBDIR%%/trac/wiki
@dirrm %%PYTHON_SITELIBDIR%%/trac/web
@dirrm %%PYTHON_SITELIBDIR%%/trac/versioncontrol/web_ui