cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bimargul...@apache.org
Subject svn commit: r600749 - in /incubator/cxf/trunk: common/common/src/main/java/org/apache/cxf/helpers/ common/common/src/test/java/org/apache/cxf/helpers/ rt/javascript/src/main/java/org/apache/cxf/javascript/ rt/javascript/src/test/resources/ rt/transport...
Date Tue, 04 Dec 2007 00:44:11 GMT
Author: bimargulies
Date: Mon Dec  3 16:44:10 2007
New Revision: 600749

URL: http://svn.apache.org/viewvc?rev=600749&view=rev
Log:
Fix 1227 some more, and don't just ignore bogus charsets. Complain.

Added:
    incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptPrefix.java
Modified:
    incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/HttpHeaderHelper.java
    incubator/cxf/trunk/common/common/src/test/java/org/apache/cxf/helpers/HttpHeaderHelperTest.java
    incubator/cxf/trunk/rt/javascript/src/test/resources/logging.properties
    incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java
    incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/Messages.properties
    incubator/cxf/trunk/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java
    incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
    incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Messages.properties
    incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/Messages.properties
    incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java

Modified: incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/HttpHeaderHelper.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/HttpHeaderHelper.java?rev=600749&r1=600748&r2=600749&view=diff
==============================================================================
--- incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/HttpHeaderHelper.java
(original)
+++ incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/HttpHeaderHelper.java
Mon Dec  3 16:44:10 2007
@@ -74,6 +74,10 @@
         if (enc == null) {
             return null;
         }
+        // Charsets can be quoted. But it's quite certain that they can't have escaped quoted
or
+        // anything like that.
+        enc = enc.replace("\"", "");
+        enc = enc.replace("'", "");
         String newenc = encodings.get(enc);
         if (newenc == null) {
             try {

Modified: incubator/cxf/trunk/common/common/src/test/java/org/apache/cxf/helpers/HttpHeaderHelperTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/common/common/src/test/java/org/apache/cxf/helpers/HttpHeaderHelperTest.java?rev=600749&r1=600748&r2=600749&view=diff
==============================================================================
--- incubator/cxf/trunk/common/common/src/test/java/org/apache/cxf/helpers/HttpHeaderHelperTest.java
(original)
+++ incubator/cxf/trunk/common/common/src/test/java/org/apache/cxf/helpers/HttpHeaderHelperTest.java
Mon Dec  3 16:44:10 2007
@@ -36,6 +36,10 @@
         assertEquals(Charset.forName("utf-8").name(), cs);
         cs = HttpHeaderHelper.mapCharset(null);
         assertNull(cs);
+        cs = HttpHeaderHelper.mapCharset("\"utf-8\"");
+        assertEquals(Charset.forName("utf-8").name(), cs);
+        cs = HttpHeaderHelper.mapCharset("'utf-8'");
+        assertEquals(Charset.forName("utf-8").name(), cs);
     }
 
 }

Added: incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptPrefix.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptPrefix.java?rev=600749&view=auto
==============================================================================
--- incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptPrefix.java
(added)
+++ incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptPrefix.java
Mon Dec  3 16:44:10 2007
@@ -0,0 +1,40 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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 org.apache.cxf.javascript;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Use this annotation to control the names of Javascript objects associated with this package.
+ * Use this with a JAXB XmlSchema annotation or the equivalent for another data binding to
associate
+ * a namespace with the package.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.PACKAGE)
+public @interface JavascriptPrefix {
+    /**
+     * The name prefix for this package's namespace. 
+     * @return
+     */
+    String prefix() default "";
+}

Modified: incubator/cxf/trunk/rt/javascript/src/test/resources/logging.properties
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/test/resources/logging.properties?rev=600749&r1=600748&r2=600749&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/javascript/src/test/resources/logging.properties (original)
+++ incubator/cxf/trunk/rt/javascript/src/test/resources/logging.properties Mon Dec  3 16:44:10
2007
@@ -23,8 +23,8 @@
 .level= INFO
 java.util.logging.ConsoleHandler.level = FINEST
 java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
