Sync from SUSE:SLFO:Main jakarta-taglibs-standard revision 41311d75bafc3cb5bb8368d4ceab60d1

This commit is contained in:
Adrian Schröter 2024-05-03 13:54:09 +02:00
commit 20599f0cd5
9 changed files with 2746 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

2269
CVE-2015-0254.patch Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,19 @@
--- standard/build.xml
+++ standard/build.xml
@@ -164,14 +164,11 @@
<!-- Build the tag library itself -->
<target name="library-build" depends="prepare-build">
- <!-- Compile the taglib.
- Need to override xalan classes if using J2SE 1.4, that's why we
- use bootclasspath. Works with J2SE 1.3 as well. -->
+ <!-- Compile the taglib. -->
<javac
srcdir="${library.src}"
destdir="${build.library}/classes"
- bootclasspath="${xalan.jar}:${java.home}/lib/rt.jar"
- classpath="${servlet24.jar}:${jsp20.jar}:${jdbc2_0-stdext.jar}:${jaxp-api.jar}:${dom.jar}:${sax.jar}"
+ classpath="${xalan.jar}:${servlet24.jar}:${jsp20.jar}:${jdbc2_0-stdext.jar}:${jaxp-api.jar}:${dom.jar}:${sax.jar}"
excludes="org/apache/taglibs/standard/lang/jstl/parser/jsp20/* org/apache/taglibs/standard/lang/jpath/** org/apache/taglibs/standard/lang/spel/**"
debug="${compile.debug}"
deprecation="${compile.deprecation}"

View File

