[javapackages] Revert "Add support for installing JARs w/o POM"
by Stanislav Ochotnicky
commit acc2d4cb730fc56dbaff81acce8ccb223c7ea513
Author: Stanislav Ochotnicky <sochotnicky(a)redhat.com>
Date: Wed Sep 4 15:42:53 2013 +0200
Revert "Add support for installing JARs w/o POM"
This reverts commit 9d391cc303926f4f32efcb52c432436dcf94a26c.
java-utils/maven_depmap.py | 24 +++++++++++++++---------
1 files changed, 15 insertions(+), 9 deletions(-)
---
diff --git a/java-utils/maven_depmap.py b/java-utils/maven_depmap.py
index 97e2791..1dc60f1 100644
--- a/java-utils/maven_depmap.py
+++ b/java-utils/maven_depmap.py
@@ -45,17 +45,17 @@ from zipfile import ZipFile
from time import gmtime, strftime
from javapackages import POM
-from javapackages import Artifact
class Fragment:
"""simple structure to hold fragment information"""
- def __init__(self, gid, aid, version, local_gid, local_aid):
+ def __init__(self, gid, aid, version, local_gid, local_aid, packaging):
self.gid = gid.strip()
self.aid = aid.strip()
self.version = version.strip()
self.local_gid = local_gid
self.local_aid = local_aid
+ self.packaging = packaging
def __getitem__(self, index):
return self.__dict__[index]
@@ -97,17 +97,21 @@ def _get_jpp_from_filename(pom_path, jar_path = None):
if not jarpart:
raise MissingJarFile()
- if '/' in jarpart:
+ if pomname[3] == '.':
+ if '/' not in jarpart:
+ raise IncompatibleFilenames(pom_path, jar_path)
jpp_gid = "JPP/%s" % dirname(jarpart)
jpp_aid = splitext(basename(jarpart))[0]
# we assert that jar and pom parts match
- if ':' not in pom_path and not pomname == "JPP.%s-%s.pom" % (jpp_gid[4:], jpp_aid):
+ if not pomname == "JPP.%s-%s.pom" % (jpp_gid[4:], jpp_aid):
raise IncompatibleFilenames(pom_path, jar_path)
else:
+ if '/' in jarpart:
+ raise IncompatibleFilenames(pom_path, jar_path)
jpp_gid = "JPP"
jpp_aid = splitext(basename(jarpart))[0]
# we assert that jar and pom parts match
- if ':' not in pom_path and not pomname == "JPP-%s.pom" % jpp_aid:
+ if not pomname == "JPP-%s.pom" % jpp_aid:
raise IncompatibleFilenames(pom_path, jar_path)
else:
if pomname[3] == ".":
@@ -122,13 +126,14 @@ def _get_jpp_from_filename(pom_path, jar_path = None):
def parse_pom(pom_file, jar_file = None):
"""Returns Fragment class or None if POM file is invalid"""
- pom = Artifact.from_mvn_str(pom_file) if ':' in pom_file else POM(pom_file)
+ pom = POM(pom_file)
# if project packaging is undefined => jar
# only "pom" packaging type can be without jar_file path otherwise
# we bail
- if not (jar_file or hasattr(pom, 'packaging') and pom.packaging and pom.packaging == "pom"):
- raise PackagingTypeMissingFile(pom_path)
+ if not jar_file:
+ if not pom.packaging or pom.packaging != "pom":
+ raise PackagingTypeMissingFile(pom_path)
jpp_gid, jpp_aid = _get_jpp_from_filename(pom_file, jar_file)
@@ -136,7 +141,8 @@ def parse_pom(pom_file, jar_file = None):
pom.artifactId,
pom.version,
jpp_gid,
- jpp_aid
+ jpp_aid,
+ pom.packaging or "jar"
)
def
10 years, 8 months
[javapackages] Use os.path.splitext in maven_depmap.py
by Stanislav Ochotnicky
commit 95e59147a38a2c1119fb6ed047758d68b9746ebf
Author: Stanislav Ochotnicky <sochotnicky(a)redhat.com>
Date: Wed Sep 4 15:42:36 2013 +0200
Use os.path.splitext in maven_depmap.py
java-utils/maven_depmap.py | 11 +++++------
1 files changed, 5 insertions(+), 6 deletions(-)
---
diff --git a/java-utils/maven_depmap.py b/java-utils/maven_depmap.py
index 4db6ebb..97e2791 100644
--- a/java-utils/maven_depmap.py
+++ b/java-utils/maven_depmap.py
@@ -40,7 +40,7 @@ import sys
import os
import re
-from os.path import basename, dirname
+from os.path import basename, dirname, splitext
from zipfile import ZipFile
from time import gmtime, strftime
@@ -99,13 +99,13 @@ def _get_jpp_from_filename(pom_path, jar_path = None):
if '/' in jarpart:
jpp_gid = "JPP/%s" % dirname(jarpart)
- jpp_aid = basename(jarpart)[:-4]
+ jpp_aid = splitext(basename(jarpart))[0]
# we assert that jar and pom parts match
if ':' not in pom_path and not pomname == "JPP.%s-%s.pom" % (jpp_gid[4:], jpp_aid):
raise IncompatibleFilenames(pom_path, jar_path)
else:
jpp_gid = "JPP"
- jpp_aid = basename(jarpart)[:-4]
+ jpp_aid = splitext(basename(jarpart))[0]
# we assert that jar and pom parts match
if ':' not in pom_path and not pomname == "JPP-%s.pom" % jpp_aid:
raise IncompatibleFilenames(pom_path, jar_path)
@@ -139,6 +139,8 @@ def parse_pom(pom_file, jar_file = None):
jpp_aid
)
+def
+
def create_mappings(fragment, additions = None):
maps = [(fragment.gid, fragment.aid)]
if additions:
@@ -227,11 +229,8 @@ if __name__ == "__main__":
# These will fail when incorrect number of arguments is given.
fragment_path = args[0].strip()
pom_path = args[1].strip()
- print fragment_path
- print pom_path
if len(args) == 3:
jar_path = args[2].strip()
- print jar_path
fragment = parse_pom(pom_path, jar_path)
if fragment:
inject_pom_properties(jar_path, fragment)
10 years, 8 months
[javapackages] Fix depmap namespace testcase
by Stanislav Ochotnicky
commit 6d51f9156a29dc041d4e20720d3d3e06e4e3f0e7
Author: Stanislav Ochotnicky <sochotnicky(a)redhat.com>
Date: Wed Sep 4 18:01:46 2013 +0200
Fix depmap namespace testcase
python/test/depmap_test.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/python/test/depmap_test.py b/python/test/depmap_test.py
index 7a5f60d..9ad4ed6 100644
--- a/python/test/depmap_test.py
+++ b/python/test/depmap_test.py
@@ -137,7 +137,7 @@ class TestDepmap(unittest.TestCase):
maps = d.get_provided_mappings()
for m, l in maps:
self.assertEqual(m.namespace, "ns")
- self.assertEqual(m.namespace, "ns")
+ self.assertEqual(l.namespace, "ns")
@depmapfile("depmap_multiple_namespaces.xml")
def test_multiple_namespaces(self, d):
10 years, 8 months
[httpcomponents-core] Update to upstream version 4.3
by Michal Srb
commit fceb01f6ec0da338da7134495a61180c1115eb49
Author: Michal Srb <msrb(a)redhat.com>
Date: Mon Sep 9 08:53:37 2013 +0200
Update to upstream version 4.3
.gitignore | 1 +
httpcomponents-core.spec | 26 ++++++++++----------------
sources | 2 +-
3 files changed, 12 insertions(+), 17 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e43dd68..4a2240f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@ httpcomponents-core-4.1.4-src.tar.gz
/httpcomponents-core-4.2.1-src.tar.gz
/httpcomponents-core-4.2.3-src.tar.gz
/httpcomponents-core-4.2.4-src.tar.gz
+/httpcomponents-core-4.3-src.tar.gz
diff --git a/httpcomponents-core.spec b/httpcomponents-core.spec
index 992808e..d1c6ac7 100644
--- a/httpcomponents-core.spec
+++ b/httpcomponents-core.spec
@@ -2,9 +2,8 @@
Name: httpcomponents-core
Summary: Set of low level Java HTTP transport components for HTTP services
-Version: 4.2.4
-Release: 5%{?dist}
-Group: Development/Libraries
+Version: 4.3
+Release: 1%{?dist}
# The project is licensed under ASL 2.0, but it contains annotations
# in the package org.apache.http.annotation which are derived
# from JCIP-ANNOTATIONS project (CC-BY licensed)
@@ -20,7 +19,8 @@ BuildRequires: jpackage-utils
BuildRequires: maven-surefire-provider-junit4
BuildRequires: apache-commons-logging
BuildRequires: junit
-%if 0%{?rhel} <= 0
+BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
+%if 0%{?fedora}
BuildRequires: mockito
%endif
@@ -39,7 +39,6 @@ HTTP connections in a resource efficient manner.
%package javadoc
Summary: API documentation for %{name}
-Group: Documentation
%description javadoc
%{summary}.
@@ -48,10 +47,7 @@ Group: Documentation
%prep
%setup -q
-%pom_remove_plugin :maven-clover2-plugin httpcore-nio
-%pom_remove_plugin :maven-clover2-plugin httpcore
-%pom_remove_plugin :maven-notice-plugin
-%pom_remove_plugin :docbkx-maven-plugin
+%pom_remove_plugin :maven-checkstyle-plugin
# we don't need these artifacts right now
%pom_disable_module httpcore-osgi
@@ -81,24 +77,22 @@ done
%mvn_file ":{*}" httpcomponents/@1
%build
-%mvn_build \
-%if 0%{?rhel}
- -f
-%endif
-
+%mvn_build %{!?fedora -f}
%install
%mvn_install
%files -f .mfiles
%dir %{_javadir}/httpcomponents
-%doc LICENSE.txt NOTICE.txt
-%doc README.txt RELEASE_NOTES.txt
+%doc LICENSE.txt NOTICE.txt README.txt RELEASE_NOTES.txt
%files javadoc -f .mfiles-javadoc
%doc LICENSE.txt NOTICE.txt
%changelog
+* Tue Sep 03 2013 Michal Srb <msrb(a)redhat.com> - 4.3-1
+- Update to upstream version 4.3
+
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 4.2.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
diff --git a/sources b/sources
index 529235b..512bb99 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-50e6ffa0b3c4e9e2071539c23bb622ff httpcomponents-core-4.2.4-src.tar.gz
+3d97636e1d0f56c97771552933cd4729 httpcomponents-core-4.3-src.tar.gz
10 years, 8 months
[jenkins-remoting] Update to upstream version 2.32
by Michal Srb
commit 3d5fab73633f4c3d1d3d40fb0474d9e880d4fafa
Author: Michal Srb <msrb(a)redhat.com>
Date: Mon Sep 9 08:52:09 2013 +0200
Update to upstream version 2.32
.gitignore | 1 +
0001-Use-base64-implementation-from-JDK.patch | 407 +++++--------------------
jenkins-remoting.spec | 8 +-
sources | 2 +-
4 files changed, 81 insertions(+), 337 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index a81a598..0aea7a4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
/remoting-2.23.tar.gz
/LICENSE-2.0.txt
+/remoting-2.32.tar.gz
diff --git a/0001-Use-base64-implementation-from-JDK.patch b/0001-Use-base64-implementation-from-JDK.patch
index 6903b1a..7f3b32a 100644
--- a/0001-Use-base64-implementation-from-JDK.patch
+++ b/0001-Use-base64-implementation-from-JDK.patch
@@ -1,348 +1,77 @@
-From d7e4014c479d504018141d47771b8f618c14e47a Mon Sep 17 00:00:00 2001
+From 38abb8e9d0be52d09bab497b511d7e8d1a32807f Mon Sep 17 00:00:00 2001
From: Michal Srb <msrb(a)redhat.com>
-Date: Wed, 15 May 2013 10:33:43 +0200
+Date: Fri, 9 Aug 2013 14:42:07 +0200
Subject: [PATCH] Use base64 implementation from JDK
---
- src/main/java/hudson/remoting/Base64.java | 303 ---------------------
- src/main/java/hudson/remoting/Engine.java | 3 +-
- src/main/java/hudson/remoting/Launcher.java | 3 +-
- .../java/hudson/remoting/BinarySafeStreamTest.java | 7 +-
- 4 files changed, 8 insertions(+), 308 deletions(-)
- delete mode 100644 src/main/java/hudson/remoting/Base64.java
+ src/main/java/hudson/remoting/Engine.java | 29 +++++++++++-----------
+ src/main/java/hudson/remoting/Launcher.java | 11 ++++----
+ .../java/hudson/remoting/BinarySafeStreamTest.java | 7 +++---
+ 3 files changed, 25 insertions(+), 22 deletions(-)
-diff --git a/src/main/java/hudson/remoting/Base64.java b/src/main/java/hudson/remoting/Base64.java
-deleted file mode 100644
-index c73c9c1..0000000
---- a/src/main/java/hudson/remoting/Base64.java
-+++ /dev/null
-@@ -1,303 +0,0 @@
--/*
-- * Copyright 1999-2002,2004 The Apache Software Foundation.
-- *
-- * Licensed under the Apache License, Version 2.0 (the "License");
-- * you may not use this file except in compliance with the License.
-- * You may obtain a copy of the License at
-- *
-- * http://www.apache.org/licenses/LICENSE-2.0
-- *
-- * Unless required by applicable law or agreed to in writing, software
-- * distributed under the License is distributed on an "AS IS" BASIS,
-- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- * See the License for the specific language governing permissions and
-- * limitations under the License.
-- */
--package hudson.remoting;
--
--/**
-- * This class provides encode/decode for RFC 2045 Base64 as
-- * defined by RFC 2045, N. Freed and N. Borenstein.
-- * RFC 2045: Multipurpose Internet Mail Extensions (MIME)
-- * Part One: Format of Internet Message Bodies. Reference
-- * 1996 Available at: http://www.ietf.org/rfc/rfc2045.txt
-- * This class is used by XML Schema binary format validation
-- *
-- * This implementation does not encode/decode streaming
-- * data. You need the data that you will encode/decode
-- * already on a byte arrray.
-- *
-- * @xerces.internal
-- *
-- * @author Jeffrey Rodriguez
-- * @author Sandy Gao
-- * @version $Id: Base64.java,v 1.4 2007/07/19 04:38:32 ofung Exp $
-- */
--public final class Base64 {
--
-- static private final int BASELENGTH = 128;
-- static private final int LOOKUPLENGTH = 64;
-- static private final int TWENTYFOURBITGROUP = 24;
-- static private final int EIGHTBIT = 8;
-- static private final int SIXTEENBIT = 16;
-- static private final int SIXBIT = 6;
-- static private final int FOURBYTE = 4;
-- static private final int SIGN = -128;
-- static private final char PAD = '=';
-- static private final boolean fDebug = false;
-- static final private byte [] base64Alphabet = new byte[BASELENGTH];
-- static final private char [] lookUpBase64Alphabet = new char[LOOKUPLENGTH];
--
-- static {
--
-- for (int i = 0; i < BASELENGTH; ++i) {
-- base64Alphabet[i] = -1;
-- }
-- for (int i = 'Z'; i >= 'A'; i--) {
-- base64Alphabet[i] = (byte) (i-'A');
-- }
-- for (int i = 'z'; i>= 'a'; i--) {
-- base64Alphabet[i] = (byte) ( i-'a' + 26);
-- }
--
-- for (int i = '9'; i >= '0'; i--) {
-- base64Alphabet[i] = (byte) (i-'0' + 52);
-- }
--
-- base64Alphabet['+'] = 62;
-- base64Alphabet['/'] = 63;
--
-- for (int i = 0; i<=25; i++)
-- lookUpBase64Alphabet[i] = (char)('A'+i);
--
-- for (int i = 26, j = 0; i<=51; i++, j++)
-- lookUpBase64Alphabet[i] = (char)('a'+ j);
--
-- for (int i = 52, j = 0; i<=61; i++, j++)
-- lookUpBase64Alphabet[i] = (char)('0' + j);
-- lookUpBase64Alphabet[62] = (char)'+';
-- lookUpBase64Alphabet[63] = (char)'/';
--
-- }
--
-- protected static boolean isWhiteSpace(char octect) {
-- return (octect == 0x20 || octect == 0xd || octect == 0xa || octect == 0x9);
-- }
--
-- protected static boolean isPad(char octect) {
-- return (octect == PAD);
-- }
--
-- protected static boolean isData(char octect) {
-- return (octect < BASELENGTH && base64Alphabet[octect] != -1);
-- }
--
-- protected static boolean isBase64(char octect) {
-- return (isWhiteSpace(octect) || isPad(octect) || isData(octect));
-- }
--
-- /**
-- * Encodes hex octects into Base64
-- *
-- * @param binaryData Array containing binaryData
-- * @return Encoded Base64 array
-- */
-- public static String encode(byte[] binaryData) {
--
-- if (binaryData == null)
-- return null;
--
-- int lengthDataBits = binaryData.length*EIGHTBIT;
-- if (lengthDataBits == 0) {
-- return "";
-- }
--
-- int fewerThan24bits = lengthDataBits%TWENTYFOURBITGROUP;
-- int numberTriplets = lengthDataBits/TWENTYFOURBITGROUP;
-- int numberQuartet = fewerThan24bits != 0 ? numberTriplets+1 : numberTriplets;
-- char encodedData[] = null;
--
-- encodedData = new char[numberQuartet*4];
--
-- byte k=0, l=0, b1=0,b2=0,b3=0;
--
-- int encodedIndex = 0;
-- int dataIndex = 0;
-- if (fDebug) {
-- System.out.println("number of triplets = " + numberTriplets );
-- }
--
-- for (int i=0; i<numberTriplets; i++) {
-- b1 = binaryData[dataIndex++];
-- b2 = binaryData[dataIndex++];
-- b3 = binaryData[dataIndex++];
--
-- if (fDebug) {
-- System.out.println( "b1= " + b1 +", b2= " + b2 + ", b3= " + b3 );
-- }
--
-- l = (byte)(b2 & 0x0f);
-- k = (byte)(b1 & 0x03);
--
-- byte val1 = ((b1 & SIGN)==0)?(byte)(b1>>2):(byte)((b1)>>2^0xc0);
--
-- byte val2 = ((b2 & SIGN)==0)?(byte)(b2>>4):(byte)((b2)>>4^0xf0);
-- byte val3 = ((b3 & SIGN)==0)?(byte)(b3>>6):(byte)((b3)>>6^0xfc);
--
-- if (fDebug) {
-- System.out.println( "val2 = " + val2 );
-- System.out.println( "k4 = " + (k<<4));
-- System.out.println( "vak = " + (val2 | (k<<4)));
-- }
--
-- encodedData[encodedIndex++] = lookUpBase64Alphabet[ val1 ];
-- encodedData[encodedIndex++] = lookUpBase64Alphabet[ val2 | ( k<<4 )];
-- encodedData[encodedIndex++] = lookUpBase64Alphabet[ (l <<2 ) | val3 ];
-- encodedData[encodedIndex++] = lookUpBase64Alphabet[ b3 & 0x3f ];
-- }
--
-- // form integral number of 6-bit groups
-- if (fewerThan24bits == EIGHTBIT) {
-- b1 = binaryData[dataIndex];
-- k = (byte) ( b1 &0x03 );
-- if (fDebug) {
-- System.out.println("b1=" + b1);
-- System.out.println("b1<<2 = " + (b1>>2) );
-- }
-- byte val1 = ((b1 & SIGN)==0)?(byte)(b1>>2):(byte)((b1)>>2^0xc0);
-- encodedData[encodedIndex++] = lookUpBase64Alphabet[ val1 ];
-- encodedData[encodedIndex++] = lookUpBase64Alphabet[ k<<4 ];
-- encodedData[encodedIndex++] = PAD;
-- encodedData[encodedIndex++] = PAD;
-- } else if (fewerThan24bits == SIXTEENBIT) {
-- b1 = binaryData[dataIndex];
-- b2 = binaryData[dataIndex +1 ];
-- l = ( byte ) ( b2 &0x0f );
-- k = ( byte ) ( b1 &0x03 );
--
-- byte val1 = ((b1 & SIGN)==0)?(byte)(b1>>2):(byte)((b1)>>2^0xc0);
-- byte val2 = ((b2 & SIGN)==0)?(byte)(b2>>4):(byte)((b2)>>4^0xf0);
--
-- encodedData[encodedIndex++] = lookUpBase64Alphabet[ val1 ];
-- encodedData[encodedIndex++] = lookUpBase64Alphabet[ val2 | ( k<<4 )];
-- encodedData[encodedIndex++] = lookUpBase64Alphabet[ l<<2 ];
-- encodedData[encodedIndex++] = PAD;
-- }
--
-- return new String(encodedData);
-- }
--
-- /**
-- * Decodes Base64 data into octects
-- *
-- * @param encoded string containing Base64 data
-- * @return Array containind decoded data.
-- */
-- public static byte[] decode(String encoded) {
--
-- if (encoded == null)
-- return null;
--
-- char[] base64Data = encoded.toCharArray();
-- // remove white spaces
-- int len = removeWhiteSpace(base64Data);
--
-- if (len%FOURBYTE != 0) {
-- return null;//should be divisible by four
-- }
--
-- int numberQuadruple = (len/FOURBYTE );
--
-- if (numberQuadruple == 0)
-- return new byte[0];
--
-- byte decodedData[] = null;
-- byte b1=0,b2=0,b3=0,b4=0;
-- char d1=0,d2=0,d3=0,d4=0;
--
-- int i = 0;
-- int encodedIndex = 0;
-- int dataIndex = 0;
-- decodedData = new byte[ (numberQuadruple)*3];
--
-- for (; i<numberQuadruple-1; i++) {
--
-- if (!isData( (d1 = base64Data[dataIndex++]) )||
-- !isData( (d2 = base64Data[dataIndex++]) )||
-- !isData( (d3 = base64Data[dataIndex++]) )||
-- !isData( (d4 = base64Data[dataIndex++]) ))
-- return null;//if found "no data" just return null
--
-- b1 = base64Alphabet[d1];
-- b2 = base64Alphabet[d2];
-- b3 = base64Alphabet[d3];
-- b4 = base64Alphabet[d4];
--
-- decodedData[encodedIndex++] = (byte)( b1 <<2 | b2>>4 ) ;
-- decodedData[encodedIndex++] = (byte)(((b2 & 0xf)<<4 ) |( (b3>>2) & 0xf) );
-- decodedData[encodedIndex++] = (byte)( b3<<6 | b4 );
-- }
--
-- if (!isData( (d1 = base64Data[dataIndex++]) ) ||
-- !isData( (d2 = base64Data[dataIndex++]) )) {
-- return null;//if found "no data" just return null
-- }
--
-- b1 = base64Alphabet[d1];
-- b2 = base64Alphabet[d2];
--
-- d3 = base64Data[dataIndex++];
-- d4 = base64Data[dataIndex++];
-- if (!isData( (d3 ) ) ||
-- !isData( (d4 ) )) {//Check if they are PAD characters
-- if (isPad( d3 ) && isPad( d4)) { //Two PAD e.g. 3c[Pad][Pad]
-- if ((b2 & 0xf) != 0)//last 4 bits should be zero
-- return null;
-- byte[] tmp = new byte[ i*3 + 1 ];
-- System.arraycopy( decodedData, 0, tmp, 0, i*3 );
-- tmp[encodedIndex] = (byte)( b1 <<2 | b2>>4 ) ;
-- return tmp;
-- } else if (!isPad( d3) && isPad(d4)) { //One PAD e.g. 3cQ[Pad]
-- b3 = base64Alphabet[ d3 ];
-- if ((b3 & 0x3 ) != 0)//last 2 bits should be zero
-- return null;
-- byte[] tmp = new byte[ i*3 + 2 ];
-- System.arraycopy( decodedData, 0, tmp, 0, i*3 );
-- tmp[encodedIndex++] = (byte)( b1 <<2 | b2>>4 );
-- tmp[encodedIndex] = (byte)(((b2 & 0xf)<<4 ) |( (b3>>2) & 0xf) );
-- return tmp;
-- } else {
-- return null;//an error like "3c[Pad]r", "3cdX", "3cXd", "3cXX" where X is non data
-- }
-- } else { //No PAD e.g 3cQl
-- b3 = base64Alphabet[ d3 ];
-- b4 = base64Alphabet[ d4 ];
-- decodedData[encodedIndex++] = (byte)( b1 <<2 | b2>>4 ) ;
-- decodedData[encodedIndex++] = (byte)(((b2 & 0xf)<<4 ) |( (b3>>2) & 0xf) );
-- decodedData[encodedIndex++] = (byte)( b3<<6 | b4 );
--
-- }
--
-- return decodedData;
-- }
--
-- /**
-- * remove WhiteSpace from MIME containing encoded Base64 data.
-- *
-- * @param data the byte array of base64 data (with WS)
-- * @return the new length
-- */
-- protected static int removeWhiteSpace(char[] data) {
-- if (data == null)
-- return 0;
--
-- // count characters that's not whitespace
-- int newSize = 0;
-- int len = data.length;
-- for (int i = 0; i < len; i++) {
-- if (!isWhiteSpace(data[i]))
-- data[newSize++] = data[i];
-- }
-- return newSize;
-- }
--}
diff --git a/src/main/java/hudson/remoting/Engine.java b/src/main/java/hudson/remoting/Engine.java
-index 85453e0..e883285 100644
+index fa2a435..ef3e1db 100644
--- a/src/main/java/hudson/remoting/Engine.java
+++ b/src/main/java/hudson/remoting/Engine.java
-@@ -39,6 +39,7 @@ import java.util.concurrent.ThreadFactory;
+@@ -42,6 +42,7 @@ import java.util.concurrent.ThreadFactory;
import java.util.List;
import java.util.Collections;
import java.util.logging.Logger;
+import javax.xml.bind.DatatypeConverter;
- /**
- * Slave agent engine that proactively connects to Hudson master.
-@@ -149,7 +150,7 @@ public class Engine extends Thread {
+ import static java.util.logging.Level.INFO;
+
+@@ -90,7 +91,7 @@ public class Engine extends Thread {
+ private final String secretKey;
+ public final String slaveName;
+ private String credentials;
+- private String proxyCredentials = System.getProperty("proxyCredentials");
++ private String proxyCredentials = System.getProperty("proxyCredentials");
+
+ /**
+ * See Main#tunnel in the jnlp-agent module for the details.
+@@ -137,9 +138,9 @@ public class Engine extends Thread {
+ this.credentials = creds;
+ }
+
+- public void setProxyCredentials(String proxyCredentials) {
+- this.proxyCredentials = proxyCredentials;
+- }
++ public void setProxyCredentials(String proxyCredentials) {
++ this.proxyCredentials = proxyCredentials;
++ }
+
+ public void setNoReconnect(boolean noReconnect) {
+ this.noReconnect = noReconnect;
+@@ -170,16 +171,16 @@ public class Engine extends Thread {
+ // find out the TCP port
HttpURLConnection con = (HttpURLConnection)salURL.openConnection();
- if (con instanceof HttpURLConnection && credentials != null) {
- // XXX /tcpSlaveAgentListener is unprotected so why do we need to pass any credentials?
-- String encoding = Base64.encode(credentials.getBytes());
-+ String encoding = DatatypeConverter.printBase64Binary(credentials.getBytes());
- con.setRequestProperty("Authorization", "Basic " + encoding);
+ if (con instanceof HttpURLConnection) {
+- if (credentials != null) {
+- // TODO /tcpSlaveAgentListener is unprotected so why do we need to pass any credentials?
+- String encoding = Base64.encode(credentials.getBytes("UTF-8"));
+- con.setRequestProperty("Authorization", "Basic " + encoding);
+- }
+-
+- if (proxyCredentials != null) {
+- String encoding = Base64.encode(proxyCredentials.getBytes("UTF-8"));
+- con.setRequestProperty("Proxy-Authorization", "Basic " + encoding);
+- }
++ if (credentials != null) {
++ // TODO /tcpSlaveAgentListener is unprotected so why do we need to pass any credentials?
++ String encoding = DatatypeConverter.printBase64Binary(credentials.getBytes());
++ con.setRequestProperty("Authorization", "Basic " + encoding);
++ }
++
++ if (proxyCredentials != null) {
++ String encoding = DatatypeConverter.printBase64Binary(credentials.getBytes());
++ con.setRequestProperty("Proxy-Authorization", "Basic " + encoding);
++ }
}
try {
+ try {
diff --git a/src/main/java/hudson/remoting/Launcher.java b/src/main/java/hudson/remoting/Launcher.java
-index 9718c1c..e7bfed2 100644
+index 83a3425..ea9bcaa 100644
--- a/src/main/java/hudson/remoting/Launcher.java
+++ b/src/main/java/hudson/remoting/Launcher.java
@@ -78,6 +78,7 @@ import java.security.SecureRandom;
@@ -353,13 +82,23 @@ index 9718c1c..e7bfed2 100644
/**
* Entry point for running a {@link Channel}. This is the main method of the slave JVM.
-@@ -239,7 +240,7 @@ public class Launcher {
- if (con instanceof HttpURLConnection && slaveJnlpCredentials != null) {
+@@ -252,13 +253,13 @@ public class Launcher {
+ if (con instanceof HttpURLConnection) {
HttpURLConnection http = (HttpURLConnection) con;
- String userPassword = slaveJnlpCredentials;
-- String encoding = Base64.encode(userPassword.getBytes());
-+ String encoding = DatatypeConverter.printBase64Binary(userPassword.getBytes());
- http.setRequestProperty("Authorization", "Basic " + encoding);
+ if (slaveJnlpCredentials != null) {
+- String userPassword = slaveJnlpCredentials;
+- String encoding = Base64.encode(userPassword.getBytes("UTF-8"));
+- http.setRequestProperty("Authorization", "Basic " + encoding);
++ String userPassword = slaveJnlpCredentials;
++ String encoding = DatatypeConverter.printBase64Binary(userPassword.getBytes());
++ http.setRequestProperty("Authorization", "Basic " + encoding);
+ }
+ if (System.getProperty("proxyCredentials", proxyCredentials) != null) {
+- String encoding = Base64.encode(System.getProperty("proxyCredentials", proxyCredentials).getBytes("UTF-8"));
+- http.setRequestProperty("Proxy-Authorization", "Basic " + encoding);
++ String encoding = DatatypeConverter.printBase64Binary(System.getProperty("proxyCredentials", proxyCredentials).getBytes("UTF-8"));
++ http.setRequestProperty("Proxy-Authorization", "Basic " + encoding);
+ }
}
con.connect();
diff --git a/src/test/java/hudson/remoting/BinarySafeStreamTest.java b/src/test/java/hudson/remoting/BinarySafeStreamTest.java
diff --git a/jenkins-remoting.spec b/jenkins-remoting.spec
index 98af988..6d5762e 100644
--- a/jenkins-remoting.spec
+++ b/jenkins-remoting.spec
@@ -1,8 +1,8 @@
%global shortname remoting
Name: jenkins-remoting
-Version: 2.23
-Release: 2%{?dist}
+Version: 2.32
+Release: 1%{?dist}
Summary: Jenkins remoting module
# License is specified in pom file
@@ -24,6 +24,7 @@ BuildArch: noarch
BuildRequires: maven-local
BuildRequires: mvn(args4j:args4j)
BuildRequires: mvn(commons-io:commons-io)
+BuildRequires: mvn(org.jenkins-ci:constant-pool-scanner)
%description
@@ -82,6 +83,9 @@ cp %{SOURCE2} .
%doc LICENSE-MIT LICENSE-ASL
%changelog
+* Mon Sep 02 2013 Michal Srb <msrb(a)redhat.com> - 2.32-1
+- Update to upstream version 2.32
+
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 2.23-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
diff --git a/sources b/sources
index 38a5128..17d70ca 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-3864ed76dca662ee000f3152ad78c1c4 remoting-2.23.tar.gz
3b83ef96387f14655fc854ddc3c6bd57 LICENSE-2.0.txt
+6d4fd12b299940770e99030fe80dac79 remoting-2.32.tar.gz
10 years, 8 months