-org.apache.cxf.javascript.service.ServiceJavascriptBuilder.level=FINEST
-org.apache.cxf.javascript.types.SchemaJavascriptBuilder.level=FINEST
+#org.apache.cxf.javascript.service.ServiceJavascriptBuilder.level=FINEST
+#org.apache.cxf.javascript.types.SchemaJavascriptBuilder.level=FINEST
 #org.apache.cxf.javascript.JavascriptTestUtilities.level=FINE
 #org.apache.cxf.javascript.JsXMLHttpRequest.level = FINE
 #org.apache.cxf.javascript.service.DocLitWrappedTest.level=FINE

Modified: incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java?rev=600749&r1=600748&r2=600749&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java
(original)
+++ incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java
Mon Dec  3 16:44:10 2007
@@ -255,7 +255,14 @@
             inMessage.put(HTTP_RESPONSE, resp);
             inMessage.put(Message.HTTP_REQUEST_METHOD, req.getMethod());
             inMessage.put(Message.PATH_INFO, req.getContextPath() + req.getPathInfo());
-            inMessage.put(Message.ENCODING, HttpHeaderHelper.mapCharset(req.getCharacterEncoding()));
+            String normalizedEncoding = HttpHeaderHelper.mapCharset(req.getCharacterEncoding());
+            if (normalizedEncoding == null) {
+                String m = new org.apache.cxf.common.i18n.Message("INVALID_ENCODING_MSG",
+                                                                  LOG, req.getCharacterEncoding()).toString();
+                LOG.log(Level.WARNING, m);
+                throw new IOException(m);   
+            }
+            inMessage.put(Message.ENCODING, normalizedEncoding);
             inMessage.put(Message.QUERY_STRING, req.getQueryString());
             inMessage.put(Message.CONTENT_TYPE, req.getContentType());
             if (!StringUtils.isEmpty(endpointInfo.getAddress())) {

Modified: incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/Messages.properties
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/Messages.properties?rev=600749&r1=600748&r2=600749&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/Messages.properties
(original)
+++ incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/Messages.properties
Mon Dec  3 16:44:10 2007
@@ -24,3 +24,4 @@
 CAN_NOT_FIND_HANDLER_MSG = Could not find the handler to remove for context url {0}
 FAILED_TO_SHUTDOWN_ENGINE_MSG = Failed to shutdown Jetty server on port {0,number,####0}
because it is still in use
 UNKNOWN_CONNECTOR_MSG = Unknown connector type {0}, can't set the socket reuseAddress flag.
+INVALID_ENCODING_MSG = Invalid character set {0} in request.
\ No newline at end of file

Modified: incubator/cxf/trunk/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java?rev=600749&r1=600748&r2=600749&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java
(original)
+++ incubator/cxf/trunk/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java
Mon Dec  3 16:44:10 2007
@@ -123,7 +123,7 @@
         engine.setPort(9000);
         try {
             engine.finalizeConfig();
-            fail("We should get the connector not set with TSLServerParament exception ");
+            fail("We should get the connector not set with TSLServerParameter exception.");
         } catch (Exception ex) {
             // expect the excepion            
         }
@@ -135,9 +135,9 @@
         engine.setPort(9000);
         try {
             engine.finalizeConfig();
-            fail("We should get the connector not set right port exception ");
+            fail("We should get the connector not set right port exception.");
         } catch (Exception ex) {
-            // expect the excepion            
+            // expect the exception            
         }
         
         engine = new JettyHTTPServerEngine();
@@ -146,15 +146,9 @@
         engine.setConnector(conn);
         engine.setPort(9003);
         engine.setTlsServerParameters(new TLSServerParameters());
-        try {
-            engine.finalizeConfig();
-        } catch (Exception ex) {
-            fail("We should not throw exception here");
-        }
+        engine.finalizeConfig();
     }
     
-       
-    
     @Test 
     public void testaddServants() throws Exception {
         String urlStr = "http://localhost:9234/hello/test";
@@ -165,28 +159,16 @@
         JettyHTTPTestHandler handler2 = new JettyHTTPTestHandler("string2");        
         engine.addServant(new URL(urlStr), handler1);
         String response = null;
-        try {
-            response = getResponse(urlStr);
-        } catch (Exception ex) {
-            fail("Can't get the response from the server " + ex);
-        }
+        response = getResponse(urlStr);
         assertEquals("The jetty http handler did not take effect", response, "string1");
         
         engine.addServant(new URL(urlStr), handler2);
-        try {
-            response = getResponse(urlStr);
-        } catch (Exception ex) {
-            fail("Can't get the response from the server " + ex);
-        }
+        response = getResponse(urlStr);
         assertEquals("The jetty http handler did not take effect", response, "string1string2");
         engine.addServant(new URL(urlStr2), handler2);
         engine.removeServant(new URL(urlStr));
         engine.shutdown();
-        try {
-            response = getResponse(urlStr2);
-        } catch (Exception ex) {
-            fail("Server should still work, even if we call the shutdown" + ex);
-        }
+        response = getResponse(urlStr2);
         assertEquals("The jetty http handler did not take effect", response, "string2");
         // set the get request
         factory.destroyForPort(9234);       
@@ -256,5 +238,4 @@
         IOUtils.copy(in, buffer);
         return buffer.toString();
     }
-    
 }

