You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Stefan Bodewig <bo...@apache.org> on 2002/09/27 12:59:48 UTC

[GUMP] Build Failure - commons-httpclient

----------------------------------------------------
This email is autogenerated from the output from:
<http://jakarta.apache.org/builds/gump/2002-09-27/commons-httpclient.html>
----------------------------------------------------

Buildfile: build.xml

init:
     [echo] -------- HttpClient Library 2.0-alpha1-dev --------

prepare:
    [mkdir] Created dir: /home/rubys/jakarta/jakarta-commons/httpclient/target
    [mkdir] Created dir: /home/rubys/jakarta/jakarta-commons/httpclient/target/classes
    [mkdir] Created dir: /home/rubys/jakarta/jakarta-commons/httpclient/target/conf
    [mkdir] Created dir: /home/rubys/jakarta/jakarta-commons/httpclient/target/docs
    [mkdir] Created dir: /home/rubys/jakarta/jakarta-commons/httpclient/target/docs/api
    [mkdir] Created dir: /home/rubys/jakarta/jakarta-commons/httpclient/target/tests
    [mkdir] Created dir: /home/rubys/jakarta/jakarta-commons/httpclient/target/examples
    [mkdir] Created dir: /home/rubys/jakarta/jakarta-commons/httpclient/target/httpclienttest
    [mkdir] Created dir: /home/rubys/jakarta/jakarta-commons/httpclient/target/httpclienttest/WEB-INF
    [mkdir] Created dir: /home/rubys/jakarta/jakarta-commons/httpclient/target/httpclienttest/WEB-INF/classes

static:
     [copy] Copying 1 file to /home/rubys/jakarta/jakarta-commons/httpclient/target/conf
     [copy] Replacing: @name@ -> httpclient
     [copy] Replacing: @version@ -> 2.0-alpha1-dev

