1 |
commit: 1eda279c03ccc5f25e2c33ab305f6f81ea315d7b |
2 |
Author: James Le Cuirot <chewi <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Oct 26 23:25:21 2015 +0000 |
4 |
Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Oct 26 23:30:48 2015 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1eda279c |
7 |
|
8 |
www-servers/axis: Remove obsolete package |
9 |
|
10 |
Axis is alive upstream but we have no immediate plans to bump it. |
11 |
|
12 |
www-servers/axis/Manifest | 1 - |
13 |
www-servers/axis/axis-1.4-r2.ebuild | 139 --------- |
14 |
.../files/axis-1.4-JSSESocketFactory.java.patch | 342 --------------------- |
15 |
www-servers/axis/files/axis-1.4-build.xml.patch | 15 - |
16 |
www-servers/axis/files/axis-1.4-java6.patch | 16 - |
17 |
.../axis/files/axis-1.4-path_refs.xml.patch | 20 -- |
18 |
www-servers/axis/files/axis-1.4-targets.xml.patch | 86 ------ |
19 |
.../axis/files/axis-1.4-tools-build.xml.patch | 26 -- |
20 |
www-servers/axis/files/build.properties | 15 - |
21 |
www-servers/axis/metadata.xml | 13 - |
22 |
10 files changed, 673 deletions(-) |
23 |
|
24 |
diff --git a/www-servers/axis/Manifest b/www-servers/axis/Manifest |
25 |
deleted file mode 100644 |
26 |
index a574a72..0000000 |
27 |
--- a/www-servers/axis/Manifest |
28 |
+++ /dev/null |
29 |
@@ -1 +0,0 @@ |
30 |
-DIST axis-src-1_4.tar.gz 17041546 SHA256 911b4467f3d6cfe2e50fb7baea7a754e6aa717902d6ed91cef78f8f52bef8572 SHA512 7d08212b04702e76c960ad772a475f5765fef7f9ebe0aea3d4b949c6ba28a62500e8a76a43c7364b7caf36b7f27aee8592744256154670c7a24d29c5c1518258 WHIRLPOOL cf359caa9e645bdefb7c2ff012673dc64af9d4cc4bbe2a082cb64bcb0211d3a844ef797738ae1a3e9f978d0bbd8dc42bac9ecbdf4c734dd30ff52da18bdd7a91 |
31 |
|
32 |
diff --git a/www-servers/axis/axis-1.4-r2.ebuild b/www-servers/axis/axis-1.4-r2.ebuild |
33 |
deleted file mode 100644 |
34 |
index a247f2b..0000000 |
35 |
--- a/www-servers/axis/axis-1.4-r2.ebuild |
36 |
+++ /dev/null |
37 |
@@ -1,139 +0,0 @@ |
38 |
-# Copyright 1999-2015 Gentoo Foundation |
39 |
-# Distributed under the terms of the GNU General Public License v2 |
40 |
-# $Id$ |
41 |
- |
42 |
-EAPI=5 |
43 |
- |
44 |
-WANT_ANT_TASKS="ant-nodeps ant-trax" |
45 |
-JAVA_PKG_IUSE="doc source examples" |
46 |
- |
47 |
-inherit eutils java-pkg-2 java-ant-2 |
48 |
- |
49 |
-MY_PV="${PV//./_}" |
50 |
-MY_P="${PN}-${MY_PV}" |
51 |
- |
52 |
-DESCRIPTION="Apache's Axis1 implementation of the SOAP (Simple Object Access Protocol)" |
53 |
-HOMEPAGE="http://ws.apache.org/axis/index.html" |
54 |
-SRC_URI="mirror://apache/ws/${PN}/${MY_PV}/${PN}-src-${MY_PV}.tar.gz" |
55 |
- |
56 |
-LICENSE="Apache-2.0" |
57 |
-SLOT="1" |
58 |
-KEYWORDS="amd64 x86" |
59 |
-IUSE="debug" |
60 |
- |
61 |
-CDEPEND="dev-java/commons-discovery:0 |
62 |
- dev-java/wsdl4j:0 |
63 |
- dev-java/sun-jaf:0 |
64 |
- dev-java/commons-logging:0 |
65 |
- java-virtuals/javamail:0 |
66 |
- dev-java/ant-core:0 |
67 |
- dev-java/bsf:2.3 |
68 |
- dev-java/castor:1.0 |
69 |
- dev-java/commons-httpclient:3 |
70 |
- dev-java/commons-net:0 |
71 |
- dev-java/sun-jimi:0 |
72 |
- dev-java/servletapi:2.4 |
73 |
- dev-java/saaj:0 |
74 |
- dev-java/jax-rpc:0 |
75 |
- dev-java/log4j:0 |
76 |
- dev-java/xml-commons:0 |
77 |
- dev-java/xml-xmlbeans:1" |
78 |
- |
79 |
-RDEPEND=">=virtual/jre-1.6 |
80 |
- ${CDEPEND}" |
81 |
- |
82 |
-DEPEND=">=virtual/jdk-1.6 |
83 |
- ${CDEPEND}" |
84 |
- |
85 |
-# uses enum as identifier |
86 |
-JAVA_PKG_WANT_SOURCE="1.4" |
87 |
-JAVA_PKG_WANT_TARGET="1.4" |
88 |
- |
89 |
-S="${WORKDIR}/${MY_P}" |
90 |
- |
91 |
-AXIS_NAME="${PN}-${SLOT}" |
92 |
- |
93 |
-# not declared mandatory but fails without it |
94 |
-# mailapi.jar would be enough but that's only in -bin, mail.jar superseedes |
95 |
-EANT_GENTOO_CLASSPATH="sun-jaf,javamail,log4j,xml-xmlbeans-1,servletapi-2.4,bsf-2.3,sun-jimi,commons-httpclient-3,castor-1.0,xml-commons,commons-net" |
96 |
-EANT_EXTRA_ARGS="-Ddeprecation=false -Dbase.path=/opt |
97 |
--Dservlet.jar=servlet-api.jar -Dwsdl4j-1.5.1.jar=wsdl4j.jar |
98 |
--Dcommons-logging-1.0.4.jar=commons-logging.jar" |
99 |
-EANT_BUILD_TARGET="compile" |
100 |
-EANT_DOC_TARGET="javadocs" |
101 |
-EANT_NEEDS_TOOLS="true" |
102 |
- |
103 |
-#TODO-tests require Atlassian clover, need to figure out which ones |
104 |
-RESTRICT="test" |
105 |
- |
106 |
-java_prepare() { |
107 |
- # remove some <copy> actions |
108 |
- epatch "${FILESDIR}/${P}-build.xml.patch" |
109 |
- # remove exact lib paths and global java.classpath from classpath |
110 |
- epatch "${FILESDIR}/${P}-path_refs.xml.patch" |
111 |
- # add missing target to javac, xml rewriting would break entities |
112 |
- epatch "${FILESDIR}/${P}-tools-build.xml.patch" |
113 |
- # remove most of <available> checks |
114 |
- epatch "${FILESDIR}/${P}-targets.xml.patch" |
115 |
- # this clashes with java6 method |
116 |
- epatch "${FILESDIR}/${P}-java6.patch" |
117 |
- |
118 |
- # fix CVE-2014-3596 and bug 520304 |
119 |
- epatch "${FILESDIR}/${P}-JSSESocketFactory.java.patch" |
120 |
- |
121 |
- # and replace them with predefined properties |
122 |
- cp "${FILESDIR}/build.properties" . \ |
123 |
- || die "failed to copy build.properties from ${FILESDIR}" |
124 |
- |
125 |
- rm -rf "${S}"/docs/apiDocs || die |
126 |
- |
127 |
- #Remove test till they are working |
128 |
- rm -rf "${S}"/test || die |
129 |
- #cd "${S}"/test |
130 |
- #mv build_ant.xml build.xml |
131 |
- cd "${S}"/webapps/axis/WEB-INF/lib |
132 |
- rm -v *.jar || die |
133 |
- |
134 |
- cd "${S}/lib" |
135 |
- mv saaj.jar endorsed/ || die |
136 |
- rm -v *.jar || die |
137 |
- java-pkg_jar-from --build-only ant-core |
138 |
- java-pkg_jar-from wsdl4j wsdl4j.jar |
139 |
- java-pkg_jar-from commons-logging commons-logging.jar |
140 |
- java-pkg_jar-from commons-discovery commons-discovery.jar |
141 |
- |
142 |
- if use debug; then |
143 |
- EANT_EXTRA_ARGS+=" -Ddebug=on" |
144 |
- else |
145 |
- EANT_EXTRA_ARGS+=" -Ddebug=off" |
146 |
- fi |
147 |
- |
148 |
- cd "${S}" |
149 |
- java-ant_rewrite-classpath |
150 |
- java-ant_rewrite-bootclasspath auto build.xml "lib/endorsed/xml-apis-2.6.2.jar:lib/endorsed/xercesImpl-2.6.2.jar:lib/endorsed/saaj.jar" |
151 |
- sed -i '/<bootclasspath refid="boot.classpath"/d' build.xml || die |
152 |
-} |
153 |
- |
154 |
-src_install() { |
155 |
- dodir /usr/share/${AXIS_NAME} |
156 |
- mv build/lib/axis-ant.jar build/lib/ant-axis.jar || die |
157 |
- java-pkg_dojar build/lib/axis.jar |
158 |
- java-pkg_dojar build/lib/ant-axis.jar |
159 |
- java-pkg_dojar build/lib/jaxrpc.jar |
160 |
- java-pkg_register-ant-task |
161 |
- dodir /usr/share/${AXIS_NAME}/webapps |
162 |
- |
163 |
- cp -pR "${S}"/webapps/axis "${D}"/usr/share/${AXIS_NAME}/webapps || die |
164 |
- |
165 |
- dodoc NOTICE README |
166 |
- dohtml release-notes.html changelog.html |
167 |
- |
168 |
- if use doc; then |
169 |
- java-pkg_dojavadoc build/javadocs/ |
170 |
- dohtml -r docs/* |
171 |
- dodoc xmls/* |
172 |
- fi |
173 |
- |
174 |
- use source && java-pkg_dosrc src |
175 |
- use examples && java-pkg_doexamples samples |
176 |
-} |
177 |
|
178 |
diff --git a/www-servers/axis/files/axis-1.4-JSSESocketFactory.java.patch b/www-servers/axis/files/axis-1.4-JSSESocketFactory.java.patch |
179 |
deleted file mode 100644 |
180 |
index 1309115..0000000 |
181 |
--- a/www-servers/axis/files/axis-1.4-JSSESocketFactory.java.patch |
182 |
+++ /dev/null |
183 |
@@ -1,342 +0,0 @@ |
184 |
---- src/org/apache/axis/components/net/JSSESocketFactory.java (revision 1618775) |
185 |
-+++ src/org/apache/axis/components/net/JSSESocketFactory.java (working copy) |
186 |
-@@ -15,12 +15,6 @@ |
187 |
- */ |
188 |
- package org.apache.axis.components.net; |
189 |
- |
190 |
--import org.apache.axis.utils.Messages; |
191 |
--import org.apache.axis.utils.XMLUtils; |
192 |
--import org.apache.axis.utils.StringUtils; |
193 |
-- |
194 |
--import javax.net.ssl.SSLSocket; |
195 |
--import javax.net.ssl.SSLSocketFactory; |
196 |
- import java.io.BufferedWriter; |
197 |
- import java.io.IOException; |
198 |
- import java.io.InputStream; |
199 |
-@@ -28,9 +22,35 @@ |
200 |
- import java.io.OutputStreamWriter; |
201 |
- import java.io.PrintWriter; |
202 |
- import java.net.Socket; |
203 |
-+import java.security.cert.Certificate; |
204 |
-+import java.security.cert.CertificateParsingException; |
205 |
-+import java.security.cert.X509Certificate; |
206 |
-+import java.util.ArrayList; |
207 |
-+import java.util.Arrays; |
208 |
-+import java.util.Collection; |
209 |
- import java.util.Hashtable; |
210 |
-+import java.util.Iterator; |
211 |
-+import java.util.LinkedList; |
212 |
-+import java.util.List; |
213 |
-+import java.util.Locale; |
214 |
-+import java.util.regex.Pattern; |
215 |
- |
216 |
-+import javax.naming.InvalidNameException; |
217 |
-+import javax.naming.NamingException; |
218 |
-+import javax.naming.directory.Attribute; |
219 |
-+import javax.naming.directory.Attributes; |
220 |
-+import javax.naming.ldap.LdapName; |
221 |
-+import javax.naming.ldap.Rdn; |
222 |
-+import javax.net.ssl.SSLException; |
223 |
-+import javax.net.ssl.SSLSession; |
224 |
-+import javax.net.ssl.SSLSocket; |
225 |
-+import javax.net.ssl.SSLSocketFactory; |
226 |
- |
227 |
-+import org.apache.axis.utils.Messages; |
228 |
-+import org.apache.axis.utils.StringUtils; |
229 |
-+import org.apache.axis.utils.XMLUtils; |
230 |
-+ |
231 |
-+ |
232 |
- /** |
233 |
- * SSL socket factory. It _requires_ a valid RSA key and |
234 |
- * JSSE. (borrowed code from tomcat) |
235 |
-@@ -41,6 +61,10 @@ |
236 |
- */ |
237 |
- public class JSSESocketFactory extends DefaultSocketFactory implements SecureSocketFactory { |
238 |
- |
239 |
-+ // This is a a sorted list, if you insert new elements do it orderdered. |
240 |
-+ private final static String[] BAD_COUNTRY_2LDS = |
241 |
-+ {"ac", "co", "com", "ed", "edu", "go", "gouv", "gov", "info", |
242 |
-+ "lg", "ne", "net", "or", "org"}; |
243 |
- /** Field sslFactory */ |
244 |
- protected SSLSocketFactory sslFactory = null; |
245 |
- |
246 |
-@@ -187,6 +211,279 @@ |
247 |
- if (log.isDebugEnabled()) { |
248 |
- log.debug(Messages.getMessage("createdSSL00")); |
249 |
- } |
250 |
-+ verifyHostName(host, (SSLSocket) sslSocket); |
251 |
- return sslSocket; |
252 |
- } |
253 |
-+ /** |
254 |
-+ * Verifies that the given hostname in certicifate is the hostname we are trying to connect to. |
255 |
-+ * This resolves CVE-2012-5784 and CVE-2014-3596 |
256 |
-+ * @param host |
257 |
-+ * @param ssl |
258 |
-+ * @throws IOException |
259 |
-+ */ |
260 |
-+ |
261 |
-+ private static void verifyHostName(String host, SSLSocket ssl) |
262 |
-+ throws IOException { |
263 |
-+ if (host == null) { |
264 |
-+ throw new IllegalArgumentException("host to verify was null"); |
265 |
-+ } |
266 |
-+ |
267 |
-+ SSLSession session = ssl.getSession(); |
268 |
-+ if (session == null) { |
269 |
-+ // In our experience this only happens under IBM 1.4.x when |
270 |
-+ // spurious (unrelated) certificates show up in the server's chain. |
271 |
-+ // Hopefully this will unearth the real problem: |
272 |
-+ InputStream in = ssl.getInputStream(); |
273 |
-+ in.available(); |
274 |
-+ /* |
275 |
-+ If you're looking at the 2 lines of code above because you're |
276 |
-+ running into a problem, you probably have two options: |
277 |
-+ |
278 |
-+ #1. Clean up the certificate chain that your server |
279 |
-+ is presenting (e.g. edit "/etc/apache2/server.crt" or |
280 |
-+ wherever it is your server's certificate chain is |
281 |
-+ defined). |
282 |
-+ |
283 |
-+ OR |
284 |
-+ |
285 |
-+ #2. Upgrade to an IBM 1.5.x or greater JVM, or switch to a |
286 |
-+ non-IBM JVM. |
287 |
-+ */ |
288 |
-+ |
289 |
-+ // If ssl.getInputStream().available() didn't cause an exception, |
290 |
-+ // maybe at least now the session is available? |
291 |
-+ session = ssl.getSession(); |
292 |
-+ if (session == null) { |
293 |
-+ // If it's still null, probably a startHandshake() will |
294 |
-+ // unearth the real problem. |
295 |
-+ ssl.startHandshake(); |
296 |
-+ |
297 |
-+ // Okay, if we still haven't managed to cause an exception, |
298 |
-+ // might as well go for the NPE. Or maybe we're okay now? |
299 |
-+ session = ssl.getSession(); |
300 |
-+ } |
301 |
-+ } |
302 |
-+ |
303 |
-+ Certificate[] certs = session.getPeerCertificates(); |
304 |
-+ verifyHostName(host.trim().toLowerCase(Locale.US), (X509Certificate) certs[0]); |
305 |
-+ } |
306 |
-+ /** |
307 |
-+ * Extract the names from the certificate and tests host matches one of them |
308 |
-+ * @param host |
309 |
-+ * @param cert |
310 |
-+ * @throws SSLException |
311 |
-+ */ |
312 |
-+ |
313 |
-+ private static void verifyHostName(final String host, X509Certificate cert) |
314 |
-+ throws SSLException { |
315 |
-+ // I'm okay with being case-insensitive when comparing the host we used |
316 |
-+ // to establish the socket to the hostname in the certificate. |
317 |
-+ // Don't trim the CN, though. |
318 |
-+ |
319 |
-+ String[] cns = getCNs(cert); |
320 |
-+ String[] subjectAlts = getDNSSubjectAlts(cert); |
321 |
-+ verifyHostName(host, cns, subjectAlts); |
322 |
-+ |
323 |
-+ } |
324 |
-+ |
325 |
-+ /** |
326 |
-+ * Extract all alternative names from a certificate. |
327 |
-+ * @param cert |
328 |
-+ * @return |
329 |
-+ */ |
330 |
-+ private static String[] getDNSSubjectAlts(X509Certificate cert) { |
331 |
-+ LinkedList subjectAltList = new LinkedList(); |
332 |
-+ Collection c = null; |
333 |
-+ try { |
334 |
-+ c = cert.getSubjectAlternativeNames(); |
335 |
-+ } catch (CertificateParsingException cpe) { |
336 |
-+ // Should probably log.debug() this? |
337 |
-+ cpe.printStackTrace(); |
338 |
-+ } |
339 |
-+ if (c != null) { |
340 |
-+ Iterator it = c.iterator(); |
341 |
-+ while (it.hasNext()) { |
342 |
-+ List list = (List) it.next(); |
343 |
-+ int type = ((Integer) list.get(0)).intValue(); |
344 |
-+ // If type is 2, then we've got a dNSName |
345 |
-+ if (type == 2) { |
346 |
-+ String s = (String) list.get(1); |
347 |
-+ subjectAltList.add(s); |
348 |
-+ } |
349 |
-+ } |
350 |
-+ } |
351 |
-+ if (!subjectAltList.isEmpty()) { |
352 |
-+ String[] subjectAlts = new String[subjectAltList.size()]; |
353 |
-+ subjectAltList.toArray(subjectAlts); |
354 |
-+ return subjectAlts; |
355 |
-+ } else { |
356 |
-+ return new String[0]; |
357 |
-+ } |
358 |
-+ |
359 |
-+ } |
360 |
-+ /** |
361 |
-+ * Verifies |
362 |
-+ * @param host |
363 |
-+ * @param cn |
364 |
-+ * @param subjectAlts |
365 |
-+ * @throws SSLException |
366 |
-+ */ |
367 |
-+ |
368 |
-+ private static void verifyHostName(final String host, String[] cns, String[] subjectAlts)throws SSLException{ |
369 |
-+ StringBuffer cnTested = new StringBuffer(); |
370 |
-+ |
371 |
-+ for (int i = 0; i < subjectAlts.length; i++){ |
372 |
-+ String name = subjectAlts[i]; |
373 |
-+ if (name != null) { |
374 |
-+ name = name.toLowerCase(Locale.US); |
375 |
-+ if (verifyHostName(host, name)){ |
376 |
-+ return; |
377 |
-+ } |
378 |
-+ cnTested.append("/").append(name); |
379 |
-+ } |
380 |
-+ } |
381 |
-+ for (int i = 0; i < cns.length; i++) { |
382 |
-+ String cn = cns[i]; |
383 |
-+ if (cn != null) { |
384 |
-+ cn = cn.toLowerCase(Locale.US); |
385 |
-+ if (verifyHostName(host, cn)) { |
386 |
-+ return; |
387 |
-+ } |
388 |
-+ cnTested.append("/").append(cn); |
389 |
-+ } |
390 |
-+ } |
391 |
-+ throw new SSLException("hostname in certificate didn't match: <" |
392 |
-+ + host + "> != <" + cnTested + ">"); |
393 |
-+ } |
394 |
-+ |
395 |
-+ private static boolean verifyHostName(final String host, final String cn){ |
396 |
-+ if (doWildCard(cn) && !isIPAddress(host)) { |
397 |
-+ return matchesWildCard(cn, host); |
398 |
-+ } |
399 |
-+ return host.equalsIgnoreCase(cn); |
400 |
-+ } |
401 |
-+ private static boolean doWildCard(String cn) { |
402 |
-+ // Contains a wildcard |
403 |
-+ // wildcard in the first block |
404 |
-+ // not an ipaddress (ip addres must explicitily be equal) |
405 |
-+ // not using 2nd level common tld : ex: not for *.co.uk |
406 |
-+ String parts[] = cn.split("\\."); |
407 |
-+ return parts.length >= 3 && |
408 |
-+ parts[0].endsWith("*") && |
409 |
-+ acceptableCountryWildcard(cn) && |
410 |
-+ !isIPAddress(cn); |
411 |
-+ } |
412 |
-+ |
413 |
-+ private static final Pattern IPV4_PATTERN = |
414 |
-+ Pattern.compile("^(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}$"); |
415 |
-+ |
416 |
-+ private static final Pattern IPV6_STD_PATTERN = |
417 |
-+ Pattern.compile("^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$"); |
418 |
-+ |
419 |
-+ private static final Pattern IPV6_HEX_COMPRESSED_PATTERN = |
420 |
-+ Pattern.compile("^((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)::((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)$"); |
421 |
-+ |
422 |
-+ |
423 |
-+ private static boolean isIPAddress(final String hostname) { |
424 |
-+ return hostname != null |
425 |
-+ && ( |
426 |
-+ IPV4_PATTERN.matcher(hostname).matches() |
427 |
-+ || IPV6_STD_PATTERN.matcher(hostname).matches() |
428 |
-+ || IPV6_HEX_COMPRESSED_PATTERN.matcher(hostname).matches() |
429 |
-+ ); |
430 |
-+ |
431 |
-+ } |
432 |
-+ |
433 |
-+ private static boolean acceptableCountryWildcard(final String cn) { |
434 |
-+ // The CN better have at least two dots if it wants wildcard action, |
435 |
-+ // but can't be [*.co.uk] or [*.co.jp] or [*.org.uk], etc... |
436 |
-+ // The [*.co.uk] problem is an interesting one. Should we just |
437 |
-+ // hope that CA's would never foolishly allow such a |
438 |
-+ // certificate to happen? |
439 |
-+ |
440 |
-+ String[] parts = cn.split("\\."); |
441 |
-+ // Only checks for 3 levels, with country code of 2 letters. |
442 |
-+ if (parts.length > 3 || parts[parts.length - 1].length() != 2) { |
443 |
-+ return true; |
444 |
-+ } |
445 |
-+ String countryCode = parts[parts.length - 2]; |
446 |
-+ return Arrays.binarySearch(BAD_COUNTRY_2LDS, countryCode) < 0; |
447 |
-+ } |
448 |
-+ |
449 |
-+ private static boolean matchesWildCard(final String cn, |
450 |
-+ final String hostName) { |
451 |
-+ String parts[] = cn.split("\\."); |
452 |
-+ boolean match = false; |
453 |
-+ String firstpart = parts[0]; |
454 |
-+ if (firstpart.length() > 1) { |
455 |
-+ // server∗ |
456 |
-+ // e.g. server |
457 |
-+ String prefix = firstpart.substring(0, firstpart.length() - 1); |
458 |
-+ // skipwildcard part from cn |
459 |
-+ String suffix = cn.substring(firstpart.length()); |
460 |
-+ // skip wildcard part from host |
461 |
-+ String hostSuffix = hostName.substring(prefix.length()); |
462 |
-+ match = hostName.startsWith(prefix) && hostSuffix.endsWith(suffix); |
463 |
-+ } else { |
464 |
-+ match = hostName.endsWith(cn.substring(1)); |
465 |
-+ } |
466 |
-+ if (match) { |
467 |
-+ // I f we ’ r e i n s t r i c t mode , |
468 |
-+ // [ ∗.foo.com] is not allowed to match [a.b.foo.com] |
469 |
-+ match = countDots(hostName) == countDots(cn); |
470 |
-+ } |
471 |
-+ return match; |
472 |
-+ } |
473 |
-+ |
474 |
-+ private static int countDots(final String data) { |
475 |
-+ int dots = 0; |
476 |
-+ for (int i = 0; i < data.length(); i++) { |
477 |
-+ if (data.charAt(i) == '.') { |
478 |
-+ dots += 1; |
479 |
-+ } |
480 |
-+ } |
481 |
-+ return dots; |
482 |
-+ } |
483 |
-+ |
484 |
-+ |
485 |
-+ private static String[] getCNs(X509Certificate cert) { |
486 |
-+ // Note: toString() seems to do a better job than getName() |
487 |
-+ // |
488 |
-+ // For example, getName() gives me this: |
489 |
-+ // 1.2.840.113549.1.9.1=#16166a756c6975736461766965734063756362632e636f6d |
490 |
-+ // |
491 |
-+ // whereas toString() gives me this: |
492 |
-+ // EMAILADDRESS=juliusdavies@×××××.com |
493 |
-+ String subjectPrincipal = cert.getSubjectX500Principal().toString(); |
494 |
-+ |
495 |
-+ return getCNs(subjectPrincipal); |
496 |
-+ |
497 |
-+ } |
498 |
-+ private static String[] getCNs(String subjectPrincipal) { |
499 |
-+ if (subjectPrincipal == null) { |
500 |
-+ return null; |
501 |
-+ } |
502 |
-+ final List cns = new ArrayList(); |
503 |
-+ try { |
504 |
-+ final LdapName subjectDN = new LdapName(subjectPrincipal); |
505 |
-+ final List rdns = subjectDN.getRdns(); |
506 |
-+ for (int i = rdns.size() - 1; i >= 0; i--) { |
507 |
-+ final Rdn rds = (Rdn) rdns.get(i); |
508 |
-+ final Attributes attributes = rds.toAttributes(); |
509 |
-+ final Attribute cn = attributes.get("cn"); |
510 |
-+ if (cn != null) { |
511 |
-+ try { |
512 |
-+ final Object value = cn.get(); |
513 |
-+ if (value != null) { |
514 |
-+ cns.add(value.toString()); |
515 |
-+ } |
516 |
-+ } |
517 |
-+ catch (NamingException ignore) {} |
518 |
-+ } |
519 |
-+ } |
520 |
-+ } |
521 |
-+ catch (InvalidNameException ignore) { } |
522 |
-+ return cns.isEmpty() ? null : (String[]) cns.toArray(new String[ cns.size() ]); |
523 |
-+ } |
524 |
-+ |
525 |
- } |
526 |
|
527 |
diff --git a/www-servers/axis/files/axis-1.4-build.xml.patch b/www-servers/axis/files/axis-1.4-build.xml.patch |
528 |
deleted file mode 100644 |
529 |
index 92e5116..0000000 |
530 |
--- a/www-servers/axis/files/axis-1.4-build.xml.patch |
531 |
+++ /dev/null |
532 |
@@ -1,15 +0,0 @@ |
533 |
---- build.xml.orig 2006-04-23 03:57:27.000000000 +0200 |
534 |
-+++ build.xml 2006-10-01 21:18:20.000000000 +0200 |
535 |
-@@ -223,10 +223,12 @@ |
536 |
- </section> |
537 |
- </manifest> |
538 |
- </jar> |
539 |
-+ <!-- |
540 |
- <copy file="${wsdl4j.jar}" toDir="${build.lib}"/> |
541 |
- <copy file="${commons-logging.jar}" toDir="${build.lib}"/> |
542 |
- <copy file="${commons-discovery.jar}" toDir="${build.lib}"/> |
543 |
- <copy file="${log4j-core.jar}" toDir="${build.lib}"/> |
544 |
-+ --> |
545 |
- <copy file="${src.dir}/log4j.properties" |
546 |
- toDir="${build.lib}"/> |
547 |
- |
548 |
|
549 |
diff --git a/www-servers/axis/files/axis-1.4-java6.patch b/www-servers/axis/files/axis-1.4-java6.patch |
550 |
deleted file mode 100644 |
551 |
index 2e9bd42..0000000 |
552 |
--- a/www-servers/axis/files/axis-1.4-java6.patch |
553 |
+++ /dev/null |
554 |
@@ -1,16 +0,0 @@ |
555 |
---- src/org/apache/axis/i18n/ProjectResourceBundle.java.orig 2006-04-23 03:57:27.000000000 +0200 |
556 |
-+++ src/org/apache/axis/i18n/ProjectResourceBundle.java 2009-11-08 19:08:20.000000000 +0100 |
557 |
-@@ -357,13 +357,6 @@ |
558 |
- return resourceName; |
559 |
- } |
560 |
- |
561 |
-- /** |
562 |
-- * Clears the internal cache |
563 |
-- */ |
564 |
-- public static void clearCache() |
565 |
-- { |
566 |
-- bundleCache.clear(); |
567 |
-- } |
568 |
- |
569 |
- public String toString() { |
570 |
- return resourceName; |
571 |
|
572 |
diff --git a/www-servers/axis/files/axis-1.4-path_refs.xml.patch b/www-servers/axis/files/axis-1.4-path_refs.xml.patch |
573 |
deleted file mode 100644 |
574 |
index 7c0ad24..0000000 |
575 |
--- a/www-servers/axis/files/axis-1.4-path_refs.xml.patch |
576 |
+++ /dev/null |
577 |
@@ -1,20 +0,0 @@ |
578 |
---- xmls/path_refs.xml.orig 2006-04-23 03:56:52.000000000 +0200 |
579 |
-+++ xmls/path_refs.xml 2006-10-01 15:31:34.000000000 +0200 |
580 |
-@@ -1,4 +1,5 @@ |
581 |
- <path id="classpath"> |
582 |
-+ <!-- |
583 |
- <pathelement location="${xercesImpl.jar}"/> |
584 |
- <pathelement location="${xmlParserAPIs.jar}"/> |
585 |
- <pathelement location="${xalan.jar}"/> |
586 |
-@@ -14,10 +15,10 @@ |
587 |
- <pathelement location="${j2ee.jar}"/> |
588 |
- <pathelement location="${junit.jar}"/> |
589 |
- <pathelement location="${servlet.jar}"/> |
590 |
-+ --> |
591 |
- <fileset dir="${lib.dir}"> |
592 |
- <include name="**/*.jar"/> |
593 |
- </fileset> |
594 |
-- <pathelement path="${java.class.path}"/> |
595 |
- <pathelement location="${build.dest}" /> |
596 |
- <pathelement location="${build.dir}/tools" /> |
597 |
- <pathelement location="${build.lib}/axis-ant.jar" /> |
598 |
|
599 |
diff --git a/www-servers/axis/files/axis-1.4-targets.xml.patch b/www-servers/axis/files/axis-1.4-targets.xml.patch |
600 |
deleted file mode 100644 |
601 |
index 1f5f63e..0000000 |
602 |
--- a/www-servers/axis/files/axis-1.4-targets.xml.patch |
603 |
+++ /dev/null |
604 |
@@ -1,86 +0,0 @@ |
605 |
---- xmls/targets.xml.orig 2006-10-01 15:08:41.000000000 +0200 |
606 |
-+++ xmls/targets.xml 2006-10-01 15:14:27.000000000 +0200 |
607 |
-@@ -84,6 +84,7 @@ |
608 |
- <mkdir dir="${build.lib}"/> |
609 |
- <mkdir dir="${build.dir}/work"/> |
610 |
- |
611 |
-+ <!-- |
612 |
- <available property="servlet.present" |
613 |
- classname="javax.servlet.Servlet" |
614 |
- classpathref="classpath"/> |
615 |
-@@ -135,18 +136,18 @@ |
616 |
- <available property="httpunit.present" |
617 |
- classname="com.meterware.httpunit.GetMethodWebRequest" |
618 |
- classpathref="classpath"/> |
619 |
-- |
620 |
-+ --> |
621 |
- <available property="jsse.present" |
622 |
- classname="javax.net.ssl.SSLSocketFactory" |
623 |
- classpathref="classpath"/> |
624 |
-- |
625 |
-+ <!-- |
626 |
- <condition property="jetty.present" > |
627 |
- <and> |
628 |
- <available classname="javax.servlet.Servlet" classpathref="classpath" /> |
629 |
- <available classname="org.mortbay.http.HttpServer" classpathref="classpath" /> |
630 |
- </and> |
631 |
- </condition> |
632 |
-- |
633 |
-+ --> |
634 |
- <condition property="jdk14.jsse.present" > |
635 |
- <and> |
636 |
- <available classname="javax.net.ssl.X509TrustManager" classpathref="classpath" /> |
637 |
-@@ -185,7 +186,7 @@ |
638 |
- <condition property="sun.codec.present" > |
639 |
- <available classname="sun.awt.image.codec.JPEGImageEncoderImpl" classpathref="classpath" /> |
640 |
- </condition> |
641 |
-- |
642 |
-+ <!-- |
643 |
- <condition property="jimi.present" > |
644 |
- <available classname="com.sun.jimi.core.Jimi" classpathref="classpath" /> |
645 |
- </condition> |
646 |
-@@ -193,7 +194,7 @@ |
647 |
- <condition property="merlinio.present" > |
648 |
- <available classname="javax.imageio.ImageIO" classpathref="classpath" /> |
649 |
- </condition> |
650 |
-- |
651 |
-+ --> |
652 |
- <condition property="axis-ant.present" > |
653 |
- <available classname="org.apache.axis.tools.ant.foreach.ForeachTask"> |
654 |
- <classpath> |
655 |
-@@ -201,7 +202,7 @@ |
656 |
- </classpath> |
657 |
- </available> |
658 |
- </condition> |
659 |
-- |
660 |
-+ <!-- |
661 |
- <condition property="jimiAndAttachments.present"> |
662 |
- <and> |
663 |
- <available classname="javax.activation.DataHandler" classpathref="classpath" /> |
664 |
-@@ -220,7 +221,7 @@ |
665 |
- <available classname="progress.message.jclient.Message" classpathref="classpath" /> |
666 |
- </and> |
667 |
- </condition> |
668 |
-- |
669 |
-+ --> |
670 |
- <available property="post-compile.present" file="post-compile.xml" /> |
671 |
- |
672 |
- <property environment="env"/> |
673 |
-@@ -229,7 +230,7 @@ |
674 |
- <equals arg1="on" arg2="${env.debug}"/> |
675 |
- </and> |
676 |
- </condition> |
677 |
-- |
678 |
-+ <!-- |
679 |
- <condition property="castor.present" > |
680 |
- <available classname="org.exolab.castor.xml.MarshalException" classpathref="classpath" /> |
681 |
- </condition> |
682 |
-@@ -248,7 +249,7 @@ |
683 |
- <condition property="combridge.present" > |
684 |
- <available classname="org.apache.axis.components.bridge.COMBridge" classpathref="classpath" /> |
685 |
- </condition> |
686 |
-- |
687 |
-+ --> |
688 |
- <!-- look for WSDL support on the platform --> |
689 |
- <condition property="wsdl.found"> |
690 |
- <or> |
691 |
|
692 |
diff --git a/www-servers/axis/files/axis-1.4-tools-build.xml.patch b/www-servers/axis/files/axis-1.4-tools-build.xml.patch |
693 |
deleted file mode 100644 |
694 |
index ce97592..0000000 |
695 |
--- a/www-servers/axis/files/axis-1.4-tools-build.xml.patch |
696 |
+++ /dev/null |
697 |
@@ -1,26 +0,0 @@ |
698 |
---- tools/build.xml.orig 2006-10-02 10:18:43.000000000 +0200 |
699 |
-+++ tools/build.xml 2006-10-02 10:21:34.000000000 +0200 |
700 |
-@@ -66,6 +66,7 @@ |
701 |
- <javac srcdir="${tools.dir}" |
702 |
- debug="${debug}" |
703 |
- source="${source}" |
704 |
-+ target="${target}" |
705 |
- nowarn="${nowarn}" |
706 |
- destdir="${tools.build.dir}"> |
707 |
- <classpath refid="classpath"/> |
708 |
-@@ -77,6 +78,7 @@ |
709 |
- <javac srcdir="${tools.dir}" |
710 |
- debug="${debug}" |
711 |
- source="${source}" |
712 |
-+ target="${target}" |
713 |
- nowarn="${nowarn}" |
714 |
- destdir="${tools.build.dir}"> |
715 |
- <classpath refid="classpath"/> |
716 |
-@@ -88,6 +90,7 @@ |
717 |
- <javac srcdir="${tools.dir}" |
718 |
- debug="${debug}" |
719 |
- source="${source}" |
720 |
-+ target="${target}" |
721 |
- nowarn="${nowarn}" |
722 |
- destdir="${tools.build.dir}"> |
723 |
- <classpath> |
724 |
|
725 |
diff --git a/www-servers/axis/files/build.properties b/www-servers/axis/files/build.properties |
726 |
deleted file mode 100644 |
727 |
index 9387391..0000000 |
728 |
--- a/www-servers/axis/files/build.properties |
729 |
+++ /dev/null |
730 |
@@ -1,15 +0,0 @@ |
731 |
-source=1.4 |
732 |
-target=1.4 |
733 |
- |
734 |
-activation.present=true |
735 |
-commons-discovery.present=true |
736 |
-commons-logging.present=true |
737 |
-wsdl4j.present=true |
738 |
-mailapi.present=true |
739 |
- |
740 |
-bsf.present=true |
741 |
-castor.present=true |
742 |
-commons-httpclient.present=true |
743 |
-commons-net.present=true |
744 |
-jimi.present=true |
745 |
-servlet.present=true |
746 |
|
747 |
diff --git a/www-servers/axis/metadata.xml b/www-servers/axis/metadata.xml |
748 |
deleted file mode 100644 |
749 |
index d75e8a6..0000000 |
750 |
--- a/www-servers/axis/metadata.xml |
751 |
+++ /dev/null |
752 |
@@ -1,13 +0,0 @@ |
753 |
-<?xml version="1.0" encoding="UTF-8"?> |
754 |
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
755 |
-<pkgmetadata> |
756 |
-<herd>java</herd> |
757 |
- |
758 |
-<longdescription> |
759 |
-Apache Axis is an implementation of the SOAP ("Simple Object Access Protocol") submission to W3C. |
760 |
- |
761 |
-From the draft W3C specification: |
762 |
- |
763 |
-SOAP is a lightweight protocol for exchange of information in a decentralized, distributed environment. It is an XML based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it, a set of encoding rules for expressing instances of application-defined datatypes, and a convention for representing remote procedure calls and responses. |
764 |
-</longdescription> |
765 |
-</pkgmetadata> |