From 1e2f1c1a056e3d5c5a0c4b2856bda6035040187e Mon Sep 17 00:00:00 2001 From: Britney Fransen Date: Wed, 7 Mar 2018 13:20:12 +0000 Subject: ctags: dep of source-highlight --- abs/extra/ctags/CVE-2014-7204.patch | 102 ++++++++++++++++++++++++++++++++++++ abs/extra/ctags/PKGBUILD | 36 +++++++++++++ 2 files changed, 138 insertions(+) create mode 100644 abs/extra/ctags/CVE-2014-7204.patch create mode 100644 abs/extra/ctags/PKGBUILD diff --git a/abs/extra/ctags/CVE-2014-7204.patch b/abs/extra/ctags/CVE-2014-7204.patch new file mode 100644 index 0000000..baf036f --- /dev/null +++ b/abs/extra/ctags/CVE-2014-7204.patch @@ -0,0 +1,102 @@ +From a499a10833d525c9af794c616dc40f7425110c71 Mon Sep 17 00:00:00 2001 +From: Colin Watson +Date: Sat, 27 Sep 2014 14:37:19 +0100 +Subject: Changed the javascript parser to set the tag's scope rather than + including it in the tag name. + +Patch from Colomban. + +Author: David Fishburn +Origin: upstream, http://sourceforge.net/p/ctags/code/791/ +Bug-Debian: https://bugs.debian.org/742605 +Last-Update: 2014-09-27 + +Patch-Name: jscript-set-tag-scope.patch +--- + jscript.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++--- + 1 file changed, 51 insertions(+), 3 deletions(-) + +diff --git a/jscript.c b/jscript.c +index 5de3367..a790355 100644 +--- a/jscript.c ++++ b/jscript.c +@@ -215,6 +215,7 @@ static void deleteToken (tokenInfo *const token) + * Tag generation functions + */ + ++/* + static void makeConstTag (tokenInfo *const token, const jsKind kind) + { + if (JsKinds [kind].enabled && ! token->ignoreTag ) +@@ -238,12 +239,13 @@ static void makeJsTag (tokenInfo *const token, const jsKind kind) + + if (JsKinds [kind].enabled && ! token->ignoreTag ) + { +- /* ++ * + * If a scope has been added to the token, change the token + * string to include the scope when making the tag. +- */ ++ * + if ( vStringLength(token->scope) > 0 ) + { ++ * + fulltag = vStringNew (); + vStringCopy(fulltag, token->scope); + vStringCatS (fulltag, "."); +@@ -251,8 +253,54 @@ static void makeJsTag (tokenInfo *const token, const jsKind kind) + vStringTerminate(fulltag); + vStringCopy(token->string, fulltag); + vStringDelete (fulltag); ++ * ++ jsKind parent_kind = JSTAG_CLASS; ++ ++ * ++ * if we're creating a function (and not a method), ++ * guess we're inside another function ++ * ++ if (kind == JSTAG_FUNCTION) ++ parent_kind = JSTAG_FUNCTION; ++ ++ e.extensionFields.scope[0] = JsKinds [parent_kind].name; ++ e.extensionFields.scope[1] = vStringValue (token->scope); ++ } ++ * makeConstTag (token, kind); * ++ makeTagEntry (&e); ++ } ++} ++*/ ++ ++static void makeJsTag (tokenInfo *const token, const jsKind kind) ++{ ++ if (JsKinds [kind].enabled && ! token->ignoreTag ) ++ { ++ const char *const name = vStringValue (token->string); ++ tagEntryInfo e; ++ initTagEntry (&e, name); ++ ++ e.lineNumber = token->lineNumber; ++ e.filePosition = token->filePosition; ++ e.kindName = JsKinds [kind].name; ++ e.kind = JsKinds [kind].letter; ++ ++ if ( vStringLength(token->scope) > 0 ) ++ { ++ jsKind parent_kind = JSTAG_CLASS; ++ ++ /* ++ * If we're creating a function (and not a method), ++ * guess we're inside another function ++ */ ++ if (kind == JSTAG_FUNCTION) ++ parent_kind = JSTAG_FUNCTION; ++ ++ e.extensionFields.scope[0] = JsKinds [parent_kind].name; ++ e.extensionFields.scope[1] = vStringValue (token->scope); + } +- makeConstTag (token, kind); ++ ++ makeTagEntry (&e); + } + } + diff --git a/abs/extra/ctags/PKGBUILD b/abs/extra/ctags/PKGBUILD new file mode 100644 index 0000000..54c4190 --- /dev/null +++ b/abs/extra/ctags/PKGBUILD @@ -0,0 +1,36 @@ +# $Id$ +# Maintainer: Giovanni Scafora +# Contributor: John Proctor + +pkgname=ctags +pkgver=5.8 +pkgrel=5 +pkgdesc="Generates an index file of language objects found in source files" +arch=('x86_64') +license=('GPL') +depends=('glibc') +url="http://ctags.sourceforge.net/" +source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz" + "CVE-2014-7204.patch") +md5sums=('c00f82ecdcc357434731913e5b48630d' + '5fd1a8abb0e1e2d16fd4b8b870e03249') + +prepare() { + cd ${srcdir}/${pkgname}-${pkgver} + + patch -Np1 <../CVE-2014-7204.patch +} + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + + ./configure --prefix=/usr \ + --disable-external-sort + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + + make prefix=${pkgdir}/usr install +} -- cgit v0.12