getBytes() with no arguments is very bad. USS or no USS, it should be a
bugzilla. 

-----Original Message-----
From: Rich Taylor [mailto:[EMAIL PROTECTED] 
Sent: Friday, December 03, 2004 2:56 PM
To: [EMAIL PROTECTED]
Subject: Tomcat 5.0.x on USS / EBCDIC

Hello Everyone,

Feel free to slam me if this should go to the users list, I felt it
should go to the dev list as it pertains to Tomcat src.

I've been working on getting Tomcat 5.0.30 going on z/OS / USS (EBCDIC)
(one of our supported platforms as a user / bundler of Tomcat).  We've
been running Tomcat 4.0.4 after some minor fixes in it for a year or two
now and are looking at upgrading.  I've had some luck with 5.0.30 but
haven't been able to get very far.  The sample web apps don't come up
(404 Not Found) and when I try to view the Status page I get a blank
white screen and the following (bottom of email) error shows up in the
logs.

It appears this issue is on line 169 of BaseAuthenitcator.java:
String unencoded = new String(Base64.decode(authorization.getBytes())); 

On systems with different encodings, the byte array that is returned
from String.getBytes() will be different depending on the native
encoding.  But you probably already knew that.

So I suppose my question is whether or not USS on z/OS is a  supported
platform for Tomcat.  I read on the "Tomcat on Other Operating Systems" 
page that JZOS is the suggested way to get Tomcat running on z/OS, but I
did see posting from people hinting some success in getting Tomcat to
run without it (still hoping to hear back from them).  We may have a
tough time "selling" (not literally) JZOS as a requirement to our users
for various reasons so I'm exploring running without it.

If it comes down to it we may need to have someone go through the Tomcat
5.0.x src to try and fix any encoding issues, but that isn't likely yet.

If it happens, all changes would be submitted.  But if EBCDIC and other
such odd environments are not meant to be supported out of the box and
never will be, then that time may be better spent adding an additional
requirement to our product in the USS environment (assuming JZOS covers
all encoding issues).

We really appreciate the work you do, the community is fortunate to have
you around.

Thanks,
Rich Taylor


Error in catalina.out when trying to access status page on USS:
[INFO] Http11Protocol - Initializing Coyote HTTP/1.1 on http-8080 [INFO]
Catalina - Initialization processed in 12285 ms [INFO] StandardService -
Starting service Catalina [INFO] StandardEngine - Starting Servlet
Engine: Apache Tomcat/5.0.30 [INFO] StandardHost - XML validation
disabled [INFO] StandardHost - Create Host deployer for direct
deployment ( non-jmx ) [INFO] StandardHostDeployer - Processing Context
configuration file URL
file:/atmu/uhttp2/jakarta-tomcat-5.0.30/conf/Catalina/localhost/admin.xm
l
[INFO] StandardHostDeployer - Processing Context configuration file URL
file:/atmu/uhttp2/jakarta-tomcat-5.0.30/conf/Catalina/localhost/balancer
.xml
[INFO] StandardHostDeployer - Processing Context configuration file URL
file:/atmu/uhttp2/jakarta-tomcat-5.0.30/conf/Catalina/localhost/manager.
xml
[INFO] StandardHostDeployer - Installing web application at context path
/tomcat-docs from URL
file:/atmu/uhttp2/jakarta-tomcat-5.0.30/webapps/tomcat-docs
[INFO] StandardHostDeployer - Installing web application at context path
from URL file:/atmu/uhttp2/jakarta-tomcat-5.0.30/webapps/ROOT
[INFO] Http11Protocol - Starting Coyote HTTP/1.1 on http-8080 [INFO]
ChannelSocket - JK2: ajp13 listening on /0.0.0.0:8009 [INFO] JkMain - Jk
running ID=0 time=16/91
config=/atmu/uhttp2/jakarta-tomcat-5.0.30/conf/jk2.properties
[INFO] Catalina - Server startup in 26728 ms [ERROR] CoyoteAdapter - An
exception or error occurred in the container during the request
processing
<java.lang.ArrayIndexOutOfBoundsException>java.lang.ArrayIndexOutOfBound
sException
    at org.apache.catalina.util.Base64.decode(Base64.java:241)
    at
org.apache.catalina.authenticator.BasicAuthenticator.parseUsername(Basic
Authenticator.java:169)
    at
org.apache.catalina.authenticator.BasicAuthenticator.authenticate(BasicA
uthenticator.java:127)
    at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator
Base.java:504)
    at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:102)
    at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)
    at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:137)
    at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
    at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:118)
    at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:102)
    at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)
    at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:109)
    at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
    at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)
    at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
    at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
    at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:79
9)
    at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
onnection(Http11Protocol.java:705)
    at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:57
7)
    at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:684)
    at java.lang.Thread.run(Thread.java:512)


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to