Modified: incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java?rev=600749&r1=600748&r2=600749&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
(original)
+++ incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
Mon Dec  3 16:44:10 2007
@@ -1927,8 +1927,17 @@
                     enc = enc.substring(0, enc.indexOf(";"));
                 }
             }
-            inMessage.put(Message.ENCODING, HttpHeaderHelper.mapCharset(enc));
             
+            String normalizedEncoding = HttpHeaderHelper.mapCharset(enc);
+            if (normalizedEncoding == null) {
+                String m = new org.apache.cxf.common.i18n.Message("INVALID_ENCODING_MSG",
+                                                                   LOG, enc).toString();
+                LOG.log(Level.WARNING, m);
+                throw new IOException(m);   
+            } 
+            
+            inMessage.put(Message.ENCODING, normalizedEncoding);
+                        
             if (maintainSession) {
                 String cookieStr = connection.getHeaderField("Set-Cookie");
                 sessionCookies = Cookie.handleSetCookie(sessionCookies, cookieStr);

Modified: incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Messages.properties
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Messages.properties?rev=600749&r1=600748&r2=600749&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Messages.properties
(original)
+++ incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Messages.properties
Mon Dec  3 16:44:10 2007
@@ -19,6 +19,7 @@
 #
 #
 UNEXPECTED_RESPONSE_TYPE_MSG = Unexpected response type {0}
+INVALID_ENCODING_MSG = Invalid character set {0} in request.
 NULL_RESPONSE_MSG = Response object is null
 DECOUPLED_RESPONSE_FAILED_MSG = Decouple response failed
 MISSING_PATH_INFO = PATH_INFO not present in message context, multiplex id is unavailable.
Ensure the portName passed to getCurrentEndpointReferenceId is correct if the service has
multiple ports

Modified: incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/Messages.properties
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/Messages.properties?rev=600749&r1=600748&r2=600749&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/Messages.properties
(original)
+++ incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/Messages.properties
Mon Dec  3 16:44:10 2007
@@ -26,3 +26,4 @@
 UNEXPECTED_RESPONSE_TYPE_MSG = Unexpected response type {0}
 DECOUPLED_RESPONSE_FAILED_MSG = Decouple response failed
 FAILED_TO_LOAD_SPRING_BUS = Failed to load the spring bus: {0}
+INVALID_ENCODING_MSG = Invalid character set {0} in request.

Modified: incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java?rev=600749&r1=600748&r2=600749&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java
(original)
+++ incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java
Mon Dec  3 16:44:10 2007
@@ -245,8 +245,16 @@
             if (enc != null && enc.endsWith("\"")) {
                 enc = enc.substring(0, enc.length() - 1);
             }
+
+            String normalizedEncoding = HttpHeaderHelper.mapCharset(enc);
+            if (normalizedEncoding == null) {
+                String m = new org.apache.cxf.common.i18n.Message("INVALID_ENCODING_MSG",
+                                                                  LOG, enc).toString();
+                LOG.log(Level.WARNING, m);
+                throw new IOException(m);   
+            }
             
-            inMessage.put(Message.ENCODING, HttpHeaderHelper.mapCharset(enc));
+            inMessage.put(Message.ENCODING, normalizedEncoding);
             SSLUtils.propogateSecureSession(request, inMessage);
             
             ExchangeImpl exchange = new ExchangeImpl();



Mime
View raw message