diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /app-text/info2html | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.xz |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'app-text/info2html')
-rw-r--r-- | app-text/info2html/Manifest | 1 | ||||
-rw-r--r-- | app-text/info2html/files/info2html-2.0-xss.patch | 61 | ||||
-rw-r--r-- | app-text/info2html/info2html-2.0.ebuild | 72 | ||||
-rw-r--r-- | app-text/info2html/metadata.xml | 8 |
4 files changed, 142 insertions, 0 deletions
diff --git a/app-text/info2html/Manifest b/app-text/info2html/Manifest new file mode 100644 index 00000000000..e87276780b0 --- /dev/null +++ b/app-text/info2html/Manifest @@ -0,0 +1 @@ +DIST info2html-2.0.tar 51200 SHA256 553f4d17e7edc13e5d27ae66e27b8702e1e83691adb3505a26e3af70276f84a5 SHA512 1b9ebc8bdd4101d24116fe22df9e5d3124300b2ac11585d8c7fff9652f7984983480442af9d9f86300f9684335d85b96f276a775c56c95e7fac85ebc46235e06 WHIRLPOOL b8212904cd11434479bdca42575818c73d5eef8d4e52fb8d980533ff27bdfb22db043352ba6a435c028aadd9ef8bffae440baebc8e296d7d8c555977ec89317a diff --git a/app-text/info2html/files/info2html-2.0-xss.patch b/app-text/info2html/files/info2html-2.0-xss.patch new file mode 100644 index 00000000000..a2254bdbbe2 --- /dev/null +++ b/app-text/info2html/files/info2html-2.0-xss.patch @@ -0,0 +1,61 @@ +diff -u info2html-2.0-orig/info2html info2html-2.0/info2html +--- info2html-2.0-orig/info2html 2006-09-01 14:55:13.000000000 +0200 ++++ info2html-2.0/info2html 2006-09-01 15:05:41.000000000 +0200 +@@ -42,7 +42,7 @@ + + use CGI; + $ENV{'REQUEST_METHOD'} or +- print "Note: I'm really supposed to be run as a CGI!\n"; ++ print "Note: I'm really supposed to be run as a CGI\!\n"; + + #-- patterns + $NODEBORDER = '\037\014?'; #-- delimiter of an info node +@@ -62,7 +62,7 @@ + #--------------------------------------------------------- + # Don't reveal where we're looking... --jonh 5/20/97 (and reapplied 5/4/1998) + sub DieFileNotFound{ +- local($FileName) = @_; ++ local($FileName) = &XssEscape(@_); + #-- TEXT : error message if a file could not be opened + print <<"EOF"; + <html><head><title>Info Files - Error Message</title> +@@ -104,6 +104,28 @@ + } + + #---------------------------------------------------------- ++# XssEscape ++#---------------------------------------------------------- ++sub XssEscape { ++ local($Tag) = @_; ++ #-- output escaping is required to protect browser ++ # against `cross site' and `cross frame scripting' ++ ++ $Tag =~ s/&/&/gs; # ampersand ++ $Tag =~ s/#/#/gs; ++ $Tag =~ s/;/;/gs; ++ $Tag =~ s/[\000-\037\177-\237]/¿/gs; # "ctrl" codes 0-31 and 127-159 ++ $Tag =~ s/</</gs; # less-than symbol ++ $Tag =~ s/>/>/gs; # greater-than symbol ++ $Tag =~ s/"/"/gs; # double quote ++ $Tag =~ s/\240/ /gs; # non-breaking space ++ $Tag =~ s/\255/­/gs; # soft hyphen ++ # the rest is interpreted ++ # as ISO 8859-1 ++ $Tag; ++} ++ ++#---------------------------------------------------------- + # ParsHeaderToken + #---------------------------------------------------------- + # Parses the heaer line of an info node for a specific +@@ -493,6 +515,8 @@ + #---------------------------------------------------------- + sub ReplyNotFoundMessage{ + local($FileName,$Tag) = @_; ++ $FileName = &XssEscape($FileName); ++ $Tag = &XssEscape($Tag); + print <<"EOF"; + <html><head><title>Info Files - Error Message</title> + $BOTS_STAY_AWAY +Only in info2html-2.0: info2html.orig +Only in info2html-2.0: info2html.rej diff --git a/app-text/info2html/info2html-2.0.ebuild b/app-text/info2html/info2html-2.0.ebuild new file mode 100644 index 00000000000..d81b205df61 --- /dev/null +++ b/app-text/info2html/info2html-2.0.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +inherit eutils webapp + +DESCRIPTION="Converts GNU .info files to HTML" +HOMEPAGE="http://info2html.sourceforge.net/" +SRC_URI="mirror://sourceforge/info2html/${P}.tar" + +LICENSE="freedist" +# webapp.eclass deals with SLOTting +#SLOT="0" +IUSE="" +KEYWORDS="alpha amd64 hppa sparc x86" + +RDEPEND="dev-lang/perl" + +src_unpack() { + local infos state line i + unpack ${A} + cd ${S} + + # filter user-provided data to prevent cross-frame/site scripting attacks + # bug #91354 (fix from Werner Fink) + epatch ${FILESDIR}/info2html-2.0-xss.patch + + # Fixup INFODIR for paths in /etc/profile.env INFOPATH + infos=$(grep "^export INFOPATH=" /etc/profile.env | tail -n 1 |\ + sed -e "s:^export INFOPATH=:INFOPATH=:;s:'::g") + # Default path to /usr/share/info and /usr/local/share/info + [[ -z ${infos} ]] && export infos="/usr/share/info" + infos=( ${INFOPATH//:/ } ) + mv ${S}/info2html.conf ${S}/info2html.conf.orig + touch ${S}/info2html.conf + state="copy" + inserted="no" + while read line; do + [[ ${line} == "@INFODIR = (" ]] && state="insert" + [[ ${line} == ");" ]] && state="copy" + case ${state} in + "copy") + echo ${line} >> ${S}/info2html.conf + ;; + "insert") + echo ${line} >> ${S}/info2html.conf + for info in "${infos[@]}"; do + echo " '${info}'," >> ${S}/info2html.conf + done + echo " '/usr/local/share/info'" >> ${S}/info2html.conf + state="skip" + inserted="yes" + ;; + "skip") + ;; + esac + done < ${S}/info2html.conf.orig + [[ ${state} == "copy" && ${inserted} == "yes" ]] || + die "Setting up info2html.conf failed" +} + +src_install() { + webapp_src_preinst + + exeinto ${MY_CGIBINDIR} + cp info2html infocat info2html.css info2html.conf ${D}/${MY_CGIBINDIR} + # README zapped by info2html-gentoo.patch; it only listed + # the homepage so it doesn't add anything useful. + # dodoc README + + webapp_src_install +} diff --git a/app-text/info2html/metadata.xml b/app-text/info2html/metadata.xml new file mode 100644 index 00000000000..725dac8e56c --- /dev/null +++ b/app-text/info2html/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>web-apps</herd> + <upstream> + <remote-id type="sourceforge">info2html</remote-id> + </upstream> +</pkgmetadata> |