@ -0,0 +1,207 @@
Index: standard/examples/src/org/apache/taglibs/standard/examples/startup/Init.java
===================================================================
--- standard/examples/src/org/apache/taglibs/standard/examples/startup/Init.java.orig
+++ standard/examples/src/org/apache/taglibs/standard/examples/startup/Init.java
@@ -122,10 +122,10 @@ public class Init implements ServletCont
/**
* Enumeration
*/
- Enumeration enum_ = numberMap.keys();
+ Enumeration enum2 = numberMap.keys();
// don't use 'enum' for attribute name because it is a
// reserved word in EcmaScript.
- sce.getServletContext().setAttribute("enumeration", enum_);
+ sce.getServletContext().setAttribute("enumeration", enum2);
/**
* Message arguments for parametric replacement
Index: standard/src/org/apache/taglibs/standard/extra/spath/SPathParser.java
===================================================================
--- standard/src/org/apache/taglibs/standard/extra/spath/SPathParser.java.orig
+++ standard/src/org/apache/taglibs/standard/extra/spath/SPathParser.java
@@ -437,8 +437,8 @@ public class SPathParser implements SPat
jj_expentry[i] = jj_lasttokens[i];
}
boolean exists = false;
- for (java.util.Enumeration enum_ = jj_expentries.elements(); enum_.hasMoreElements();) {
- int[] oldentry = (int[])(enum_.nextElement());
+ for (java.util.Enumeration enum2 = jj_expentries.elements(); enum2.hasMoreElements();) {
+ int[] oldentry = (int[])(enum2.nextElement());
if (oldentry.length == jj_expentry.length) {
exists = true;
for (int i = 0; i < jj_expentry.length; i++) {
Index: standard/src/org/apache/taglibs/standard/functions/Functions.java
===================================================================
--- standard/src/org/apache/taglibs/standard/functions/Functions.java.orig
+++ standard/src/org/apache/taglibs/standard/functions/Functions.java
@@ -204,11 +204,11 @@ public class Functions {
return count;
}
if (obj instanceof Enumeration) {
- Enumeration enum_ = (Enumeration)obj;
+ Enumeration enum2 = (Enumeration)obj;
count = 0;
- while (enum_.hasMoreElements()) {
+ while (enum2.hasMoreElements()) {
count++;
- enum_.nextElement();
+ enum2.nextElement();
}
return count;
}
@@ -231,4 +231,4 @@ public class Functions {
return buf.toString();
}
-}
+}
\ No newline at end of file
Index: standard/src/org/apache/taglibs/standard/lang/jstl/ImplicitObjects.java
===================================================================
--- standard/src/org/apache/taglibs/standard/lang/jstl/ImplicitObjects.java.orig
+++ standard/src/org/apache/taglibs/standard/lang/jstl/ImplicitObjects.java
@@ -980,13 +980,13 @@ public class ImplicitObjects
List l = new ArrayList ();
- Enumeration enum_ = request.getHeaders ((String) pKey);
+ Enumeration enum2 = request.getHeaders ((String) pKey);
- if (enum_ != null) {
+ if (enum2 != null) {
- while (enum_.hasMoreElements ()) {
+ while (enum2.hasMoreElements ()) {
- l.add (enum_.nextElement ());
+ l.add (enum2.nextElement ());
}
Index: standard/src/org/apache/taglibs/standard/lang/jstl/parser/ELParser.java
===================================================================
--- standard/src/org/apache/taglibs/standard/lang/jstl/parser/ELParser.java.orig
+++ standard/src/org/apache/taglibs/standard/lang/jstl/parser/ELParser.java
@@ -1104,8 +1104,8 @@ public class ELParser implements ELParse
jj_expentry[i] = jj_lasttokens[i];
}
boolean exists = false;
- for (java.util.Enumeration enum_ = jj_expentries.elements(); enum_.hasMoreElements();) {
- int[] oldentry = (int[])(enum_.nextElement());
+ for (java.util.Enumeration enum2 = jj_expentries.elements(); enum2.hasMoreElements();) {
+ int[] oldentry = (int[])(enum2.nextElement());
if (oldentry.length == jj_expentry.length) {
exists = true;
for (int i = 0; i < jj_expentry.length; i++) {
Index: standard/src/org/apache/taglibs/standard/tag/common/fmt/SetLocaleSupport.java
===================================================================
--- standard/src/org/apache/taglibs/standard/tag/common/fmt/SetLocaleSupport.java.orig
+++ standard/src/org/apache/taglibs/standard/tag/common/fmt/SetLocaleSupport.java
@@ -401,9 +401,9 @@ public abstract class SetLocaleSupport e
private static Locale findFormattingMatch(PageContext pageContext,
Locale[] avail) {
Locale match = null;
- for (Enumeration enum_ = Util.getRequestLocales((HttpServletRequest)pageContext.getRequest());
- enum_.hasMoreElements(); ) {
- Locale locale = (Locale)enum_.nextElement();
+ for (Enumeration enum2 = Util.getRequestLocales((HttpServletRequest)pageContext.getRequest());
+ enum2.hasMoreElements(); ) {
+ Locale locale = (Locale)enum2.nextElement();
match = findFormattingMatch(locale, avail);
if (match != null) {
break;
Index: standard/src/org/apache/taglibs/standard/tag/common/xml/XPathUtil.java
===================================================================
--- standard/src/org/apache/taglibs/standard/tag/common/xml/XPathUtil.java.orig
+++ standard/src/org/apache/taglibs/standard/tag/common/xml/XPathUtil.java
@@ -74,10 +74,10 @@ public class XPathUtil {
globalVarSize = 0;
Vector variableVector = new Vector ( );
// Now construct attributes in different scopes
- Enumeration enum_ = pageContext.getAttributeNamesInScope(
+ Enumeration enum2 = pageContext.getAttributeNamesInScope(
PageContext.PAGE_SCOPE );
- while ( enum_.hasMoreElements() ) {
- String varName = (String)enum_.nextElement();
+ while ( enum2.hasMoreElements() ) {
+ String varName = (String)enum2.nextElement();
QName varQName = new QName ( PAGE_NS_URL, PAGE_P, varName);
//Adding both namespace qualified QName and just localName
variableVector.addElement( varQName );
@@ -86,10 +86,10 @@ public class XPathUtil {
variableVector.addElement( new QName(null, varName ) );
globalVarSize++;
}
- enum_ = pageContext.getAttributeNamesInScope(
+ enum2 = pageContext.getAttributeNamesInScope(
PageContext.REQUEST_SCOPE );
- while ( enum_.hasMoreElements() ) {
- String varName = (String)enum_.nextElement();
+ while ( enum2.hasMoreElements() ) {
+ String varName = (String)enum2.nextElement();
QName varQName = new QName ( REQUEST_NS_URL,REQUEST_P, varName);
//Adding both namespace qualified QName and just localName
variableVector.addElement( varQName );
@@ -97,10 +97,10 @@ public class XPathUtil {
variableVector.addElement( new QName(null, varName ) );
globalVarSize++;
}
- enum_ = pageContext.getAttributeNamesInScope(
+ enum2 = pageContext.getAttributeNamesInScope(
PageContext.SESSION_SCOPE );
- while ( enum_.hasMoreElements() ) {
- String varName = (String)enum_.nextElement();
+ while ( enum2.hasMoreElements() ) {
+ String varName = (String)enum2.nextElement();
QName varQName = new QName ( SESSION_NS_URL, SESSION_P,varName);
//Adding both namespace qualified QName and just localName
variableVector.addElement( varQName );
@@ -108,10 +108,10 @@ public class XPathUtil {
variableVector.addElement( new QName(null, varName ) );
globalVarSize++;
}
- enum_ = pageContext.getAttributeNamesInScope(
+ enum2 = pageContext.getAttributeNamesInScope(
PageContext.APPLICATION_SCOPE );
- while ( enum_.hasMoreElements() ) {
- String varName = (String)enum_.nextElement();
+ while ( enum2.hasMoreElements() ) {
+ String varName = (String)enum2.nextElement();
QName varQName = new QName ( APP_NS_URL, APP_P,varName );
//Adding both namespace qualified QName and just localName
variableVector.addElement( varQName );
@@ -119,25 +119,25 @@ public class XPathUtil {
variableVector.addElement( new QName(null, varName ) );
globalVarSize++;
}
- enum_ = pageContext.getRequest().getParameterNames();
- while ( enum_.hasMoreElements() ) {
- String varName = (String)enum_.nextElement();
+ enum2 = pageContext.getRequest().getParameterNames();
+ while ( enum2.hasMoreElements() ) {
+ String varName = (String)enum2.nextElement();
QName varQName = new QName ( PARAM_NS_URL, PARAM_P,varName );
//Adding both namespace qualified QName and just localName
variableVector.addElement( varQName );
globalVarSize++;
}
- enum_ = pageContext.getServletContext().getInitParameterNames();
- while ( enum_.hasMoreElements() ) {
- String varName = (String)enum_.nextElement();
+ enum2 = pageContext.getServletContext().getInitParameterNames();
+ while ( enum2.hasMoreElements() ) {
+ String varName = (String)enum2.nextElement();
QName varQName = new QName ( INITPARAM_NS_URL, INITPARAM_P,varName );
//Adding both namespace qualified QName and just localName
variableVector.addElement( varQName );
globalVarSize++;
}
- enum_ = ((HttpServletRequest)pageContext.getRequest()).getHeaderNames();
- while ( enum_.hasMoreElements() ) {
- String varName = (String)enum_.nextElement();
+ enum2 = ((HttpServletRequest)pageContext.getRequest()).getHeaderNames();
+ while ( enum2.hasMoreElements() ) {
+ String varName = (String)enum2.nextElement();
QName varQName = new QName ( HEADER_NS_URL, HEADER_P,varName );
//Adding namespace qualified QName
variableVector.addElement( varQName );

BIN
jakarta-taglibs-standard-1.1.2-src.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,16 @@
--- standard/src/org/apache/taglibs/standard/tag/common/sql/DataSourceWrapper.java
+++ standard/src/org/apache/taglibs/standard/tag/common/sql/DataSourceWrapper.java
@@ -111,5 +111,13 @@
throw new SQLException(Resources.getMessage("NOT_SUPPORTED"));
}
+ // Java6 Build - java.sql.Wrapper
+ public <T> T unwrap(Class<T> iface) throws SQLException {
+ throw new SQLException(Resources.getMessage("NOT_SUPPORTED"));
+ }
+ public boolean isWrapperFor(Class<?> iface) throws SQLException {
+ throw new SQLException(Resources.getMessage("NOT_SUPPORTED"));
+ }
+
}

View File

@ -0,0 +1,26 @@
Index: jakarta-taglibs-standard-1.1.1-src/standard/src/org/apache/taglibs/standard/tag/common/sql/DataSourceWrapper.java
===================================================================
--- jakarta-taglibs-standard-1.1.1-src.orig/standard/src/org/apache/taglibs/standard/tag/common/sql/DataSourceWrapper.java 2012-06-13 09:25:20.976324079 +0200
+++ jakarta-taglibs-standard-1.1.1-src/standard/src/org/apache/taglibs/standard/tag/common/sql/DataSourceWrapper.java 2012-06-15 09:24:56.340327868 +0200
@@ -20,6 +20,10 @@
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
+import java.sql.SQLException;
+import java.sql.SQLFeatureNotSupportedException;
+
+import java.util.logging.Logger;
import javax.sql.DataSource;
@@ -119,5 +123,10 @@
public boolean isWrapperFor(Class<?> iface) throws SQLException {
throw new SQLException(Resources.getMessage("NOT_SUPPORTED"));
}
+
+ // Java7 Build
+ public Logger getParentLogger() throws SQLFeatureNotSupportedException {
+ throw new SQLFeatureNotSupportedException(Resources.getMessage("NOT_SUPPORTED"));
+ }
}

View File

@ -0,0 +1,84 @@
-------------------------------------------------------------------
Sun Mar 20 13:09:59 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Build with source and target levels 8
-------------------------------------------------------------------
Tue Dec 28 09:01:48 UTC 2021 - David Anes <david.anes@suse.com>
- Update to 1.1.2, a missing released version that went into oblivion.
- Update Source0 to download from apache website.
- Marked LICENSE file as a license.
- Rebased patches:
* CVE-2015-0254.patch
* jakarta-taglibs-standard-1.1.2-build.patch
(replaces jakarta-taglibs-standard-1.1.1-build.patch)
* jakarta-taglibs-standard-1.1.2-remove-enums.patch
(replaces jakarta-taglibs-standard-1.1.1-remove-enums.patch)
-------------------------------------------------------------------
Mon Sep 18 15:40:25 UTC 2017 - fstrba@suse.com
- Modified patch:
* jakarta-taglibs-standard-1.1.1-build.patch
+ Don't hardcode java source and target levels
- Specify source and target level 1.6 in order to allow building
with jdk9
- Clean spec file and fix some rpmlint errors
-------------------------------------------------------------------
Tue Oct 6 09:00:42 UTC 2015 - tchvatal@suse.com
- Update URL to link to live domain
- Fix bnc#920813 CVE-2015-0254, patch taken from debian:
* CVE-2015-0254.patch
-------------------------------------------------------------------
Fri Jul 11 09:14:05 UTC 2014 - tchvatal@suse.com
- Cleanup bit with spec-cleaner.
-------------------------------------------------------------------
Wed Jun 13 07:13:56 UTC 2012 - mvyskocil@suse.cz
- fix build with java7
- use non-versioned javadocdir
-------------------------------------------------------------------
Tue Aug 5 11:56:52 CEST 2008 - mvyskocil@suse.cz
- fixed build using openjdk6 (add java6 API and remove enums)
- use bzip2 in source tarball
- use macro name in patches
- use source=1.5 and target=1.5
-------------------------------------------------------------------
Sun Sep 17 22:44:30 CEST 2006 - ro@suse.de
- fix build with java-1.5
-------------------------------------------------------------------
Wed Jan 25 21:46:39 CET 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
-------------------------------------------------------------------
Thu Jul 28 15:01:10 CEST 2005 - jsmeix@suse.de
- Adjustments in the spec file.
-------------------------------------------------------------------
Mon Jul 18 16:34:00 CEST 2005 - jsmeix@suse.de
- Current version 1.1.1 from JPackage.org
-------------------------------------------------------------------
Thu Sep 16 14:53:41 CEST 2004 - skh@suse.de
- Fix prerequires of javadoc subpackage
-------------------------------------------------------------------
Mon Sep 6 00:24:26 CEST 2004 - skh@suse.de
- Initial package created with version 1.1.1 (JPackage 1.5)

View File

@ -0,0 +1,99 @@
#
# spec file for package jakarta-taglibs-standard
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define short_name taglibs-standard
Name: jakarta-taglibs-standard
Version: 1.1.2
Release: 0
Summary: Open Source Implementation of the JSP Standard Tag Library
License: Apache-2.0
Group: Development/Libraries/Java
URL: http://tomcat.apache.org/taglibs/
Source0: http://archive.apache.org/dist/jakarta/taglibs/standard/source/%{name}-%{version}-src.tar.gz
Patch0: %{name}-%{version}-build.patch
Patch1: %{name}-java6-compatibility.patch
Patch2: %{name}-%{version}-remove-enums.patch
Patch3: jakarta-taglibs-standard-java7.patch
Patch4: CVE-2015-0254.patch
BuildRequires: ant
BuildRequires: fdupes
BuildRequires: java-devel >= 1.8
BuildRequires: servletapi5
BuildRequires: xalan-j2
Requires: servletapi5 >= 5.0.16
Requires: xalan-j2
BuildArch: noarch
%description
This package contains releases for the 1.1.x versions of the Standard
Tag Library, Jakarta Taglibs's open source implementation of the JSP
Standard Tag Library (JSTL), version 1.1. JSTL is a standard under the
Java Community Process.
%package javadoc
Summary: Javadoc for jakarta-taglibs-standard
Group: Development/Libraries/Java
%description javadoc
This package contains the javadoc documentation for Jakarta Taglibs.
%prep
%setup -q -n %{name}-%{version}-src
%patch0
%patch1 -b .sav1
%patch2 -b .sav2
%patch3 -p1
%patch4 -p1
cat > build.properties <<EOBP
build.dir=build
dist.dir=dist
servlet24.jar=$(build-classpath servletapi5)
jsp20.jar=$(build-classpath jspapi)
xalan.jar=$(build-classpath xalan-j2)
EOBP
%build
ant \
-Dant.build.javac.source=1.8 -Dant.build.javac.target=1.8 \
-Dfinal.name=%{short_name} \
-Dj2se.javadoc=%{_javadocdir}/java \
-f standard/build.xml \
dist
%install
# jars
mkdir -p %{buildroot}%{_javadir}
cp -p standard/dist/standard/lib/jstl.jar %{buildroot}%{_javadir}/jakarta-taglibs-core-%{version}.jar
cp -p standard/dist/standard/lib/standard.jar %{buildroot}%{_javadir}/jakarta-taglibs-standard-%{version}.jar
(cd %{buildroot}%{_javadir} && for jar in *-%{version}*; do ln -sf ${jar} `echo $jar| sed "s|jakarta-||g"`; done)
(cd %{buildroot}%{_javadir} && for jar in *-%{version}*; do ln -sf ${jar} `echo $jar| sed "s|-%{version}||g"`; done)
# javadoc
mkdir -p %{buildroot}%{_javadocdir}/%{name}
cp -pr standard/dist/standard/javadoc/* %{buildroot}%{_javadocdir}/%{name}
%fdupes -s %{buildroot}%{_javadocdir}/%{name}
%files
%license LICENSE
%doc standard/README_src.txt standard/README_bin.txt standard/dist/doc/doc/standard-doc/*.html
%{_javadir}/*
%files javadoc
%doc %{_javadocdir}/%{name}
%changelog