compile:
    [javac] Compiling 50 source files to /home/rubys/jakarta/jakarta-commons/httpclient/target/classes
    [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:68: package javax.crypto does not exist
    [javac] import javax.crypto.*;
    [javac] ^
    [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:69: package javax.crypto.spec does not exist
    [javac] import javax.crypto.spec.*;
    [javac] ^
    [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:118: cannot resolve symbol
    [javac] symbol  : class Cipher  
    [javac] location: class org.apache.commons.httpclient.NTLM
    [javac] 	private static Cipher getCipher(byte[] key) throws HttpException {
    [javac]                        ^
    [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:91: cannot resolve symbol
    [javac] symbol  : class SunJCE  
    [javac] location: package provider
    [javac] 		Security.addProvider(new com.sun.crypto.provider.SunJCE());
    [javac]                                                                 ^
    [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:120: cannot resolve symbol
    [javac] symbol  : class Cipher  
    [javac] location: class org.apache.commons.httpclient.NTLM
    [javac] 			Cipher ecipher = Cipher.getInstance("DES/ECB/NoPadding");
    [javac]                         ^
    [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:120: cannot resolve symbol
    [javac] symbol  : variable Cipher  
    [javac] location: class org.apache.commons.httpclient.NTLM
    [javac] 			Cipher ecipher = Cipher.getInstance("DES/ECB/NoPadding");
    [javac]                                          ^
    [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:122: cannot resolve symbol
    [javac] symbol  : variable Cipher  
    [javac] location: class org.apache.commons.httpclient.NTLM
    [javac] 			ecipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(key, "DES"));
    [javac]                                      ^
    [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:122: cannot resolve symbol
    [javac] symbol  : class SecretKeySpec  
    [javac] location: class org.apache.commons.httpclient.NTLM
    [javac] 			ecipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(key, "DES"));
    [javac]                                                               ^
    [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:128: cannot resolve symbol
    [javac] symbol  : class NoSuchPaddingException  
    [javac] location: class org.apache.commons.httpclient.NTLM
    [javac] 		} catch(NoSuchPaddingException e) {
    [javac]                         ^
    [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:155: cannot resolve symbol
    [javac] symbol  : class Cipher  
    [javac] location: class org.apache.commons.httpclient.NTLM
    [javac] 		Cipher ecipher = getCipher(key);
    [javac]                 ^
    [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:159: cannot resolve symbol
    [javac] symbol  : class IllegalBlockSizeException  
    [javac] location: class org.apache.commons.httpclient.NTLM
    [javac] 		} catch (IllegalBlockSizeException e) {
    [javac]                          ^
    [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:161: cannot resolve symbol
    [javac] symbol  : class BadPaddingException  
    [javac] location: class org.apache.commons.httpclient.NTLM
    [javac] 		} catch (BadPaddingException e) {
    [javac]                          ^
    [javac] 12 errors

BUILD FAILED
file:/home/rubys/jakarta/jakarta-commons/httpclient/build.xml:221: Compile failed; see the compiler error output for details.

Total time: 3 seconds

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: [GUMP][httpclient] Build Failure - commons-httpclient

Posted by Jeff Dever <js...@sympatico.ca>.
Adrian, this is your baby.
I didn't see that before I checked in your patch.  In general it is a bad idea to use the com.sun packages directly.  Can you do this more
genericly?

>
> No, in the Gump descriptor (I've already done so), but a problem
> remains for me (Gump uses bouncycastle's JCE implementation):
>
>     [javac] /home/bodewig/dev/gump/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:91: cannot resolve symbol
>     [javac] symbol  : class SunJCE
>     [javac] location: package provider
>     [javac]             Security.addProvider(new com.sun.crypto.provider.SunJCE());
>     [javac]                                                                 ^
>     [javac] 1 error
>
> can you make that independent of the Sun implementation?
>
> Stefan


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: [GUMP][httpclient] Build Failure - commons-httpclient

Posted by Steve Downey <st...@netfolio.com>.
Untested code ahead:
String provider = System.getProperty("JCEProvider");
Class jceProvider = Class.forName(provider);
Security.addProvider(jceProvider.newInstance());

Although, really, I think the right answer is [discovery]

On Friday 27 September 2002 09:23 pm, Jeff Dever wrote:
> Stefan,
>
> I guess we could fix this by replacing the offending line with:
>
>     Security.addProvider(new
> org.bouncycastle.jce.provider.BouncyCastleProvider());
>
> So that the BouncyCastle implementation is used instead, but that should
> not be forced on us.  At the moment Adrian is the only one using NTLM
> authentication and he wants the SunJCE provider.
>
> I do not know how to choose one dynamicly at compile time in java (in C++
> I'd check a #define and do a conditional compilation).  Perhaps a Any
> suggestions from the java build gurus on how to accomplish this?
>
> If this is not feasable, can we get the SunJCE added to the GUMP build
> environment?
>
> > No, in the Gump descriptor (I've already done so), but a problem
> > remains for me (Gump uses bouncycastle's JCE implementation):
> >
> >     [javac]
> > /home/bodewig/dev/gump/jakarta-commons/httpclient/src/java/org/apache/com
> >mons/httpclient/NTLM.java:91: cannot resolve symbol [javac] symbol  :
> > class SunJCE
> >     [javac] location: package provider
> >     [javac]             Security.addProvider(new
> > com.sun.crypto.provider.SunJCE()); [javac]                               
> >                                  ^ [javac] 1 error
> >
> > can you make that independent of the Sun implementation?


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: [GUMP][httpclient] Build Failure - commons-httpclient

Posted by Stefan Bodewig <bo...@apache.org>.
On Fri, 27 Sep 2002, Jeff Dever <js...@sympatico.ca> wrote:

> I guess we could fix this by replacing the offending line with:
> 
>     Security.addProvider(new
>     org.bouncycastle.jce.provider.BouncyCastleProvider());

In German I'd call this "den Teufel mit dem Beelzebub austreiben",
don't know whether there's an English expression for replacing one bad
with another bad. 8-)

That way you'd tie your users to bouncycastle's provider.

I'm not a JCE expert either (your patch has fixed building httpclient
on my box, BTW).  There already is a way to define which provider a
user wants to use, namely
<http://java.sun.com/products/jce/doc/guide/HowToImplAProvider.html#Step%205d>
which involves editing a file (and is a static choice).

If the user doesn't set that property, you may simply want to try to
load an implementation and register SunJCE as a fallback if that
fails, dunno.

> If this is not feasable, can we get the SunJCE added to the GUMP
> build environment?

The same way we get any projects into Gump, there would be no magic
involved.  I think the reason why Sam originally decided to use
Bouncycastle's provider was to catch situations like the one at hand,
your code hardcoded SunJCE as the provider of a pluggable API when it
really isn't any reason to do (there'd be a reason if SunJCE was the
only provider for a given algorithm for example).

Export limitations may have been a reason, too, but I'm not sure. It
could have been a reason for me (being citizen of a country who's
government has just "poisoned" the political climate with the USA ;-)

Stefan

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: [GUMP][httpclient] Build Failure - commons-httpclient

Posted by Jeff Dever <js...@sympatico.ca>.
Stefan,

I guess we could fix this by replacing the offending line with:

    Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());

So that the BouncyCastle implementation is used instead, but that should not be forced on us.  At the moment Adrian is the only one using
NTLM authentication and he wants the SunJCE provider.

I do not know how to choose one dynamicly at compile time in java (in C++ I'd check a #define and do a conditional compilation).  Perhaps a
Any suggestions from the java build gurus on how to accomplish this?

If this is not feasable, can we get the SunJCE added to the GUMP build environment?



>
> No, in the Gump descriptor (I've already done so), but a problem
> remains for me (Gump uses bouncycastle's JCE implementation):
>
>     [javac] /home/bodewig/dev/gump/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:91: cannot resolve symbol
>     [javac] symbol  : class SunJCE
>     [javac] location: package provider
>     [javac]             Security.addProvider(new com.sun.crypto.provider.SunJCE());
>     [javac]                                                                 ^
>     [javac] 1 error
>
> can you make that independent of the Sun implementation?
>
>





--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: [GUMP] Build Failure - commons-httpclient

Posted by Stefan Bodewig <bo...@apache.org>.
On Fri, 27 Sep 2002, Jeff Dever <js...@sympatico.ca> wrote:

> Can we fix this by adding a dependancy block in the build.xml?

No, in the Gump descriptor (I've already done so), but a problem
remains for me (Gump uses bouncycastle's JCE implementation):

    [javac] /home/bodewig/dev/gump/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:91: cannot resolve symbol
    [javac] symbol  : class SunJCE  
    [javac] location: package provider
    [javac] 		Security.addProvider(new com.sun.crypto.provider.SunJCE());
    [javac]                                                                 ^
    [javac] 1 error

can you make that independent of the Sun implementation?

Stefan

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: [GUMP] Build Failure - commons-httpclient

Posted by Jeff Dever <js...@sympatico.ca>.
Hey Stefan,

Yesterday a new dependancy on the javax.crypto packages was added to HttpClient which caused the nightly to fail.  The crypto package is optional in 1.3
but standard in 1.4.  Can we fix this by adding a dependancy block in the build.xml?


Stefan Bodewig wrote:

> ----------------------------------------------------
> This email is autogenerated from the output from:
> <http://jakarta.apache.org/builds/gump/2002-09-27/commons-httpclient.html>
> ----------------------------------------------------
>
> Buildfile: build.xml
>
> init:
>      [echo] -------- HttpClient Library 2.0-alpha1-dev --------
>
> prepare:
>     [mkdir] Created dir: /home/rubys/jakarta/jakarta-commons/httpclient/target
>     [mkdir] Created dir: /home/rubys/jakarta/jakarta-commons/httpclient/target/classes
>     [mkdir] Created dir: /home/rubys/jakarta/jakarta-commons/httpclient/target/conf
>     [mkdir] Created dir: /home/rubys/jakarta/jakarta-commons/httpclient/target/docs
>     [mkdir] Created dir: /home/rubys/jakarta/jakarta-commons/httpclient/target/docs/api
>     [mkdir] Created dir: /home/rubys/jakarta/jakarta-commons/httpclient/target/tests
>     [mkdir] Created dir: /home/rubys/jakarta/jakarta-commons/httpclient/target/examples
>     [mkdir] Created dir: /home/rubys/jakarta/jakarta-commons/httpclient/target/httpclienttest
>     [mkdir] Created dir: /home/rubys/jakarta/jakarta-commons/httpclient/target/httpclienttest/WEB-INF
>     [mkdir] Created dir: /home/rubys/jakarta/jakarta-commons/httpclient/target/httpclienttest/WEB-INF/classes
>
> static:
>      [copy] Copying 1 file to /home/rubys/jakarta/jakarta-commons/httpclient/target/conf
>      [copy] Replacing: @name@ -> httpclient
>      [copy] Replacing: @version@ -> 2.0-alpha1-dev
>
> compile:
>     [javac] Compiling 50 source files to /home/rubys/jakarta/jakarta-commons/httpclient/target/classes
>     [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:68: package javax.crypto does not exist
>     [javac] import javax.crypto.*;
>     [javac] ^
>     [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:69: package javax.crypto.spec does not exist
>     [javac] import javax.crypto.spec.*;
>     [javac] ^
>     [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:118: cannot resolve symbol
>     [javac] symbol  : class Cipher
>     [javac] location: class org.apache.commons.httpclient.NTLM
>     [javac]     private static Cipher getCipher(byte[] key) throws HttpException {
>     [javac]                        ^
>     [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:91: cannot resolve symbol
>     [javac] symbol  : class SunJCE
>     [javac] location: package provider
>     [javac]             Security.addProvider(new com.sun.crypto.provider.SunJCE());
>     [javac]                                                                 ^
>     [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:120: cannot resolve symbol
>     [javac] symbol  : class Cipher
>     [javac] location: class org.apache.commons.httpclient.NTLM
>     [javac]                     Cipher ecipher = Cipher.getInstance("DES/ECB/NoPadding");
>     [javac]                         ^
>     [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:120: cannot resolve symbol
>     [javac] symbol  : variable Cipher
>     [javac] location: class org.apache.commons.httpclient.NTLM
>     [javac]                     Cipher ecipher = Cipher.getInstance("DES/ECB/NoPadding");
>     [javac]                                          ^
>     [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:122: cannot resolve symbol
>     [javac] symbol  : variable Cipher
>     [javac] location: class org.apache.commons.httpclient.NTLM
>     [javac]                     ecipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(key, "DES"));
>     [javac]                                      ^
>     [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:122: cannot resolve symbol
>     [javac] symbol  : class SecretKeySpec
>     [javac] location: class org.apache.commons.httpclient.NTLM
>     [javac]                     ecipher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(key, "DES"));
>     [javac]                                                               ^
>     [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:128: cannot resolve symbol
>     [javac] symbol  : class NoSuchPaddingException
>     [javac] location: class org.apache.commons.httpclient.NTLM
>     [javac]             } catch(NoSuchPaddingException e) {
>     [javac]                         ^
>     [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:155: cannot resolve symbol
>     [javac] symbol  : class Cipher
>     [javac] location: class org.apache.commons.httpclient.NTLM
>     [javac]             Cipher ecipher = getCipher(key);
>     [javac]                 ^
>     [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:159: cannot resolve symbol
>     [javac] symbol  : class IllegalBlockSizeException
>     [javac] location: class org.apache.commons.httpclient.NTLM
>     [javac]             } catch (IllegalBlockSizeException e) {
>     [javac]                          ^
>     [javac] /home/rubys/jakarta/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/NTLM.java:161: cannot resolve symbol
>     [javac] symbol  : class BadPaddingException
>     [javac] location: class org.apache.commons.httpclient.NTLM
>     [javac]             } catch (BadPaddingException e) {
>     [javac]                          ^
>     [javac] 12 errors
>
> BUILD FAILED
> file:/home/rubys/jakarta/jakarta-commons/httpclient/build.xml:221: Compile failed; see the compiler error output for details.
>
> Total time: 3 seconds
>
> --
> To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>