buildbot success in ASF Buildbot on tomcat-7-trunk
The Buildbot has detected a restored build on builder tomcat-7-trunk while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/tomcat-7-trunk/builds/1120 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/tc7.0.x/trunk] 1456969 Blamelist: Build succeeded! sincerely, -The Buildbot - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
buildbot success in ASF Buildbot on tomcat-trunk
The Buildbot has detected a restored build on builder tomcat-trunk while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/tomcat-trunk/builds/4076 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1456154 Blamelist: Build succeeded! sincerely, -The Buildbot - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Bug report for Tomcat 6 [2013/03/17]
+---+ | Bugzilla Bug ID | | +-+ | | Status: UNC=Unconfirmed NEW=New ASS=Assigned| | | OPN=ReopenedVER=Verified(Skipped Closed/Resolved) | | | +-+ | | | Severity: BLK=Blocker CRI=Critical REG=Regression MAJ=Major | | | | MIN=Minor NOR=NormalENH=Enhancement TRV=Trivial | | | | +-+ | | | | Date Posted | | | | | +--+ | | | | | Description | | | | | | | |41679|New|Enh|2007-02-22|SemaphoreValve should be able to filter on url pat| |41883|Ass|Enh|2007-03-18|use abstract wrapper instead of plain X509Certific| |43001|New|Enh|2007-07-30|JspC lacks setMappedFile and setDie for use in Ant| |43400|New|Enh|2007-09-14|enum support for tag libs | |43548|Opn|Enh|2007-10-04|xml schema for tomcat-users.xml | |43682|New|Enh|2007-10-23|JULI: web-inf/classes/logging.properties to suppor| |43742|New|Enh|2007-10-30|.tag compiles performed one at a time -- extremel| |43979|New|Enh|2007-11-27|Add abstraction for Java and Classfile output | |44199|New|Enh|2008-01-10|expose current backlog queue size | |44225|New|Enh|2008-01-14|SSL connector tries to load the private keystore f| |44294|New|Enh|2008-01-25|Support for EL functions with varargs | |44645|New|Enh|2008-03-20|[Patch] JNDIRealm - Doesn't support JNDI "java.nam| |44787|New|Enh|2008-04-09|provide more error context on "java.lang.IllegalSt| |44818|New|Enh|2008-04-13|tomcat hangs with GET when content-length is defin| |45014|New|Enh|2008-05-15|Request and Response classes should have wrappers | |45282|New|Enh|2008-06-25|NioReceiver doesn't close cleanly, leaving sockets| |45428|New|Enh|2008-07-18|warn if the tomcat stop doesn't complete | |45832|New|Enh|2008-09-18|add DIGEST authentication support to Ant tasks| |45878|New|Enh|2008-09-24|Generated jars do not contain proper manifests or | |45879|Opn|Enh|2008-09-24|Windows installer fails to install NOTICE and RELE| |45931|Opn|Enh|2008-10-01|trimSpaces incorrectly modifies output| |46173|New|Enh|2008-11-09|Small patch for manager app: Setting an optional c| |46263|New|Enh|2008-11-21|Tomcat reloading of context.xml does not update do| |46284|New|Enh|2008-11-24|Add flag to DeltaManager that blocks processing cl| |46350|New|Enh|2008-12-05|Maven repository should contain source bundles| |46727|New|Enh|2009-02-17|DefaultServlet - serving multiple encodings | |46902|New|Enh|2009-03-24|LoginValve to bypass restrictions of j_security_ch| |47214|New|Enh|2009-05-17|Inner classes that are explicitly referenced - sho| |47242|New|Enh|2009-05-22|request for AJP command line client | |47281|New|Enh|2009-05-28|Efficiency of the JDBCStore | |47407|New|Enh|2009-06-23|HttpSessionListener doesn't operate in the session| |47467|New|Enh|2009-07-02|Deployment of the war file by URL when contextpath| |47834|New|Enh|2009-09-14|TldConfig throws Exception when exploring unpacked| |47919|New|Enh|2009-09-30|Log Tomcat & Java environment variables in additio| |48358|Opn|Enh|2009-12-09|JSP-unloading reloaded| |48543|New|Enh|2010-01-14|[Patch] More flexibility in specifying -Dcatalina.| |48672|New|Enh|2010-02-03|Tomcat Virtual Host Manager (/host-manager) have b| |48674|New|Enh|2010-02-03|Tomcat Virtual Host Manager application doesn't pe| |48743|New|Enh|2010-02-15|Make the SLEEP variable in catalina.sh settable fr| |48899|New|Enh|2010-03-12|Guess URI charset should solve lot of problems| |48922|New|Enh|2010-03-16|org.apache.catalina.connector.Request clone static| |48928|New|Enh|2010-03-17|An alternative solution to preloading classes when| |49161|New|Enh|2010-04-21|Unknown Publisher when installing tomcat 6.0.26 | |49176|Opn|Enh|2010-04-23|Jasper in Dev Mode Is Memory Inefficient | |49464|New|Enh|2010-06-18|DefaultServlet and CharacterEncoding | |49531|New|Enh|2010-06-30|singlesignon failover not working on DeltaManager/| |49804|New|Enh|2010-08-23|Allow Embedded.redirectStreams value to be configu| |49939|New|Enh|2010-09-16|Expose a method via JMX which empties the webapp f| |49943|New|Enh|2010-09-16|Logging (via juli) does not reread configuration c| |50285|New|Enh|2010-11-17|Standard HTTP and AJP connectors silently ignore a| |50288|New|Enh|2010-11-17|Uploading a war file that already exists should au| |50692|
Bug report for Tomcat 8 [2013/03/17]
+---+ | Bugzilla Bug ID | | +-+ | | Status: UNC=Unconfirmed NEW=New ASS=Assigned| | | OPN=ReopenedVER=Verified(Skipped Closed/Resolved) | | | +-+ | | | Severity: BLK=Blocker CRI=Critical REG=Regression MAJ=Major | | | | MIN=Minor NOR=NormalENH=Enhancement TRV=Trivial | | | | +-+ | | | | Date Posted | | | | | +--+ | | | | | Description | | | | | | | |51497|New|Enh|2011-07-11|Use canonical IPv6 text representation in logs| |53737|Opn|Enh|2012-08-18|Use ServletContext.getJspConfigDescriptor() in Jas| |53930|New|Enh|2012-09-24|allow capture of catalina stdout/stderr to a comma| |53987|New|Enh|2012-10-09|Log uncovered HTTP methods in combined security co| |54095|New|Enh|2012-11-03|[patch] support gzipped versions of static resourc| |54475|New|Maj|2013-01-23|SMAP broken in Java 8 for JSP compile | |54503|New|Enh|2013-01-29|SAML2 based single sign on| |54522|New|Nor|2013-02-04|Add patch binary as prerequisite in BUILDING.txt | |54700|New|Enh|2013-03-15|Improvement: Add support for system property to sp| |54708|New|Enh|2013-03-15|Use base file name ("ROOT") as the work directory | +-+---+---+--+--+ | Total 10 bugs | +---+ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Bug report for Taglibs [2013/03/17]
+---+ | Bugzilla Bug ID | | +-+ | | Status: UNC=Unconfirmed NEW=New ASS=Assigned| | | OPN=ReopenedVER=Verified(Skipped Closed/Resolved) | | | +-+ | | | Severity: BLK=Blocker CRI=Critical REG=Regression MAJ=Major | | | | MIN=Minor NOR=NormalENH=Enhancement TRV=Trivial | | | | +-+ | | | | Date Posted | | | | | +--+ | | | | | Description | | | | | | | |38193|Ass|Enh|2006-01-09|[RDC] BuiltIn Grammar support for Field | |38600|Ass|Enh|2006-02-10|[RDC] Enable RDCs to be used in X+V markup (X+RDC)| |42413|New|Enh|2007-05-14|[PATCH] Log Taglib enhancements | |46052|New|Nor|2008-10-21|SetLocaleSupport is slow to initialize when many l| |48333|New|Enh|2009-12-02|TLD generator | +-+---+---+--+--+ | Total5 bugs | +---+ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Bug report for Tomcat 7 [2013/03/17]
+---+ | Bugzilla Bug ID | | +-+ | | Status: UNC=Unconfirmed NEW=New ASS=Assigned| | | OPN=ReopenedVER=Verified(Skipped Closed/Resolved) | | | +-+ | | | Severity: BLK=Blocker CRI=Critical REG=Regression MAJ=Major | | | | MIN=Minor NOR=NormalENH=Enhancement TRV=Trivial | | | | +-+ | | | | Date Posted | | | | | +--+ | | | | | Description | | | | | | | |16579|New|Enh|2003-01-30|documentation page layout/style breaks wrapping to| |18500|New|Enh|2003-03-30|Host aliases to match by regular expression | |28039|Opn|Enh|2004-03-30|Cluster Support for SingleSignOn | |40728|Inf|Enh|2006-10-11|Catalina MBeans use non-serializable classes | |40881|Opn|Enh|2006-11-02|Unable to receive message through TCP channel -> | |41007|Opn|Enh|2006-11-20|Can't define customized 503 error page| |43866|New|Enh|2007-11-14|add support for session attribute propagation with| |43925|Opn|Enh|2007-11-21|org.apache.jasper.runtime.BodyContentImpl causing | |44216|New|Enh|2008-01-11|Don't reuse session ID even if emptySessionPath=tr| |48550|Inf|Enh|2010-01-14|Update examples and default server.xml to use UTF-| |49395|New|Enh|2010-06-06|manager.findLeaks : display the date when the leak| |49589|New|Enh|2010-07-12|Tag handlers with constant attribute values are al| |49785|New|Enh|2010-08-19|Enabling TLS for JNDIRealm| |49821|New|Enh|2010-08-25|Tomcat CLI| |50019|New|Enh|2010-09-28|Adding JNDI "lookup-name" support In XML and Resou| |50175|New|Enh|2010-10-28|Enhance memory leak detection by selectively apply| |50234|New|Enh|2010-11-08|JspC use servlet 3.0 features | |50504|New|Enh|2010-12-21|Allow setting query string character set trough re| |50670|New|Enh|2011-01-27|Tribes | RpcChannel | Add option to specify extern| |51195|New|Enh|2011-05-13|"Find leaks" reports a false positive memory/class| |51294|Opn|Enh|2011-05-30|Since 7.0.12 do not work option unpackWARs=true fo| |51423|Inf|Enh|2011-06-23|[Patch] to add a path and a version parameters to | |51463|New|Enh|2011-07-01|Tomcat.setBaseDir (package org.apache.catalina.st| |51496|New|Enh|2011-07-11|NSIS - Warn that duplicate service name will resul| |51526|New|Enh|2011-07-18|Process web application context config with embedd| |51587|New|Enh|2011-07-29|Implement status and uptime commands | |51953|New|Enh|2011-10-04|Proposal: netmask filtering valve and filter | |52092|New|Enh|2011-10-26|Please make AsyncFileHandler and OneLineFormatter | |52235|New|Enh|2011-11-23|Please do a bit of SEO tuning for the web site| |52323|New|Enh|2011-12-13|Cobertura test code coverage support for build.xml| |52381|New|Enh|2011-12-22|Please add OSGi metadata | |52448|New|Enh|2012-01-11|Cache jar indexes in WebappClassLoader to speed up| |52489|New|Enh|2012-01-19|Enhancement request for code signing of war files | |52558|New|Enh|2012-01-30|CometConnectionManagerValve is adding non-serializ| |52688|New|Enh|2012-02-16|Add ability to remove old access log files| |52751|Opn|Enh|2012-02-23|Optimized configuration of the system info display| |52952|New|Enh|2012-03-20|Improve ExtensionValidator handling for embedded s| |53085|New|Enh|2012-04-16|[perf] [concurrency] DefaultInstanceManager.annota| |53387|New|Enh|2012-06-08|SSI: Allow to use $1 to get result of regular expr| |53411|Opn|Enh|2012-06-13|NullPointerException in org.apache.tomcat.util.buf| |53492|New|Enh|2012-07-01|Make JspC shell multithreaded | |53553|New|Enh|2012-07-16|[PATCH] Deploy uploaded WAR with context.xml from | |53602|New|Enh|2012-07-25|Support for HTTP status code 451 | |53620|New|Enh|2012-07-30|[juli] delay opening a file until something gets l| |53665|New|Enh|2012-08-06|Minor JNDI Howto document enhancement concerning m| |53776|New|Enh|2012-08-24|Multitenancy support for JDBCRealm| |53777|New|Enh|2012-08-24|Ability to bundle JAAS Configuration in Webappp | |54013|New|Enh|2012-10-16|Catalina.sh force kill to wait till process exits | |54083|New|Enh|2012-10-31|Provide jarsToSkip on a per-webapp basis | |54330|New|Enh|2012-12-19|Patch with some refactoring of Member.java| |54499|New|Enh|2013-01-29|Implementation of Extensible EL Interpreter | |54609|
Bug report for Tomcat Connectors [2013/03/17]
+---+ | Bugzilla Bug ID | | +-+ | | Status: UNC=Unconfirmed NEW=New ASS=Assigned| | | OPN=ReopenedVER=Verified(Skipped Closed/Resolved) | | | +-+ | | | Severity: BLK=Blocker CRI=Critical REG=Regression MAJ=Major | | | | MIN=Minor NOR=NormalENH=Enhancement TRV=Trivial | | | | +-+ | | | | Date Posted | | | | | +--+ | | | | | Description | | | | | | | |34526|Opn|Nor|2005-04-19|Truncated content in decompressed requests from mo| |35959|Opn|Enh|2005-08-01|mod_jk not independant of UseCanonicalName| |43303|New|Enh|2007-09-04|Versioning under Windows not reported by many conn| |43968|Inf|Enh|2007-11-26|[patch] support ipv6 with mod_jk | |44290|Inf|Nor|2008-01-24|mod_jk/1.2.26: retry is not useful for an importan| |44349|Inf|Maj|2008-02-04|mod_jk/1.2.26 module does not read worker.status.s| |44379|New|Enh|2008-02-07|convert the output of strftime into UTF-8 | |44454|New|Nor|2008-02-19|busy count reported in mod_jk inflated, causes inc| |44571|New|Enh|2008-03-10|Limits busy per worker to a threshold | |45063|New|Nor|2008-05-22|JK-1.2.26 IIS ISAPI filter issue when running diff| |45313|New|Nor|2008-06-30|mod_jk 1.2.26 & apache 2.2.9 static compiled on so| |46337|New|Nor|2008-12-04|real worker name is wrong | |46767|New|Enh|2009-02-25|mod_jk to send DECLINED in case no fail-over tomca| |47327|New|Enh|2009-06-07|remote_user not logged in apache logfile | |47617|Inf|Enh|2009-07-31|include time spent doing ajp_get_endpoint() in err| |47678|New|Cri|2009-08-11|Unable to allocate shared memory when using isapi_| |47714|New|Cri|2009-08-20|Reponse mixed between users | |47750|New|Maj|2009-08-27|Loss of worker settings when changing via jkstatus| |47795|New|Maj|2009-09-07|service sticky_session not being set correctly wit| |47840|Inf|Min|2009-09-14|A broken worker name is written in the log file. | |48191|New|Maj|2009-11-13|Problem with mod_jk 1.2.28 - Can not render up the| |48460|New|Nor|2009-12-30|mod_proxy_ajp document has three misleading portio| |48490|New|Nor|2010-01-05|Changing a node to stopped in uriworkermap.propert| |48513|New|Enh|2010-01-09|IIS Quick setup instructions | |48564|New|Nor|2010-01-18|Unable to turn off retries for LB worker | |48830|New|Nor|2010-03-01|IIS shutdown blocked in endpoint service when serv| |48891|Opn|Enh|2010-03-11|Missing EOL-style settings in tomcat/jk/trunk | |49035|New|Maj|2010-04-01|data lost when post a multipart/form-data form| |49063|New|Enh|2010-04-07|Please add JkStripSession status in jk-status work| |49135|New|Enh|2010-04-16|SPDY Connector for The Tomcat | |49469|New|Enh|2010-06-19|Workers status page has negative number of connect| |49732|Opn|Nor|2010-08-10|reply_timeout can't wait forever. | |49822|New|Enh|2010-08-25|Add hash lb worker method | |49903|New|Enh|2010-09-09|Make workers file reloadable | |50186|New|Nor|2010-10-31|Wrong documentation of connection_pool_timeout / c| |52334|New|Maj|2011-12-14|recover_time is not properly used | |52483|New|Enh|2012-01-18|Print JkOptions's options in log file and jkstatus| |52651|New|Nor|2012-02-13|JKSHMFile size limitation | |53324|Opn|Nor|2012-05-30|Starting with mod_jk 1.2.35 I cannot modify worker| |53542|New|Min|2012-07-13|Spelling mistake on 503 service unavailable page | |53762|New|Nor|2012-08-22|JK status manager: mass nodes handling doesn't wor| |53883|New|Maj|2012-09-17|isapi_redirect v 1.2.37 crashes w3wp.exe on the p| |53977|New|Maj|2012-10-07|32bits isapi connector cannot work in wow64 mode | |54027|New|Cri|2012-10-18|isapi send request to outside address instead of i| |54112|Opn|Blk|2012-11-07|ISAPI redirector not working when IIS recycles| |54117|New|Maj|2012-11-08|access violation exception in isapi_redirect.dll | |54177|New|Nor|2012-11-20|jkmanager generates non-well-formed XML for certai| |54596|New|Nor|2013-02-22|Relative paths truncates last character of values | |54621|New|Nor|2013-02-28|[PATCH] custom mod_jk availability checks | |54646|New|Trv|2013-03-06|socket_keepalive is sometimes 1 or true in docu | +-+---+---+--+--+ | Total
Bug report for Tomcat Native [2013/03/17]
+---+ | Bugzilla Bug ID | | +-+ | | Status: UNC=Unconfirmed NEW=New ASS=Assigned| | | OPN=ReopenedVER=Verified(Skipped Closed/Resolved) | | | +-+ | | | Severity: BLK=Blocker CRI=Critical REG=Regression MAJ=Major | | | | MIN=Minor NOR=NormalENH=Enhancement TRV=Trivial | | | | +-+ | | | | Date Posted | | | | | +--+ | | | | | Description | | | | | | | |46179|Opn|Maj|2008-11-10|apr ssl client authentication | |48655|Inf|Nor|2010-02-02|Active multipart downloads prevent tomcat shutdown| |49038|Inf|Nor|2010-04-02|Crash in tcnative | |51655|New|Nor|2011-08-12|Index page does not say what native does | |51813|New|Cri|2011-09-14|Tomcat randomly crashes with [libtcnative-1.so.1+0| |52153|New|Maj|2011-11-08|periodic JVM crash (access violation) on buffer fl| |52231|New|Nor|2011-11-23|Ant Tasks need to reflect changes in manager comma| |52319|New|Maj|2011-12-12|Tomcat 6 crashes with [libapr-1.so.0+0x196da] sig| |52627|New|Min|2012-02-08|Segmentation fault in org.apache.tomcat.jni.File.i| |53110|New|Cri|2012-04-20|Access Violation Error while creating SHM | |53605|New|Nor|2012-07-26|use tcnative-1.1.24 Tomcat shutdown still crash | |53847|Inf|Nor|2012-09-10|High CPU usage in tomcat native 1.22+ | |53937|New|Reg|2012-09-26|Double call to apr_pool_destroy() if OCSP checking| |53940|New|Enh|2012-09-27|Added support for new CRL loading after expiration| |53952|New|Nor|2012-10-02|Add support for TLS 1.1 and 1.2 | |54085|New|Nor|2012-11-01|ssl_socket_recv sometimes loops infinitely with no| |54664|New|Reg|2013-03-11|[1.1.27 branch] Poll.remove incorrectly reports AP| +-+---+---+--+--+ | Total 17 bugs | +---+ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Bug report for Tomcat Modules [2013/03/17]
+---+ | Bugzilla Bug ID | | +-+ | | Status: UNC=Unconfirmed NEW=New ASS=Assigned| | | OPN=ReopenedVER=Verified(Skipped Closed/Resolved) | | | +-+ | | | Severity: BLK=Blocker CRI=Critical REG=Regression MAJ=Major | | | | MIN=Minor NOR=NormalENH=Enhancement TRV=Trivial | | | | +-+ | | | | Date Posted | | | | | +--+ | | | | | Description | | | | | | | |48240|New|Nor|2009-11-19|Tomcat-Lite missing @Override markers | |48268|New|Nor|2009-11-23|Patch to fix generics in tomcat-lite | |48861|New|Nor|2010-03-04|Files without AL headers | |49685|New|Nor|2010-08-02|Unsafe synchronization in class ManagedBean | |49686|New|Nor|2010-08-02|Using an instance lock to protect static shared da| |50571|Inf|Nor|2011-01-11|Tomcat 7 JDBC connection pool exception enhancemen| |51595|Inf|Nor|2011-08-01|org.apache.tomcat.jdbc.pool.jmx.ConnectionPool sho| |51879|Inf|Enh|2011-09-22|Improve access to Native Connection Methods | |52024|Inf|Enh|2011-10-13|Custom interceptor to support automatic failover o| |53088|Opn|Min|2012-04-17|Give PoolCleaner TimerTask a better name | |53198|New|Cri|2012-05-07|'driverClassName' Data Source Property Being Manda| |53199|Inf|Enh|2012-05-07|Refactor ConnectionPool to use ScheduledExecutorSe| |53200|New|Enh|2012-05-07|Be able to use SlowQueryReport without reporting f| |53770|New|Enh|2012-08-23|tomcat-pool: always log validation query syntax er| |53853|New|Nor|2012-09-11|Can tomcat-jdbc consider Thread#getContextClassLoa| |53968|New|Nor|2012-10-04|Database password is exposed via JMX in getDbPrope| |54225|New|Nor|2012-11-30|if initSQL property is set to an empty string a Nu| |54227|New|Nor|2012-11-30|maxAge should be checked on borrow| |54235|New|Nor|2012-12-03|tomcat jdbc pool stackoverflow error used with spr| |54337|New|Nor|2012-12-21|StatementCache leaks statements/cursors | |54395|New|Nor|2013-01-09|JdbcInterceptor config parameter parsing errors | |54437|New|Enh|2013-01-16|Update PoolProperties javadoc for ConnectState int| |54537|New|Cri|2013-02-07|StatementFinalizer closeInvoked is too slow for la| |54599|New|Min|2013-02-22|DataSource password is exposed to applications via| |54693|New|Enh|2013-03-13|Add a validationQueryTimeout property | +-+---+---+--+--+ | Total 25 bugs | +---+ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54709] New: Official schemes for WebSocket are "ws"/"wss"; WsWebSocketContainer only allows "http"/"https"
https://issues.apache.org/bugzilla/show_bug.cgi?id=54709 Bug ID: 54709 Summary: Official schemes for WebSocket are "ws"/"wss"; WsWebSocketContainer only allows "http"/"https" Product: Tomcat 8 Version: trunk Hardware: All OS: All Status: NEW Severity: critical Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: nicho...@nicholaswilliams.net Classification: Unclassified Created attachment 30056 --> https://issues.apache.org/bugzilla/attachment.cgi?id=30056&action=edit Patch to address issue According to the WebSocket specification RFC6455 [1], the official URI schemes for the WebSocket protocol are "ws" and "wss." However, o.a.t.websocket.WsWebSocketContainer#connectToServer(...) throws an exception if anything other than "http" or "https" are specified. I agree with allowing "http" and "https" for reasons of friendliness (although the correctness of this could be debated; I did not address that in my patch), but "ws" and "wss" should ALWAYS be allowed here. Also, one should be allowed to specify a port for EITHER ws/http OR wss/https. However, the way it was written, you could only specify a port for ws/http, and wss/https always tried to use 443 (I understand that SSL wasn't fully implemented here yet). Imagine the scenario where Tomcat is running on 8080/8443. You would need to specify 8443 as the wss/https port. I have attached a patch that addresses these issues. [1] http://tools.ietf.org/html/rfc6455#page-54 -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54709] Official schemes for WebSocket are "ws"/"wss"; WsWebSocketContainer only allows "http"/"https"
https://issues.apache.org/bugzilla/show_bug.cgi?id=54709 Nick Williams changed: What|Removed |Added Attachment #30056|0 |1 is patch|| Attachment #30056|application/octet-stream|text/plain mime type|| -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
buildbot failure in ASF Buildbot on tomcat-7-trunk
The Buildbot has detected a new failure on builder tomcat-7-trunk while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/tomcat-7-trunk/builds/1123 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/tc7.0.x/trunk] 1457383 Blamelist: kkolinko,markt BUILD FAILED: failed compile_1 sincerely, -The Buildbot
svn commit: r1457402 - /tomcat/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java
Author: markt Date: Sun Mar 17 09:22:16 2013 New Revision: 1457402 URL: http://svn.apache.org/r1457402 Log: There was a reason mark/reset was used here. Restore use of mark/reset and add a comment. Modified: tomcat/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java Modified: tomcat/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java?rev=1457402&r1=1457401&r2=1457402&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java Sun Mar 17 09:22:16 2013 @@ -364,9 +364,12 @@ public class HttpParser { private static String readTokenOrQuotedString(StringReader input, boolean returnQuoted) throws IOException { +// Use mark/reset as skip(-1) fails when reading the last character of +// the input +input.mark(1); int c = input.read(); -// Skip back so first character is available to be read again -input.skip(-1); +// Go back so first character is available to be read again +input.reset(); if (c == '"') { return readQuotedString(input, returnQuoted); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1457403 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/util/http/parser/HttpParser.java
Author: markt Date: Sun Mar 17 09:33:41 2013 New Revision: 1457403 URL: http://svn.apache.org/r1457403 Log: There was a reason mark/reset was used here. Restore use of mark/reset and add a comment. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1457402 Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java?rev=1457403&r1=1457402&r2=1457403&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java Sun Mar 17 09:33:41 2013 @@ -366,9 +366,12 @@ public class HttpParser { private static String readTokenOrQuotedString(StringReader input, boolean returnQuoted) throws IOException { +// Use mark/reset as skip(-1) fails when reading the last character of +// the input +input.mark(1); int c = input.read(); -// Skip back so first character is available to be read again -input.skip(-1); +// Go back so first character is available to be read again +input.reset(); if (c == '"') { return readQuotedString(input, returnQuoted); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 52135] Global error page is not handled
https://issues.apache.org/bugzilla/show_bug.cgi?id=52135 --- Comment #17 from Libor Jelinek --- Potential reason to reopen this: Having the following web.xml still end up with showing Tomcat default error page. Is it intended behavior or a bug? ThrowerServlet org.example.ThrowerServlet ThrowerServlet /* /WEB-INF/global-error-page.jsp I assume that scenario here is the following: 1. ThrowerServlet causes an exception 2. Tomcat issue error dispatch 3. But it is responded by ThrowerServlet (have catch-all URL pattern /*) which causes same exception again. 4. Tomcat present default error page I'm asking if error page should be matched by /*, i.e. effectively skipping error page to display and resulting in calling buggy servlet on /* again. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54710] New: Java WebSocket specification says @OnMessage methods can have InputStream/Reader parameters; @OnClose can have CloseReason parameters
https://issues.apache.org/bugzilla/show_bug.cgi?id=54710 Bug ID: 54710 Summary: Java WebSocket specification says @OnMessage methods can have InputStream/Reader parameters; @OnClose can have CloseReason parameters Product: Tomcat 8 Version: trunk Hardware: All OS: All Status: NEW Severity: critical Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: nicho...@nicholaswilliams.net Classification: Unclassified Created attachment 30057 --> https://issues.apache.org/bugzilla/attachment.cgi?id=30057&action=edit Patch to address issue Title pretty much explains it all. The specification says that @OnMessage methods may have an InputStream parameter (and no boolean parameter) for binary messages, or a Reader parameter (and no boolean parameter) for text messages. However, the current implementation does not support that; an IllegalArgumentException is thrown when Tomcat processes the endpoint annotations. Also, the specification says that @OnClose methods may have a CloseReason parameter, but the current implementation does not support that. It was difficult for me to separate these issues, so I have combined them and the patch for them. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54710] Java WebSocket specification says @OnMessage methods can have InputStream/Reader parameters; @OnClose can have CloseReason parameters
https://issues.apache.org/bugzilla/show_bug.cgi?id=54710 Nick Williams changed: What|Removed |Added Attachment #30057|0 |1 is patch|| Attachment #30057|application/octet-stream|text/plain mime type|| -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54710] Java WebSocket specification says @OnMessage methods can have InputStream/Reader parameters; @OnClose can have CloseReason parameters
https://issues.apache.org/bugzilla/show_bug.cgi?id=54710 Nick Williams changed: What|Removed |Added Attachment #30057|0 |1 is obsolete|| --- Comment #1 from Nick Williams --- Created attachment 30058 --> https://issues.apache.org/bugzilla/attachment.cgi?id=30058&action=edit Patch to address issue I attached the wrong patch. Correct patch attached. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
buildbot success in ASF Buildbot on tomcat-7-trunk
The Buildbot has detected a restored build on builder tomcat-7-trunk while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/tomcat-7-trunk/builds/1124 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/tc7.0.x/trunk] 1457403 Blamelist: markt Build succeeded! sincerely, -The Buildbot
[Bug 54711] New: Strange problem with WsOutputStream; cannot write to it, Session gets closed instead
https://issues.apache.org/bugzilla/show_bug.cgi?id=54711 Bug ID: 54711 Summary: Strange problem with WsOutputStream; cannot write to it, Session gets closed instead Product: Tomcat 8 Version: trunk Hardware: All OS: All Status: NEW Severity: blocker Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: nicho...@nicholaswilliams.net Classification: Unclassified Created attachment 30059 --> https://issues.apache.org/bugzilla/attachment.cgi?id=30059&action=edit Thread dump when blocking I'm attempting to write a binary message using the OutputStream returned by RemoteEndpoint.Basic#getSendStream(). The code that is doing this is as follows: @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ClusterMessage message = new ClusterMessage(); message.setNodeId(this.nodeId); message.setMessage("request:{ip:\"" + request.getRemoteAddr() + "\",queryString:\"" + request.getQueryString() + "\"}"); try(OutputStream output = this.session.getBasicRemote().getSendStream(); ObjectOutputStream stream = new ObjectOutputStream(output)) { stream.writeObject(message); } response.getWriter().append("OK"); } When I perform this request, the browser waits for a response forever. It never stops. Assuming there was an infinite loop somewhere, I took a thread dump (attached). An exception was logged to stderr pretty much instantaneously when I make the request: Exception in thread "Thread-18" java.lang.IllegalStateException: Message will not be sent because the WebSocket session has been closed at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMessagePart(WsRemoteEndpointImplBase.java:270) at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.endMessage(WsRemoteEndpointImplBase.java:256) at org.apache.tomcat.websocket.WsRemoteEndpointImplBase$EndMessageHandler.onResult(WsRemoteEndpointImplBase.java:398) at org.apache.tomcat.websocket.WsRemoteEndpointImplBase$OutputBufferSendHandler.write(WsRemoteEndpointImplBase.java:647) at org.apache.tomcat.websocket.WsRemoteEndpointImplBase$OutputBufferSendHandler.onResult(WsRemoteEndpointImplBase.java:656) at org.apache.tomcat.websocket.WsRemoteEndpointImplClient$SendHandlerToCompletionHandler.completed(WsRemoteEndpointImplClient.java:77) at org.apache.tomcat.websocket.WsRemoteEndpointImplClient$SendHandlerToCompletionHandler.completed(WsRemoteEndpointImplClient.java:66) at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126) at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:269) at sun.nio.ch.WindowsAsynchronousSocketChannelImpl$WriteTask.completed(WindowsAsynchronousSocketChannelImpl.java:814) at sun.nio.ch.Iocp$EventHandlerTask.run(Iocp.java:397) at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) And I get some disconcerting log entries when I shut Tomcat down: Mar 17, 2013 5:22:42 AM org.apache.catalina.core.StandardWrapper unload INFO: Waiting for 1 instance(s) to be deallocated Mar 17, 2013 5:22:43 AM org.apache.catalina.core.StandardWrapper unload INFO: Waiting for 1 instance(s) to be deallocated Mar 17, 2013 5:22:44 AM org.apache.catalina.core.StandardWrapper unload INFO: Waiting for 1 instance(s) to be deallocated Mar 17, 2013 5:22:44 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/myWebApp] appears to have started a thread named [WebSocket background processing] but has failed to stop it. This is very likely to create a memory leak. Mar 17, 2013 5:22:44 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/myWebApp] is still processing a request that has yet to finish. This is very likely to create a memory leak. You can control the time allowed for requests to finish by using the unloadDelay attribute of the standard Context implementation. Mar 17, 2013 5:22:44 AM org.apache.coyote.AbstractProtocol stop INFO: Stopping ProtocolHandler ["http-nio-8080"] Mar 17, 2013 5:22:44 AM org.apache.coyote.AbstractProtocol stop INFO: Stopping ProtocolHandler ["ajp-nio-8009"] Mar 17, 2013 5:22:44 AM org.apache.coyote.AbstractProtocol$AbstractConnectionHandler process SEVERE: Error reading request, ignored java.lang.NullPointerException at org.apache.coyote.http11.Http11NioProcessor.isRegisteredForWrite(Http11NioProcessor.java:250) at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor
[Bug 54711] Strange problem with WsOutputStream; cannot write to it, Session gets closed instead
https://issues.apache.org/bugzilla/show_bug.cgi?id=54711 --- Comment #1 from Nick Williams --- Please note, I pasted the wrong improved method in here. Actual version: @Override public void write(byte[] b, int off, int len) throws IOException { if (buffer.remaining() == 0) { flush(); } int remaining = buffer.remaining(); int written = 0; while (remaining < len - written) { buffer.put(b, off + written, remaining); written += remaining; flush(); remaining = buffer.remaining(); } buffer.put(b, off + written, len - written); } -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54711] Strange problem with WsOutputStream; cannot write to it, Session gets closed instead
https://issues.apache.org/bugzilla/show_bug.cgi?id=54711 Nick Williams changed: What|Removed |Added Attachment #30059|application/octet-stream|text/plain mime type|| -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1457428 - /tomcat/trunk/java/org/apache/tomcat/websocket/pojo/
Author: markt Date: Sun Mar 17 11:50:36 2013 New Revision: 1457428 URL: http://svn.apache.org/r1457428 Log: Add/improve Javadoc Modified: tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointClient.java tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBinary.java tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialText.java tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholePong.java tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java Modified: tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java?rev=1457428&r1=1457427&r2=1457428&view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java Sun Mar 17 11:50:36 2013 @@ -30,6 +30,11 @@ import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; import org.apache.tomcat.util.res.StringManager; +/** + * Base implementation (client and server have different concrete + * implementations) of the wrapper that converts a POJO instance into a + * WebSocket endpoint instance. + */ public abstract class PojoEndpointBase extends Endpoint { private static final Log log = LogFactory.getLog(PojoEndpointBase.class); Modified: tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointClient.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointClient.java?rev=1457428&r1=1457427&r2=1457428&view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointClient.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointClient.java Sun Mar 17 11:50:36 2013 @@ -24,6 +24,11 @@ import javax.websocket.EndpointConfig; import javax.websocket.Session; +/** + * Wrapper class for instances of POJOs annotated with + * {@link javax.websocket.ClientEndpoint} so they appear as standard + * {@link javax.websocket.Endpoint} instances. + */ public class PojoEndpointClient extends PojoEndpointBase { public PojoEndpointClient(Object pojo, Modified: tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBinary.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBinary.java?rev=1457428&r1=1457427&r2=1457428&view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBinary.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBinary.java Sun Mar 17 11:50:36 2013 @@ -22,7 +22,7 @@ import java.nio.ByteBuffer; import javax.websocket.Session; /** - * ByteBuffer specific concrete partial implementation. + * ByteBuffer specific concrete implementation for handling partial messages. */ public class PojoMessageHandlerPartialBinary extends PojoMessageHandlerPartialBase{ Modified: tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialText.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialText.java?rev=1457428&r1=1457427&r2=1457428&view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialText.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialText.java Sun Mar 17 11:50:36 2013 @@ -21,7 +21,7 @@ import java.lang.reflect.Method; import javax.websocket.Session; /** - * Text specific concrete partial implementation. + * Text specific concrete implementation for handling partial messages. */ public class PojoMessageHandlerPartialText extends PojoMessageHandlerPartialBase{ Modified: tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java?rev=1457428&r1=1457427&r2=1457428&view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWhole
svn commit: r1457429 - /tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java
Author: markt Date: Sun Mar 17 11:59:55 2013 New Revision: 1457429 URL: http://svn.apache.org/r1457429 Log: Renames to make code clearer Fix a bug - only look for a Throwable for onError methods Modified: tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java Modified: tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java?rev=1457429&r1=1457428&r2=1457429&view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java Sun Mar 17 11:59:55 2013 @@ -170,11 +170,11 @@ public class PojoMethodMapping { } -private static PojoPathParam[] getPathParams(Method m, boolean isError) { +private static PojoPathParam[] getPathParams(Method m, boolean isOnError) { if (m == null) { return new PojoPathParam[0]; } -boolean foundError = !isError; +boolean foundThrowable = !isOnError; Class[] types = m.getParameterTypes(); Annotation[][] paramsAnnotations = m.getParameterAnnotations(); PojoPathParam[] result = new PojoPathParam[types.length]; @@ -182,8 +182,8 @@ public class PojoMethodMapping { Class type = types[i]; if (type.equals(Session.class)) { result[i] = new PojoPathParam(type, null); -} else if (type.equals(Throwable.class)) { -foundError = true; +} else if (isOnError && type.equals(Throwable.class)) { +foundThrowable = true; result[i] = new PojoPathParam(type, null); } else { Annotation[] paramAnnotations = paramsAnnotations[i]; @@ -201,7 +201,7 @@ public class PojoMethodMapping { } } } -if (!foundError) { +if (!foundThrowable) { // TODO i18n throw new IllegalArgumentException(); } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54712] New: Prefer Locale.ENGLISH over Locale.US for case conversion
https://issues.apache.org/bugzilla/show_bug.cgi?id=54712 Bug ID: 54712 Summary: Prefer Locale.ENGLISH over Locale.US for case conversion Product: Tomcat 7 Version: unspecified Hardware: PC OS: All Status: NEW Severity: trivial Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: s...@apache.org Classification: Unclassified Created attachment 30060 --> https://issues.apache.org/bugzilla/attachment.cgi?id=30060&action=edit Convert Locale.US to Locale.ENGLISH in case conversion methods Case-conversion using toLowerCase or toUpperCase needs a Locale parameter to avoid using the default (with possibly unexpected results in some Locales). The code currently uses Locale.US in several places. However most of the code uses Locale.ENGLISH. The code should standardise on ENGLISH. Or perhaps consider using Locale.ROOT (@since 1.6)? -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1457448 - in /tomcat/trunk/java/org/apache/tomcat/websocket/pojo: LocalStrings.properties PojoMethodMapping.java
Author: markt Date: Sun Mar 17 13:43:33 2013 New Revision: 1457448 URL: http://svn.apache.org/r1457448 Log: Provide some meaningful error messages for the exceptions Modified: tomcat/trunk/java/org/apache/tomcat/websocket/pojo/LocalStrings.properties tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java Modified: tomcat/trunk/java/org/apache/tomcat/websocket/pojo/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/LocalStrings.properties?rev=1457448&r1=1457447&r2=1457448&view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/LocalStrings.properties (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/LocalStrings.properties Sun Mar 17 13:43:33 2013 @@ -17,5 +17,14 @@ pojoEndpointBase.onCloseFail=Failed to c pojoEndpointBase.onErrorFail=Failed to call onError method of POJO end point for POJO of type [{0}] pojoEndpointBase.onOpenFail=Failed to call onOpen method of POJO end point for POJO of type [{0}] pojoEndpointServer.getPojoInstanceFail=Failed to create instance of POJO of type [{0}] +pojoMethodMapping.duplicateLastParam=Multiple boolean (last) parameters present on the method [{0}] of class [{1}] that was annotated with OnMessage +pojoMethodMapping.duplicateMessageParam=Multiple message parameters present on the method [{0}] of class [{1}] that was annotated with OnMessage +pojoMethodMapping.duplicatePongMessageParam=Multiple PongMessage parameters present on the method [{0}] of class [{1}] that was annotated with OnMessage +pojoMethodMapping.duplicateSessionParam=Multiple session parameters present on the method [{0}] of class [{1}] that was annotated with OnMessage +pojoMethodMapping.invalidType=Unable to coerce value [{0}] to type [{1}]. That type is not supported. +pojoMethodMapping.noPayload=No payload parameter present on the method [{0}] of class [{1}] that was annotated with OnMessage +pojoMethodMapping.onErrorNoThrowable=No Throwable parameter was present on the method [{0}] of class [{1}] that was annotated with OnError +pojoMethodMapping.partialPong=Invalid PongMessgae and boolean parameters present on the method [{0}] of class [{1}] that was annotated with OnMessage +pojoMethodMapping.pongWithPayload=Invalid PongMessgae and Message parameters present on the method [{0}] of class [{1}] that was annotated with OnMessage pojoMessageHandlerWhole.decodeFail=Failed to decode received message with first matching Decoder instance pojoMessageHandlerWhole.decodeIoFail=IO error while decoding message \ No newline at end of file Modified: tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java?rev=1457448&r1=1457447&r2=1457448&view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java Sun Mar 17 13:43:33 2013 @@ -202,8 +202,9 @@ public class PojoMethodMapping { } } if (!foundThrowable) { -// TODO i18n -throw new IllegalArgumentException(); +throw new IllegalArgumentException(sm.getString( +"pojoMethodMapping.onErrorNoThrowable", +m.getName(), m.getClass().getName())); } return result; } @@ -254,8 +255,8 @@ public class PojoMethodMapping { } else if (type.equals(short.class) || type.equals(Short.class)) { return Short.valueOf(value); } else { -// TODO -throw new IllegalArgumentException(); +throw new IllegalArgumentException(sm.getString( +"pojoMethodMapping.invalidType", value, type.getName())); } } @@ -298,43 +299,49 @@ public class PojoMethodMapping { if (indexString == -1) { indexString = i; } else { -// TODO i18n -throw new IllegalArgumentException(); +throw new IllegalArgumentException(sm.getString( +"pojoMethodMapping.duplicateMessageParam", +m.getName(), m.getClass().getName())); } } else if (types[i] == boolean.class) { if (indexBoolean == -1) { indexBoolean = i; } else { -// TODO i18n -throw new IllegalArgumentException(); +throw new IllegalArgumentException(sm.getString( +"pojoMethodMapping.duplicateLastParam", +
[Bug 54707] Buggy Perl http clients cause tomcat digest auth to fail due to quoted nc values (e.g. nc="00000001")
https://issues.apache.org/bugzilla/show_bug.cgi?id=54707 Mark Thomas changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #6 from Mark Thomas --- Fixed in trunk and 7.0.x and will be included in 7.0.39 onwards. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1457452 - in /tomcat/trunk: java/org/apache/catalina/connector/ java/org/apache/tomcat/util/buf/ java/org/apache/tomcat/util/http/parser/ modules/jdbc-pool/src/main/java/org/apache/tomcat
Author: markt Date: Sun Mar 17 14:07:25 2013 New Revision: 1457452 URL: http://svn.apache.org/r1457452 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54712 Code clean-up. Use Locale.ENGLISH consistently for upper/lower case conversions. Modified: tomcat/trunk/java/org/apache/catalina/connector/Connector.java tomcat/trunk/java/org/apache/tomcat/util/buf/B2CConverter.java tomcat/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java tomcat/trunk/java/org/apache/tomcat/util/http/parser/MediaType.java tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java tomcat/trunk/test/org/apache/catalina/startup/SimpleHttpClient.java Modified: tomcat/trunk/java/org/apache/catalina/connector/Connector.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Connector.java?rev=1457452&r1=1457451&r2=1457452&view=diff == --- tomcat/trunk/java/org/apache/catalina/connector/Connector.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/Connector.java Sun Mar 17 14:07:25 2013 @@ -768,7 +768,7 @@ public class Connector extends Lifecycle if (URIEncoding == null) { URIEncodingLower = null; } else { - this.URIEncodingLower = URIEncoding.toLowerCase(Locale.US); + this.URIEncodingLower = URIEncoding.toLowerCase(Locale.ENGLISH); } setProperty("uRIEncoding", URIEncoding); } Modified: tomcat/trunk/java/org/apache/tomcat/util/buf/B2CConverter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/buf/B2CConverter.java?rev=1457452&r1=1457451&r2=1457452&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/buf/B2CConverter.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/buf/B2CConverter.java Sun Mar 17 14:07:25 2013 @@ -50,10 +50,10 @@ public class B2CConverter { static { for (Charset charset: Charset.availableCharsets().values()) { encodingToCharsetCache.put( -charset.name().toLowerCase(Locale.US), charset); +charset.name().toLowerCase(Locale.ENGLISH), charset); for (String alias : charset.aliases()) { encodingToCharsetCache.put( -alias.toLowerCase(Locale.US), charset); +alias.toLowerCase(Locale.ENGLISH), charset); } } Charset iso88591 = null; @@ -73,7 +73,7 @@ public class B2CConverter { throws UnsupportedEncodingException { // Encoding names should all be ASCII -String lowerCaseEnc = enc.toLowerCase(Locale.US); +String lowerCaseEnc = enc.toLowerCase(Locale.ENGLISH); return getCharsetLower(lowerCaseEnc); } Modified: tomcat/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java?rev=1457452&r1=1457451&r2=1457452&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java Sun Mar 17 14:07:25 2013 @@ -131,7 +131,7 @@ public class HttpParser { return null; } String value = null; -Integer type = fieldTypes.get(field.toLowerCase(Locale.US)); +Integer type = fieldTypes.get(field.toLowerCase(Locale.ENGLISH)); if (type == null) { // auth-param = token "=" ( token | quoted-string ) type = FIELD_TYPE_TOKEN_OR_QUOTED_STRING; @@ -210,9 +210,9 @@ public class HttpParser { if (skipConstant(input, "=") == SkipConstantResult.FOUND) { String value = readTokenOrQuotedString(input, true); -parameters.put(attribute.toLowerCase(Locale.US), value); +parameters.put(attribute.toLowerCase(Locale.ENGLISH), value); } else { -parameters.put(attribute.toLowerCase(Locale.US), ""); +parameters.put(attribute.toLowerCase(Locale.ENGLISH), ""); } lookForSemiColon = skipConstant(input, ";"); Modified: tomcat/trunk/java/org/apache/tomcat/util/http/parser/MediaType.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/parser/MediaType.java?rev=1457452&r1=1457451&r2=1457452&view=diff == --- tomcat/trunk/java/org/apache/tomcat/util/http/parser/MediaType.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/parser/MediaType.java Sun Mar 17 14:07:25 2013 @@ -60,7 +60,7 @@ public class Me
svn commit: r1457453 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/util/buf/ java/org/apache/tomcat/util/http/parser/ modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ test/org/apac
Author: markt Date: Sun Mar 17 14:11:35 2013 New Revision: 1457453 URL: http://svn.apache.org/r1457453 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54712 Code clean-up. Use Locale.ENGLISH consistently for upper/lower case conversions. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/buf/B2CConverter.java tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/parser/MediaType.java tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java tomcat/tc7.0.x/trunk/test/org/apache/catalina/startup/SimpleHttpClient.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1457452 Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/buf/B2CConverter.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/buf/B2CConverter.java?rev=1457453&r1=1457452&r2=1457453&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/buf/B2CConverter.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/buf/B2CConverter.java Sun Mar 17 14:11:35 2013 @@ -50,10 +50,10 @@ public class B2CConverter { static { for (Charset charset: Charset.availableCharsets().values()) { encodingToCharsetCache.put( -charset.name().toLowerCase(Locale.US), charset); +charset.name().toLowerCase(Locale.ENGLISH), charset); for (String alias : charset.aliases()) { encodingToCharsetCache.put( -alias.toLowerCase(Locale.US), charset); +alias.toLowerCase(Locale.ENGLISH), charset); } } Charset iso88591 = null; @@ -73,7 +73,7 @@ public class B2CConverter { throws UnsupportedEncodingException { // Encoding names should all be ASCII -String lowerCaseEnc = enc.toLowerCase(Locale.US); +String lowerCaseEnc = enc.toLowerCase(Locale.ENGLISH); return getCharsetLower(lowerCaseEnc); } Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java?rev=1457453&r1=1457452&r2=1457453&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java Sun Mar 17 14:11:35 2013 @@ -132,7 +132,7 @@ public class HttpParser { return null; } String value = null; -Integer type = fieldTypes.get(field.toLowerCase(Locale.US)); +Integer type = fieldTypes.get(field.toLowerCase(Locale.ENGLISH)); if (type == null) { // auth-param = token "=" ( token | quoted-string ) type = FIELD_TYPE_TOKEN_OR_QUOTED_STRING; @@ -212,9 +212,9 @@ public class HttpParser { if (skipConstant(input, "=") == SkipConstantResult.FOUND) { String value = readTokenOrQuotedString(input, true); -parameters.put(attribute.toLowerCase(Locale.US), value); +parameters.put(attribute.toLowerCase(Locale.ENGLISH), value); } else { -parameters.put(attribute.toLowerCase(Locale.US), ""); +parameters.put(attribute.toLowerCase(Locale.ENGLISH), ""); } lookForSemiColon = skipConstant(input, ";"); Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/parser/MediaType.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/parser/MediaType.java?rev=1457453&r1=1457452&r2=1457453&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/parser/MediaType.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/parser/MediaType.java Sun Mar 17 14:11:35 2013 @@ -60,7 +60,7 @@ public class MediaType { } public String getParameterValue(String parameter) { -return parameters.get(parameter.toLowerCase(Locale.US)); +return parameters.get(parameter.toLowerCase(Locale.ENGLISH)); } @Override Modified: tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java?rev=1457453&r1=1457452&r2=1457453&view=diff
[Bug 54712] Prefer Locale.ENGLISH over Locale.US for case conversion
https://issues.apache.org/bugzilla/show_bug.cgi?id=54712 Mark Thomas changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED Severity|trivial |enhancement --- Comment #1 from Mark Thomas --- There is no bug here. s/US/ENGLISH/ has no functional difference. This is an enhancement. Note: The provided patch is against trunk rather than 7.0.x/trunk. This change has been made to trunk and 7.0.x and will be included in 7.0.39 onwards. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1457454 - in /tomcat/trunk: java/org/apache/catalina/core/StandardContext.java java/org/apache/catalina/util/ContextName.java webapps/docs/changelog.xml
Author: markt Date: Sun Mar 17 14:26:53 2013 New Revision: 1457454 URL: http://svn.apache.org/r1457454 Log: Change the name of the working directory for the ROOT application (located under $CATALINA_BASE/work by default) from _ to ROOT. Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java tomcat/trunk/java/org/apache/catalina/util/ContextName.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1457454&r1=1457453&r2=1457454&view=diff == --- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Sun Mar 17 14:26:53 2013 @@ -6047,7 +6047,7 @@ public class StandardContext extends Con temp = temp.replace('/', '_'); temp = temp.replace('\\', '_'); if (temp.length() < 1) -temp = "_"; +temp = ContextName.ROOT_NAME; if (hostWorkDir != null ) { workDir = hostWorkDir + File.separator + temp; } else { Modified: tomcat/trunk/java/org/apache/catalina/util/ContextName.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/ContextName.java?rev=1457454&r1=1457453&r2=1457454&view=diff == --- tomcat/trunk/java/org/apache/catalina/util/ContextName.java (original) +++ tomcat/trunk/java/org/apache/catalina/util/ContextName.java Sun Mar 17 14:26:53 2013 @@ -23,7 +23,7 @@ import java.util.Locale; * conversions between baseName, path and version take place. */ public final class ContextName { -private static final String ROOT_NAME = "ROOT"; +public static final String ROOT_NAME = "ROOT"; private static final String VERSION_MARKER = "##"; private static final String FWD_SLASH_REPLACEMENT = "#"; Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1457454&r1=1457453&r2=1457454&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Sun Mar 17 14:26:53 2013 @@ -118,6 +118,11 @@ HttpServletRequest#changeSessionId(). Patch provided by Nick Williams. (markt) + +54708: Change the name of the working directory for the ROOT +application (located under $CATALINA_BASE/work by default) from _ to +ROOT. (markt) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54708] Use base file name ("ROOT") as the work directory for the default webapp instead of "_"
https://issues.apache.org/bugzilla/show_bug.cgi?id=54708 Mark Thomas changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #1 from Mark Thomas --- Nice idea. Fixed in trunk for 8.0.0 onwards. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 52135] Global error page is not handled
https://issues.apache.org/bugzilla/show_bug.cgi?id=52135 --- Comment #18 from balusc --- @Libor: this is behaving as specified. Your servlet is mapped on an overly generic URL pattern of /* which thus also overrides among others the servletcontainer's builtin JspServlet which is listening on *.jsp which thus never get the chance to serve the JSP. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
buildbot failure in ASF Buildbot on tomcat-trunk
The Buildbot has detected a new failure on builder tomcat-trunk while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/tomcat-trunk/builds/4090 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1456740 Blamelist: BUILD FAILED: failed compile_1 sincerely, -The Buildbot
buildbot success in ASF Buildbot on tomcat-trunk
The Buildbot has detected a restored build on builder tomcat-trunk while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/tomcat-trunk/builds/4091 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1456762 Blamelist: Build succeeded! sincerely, -The Buildbot - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54711] Strange problem with WsOutputStream; cannot write to it, Session gets closed instead
https://issues.apache.org/bugzilla/show_bug.cgi?id=54711 --- Comment #2 from Nick Williams --- Created attachment 30061 --> https://issues.apache.org/bugzilla/attachment.cgi?id=30061&action=edit Patch to resolve issue Fixed with attached patch! Woohoo! This was a doozy. There were several problems cause a myriad of issues here: - WsRemoteEndpointImplBase.WsOutputStream was not flipping the underlying buffer before calling endpoint.sendPartialBytes(buffer, boolean), hence the endless blocking seen in the attached thread dump. - java.io.Closeable#close() documentation says "If the stream is already closed then invoking this method has no effect." Both WsOutputStream and WsRemoteEndpointImplBase.WsWriter violated this contract. If WsOutputStream or WsWriter were used in a try-with-resources block, close() would get called twice, and thus sendPartialBytes/sendPartialString would get called twice. This resulted in two messages getting sent: one with the payload and one empty. - Calls to flush() and write() methods on WsOutputStream and WsWriter should not be allowed after close is called. - Both WsOutputStream#write(byte[] b, int off, int len) and WsWriter#write(char[] c, int off, int len) would loop forever if len was greater than 8192 (not difficult). - Both WsOutputStream#write(byte[] b, int off, int len) and WsWriter#write(char[] c, int off, int len) were susceptible to unclean input. - Unrelated but found while debugging: o.a.t.websocket.WsRemoteEndpointImplClient#doWrite was calling getSendTimeout() and then setting the returned value to Long.MAX_VALUE if it was less than 1, but then it was never using that returned value; it was calling getSendTimeout() again. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54711] Strange problem with WsOutputStream; cannot write to it, Session gets closed instead
https://issues.apache.org/bugzilla/show_bug.cgi?id=54711 --- Comment #3 from Nick Williams --- By the way, I'm still getting the following two disconcerting stdout messages when shutting down Tomcat. This is obviously better than it used to be and there are no more errors at all. I'm not sure how these threads are getting created or how to stop them. My guess is that this is a separate bug, unrelated to this. "WebSocket background processing - stopping" is obviously created by Tomcat. I did NOT create the anonymously named "Thread-22." Mar 17, 2013 1:05:01 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/myWebApp] appears to have started a thread named [WebSocket background processing - stopping] but has failed to stop it. This is very likely to create a memory leak. Mar 17, 2013 1:05:01 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: The web application [/myWebApp] appears to have started a thread named [Thread-22] but has failed to stop it. This is very likely to create a memory leak. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54713] New: , @WebServlet(loadOnStartup) do not trigger initialization of Servlet on startup.
https://issues.apache.org/bugzilla/show_bug.cgi?id=54713 Bug ID: 54713 Summary: , @WebServlet(loadOnStartup) do not trigger initialization of Servlet on startup. Product: Tomcat 8 Version: trunk Hardware: All OS: All Status: NEW Severity: regression Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: nicho...@nicholaswilliams.net Classification: Unclassified With the below simple deployment descriptor, the init() method on my Servlet does not execute until the first request comes in for that Servlet: http://java.sun.com/xml/ns/javaee"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"; version="3.0"> Template Application clusterNode1 com.wrox.ClusterNodeServlet nodeId 1 1 clusterNode1 /clusterNode1 Likewise, with the below annotation, the Servlet still does not get initialized until the first request comes in. @WebServlet( name = "clusterNode1", urlPatterns = "/clusterNode1", loadOnStartup = 1 ) -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54713] , @WebServlet(loadOnStartup) do not trigger initialization of Servlet on startup.
https://issues.apache.org/bugzilla/show_bug.cgi?id=54713 --- Comment #1 from Nick Williams --- Note that, less than two months ago, this was working fine. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54714] New: Examples webapp not starting anymore; NoClassDefFoundError in listener start
https://issues.apache.org/bugzilla/show_bug.cgi?id=54714 Bug ID: 54714 Summary: Examples webapp not starting anymore; NoClassDefFoundError in listener start Product: Tomcat 8 Version: trunk Hardware: All OS: All Status: NEW Severity: normal Priority: P2 Component: Examples Assignee: dev@tomcat.apache.org Reporter: nicho...@nicholaswilliams.net Classification: Unclassified When Tomcat starts, a listener on the examples webapp does not start properly. The examples webapp is inaccessible. This changed within the last three or four days. it was working last Tuesday. stdout: INFO: Initializing ProtocolHandler ["http-nio-8080"] Mar 17, 2013 1:22:11 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector INFO: Using a shared selector for servlet write/read Mar 17, 2013 1:22:11 PM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["ajp-nio-8009"] Mar 17, 2013 1:22:11 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector INFO: Using a shared selector for servlet write/read Mar 17, 2013 1:22:11 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 642 ms Mar 17, 2013 1:22:11 PM org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina Mar 17, 2013 1:22:11 PM org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/8.0.0-dev Mar 17, 2013 1:22:11 PM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\docs Mar 17, 2013 1:22:12 PM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\examples Mar 17, 2013 1:22:13 PM org.apache.catalina.core.StandardContext startInternal SEVERE: Error listenerStart Mar 17, 2013 1:22:13 PM org.apache.catalina.core.StandardContext startInternal SEVERE: Context [/examples] startup failed due to previous errors Mar 17, 2013 1:22:13 PM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\host-manager Mar 17, 2013 1:22:14 PM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\manager Mar 17, 2013 1:22:14 PM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory C:\Program Files\Apache Software Foundation\Tomcat 8.0\webapps\ROOT Mar 17, 2013 1:22:14 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-nio-8080"] Mar 17, 2013 1:22:14 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["ajp-nio-8009"] Mar 17, 2013 1:22:14 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 3738 ms localhost.2013-03-17.log: Mar 17, 2013 1:22:13 PM org.apache.catalina.core.ApplicationContext log INFO: ContextListener: contextInitialized() Mar 17, 2013 1:22:13 PM org.apache.catalina.core.ApplicationContext log INFO: SessionListener: contextInitialized() Mar 17, 2013 1:22:13 PM org.apache.catalina.core.StandardContext listenerStart SEVERE: Exception sending context initialized event to listener instance of class websocket.echo.WsConfigListener java.lang.NoClassDefFoundError: org/apache/tomcat/websocket/server/ServerContainerImpl at websocket.echo.WsConfigListener.contextInitialized(WsConfigListener.java:33) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4769) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5210) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:698) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1056) at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1611) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.ClassNotFoundException: org.apache.tomcat.websocket.server.ServerContainerImpl at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1465) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav
svn commit: r1457513 - in /tomcat/trunk: java/org/apache/tomcat/websocket/ test/org/apache/tomcat/websocket/ test/org/apache/tomcat/websocket/pojo/
Author: markt Date: Sun Mar 17 18:49:45 2013 New Revision: 1457513 URL: http://svn.apache.org/r1457513 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54709 http -> ws https -> wss Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java tomcat/trunk/test/org/apache/tomcat/websocket/TestWsRemoteEndpoint.java tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java tomcat/trunk/test/org/apache/tomcat/websocket/pojo/TestEncodingDecoding.java tomcat/trunk/test/org/apache/tomcat/websocket/pojo/TestPojoMethodMapping.java Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java?rev=1457513&r1=1457512&r2=1457513&view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java Sun Mar 17 18:49:45 2013 @@ -156,8 +156,8 @@ public class WsWebSocketContainer throws DeploymentException { String scheme = path.getScheme(); -if (!("http".equalsIgnoreCase(scheme) || -"https".equalsIgnoreCase(scheme))) { +if (!("ws".equalsIgnoreCase(scheme) || +"wss".equalsIgnoreCase(scheme))) { throw new DeploymentException(sm.getString( "wsWebSocketContainer.pathWrongScheme", scheme)); } @@ -175,7 +175,7 @@ public class WsWebSocketContainer SocketAddress sa; if (port == -1) { -if ("http".equalsIgnoreCase(scheme)) { +if ("ws".equalsIgnoreCase(scheme)) { sa = new InetSocketAddress(host, 80); } else { // TODO HTTPS support Modified: tomcat/trunk/test/org/apache/tomcat/websocket/TestWsRemoteEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/TestWsRemoteEndpoint.java?rev=1457513&r1=1457512&r2=1457513&view=diff == --- tomcat/trunk/test/org/apache/tomcat/websocket/TestWsRemoteEndpoint.java (original) +++ tomcat/trunk/test/org/apache/tomcat/websocket/TestWsRemoteEndpoint.java Sun Mar 17 18:49:45 2013 @@ -76,7 +76,7 @@ public class TestWsRemoteEndpoint extend tomcat.start(); Session wsSession; -URI uri = new URI("http://localhost:"; + getPort() + +URI uri = new URI("ws://localhost:" + getPort() + TesterEchoServer.Config.PATH_ASYNC); if (Endpoint.class.isAssignableFrom(clazz)) { @SuppressWarnings("unchecked") Modified: tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java?rev=1457513&r1=1457512&r2=1457513&view=diff == --- tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java (original) +++ tomcat/trunk/test/org/apache/tomcat/websocket/TestWsWebSocketContainer.java Sun Mar 17 18:49:45 2013 @@ -85,7 +85,7 @@ public class TestWsWebSocketContainer ex ContainerProvider.getWebSocketContainer(); Session wsSession = wsContainer.connectToServer(TesterProgrammaticEndpoint.class, ClientEndpointConfig.Builder.create().build(), -new URI("http://localhost:"; + getPort() + +new URI("ws://localhost:" + getPort() + TesterEchoServer.Config.PATH_ASYNC)); CountDownLatch latch = new CountDownLatch(1); BasicText handler = new BasicText(latch); @@ -135,7 +135,7 @@ public class TestWsWebSocketContainer ex ContainerProvider.getWebSocketContainer(); wsContainer.connectToServer(TesterProgrammaticEndpoint.class, ClientEndpointConfig.Builder.create().build(), -new URI("http://"; + TesterEchoServer.Config.PATH_ASYNC)); +new URI("ws://" + TesterEchoServer.Config.PATH_ASYNC)); } @@ -223,7 +223,7 @@ public class TestWsWebSocketContainer ex Session wsSession = wsContainer.connectToServer(TesterProgrammaticEndpoint.class, ClientEndpointConfig.Builder.create().build(), -new URI("http://localhost:"; + getPort() + +new URI("ws://localhost:" + getPort() + TesterEchoServer.Config.PATH_BASIC)); BasicHandler handler; CountDownLatch latch = new CountDownLatch(1); @@ -294,7 +294,7 @@ public class TestWsWebSocketContainer ex Session wsSession = wsContainer.connectToServer(TesterProgrammaticEndpoint.class, ClientEndpo
[Bug 54709] Official schemes for WebSocket are "ws"/"wss"; WsWebSocketContainer only allows "http"/"https"
https://issues.apache.org/bugzilla/show_bug.cgi?id=54709 Mark Thomas changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #1 from Mark Thomas --- Thanks for the report. I fixed this with a slightly different patch. http/https are now not permitted for WebSocket URIs. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1457515 - /tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java
Author: markt Date: Sun Mar 17 18:51:06 2013 New Revision: 1457515 URL: http://svn.apache.org/r1457515 Log: Don't re-throw exception if we can't send the close message. Use onError. Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java?rev=1457515&r1=1457514&r2=1457515&view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java Sun Mar 17 18:51:06 2013 @@ -352,7 +352,7 @@ public class WsSession implements Sessio // deal with the Exception log.error(sm.getString("wsSession.sendCloseFail"), ioe); wsRemoteEndpoint.close(); -throw ioe; +localEndpoint.onError(this, ioe); } finally { webSocketContainer.unregisterSession( localEndpoint.getClass(), this); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54709] Official schemes for WebSocket are "ws"/"wss"; WsWebSocketContainer only allows "http"/"https"
https://issues.apache.org/bugzilla/show_bug.cgi?id=54709 --- Comment #2 from Nick Williams --- Note one potential problem: if (port == -1) { if ("ws".equalsIgnoreCase(scheme)) { sa = new InetSocketAddress(host, 80); } else { // TODO HTTPS support // sa = new InetSocketAddress(host, 443); throw new DeploymentException("TODO: HTTPS"); } } else { sa = new InetSocketAddress(host, port); } Now, I understand that SSL support is not complete yet, but as-written this won't allow customization of the port when connecting via SSL (wss). It is imperative that this be allowed (consider port 8443 as an example). Suggestion: if ("ws".equalsIgnoreCase(scheme)) { if (port == -1) { port = 80; } sa = new InetSocketAddress(host, port); } else { if (port == -1) { port = 443; } // TODO HTTPS support // sa = new InetSocketAddress(host, port); throw new DeploymentException("TODO: HTTPS"); } Of course, you may be planning on doing that anyway when you complete SSL support. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54709] Official schemes for WebSocket are "ws"/"wss"; WsWebSocketContainer only allows "http"/"https"
https://issues.apache.org/bugzilla/show_bug.cgi?id=54709 --- Comment #3 from Mark Thomas --- (In reply to comment #2) > Note one potential problem: I must be being blind. What is the problem here? -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54712] Prefer Locale.ENGLISH over Locale.US for case conversion
https://issues.apache.org/bugzilla/show_bug.cgi?id=54712 --- Comment #2 from Sebb --- (In reply to comment #1) > Note: The provided patch is against trunk rather than 7.0.x/trunk. Oops! Sorry, my IDE project was named when trunk was 7.0.x and I forgot to update it. > This change has been made to trunk and 7.0.x and will be included in 7.0.39 > onwards. Thanks! -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1457528 - /tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java
Author: markt Date: Sun Mar 17 19:24:33 2013 New Revision: 1457528 URL: http://svn.apache.org/r1457528 Log: Follow up to r1457515 Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java?rev=1457528&r1=1457527&r2=1457528&view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java Sun Mar 17 19:24:33 2013 @@ -322,11 +322,7 @@ public class WsSession implements Sessio state = State.CLOSED; if (sendCloseMessage) { -try { -sendCloseMessage(closeReason); -} catch (IOException ioe) { -log.error(sm.getString("wsSession.sendCloseFail"), ioe); -} +sendCloseMessage(closeReason); } // Close the socket @@ -335,7 +331,7 @@ public class WsSession implements Sessio } -private void sendCloseMessage(CloseReason closeReason) throws IOException { +private void sendCloseMessage(CloseReason closeReason) { // 125 is maximum size for the payload of a control message ByteBuffer msg = ByteBuffer.allocate(125); msg.putShort((short) closeReason.getCloseCode().getCode()); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1457529 - /tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java
Author: markt Date: Sun Mar 17 19:25:38 2013 New Revision: 1457529 URL: http://svn.apache.org/r1457529 Log: Fix parsing of HTTP headers. The parser was reading beyond the end of the HTTP response and swallowing and pipe-lined WebSocket messages. Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java?rev=1457529&r1=1457528&r2=1457529&view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java Sun Mar 17 19:25:38 2013 @@ -76,7 +76,6 @@ public class WsWebSocketContainer private int processPeriod = 10; - @Override public Session connectToServer(Object pojo, URI path) throws DeploymentException { @@ -410,7 +409,7 @@ public class WsWebSocketContainer Future written = channel.read(response); written.get(); response.flip(); -while (response.hasRemaining()) { +while (response.hasRemaining() && !readHeaders) { if (line == null) { line = readLine(response); } else { @@ -470,9 +469,12 @@ public class WsWebSocketContainer StringBuilder sb = new StringBuilder(); char c = 0; -while (response.hasRemaining() && c != 10) { +while (response.hasRemaining()) { c = (char) response.get(); sb.append(c); +if (c == 10) { +break; +} } return sb.toString(); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54709] Official schemes for WebSocket are "ws"/"wss"; WsWebSocketContainer only allows "http"/"https"
https://issues.apache.org/bugzilla/show_bug.cgi?id=54709 --- Comment #4 from Nick Williams --- If SSL support is completed by commenting out: sa = new InetSocketAddress(host, 443); Then if someone specifies a URL: wss://localhost:8443/webSocketEndpoint The code will attempt to connect to this instead: wss://localhost:443/webSocketEndpoint -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
buildbot failure in ASF Buildbot on tomcat-trunk
The Buildbot has detected a new failure on builder tomcat-trunk while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/tomcat-trunk/builds/4096 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1456863 Blamelist: BUILD FAILED: failed compile sincerely, -The Buildbot - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54709] Official schemes for WebSocket are "ws"/"wss"; WsWebSocketContainer only allows "http"/"https"
https://issues.apache.org/bugzilla/show_bug.cgi?id=54709 --- Comment #5 from Nick Williams --- Scratch that previous comment. I was the one that was blind. Your code will work fine. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
buildbot success in ASF Buildbot on tomcat-trunk
The Buildbot has detected a restored build on builder tomcat-trunk while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/tomcat-trunk/builds/4097 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1456872 Blamelist: Build succeeded! sincerely, -The Buildbot - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1457554 - /tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java
Author: markt Date: Sun Mar 17 20:31:58 2013 New Revision: 1457554 URL: http://svn.apache.org/r1457554 Log: Need to pass query string to server too. Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java?rev=1457554&r1=1457553&r2=1457554&view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java Sun Mar 17 20:31:58 2013 @@ -170,7 +170,7 @@ public class WsWebSocketContainer clientEndpointConfiguration.getConfigurator(). beforeRequest(reqHeaders); -ByteBuffer request = createRequest(path.getRawPath(), reqHeaders); +ByteBuffer request = createRequest(path, reqHeaders); SocketAddress sa; if (port == -1) { @@ -343,13 +343,18 @@ public class WsWebSocketContainer } -private ByteBuffer createRequest(String rawPath, +private ByteBuffer createRequest(URI uri, Map> reqHeaders) { ByteBuffer result = ByteBuffer.allocate(4 * 1024); // Request line result.put("GET ".getBytes(iso88591)); -result.put(rawPath.getBytes(iso88591)); +result.put(uri.getRawPath().getBytes(iso88591)); +String query = uri.getRawQuery(); +if (query != null) { +result.put((byte) '?'); +result.put(query.getBytes(iso88591)); +} result.put(" HTTP/1.1\r\n".getBytes(iso88591)); // Headers - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1457637 - /tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java
Author: kkolinko Date: Mon Mar 18 04:38:05 2013 New Revision: 1457637 URL: http://svn.apache.org/r1457637 Log: Review of r1457429: Make logic more clear. No functional change. Modified: tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java Modified: tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java?rev=1457637&r1=1457636&r2=1457637&view=diff == --- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java Mon Mar 18 04:38:05 2013 @@ -174,7 +174,7 @@ public class PojoMethodMapping { if (m == null) { return new PojoPathParam[0]; } -boolean foundThrowable = !isOnError; +boolean foundThrowable = false; Class[] types = m.getParameterTypes(); Annotation[][] paramsAnnotations = m.getParameterAnnotations(); PojoPathParam[] result = new PojoPathParam[types.length]; @@ -201,7 +201,7 @@ public class PojoMethodMapping { } } } -if (!foundThrowable) { +if (isOnError && !foundThrowable) { throw new IllegalArgumentException(sm.getString( "pojoMethodMapping.onErrorNoThrowable", m.getName(), m.getClass().getName())); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1457403 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/util/http/parser/HttpParser.java
2013/3/17 : > Author: markt > Date: Sun Mar 17 09:33:41 2013 > New Revision: 1457403 > > URL: http://svn.apache.org/r1457403 > Log: > There was a reason mark/reset was used here. Restore use of mark/reset and > add a comment. > > Modified: > tomcat/tc7.0.x/trunk/ (props changed) > > tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java > > Propchange: tomcat/tc7.0.x/trunk/ > -- > Merged /tomcat/trunk:r1457402 > > Modified: > tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java > URL: > http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java?rev=1457403&r1=1457402&r2=1457403&view=diff > == > --- > tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java > (original) > +++ > tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/parser/HttpParser.java > Sun Mar 17 09:33:41 2013 > @@ -366,9 +366,12 @@ public class HttpParser { > private static String readTokenOrQuotedString(StringReader input, > boolean returnQuoted) throws IOException { > > +// Use mark/reset as skip(-1) fails when reading the last character > of > +// the input > +input.mark(1); > int c = input.read(); > -// Skip back so first character is available to be read again > -input.skip(-1); > +// Go back so first character is available to be read again > +input.reset(); > > if (c == '"') { > return readQuotedString(input, returnQuoted); > I read the docs, but I missed this bug. Thanks for fixing. It was obvious that if (c==-1) then skip(-1) will fail. The issue that I missed and that is apparently fixed here is that if c was the last valid char of the string then skip(-1) will fail. I think this needs a test case (a 1-char token at the end of the string). There are also several other places where skip() is used in that class... Best regards, Konstantin Kolinko - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54715] New: WebSocket implementation never calls ServerEndpointConfig.Configurator#modifyHandshake()
https://issues.apache.org/bugzilla/show_bug.cgi?id=54715 Bug ID: 54715 Summary: WebSocket implementation never calls ServerEndpointConfig.Configurator#modifyHandshake() Product: Tomcat 8 Version: trunk Hardware: All OS: All Status: NEW Severity: critical Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: nicho...@nicholaswilliams.net Classification: Unclassified Created attachment 30062 --> https://issues.apache.org/bugzilla/attachment.cgi?id=30062&action=edit Patch to address issue If an endpoint is configured with a custom ServerEndpointConfig.Configurator, the modifyHandshake() method never gets called. Other methods do, but this one does not. I have attached a patch to revise this. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54715] WebSocket implementation never calls ServerEndpointConfig.Configurator#modifyHandshake()
https://issues.apache.org/bugzilla/show_bug.cgi?id=54715 Nick Williams changed: What|Removed |Added Attachment #30062|0 |1 is patch|| Attachment #30062|application/octet-stream|text/plain mime type|| -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54716] New: WebSocket implementation "freaks out" if Session closed or exception thrown from onOpen method
https://issues.apache.org/bugzilla/show_bug.cgi?id=54716 Bug ID: 54716 Summary: WebSocket implementation "freaks out" if Session closed or exception thrown from onOpen method Product: Tomcat 8 Version: trunk Hardware: All OS: All Status: NEW Severity: major Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: nicho...@nicholaswilliams.net Classification: Unclassified If Session#close() is called from an onOpen method, the container throws a NullPointerException, as evidenced below: Mar 17, 2013 10:57:50 PM org.apache.coyote.AbstractProtocol$AbstractConnectionHandler process SEVERE: Error reading request, ignored java.lang.IllegalArgumentException: Failed to call onOpen method of POJO end point for POJO of type [com.wrox.chat.ChatEndpoint] at org.apache.tomcat.websocket.pojo.PojoEndpointBase.doOnOpen(PojoEndpointBase.java:54) at org.apache.tomcat.websocket.pojo.PojoEndpointServer.onOpen(PojoEndpointServer.java:69) at org.apache.tomcat.websocket.server.WsProtocolHandler.init(WsProtocolHandler.java:107) at org.apache.coyote.http11.upgrade.AbstractProcessor.(AbstractProcessor.java:51) at org.apache.coyote.http11.upgrade.NioProcessor.(NioProcessor.java:31) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.createUpgradeProcessor(Http11NioProtocol.java:309) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:634) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1581) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1540) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:487) at org.apache.tomcat.websocket.pojo.PojoEndpointBase.doOnOpen(PojoEndpointBase.java:51) ... 12 more Caused by: java.lang.NullPointerException at org.apache.tomcat.websocket.BackgroundProcessManager.unregister(BackgroundProcessManager.java:75) at org.apache.tomcat.websocket.WsWebSocketContainer.unregisterSession(WsWebSocketContainer.java:283) at org.apache.tomcat.websocket.server.WsServerContainer.unregisterSession(WsServerContainer.java:283) at org.apache.tomcat.websocket.WsSession.sendCloseMessage(WsSession.java:357) at org.apache.tomcat.websocket.WsSession.close(WsSession.java:305) at com.wrox.chat.ChatEndpoint.onOpen(ChatEndpoint.java:54) ... 17 more If this or any other exceptions are thrown from an onOpen method, even if the session isn't closed, Tomcat starts randomly rejecting a handful of requests with no explanation in the logs, and on shut down dozens of these errors appear on stderr: Mar 17, 2013 11:22:11 PM org.apache.tomcat.util.modeler.Registry unregisterComponent SEVERE: Error unregistering mbean javax.management.RuntimeOperationsException: Object name cannot be null at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.isRegistered(DefaultMBeanServerInterceptor.java:569) at com.sun.jmx.mbeanserver.JmxMBeanServer.isRegistered(JmxMBeanServer.java:628) at org.apache.tomcat.util.modeler.Registry.unregisterComponent(Registry.java:420) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.unregister(AbstractProtocol.java:768) at org.apache.coyote.AbstractProtocol$RecycledProcessors.clear(AbstractProtocol.java:820) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.recycle(AbstractProtocol.java:578) at org.apache.tomcat.util.net.NioEndpoint.releaseCaches(NioEndpoint.java:318) at org.apache.tomcat.util.net.NioEndpoint.unbind(NioEndpoint.java:481) at org.apache.tomcat.util.net.AbstractEndpoint.destroy(AbstractEndpoint.java:675) at org.apache.coyote.AbstractProtocol.destroy(AbstractProtocol.java:522) at org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1020) at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305) at org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:584) at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305) at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:835) at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java