Bug report for Taglibs [2014/06/22]
+---+ | 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 | |55609|New|Enh|2013-09-28|c:forEach loop on integer range consumes unnecessa| +-+---+---+--+--+ | Total6 bugs | +---+ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Bug report for Tomcat 8 [2014/06/22]
+---+ | 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| |54503|New|Enh|2013-01-29|SAML2 based single sign on| |54700|New|Enh|2013-03-15|Improvement: Add support for system property to sp| |54741|New|Enh|2013-03-22|Add org.apache.catalina.startup.Tomcat#addWebapp(S| |55006|New|Enh|2013-05-22|Add http proxy support for ClientEndpoint using sy| |55243|New|Enh|2013-07-11|Add special search string for nested roles| |55252|New|Enh|2013-07-12|Separate Ant and command-line wrappers for JspC | |55383|New|Enh|2013-08-07|Improve markup and design of Tomcat's HTML pages | |55479|New|Enh|2013-08-24|JSR 196 (JASPIC) support in Tomcat| |9|New|Enh|2013-09-14|UserDatabaseRealm enhacement: may use local JNDI | |55675|New|Enh|2013-10-18|Checking and handling invalid configuration option| |55770|New|Enh|2013-11-12|Allow the crlFile to be reloaded | |55788|New|Enh|2013-11-16|TagPlugins should key on tag QName rather than imp| |55884|Ver|Maj|2013-12-14|JSPs no longer compile in Java 8 | |55917|New|Nor|2013-12-20|Cookie parsing fails hard with ISO-8859-1 values | |55918|New|Nor|2013-12-21|CTL characters may appear in quoted values for RFC| |55920|New|Enh|2013-12-22|Quotes should not be removed from quoted cookie va| |55921|New|Nor|2013-12-22|Cookie values in JSON format are not skipped corre| |55951|New|Enh|2014-01-04|HTML5 specifies UTF-8 encoding for cookie values | |55969|New|Enh|2014-01-07|Security-related enhancements to the Windows Insta| |55984|New|Nor|2014-01-10|Invalid V1 cookie generated if value contains sepa| |55988|New|Enh|2014-01-11|Add parameter useCipherSuitesOrder to JSSE (BIO an| |56079|New|Enh|2014-01-28|Digitally sign the Windows binaries | |56166|New|Enh|2014-02-20|Suggestions for exception handling (avoid potentia| |56323|New|Enh|2014-03-27|Include service .bat scripts with Microsoft Window| |56361|New|Enh|2014-04-08|org.apache.tomcat.websocket.WsWebSocketContainer#b| |56393|New|Enh|2014-04-11|Implement RFC6265 for Cookie parsing | |56394|New|Enh|2014-04-11|Allow cookie-parsing to be pluggable | |56397|New|Enh|2014-04-11|Establish parallel Maven-based build process | |56398|New|Enh|2014-04-11|Support Arquillian-based unit testing | |56399|New|Enh|2014-04-11|Re-factor request/response recycling so Coyote and| |56401|New|Enh|2014-04-11|Log version information on startup| |56402|New|Enh|2014-04-11|Add support for HTTP Upgrade to AJP components| |56403|New|Enh|2014-04-11|Support pluggable password-derivation in Realms | |56448|New|Enh|2014-04-23|Implement a robust solution for client initiated S| |56530|New|Enh|2014-05-15|WebappClassLoader.loadClass synchronization issue | |56546|New|Enh|2014-05-19|Improve thread trace logging in WebappClassLoader.| |56551|New|Enh|2014-05-21|Increase timeouts in CometChat example| |56650|New|Enh|2014-06-20|Websockets session replication support| |56652|New|Nor|2014-06-20|EL defineFunction does not support method signatur| +-+---+---+--+--+ | Total 42 bugs | +---+ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Bug report for Tomcat Connectors [2014/06/22]
+---+ | 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| |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_| |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 | |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 path functionality truncates last charact| |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 or True in| |54923|New|Nor|2013-05-03|nsapi_redirect.so does not work with iPlanet on So| |56005|New|Nor|2014-01-14|ISAPI redirector WEB-INF/META-INF Path Check false| |56452|New|Nor|2014-04-24|IPv6 address and log level debug caused crash | |56489|New|Enh|2014-05-05|Include a directory for configuration files | |56576|New|Enh|2014-05-29|Websocket support | |56618|New|Nor|2014-06-13|Can not set Hostname property to IPv6 address usin| +-+
Bug report for Tomcat 7 [2014/06/22]
+---+ | 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 | | | | | | | |18500|New|Enh|2003-03-30|Host aliases to match by regular expression | |28039|Opn|Enh|2004-03-30|Cluster Support for SingleSignOn | |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| |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 [PATCH/Contribution] | |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| |50944|Ver|Blk|2011-03-18|JSF: java.lang.NullPointerException at com.sun.fac| |51195|New|Enh|2011-05-13|"Find leaks" reports a false positive memory/class| |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| |51587|New|Enh|2011-07-29|Implement status and uptime commands | |51953|New|Enh|2011-10-04|Proposal: netmask filtering valve and filter [PATC| |52235|New|Enh|2011-11-23|Please do a bit of SEO tuning for the web site| |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 | |52688|New|Enh|2012-02-16|Add ability to remove old access log files [PATCHE| |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 | |53620|New|Enh|2012-07-30|[juli] delay opening a file until something gets l| |54330|New|Enh|2012-12-19|Patch with some refactoring of Member.java [PATCH | |54499|New|Enh|2013-01-29|Implementation of Extensible EL Interpreter | |54618|New|Enh|2013-02-28|Add filter implementing HTTP Strict Transport Secu| |54802|New|Enh|2013-04-04|Provide location information for exceptions thrown| |55104|New|Enh|2013-06-16|Allow passing arguments with spaces to Commons Dae| |55470|New|Enh|2013-08-23|Help users for ClassNotFoundExceptions during star| |55477|New|Enh|2013-08-23|Add a solution to map an realm name to a security | |55662|New|Enh|2013-10-17|Add a way to set an instance of java.sql.Driver di| |55943|Opn|Enh|2014-01-01|Provide a way prevent looking at the System class| |56148|New|Enh|2014-02-17|support (multiple) ocsp stapling | |56181|New|Enh|2014-02-23|RemoteIpValve & RemoteIpFilter: HttpServletRequest| |56300|New|Enh|2014-03-22|[Tribes] No useful examples, lack of documentation| |56438|New|Enh|2014-04-21|If jar scan does not find context config or TLD co| |56543|New|Nor|2014-05-19|Jasper fails to compile JSP pages when running wit| |56614|New|Enh|2014-06-12|Add a switch to ignore annotations detection on ta| |56640|Inf|Nor|2014-06-18|request.isAsyncSupported wrongly returns false| |56649|
Bug report for Tomcat 6 [2014/06/22]
+---+ | 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| |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 | |44312|Opn|Enh|2008-01-28|Warn when overwritting docBase of the default Host| |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| |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| |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|Opn|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| |46558|Opn|Enh|2009-01-19|Shutdown port with address binding| |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| |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| |50677|Opn|Enh|2011-01-27|Allow system property variables in catalina.proper| |50692|New|Enh|2011-01-31|Improve log message in ThreadPool.logFull | |51142|New|Enh|2011-05-03|Offer possible resolution of StringIndexOutOfBound| |51513|
Bug report for Tomcat Modules [2014/06/22]
+---+ | 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| |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| |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| |54929|New|Nor|2013-05-05|jdbc-pool cannot be used with Java 1.5, "java.lang| |54978|New|Nor|2013-05-15|Validate on Borrow should be tested on Reconnect i| |55078|New|Nor|2013-06-07|Configuring a DataSource Resource with dataSourceJ| |55444|New|Nor|2013-08-18|Support JDBC Drivers outside of tomcat/lib/ | |56046|New|Enh|2014-01-21|org.apache.tomcat.jdbc.pool.XADataSource InitSQL p| |56088|New|Maj|2014-01-29|AbstractQueryReport$StatementProxy throws exceptio| |56310|Inf|Maj|2014-03-25|PooledConnection and XAConnection not handled corr| |56318|Opn|Maj|2014-03-26|Oracle DB cursors are leaking when using org.apach| |56586|New|Nor|2014-06-02|initSQL should be committed if defaultAutoCommit =| +-+---+---+--+--+ | Total 30 bugs | +---+ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Bug report for Tomcat Native [2014/06/22]
+---+ | 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 | | | | | | | |48655|Inf|Nor|2010-02-02|Active multipart downloads prevent tomcat shutdown| |49038|Inf|Nor|2010-04-02|Crash in tcnative | |52319|Inf|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| |53605|Inf|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+ | |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| |55087|New|Cri|2013-06-10|tomcat crashes in tcnative-1.dll with OCSP when OC| |55113|Inf|Nor|2013-06-18|FIPS-compatible OpenSSL fails fingerprint test in | |55114|New|Nor|2013-06-18|BUILDING file in win32 source package contains UNI| |55706|New|Nor|2013-10-25|broken apr version check in native v1.1.29 build; | |55771|New|Maj|2013-11-12|Memory leak and then crash in org.apache.tomcat.jn| |55797|Inf|Nor|2013-11-19|Tomcat 7.0.47 crashes using server jvm.dll and APR| |55938|New|Nor|2013-12-29|clang-analyzer report for 1.1.29 | |56108|New|Nor|2014-02-04|Allow user-defined Diffie-Hellman parameters | |56313|New|Maj|2014-03-25|Tomcat 8 crashes in tcnative-1.dll+0x7923 | |56378|New|Nor|2014-04-09|Cert load fails if cert is located in path with no| |56415|New|Maj|2014-04-16|EXCEPTION_ACCESS_VIOLATION (0xc005) in tcnativ| |56423|New|Nor|2014-04-17|Implement "fipsModeGet" method stub in case TCN is| |56596|New|Cri|2014-06-05|OpenSSL 1.0.1g is vulnerable to a man-in-the-middl| +-+---+---+--+--+ | Total 23 bugs | +---+ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1604574 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/connector/CoyoteAdapter.java
Author: kkolinko Date: Sun Jun 22 13:46:58 2014 New Revision: 1604574 URL: http://svn.apache.org/r1604574 Log: Simplify code, no functional change. This makes it clear that setting "mapRequired = true;" and "getMappingData().recycle();" call are always performed together. Backport of r1604484, r1604496 from tomcat/trunk. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1604484-1604496 Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=1604574&r1=1604573&r2=1604574&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Sun Jun 22 13:46:58 2014 @@ -717,11 +717,6 @@ public class CoyoteAdapter implements Ad request.setContext((Context) request.getMappingData().context); request.setWrapper((Wrapper) request.getMappingData().wrapper); -// Single contextVersion therefore no possibility of remap -if (request.getMappingData().contexts == null) { -mapRequired = false; -} - // If there is no context at this point, it is likely no ROOT context // has been deployed if (request.getContext() == null) { @@ -739,7 +734,7 @@ public class CoyoteAdapter implements Ad // Now we have the context, we can parse the session ID from the URL // (if any). Need to do this before we redirect in case we need to // include the session id in the redirect -String sessionID = null; +String sessionID; if (request.getServletContext().getEffectiveSessionTrackingModes() .contains(SessionTrackingMode.URL)) { @@ -760,32 +755,27 @@ public class CoyoteAdapter implements Ad sessionID = request.getRequestedSessionId(); if (mapRequired) { -if (sessionID == null) { -// No session means no possibility of needing to remap -mapRequired = false; -} else { +mapRequired = false; +Object[] contexts = request.getMappingData().contexts; +// Single contextVersion means no need to remap +// No session ID means no possibility of remap +if (contexts != null && sessionID != null) { // Find the context associated with the session -Object[] objs = request.getMappingData().contexts; -for (int i = (objs.length); i > 0; i--) { -Context ctxt = (Context) objs[i - 1]; +for (int i = (contexts.length); i > 0; i--) { +Context ctxt = (Context) contexts[i - 1]; if (ctxt.getManager().findSession(sessionID) != null) { // Was the correct context already mapped? -if (ctxt.equals(request.getMappingData().context)) { -mapRequired = false; -} else { +if (!ctxt.equals(request.getMappingData().context)) { // Set version so second time through mapping the // correct context is found version = ctxt.getWebappVersion(); // Reset mapping request.getMappingData().recycle(); +mapRequired = true; break; } } } -if (version == null) { -// No matching context found. No need to re-map -mapRequired = false; -} } } if (!mapRequired && request.getContext().getPaused()) { - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1604586 - /tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java
Author: kkolinko Date: Sun Jun 22 14:11:02 2014 New Revision: 1604586 URL: http://svn.apache.org/r1604586 Log: Mark Wrapper fields final. Implement a constructor. This backports part of r1604320. Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java?rev=1604586&r1=1604585&r2=1604586&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java Sun Jun 22 14:11:02 2014 @@ -362,13 +362,11 @@ public final class Mapper { Object wrapper, boolean jspWildCard, boolean resourceOnly) { synchronized (context) { -Wrapper newWrapper = new Wrapper(); -newWrapper.object = wrapper; -newWrapper.jspWildCard = jspWildCard; -newWrapper.resourceOnly = resourceOnly; if (path.endsWith("/*")) { // Wildcard wrapper -newWrapper.name = path.substring(0, path.length() - 2); +String name = path.substring(0, path.length() - 2); +Wrapper newWrapper = new Wrapper(name, wrapper, jspWildCard, +resourceOnly); Wrapper[] oldWrappers = context.wildcardWrappers; Wrapper[] newWrappers = new Wrapper[oldWrappers.length + 1]; @@ -381,7 +379,9 @@ public final class Mapper { } } else if (path.startsWith("*.")) { // Extension wrapper -newWrapper.name = path.substring(2); +String name = path.substring(2); +Wrapper newWrapper = new Wrapper(name, wrapper, jspWildCard, +resourceOnly); Wrapper[] oldWrappers = context.extensionWrappers; Wrapper[] newWrappers = new Wrapper[oldWrappers.length + 1]; @@ -390,17 +390,21 @@ public final class Mapper { } } else if (path.equals("/")) { // Default wrapper -newWrapper.name = ""; +Wrapper newWrapper = new Wrapper("", wrapper, jspWildCard, +resourceOnly); context.defaultWrapper = newWrapper; } else { // Exact wrapper +final String name; if (path.length() == 0) { // Special case for the Context Root mapping which is // treated as an exact match -newWrapper.name = "/"; +name = "/"; } else { -newWrapper.name = path; +name = path; } +Wrapper newWrapper = new Wrapper(name, wrapper, jspWildCard, +resourceOnly); Wrapper[] oldWrappers = context.exactWrappers; Wrapper[] newWrappers = new Wrapper[oldWrappers.length + 1]; @@ -1470,6 +1474,13 @@ public final class Mapper { public String name = null; public Object object = null; +public MapElement() { +} + +public MapElement(String name, Object object) { +this.name = name; +this.object = object; +} } @@ -1520,10 +1531,16 @@ public final class Mapper { // Wrapper Inner Class -protected static class Wrapper -extends MapElement { +protected static class Wrapper extends MapElement { -public boolean jspWildCard = false; -public boolean resourceOnly = false; +public final boolean jspWildCard; +public final boolean resourceOnly; + +public Wrapper(String name, /* Wrapper */Object wrapper, +boolean jspWildCard, boolean resourceOnly) { +super(name, wrapper); +this.jspWildCard = jspWildCard; +this.resourceOnly = resourceOnly; +} } } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1604591 - /tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java
Author: kkolinko Date: Sun Jun 22 14:32:31 2014 New Revision: 1604591 URL: http://svn.apache.org/r1604591 Log: Rename constructor argument, to align with actual usage. Modified: tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java Modified: tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java?rev=1604591&r1=1604590&r2=1604591&view=diff == --- tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java (original) +++ tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java Sun Jun 22 14:32:31 2014 @@ -1518,9 +1518,9 @@ public final class Mapper { public MappedWrapper[] extensionWrappers = new MappedWrapper[0]; public int nesting = 0; -public ContextVersion(String name, String path, int slashCount, +public ContextVersion(String version, String path, int slashCount, Context context, WebResourceRoot resources) { -super(name, context); +super(version, context); this.path = path; this.slashCount = slashCount; this.resources = resources; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1604595 - /tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java
Author: kkolinko Date: Sun Jun 22 14:50:54 2014 New Revision: 1604595 URL: http://svn.apache.org/r1604595 Log: A comment Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java?rev=1604595&r1=1604594&r2=1604595&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java Sun Jun 22 14:50:54 2014 @@ -55,7 +55,13 @@ public final class Mapper { protected String defaultHostName = null; /** - * Context associated with this wrapper, used for wrapper mapping. + * ContextVersion associated with this Mapper, used for wrapper mapping. + * + * + * It is used only by Mapper in a Context. Is not used by Mapper in a + * Connector. + * + * @see #setContext(String, String[], javax.naming.Context) */ protected ContextVersion context = new ContextVersion(); - 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/145 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] 1604586 Blamelist: kkolinko BUILD FAILED: failed compile_1 sincerely, -The Buildbot - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 56657] New: Parallel deployment. If sessionid belongs to the latest version of webapp, use the latest version.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56657 Bug ID: 56657 Summary: Parallel deployment. If sessionid belongs to the latest version of webapp, use the latest version. Product: Tomcat 7 Version: 7.0.54 Hardware: PC Status: NEW Severity: normal Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: knst.koli...@gmail.com In 8.0.9, 7.0.54: [1] Reviewing the loop that finds correct web application version by a sessionid. Looking at [1], there shall be a "break;" after line 921. This matters in the following rare scenario: 1. There are several versions of the same web application that are deployed in parallel. 2. The same sessionid is valid both for the latest version and for some older one. 3. Expected result: map request to the latest version of the webapp. Actual result: the latest version will be skipped and the request will be mapped to an older version. [1] http://svn.apache.org/viewvc/tomcat/tc8.0.x/tags/TOMCAT_8_0_9/java/org/apache/catalina/connector/CoyoteAdapter.java?view=markup#l916 -- 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: r1604605 - in /tomcat/trunk: java/org/apache/catalina/connector/CoyoteAdapter.java webapps/docs/changelog.xml
Author: kkolinko Date: Sun Jun 22 16:32:46 2014 New Revision: 1604605 URL: http://svn.apache.org/r1604605 Log: https://issues.apache.org/bugzilla/show_bug.cgi?id=56657 If sessionid belongs to the latest version of webapp, use the latest version. Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=1604605&r1=1604604&r2=1604605&view=diff == --- tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Sun Jun 22 16:32:46 2014 @@ -909,7 +909,7 @@ public class CoyoteAdapter implements Ad for (int i = (contexts.length); i > 0; i--) { Context ctxt = contexts[i - 1]; if (ctxt.getManager().findSession(sessionID) != null) { -// Was the correct context already mapped? +// We found a context. Is it the one that has already been mapped? if (!ctxt.equals(request.getMappingData().context)) { // Set version so second time through mapping the // correct context is found @@ -917,8 +917,8 @@ public class CoyoteAdapter implements Ad // Reset mapping request.getMappingData().recycle(); mapRequired = true; -break; } +break; } } } Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1604605&r1=1604604&r2=1604605&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Sun Jun 22 16:32:46 2014 @@ -67,6 +67,11 @@ Mapper$ContextList when stopping Contexts. (kkolinko) +56657: When using parallel deployment, if the same session id +matches different versions of a web application, prefer the latest +version. (kkolinko) + + Assert that mapping result object is empty before performing mapping work in Mapper. (kkolinko) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1604607 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/connector/CoyoteAdapter.java webapps/docs/changelog.xml
Author: kkolinko Date: Sun Jun 22 16:37:40 2014 New Revision: 1604607 URL: http://svn.apache.org/r1604607 Log: https://issues.apache.org/bugzilla/show_bug.cgi?id=56657 If sessionid belongs to the latest version of webapp, use the latest version. Merged r1604605 from tomcat/trunk. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1604605 Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=1604607&r1=1604606&r2=1604607&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Sun Jun 22 16:37:40 2014 @@ -764,7 +764,7 @@ public class CoyoteAdapter implements Ad for (int i = (contexts.length); i > 0; i--) { Context ctxt = (Context) contexts[i - 1]; if (ctxt.getManager().findSession(sessionID) != null) { -// Was the correct context already mapped? +// We found a context. Is it the one that has already been mapped? if (!ctxt.equals(request.getMappingData().context)) { // Set version so second time through mapping the // correct context is found @@ -772,8 +772,8 @@ public class CoyoteAdapter implements Ad // Reset mapping request.getMappingData().recycle(); mapRequired = true; -break; } +break; } } } Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1604607&r1=1604606&r2=1604607&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Sun Jun 22 16:37:40 2014 @@ -106,6 +106,11 @@ Method.isAnnotationPresent(). Based on a patch by Jian Mou. (markt/kkolinko) + +56657: When using parallel deployment, if the same session id +matches different versions of a web application, prefer the latest +version. (kkolinko) + - 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/146 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] 1604595 Blamelist: kkolinko 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 56657] Parallel deployment. If sessionid belongs to the latest version of webapp, use the latest version.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56657 Konstantin Kolinko changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED OS||All --- Comment #1 from Konstantin Kolinko --- Fixed by r1604605 r1604607 and will be in 7.0.55, 8.0.10 onwards. Tomcat 6 is not affected, it does not implement parallel deployment. -- 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 56658] New: Concurrency issue with wrapper mappings in Mapper
https://issues.apache.org/bugzilla/show_bug.cgi?id=56658 Bug ID: 56658 Summary: Concurrency issue with wrapper mappings in Mapper Product: Tomcat 8 Version: 8.0.8 Hardware: PC Status: NEW Severity: normal Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: knst.koli...@gmail.com When a context starts up, its servlet mappings are registered in a Mapper. The issue is that MapperListener.registerContext() is implemented as [[[ mapper.addContextVersion(...); for (Container container : context.findChildren()) { registerWrapper((Wrapper) container); } ]]] It registers a context first, then registers it wrappers. So there is a time slot when the Context have already been registered in the Mapper, but its Wrappers are not yet registered there. If a request comes it, it can be mapped to a wrong servlet. In CoyoteAdapter.postParseRequest there is code that protects from this issue when a Context is being reloaded. - An "if (request.getContext().getPaused())" check. In case if Context is deployed on an already running server, there is no protection. I think the way to fix this it to amend the Mapper.addContextVersion() method and pass wrapper mappings to it. In this case the Mapper should be create a correct full configuration for a web application at once. Alternatively, we may change the default value of StandardContext.paused flag to be "true" and switch it to "false" when the context has already started up. Alternatively, we may check Context state in CoyoteAdapter.postParseRequest. Can this get rid of the "started" flag? -- 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
Re: Building tcnative on win32 [x86_64, failing]
2014-06-19 23:21 GMT+04:00 Christopher Schultz : > All, > > I'm stuck on trying to get tcnative to build for x86_64. > > When I run nmake with BUILD_CPU=x86_64, I get a bunch of compiler > warnings followed by a linker failure like this (apologies for the lack > of formatting). > > One problem may be that I am running a 32-bit OS: is it possible to > build 64-bit binaries from 32-bit OS? Given the build instructions for > x86_64 for tcnative, I would have imagined that MSVC++ was a > cross-compiler and that I would be able to build IA32, IA64, and x86_64 > all from the same machine. > > Here's the command that I actually ran from my script: > nmake -f NMAKEMakefile BUILD_CPU=%TARGET_ARCH% > "WITH_APR=%MYTEMP%\build\apr" > "WITH_OPENSSL=%MYTEMP%\build\openssl" > APR_DECLARE_STATIC=1 > %TCNATIVE_ENABLE_OCSP% > > This command works when TARGET_ARCH=x86 but fails when TARGET_ARCH=x86_64. > > (...) > > C:\Program Files\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(112) : > warning > C4391: 'size_t strlen(const char *)' : incorrect return type for > intrinsic function, expected 'unsigned int' > C:\Program Files\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(285) : > warning > C4391: 'size_t wcslen(const wchar_t *)' : incorrect return type for > intrinsic f > unction, expected 'unsigned int' > rc /l 0x409 /d "NDEBUG" /i ".\include" /fo > WINXP_X64_DLL_RELEASE\tcnativ > e-1.res .\os\win32\libtcnative.rc > Microsoft (R) Windows (R) Resource Compiler Version 6.1.7600.16385 > Copyright (C) Microsoft Corporation. All rights reserved. > Cross-compilation should be possible. I think Mladen does not own an Itanium CPU to build i64 version of native. I think there either are several versions of the same header file, or an #if block that changes definition of that size type depending on architecture. In any case the good news is that something changed by changing TARGET_ARCH. So that flag is working (in some way). Several notes on previous mails in this thread 1. Please stick to some %Subject%. Changing %Subject% I causes GMail to break the thread. 2. Please do not send .bat files as attachments. Those two mails happened to pass through mailing list server, but were silently rejected by GMail. I do not have them in my inbox. It is lucky that they can be viewed on an archive server. Maybe paste the contents of the bat file into the message text inetead of attaching it? BTW, there exists paste.apache.org, but I have never used it. https://blogs.apache.org/infra/entry/paste_apache_org_sees_the 3. The syntax for using double quotes with SET command is SET "FOO=BAR BAZ" or SET FOO=BAR BAZ We have an example in catalina.bat. 4. Regarding [1], the "license terms" link says that the installed OS version is time-limited (90 days). Be sure to archive your scripts and configuration before the time expires. [1] https://www.modern.ie/en-us/virtualization-tools Best regards, Konstantin Kolinko - 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/203 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1604591 Blamelist: kkolinko BUILD FAILED: failed compile_1 sincerely, -The Buildbot - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Time for 7.0.55
2014-06-20 23:59 GMT+04:00 Violeta Georgieva : > Hi, > > I would like to start preparing Tomcat 7.0.55 for voting this weekend. > If you want to include something in addition to this release, reply here. > Hi! The Mapper issues are taking longer than I anticipated, and I expect myself to be busy on the start of next week. It is impeded by implementation differences (Tomcat 7 has two mappers: in Connector and in Context, Tomcat 8 has one). I would like to backport fixes for 56653 and 56658 to Tomcat 7 (the latter has not been fixed in trunk yet) along with other improvements. I expect that fixing those issues requires changing internal classes of Mapper like I did in r1604319. I think that we are OK with such change, as those are our internal APIs. The Tomcat-Native binaries for Windows are linked to an old version of OpenSSL that has known security issues. Christopher has not yet succeeded in building it. Best regards, Konstantin Kolinko - 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/204 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1604605 Blamelist: kkolinko 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 56657] Parallel deployment. If sessionid belongs to the latest version of webapp, use the latest version.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56657 --- Comment #2 from Konstantin Kolinko --- Additional minor issue in the same place. There is no check that on the second mapping loop the "version" was applied to the same path as on the first loop. If there is the following configuration: ROOT#0 ROOT#latest bar#0 bar#1 Consider that a request for "bar#0" comes in. It performs a remapping loop to select the "0" version. Consider that bar#0 is paused and third remapping loop is required. If both "bar#0" and "bar#1" are undeployed before remapping, the version variable remains "0", but it is being applied to a different path. So it may select ROOT#0 instead of expected ROOT#latest. Given the complexity of configuration to observe this, it is kind of a theoretical issue. -- 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: r1604661 - in /tomcat/trunk: java/org/apache/catalina/connector/CoyoteAdapter.java webapps/docs/changelog.xml
Author: kkolinko Date: Sun Jun 22 22:17:20 2014 New Revision: 1604661 URL: http://svn.apache.org/r1604661 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56657#c2 Ensure that re-mapping selects the context version that we expect. Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=1604661&r1=1604660&r2=1604661&view=diff == --- tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Sun Jun 22 22:17:20 2014 @@ -850,14 +850,13 @@ public class CoyoteAdapter implements Ad request.getMappingData().recycle(); } -boolean mapRequired = true; +// Version for the second mapping loop and +// Context that we expect to get for that version String version = null; +Context versionContext = null; +boolean mapRequired = true; while (mapRequired) { -if (version != null) { -// Once we have a version - that is it -mapRequired = false; -} // This will map the the latest version by default connector.getService().getMapper().map(serverName, decodedURI, version, request.getMappingData()); @@ -899,8 +898,13 @@ public class CoyoteAdapter implements Ad sessionID = request.getRequestedSessionId(); -if (mapRequired) { -mapRequired = false; +mapRequired = false; +if (version != null && request.getContext() == versionContext) { +// We got the version that we asked for. That is it. +} else { +version = null; +versionContext = null; + Context[] contexts = request.getMappingData().contexts; // Single contextVersion means no need to remap // No session ID means no possibility of remap @@ -909,11 +913,13 @@ public class CoyoteAdapter implements Ad for (int i = (contexts.length); i > 0; i--) { Context ctxt = contexts[i - 1]; if (ctxt.getManager().findSession(sessionID) != null) { -// We found a context. Is it the one that has already been mapped? +// We found a context. Is it the one that has +// already been mapped? if (!ctxt.equals(request.getMappingData().context)) { -// Set version so second time through mapping the -// correct context is found +// Set version so second time through mapping +// the correct context is found version = ctxt.getWebappVersion(); +versionContext = ctxt; // Reset mapping request.getMappingData().recycle(); mapRequired = true; @@ -923,6 +929,7 @@ public class CoyoteAdapter implements Ad } } } + if (!mapRequired && request.getContext().getPaused()) { // Found a matching context but it is paused. Mapping data will // be wrong since some Wrappers may not be registered at this Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1604661&r1=1604660&r2=1604661&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Sun Jun 22 22:17:20 2014 @@ -69,7 +69,8 @@ 56657: When using parallel deployment, if the same session id matches different versions of a web application, prefer the latest -version. (kkolinko) +version. Ensure that remapping selects the version that we expect. +(kkolinko) Assert that mapping result object is empty before performing mapping - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1604662 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/connector/CoyoteAdapter.java webapps/docs/changelog.xml
Author: kkolinko Date: Sun Jun 22 22:24:03 2014 New Revision: 1604662 URL: http://svn.apache.org/r1604662 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56657#c2 Ensure that re-mapping selects the context version that we expect. Merged r1604661 from tomcat/trunk. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1604661 Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=1604662&r1=1604661&r2=1604662&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Sun Jun 22 22:24:03 2014 @@ -703,14 +703,13 @@ public class CoyoteAdapter implements Ad request.getMappingData().recycle(); } -boolean mapRequired = true; +// Version for the second mapping loop and +// Context that we expect to get for that version String version = null; +Context versionContext = null; +boolean mapRequired = true; while (mapRequired) { -if (version != null) { -// Once we have a version - that is it -mapRequired = false; -} // This will map the the latest version by default connector.getMapper().map(serverName, decodedURI, version, request.getMappingData()); @@ -754,8 +753,13 @@ public class CoyoteAdapter implements Ad sessionID = request.getRequestedSessionId(); -if (mapRequired) { -mapRequired = false; +mapRequired = false; +if (version != null && request.getContext() == versionContext) { +// We got the version that we asked for. That is it. +} else { +version = null; +versionContext = null; + Object[] contexts = request.getMappingData().contexts; // Single contextVersion means no need to remap // No session ID means no possibility of remap @@ -764,11 +768,13 @@ public class CoyoteAdapter implements Ad for (int i = (contexts.length); i > 0; i--) { Context ctxt = (Context) contexts[i - 1]; if (ctxt.getManager().findSession(sessionID) != null) { -// We found a context. Is it the one that has already been mapped? +// We found a context. Is it the one that has +// already been mapped? if (!ctxt.equals(request.getMappingData().context)) { -// Set version so second time through mapping the -// correct context is found +// Set version so second time through mapping +// the correct context is found version = ctxt.getWebappVersion(); +versionContext = ctxt; // Reset mapping request.getMappingData().recycle(); mapRequired = true; @@ -778,6 +784,7 @@ public class CoyoteAdapter implements Ad } } } + if (!mapRequired && request.getContext().getPaused()) { // Found a matching context but it is paused. Mapping data will // be wrong since some Wrappers may not be registered at this Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1604662&r1=1604661&r2=1604662&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Sun Jun 22 22:24:03 2014 @@ -109,7 +109,8 @@ 56657: When using parallel deployment, if the same session id matches different versions of a web application, prefer the latest -version. (kkolinko) +version. Ensure that remapping selects the version that we expect. +(kkolinko) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 56657] Parallel deployment. If sessionid belongs to the latest version of webapp, use the latest version.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56657 --- Comment #3 from Konstantin Kolinko --- (In reply to Konstantin Kolinko from comment #2) Fixed by r1604661 r1604662 and will be in 7.0.55, 8.0.10 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: r1604663 - in /tomcat/tc7.0.x/trunk: java/org/apache/tomcat/util/http/mapper/Mapper.java webapps/docs/changelog.xml
Author: kkolinko Date: Sun Jun 22 23:05:10 2014 New Revision: 1604663 URL: http://svn.apache.org/r1604663 Log: Assert that MappingData object is empty before performing mapping work. The old code just skipped all work in that case, but I do not see why that would be useful, and it may return inconsistent results. The comet, async, websocket examples do work successfully with this change. It is backport of r1604434 from tomcat/trunk. Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java?rev=1604663&r1=1604662&r2=1604663&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java Sun Jun 22 23:05:10 2014 @@ -726,79 +726,83 @@ public final class Mapper { private final void internalMap(CharChunk host, CharChunk uri, String version, MappingData mappingData) throws Exception { +if (mappingData.host != null) { +// The legacy code (dating down at least to Tomcat 4.1) just +// skipped all mapping work in this case. That behaviour has a risk +// of returning an inconsistent result. +// I do not see a valid use case for it. +throw new AssertionError(); +} + uri.setLimit(-1); -Context[] contexts = null; +Context[] contexts; Context context = null; ContextVersion contextVersion = null; int nesting = 0; // Virtual host mapping -if (mappingData.host == null) { -Host[] hosts = this.hosts; -int pos = findIgnoreCase(hosts, host); -if ((pos != -1) && (host.equalsIgnoreCase(hosts[pos].name))) { +Host[] hosts = this.hosts; +int pos = findIgnoreCase(hosts, host); +if ((pos != -1) && (host.equalsIgnoreCase(hosts[pos].name))) { +mappingData.host = hosts[pos].object; +contexts = hosts[pos].contextList.contexts; +nesting = hosts[pos].contextList.nesting; +} else { +if (defaultHostName == null) { +return; +} +pos = find(hosts, defaultHostName); +if ((pos != -1) && (defaultHostName.equals(hosts[pos].name))) { mappingData.host = hosts[pos].object; contexts = hosts[pos].contextList.contexts; nesting = hosts[pos].contextList.nesting; } else { -if (defaultHostName == null) { -return; -} -pos = find(hosts, defaultHostName); -if ((pos != -1) && (defaultHostName.equals(hosts[pos].name))) { -mappingData.host = hosts[pos].object; -contexts = hosts[pos].contextList.contexts; -nesting = hosts[pos].contextList.nesting; -} else { -return; -} +return; } } // Context mapping -if (mappingData.context == null) { -int pos = find(contexts, uri); -if (pos == -1) { -return; -} +pos = find(contexts, uri); +if (pos == -1) { +return; +} -int lastSlash = -1; -int uriEnd = uri.getEnd(); -int length = -1; -boolean found = false; -while (pos >= 0) { -if (uri.startsWith(contexts[pos].name)) { -length = contexts[pos].name.length(); -if (uri.getLength() == length) { -found = true; -break; -} else if (uri.startsWithIgnoreCase("/", length)) { -found = true; -break; -} -} -if (lastSlash == -1) { -lastSlash = nthSlash(uri, nesting + 1); -} else { -lastSlash = lastSlash(uri); +int lastSlash = -1; +int uriEnd = uri.getEnd(); +int length = -1; +boolean found = false; +while (pos >= 0) { +if (uri.startsWith(contexts[pos].name)) { +length = contexts[pos].name.length(); +if (uri.getLength() == length) { +found = true; +break; +} else if (uri.startsWithIgnoreCase("/", length)) { +found = true; +break; } -uri.setEnd(lastSlash); -
svn commit: r1604667 - /tomcat/tc6.0.x/trunk/STATUS.txt
Author: kkolinko Date: Sun Jun 22 23:18:26 2014 New Revision: 1604667 URL: http://svn.apache.org/r1604667 Log: proposal Modified: tomcat/tc6.0.x/trunk/STATUS.txt Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1604667&r1=1604666&r2=1604667&view=diff == --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Sun Jun 22 23:18:26 2014 @@ -50,6 +50,12 @@ PATCHES PROPOSED TO BACKPORT: +1: markt, kkolinko -1: +* Assert that MappingData object is empty before performing mapping work. + It is backport of r1604663 + https://people.apache.org/~kkolinko/patches/2014-06-23_tc6_Mapper.patch + +1: kkolinko + -1: + PATCHES/ISSUES THAT ARE STALLED: - 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/205 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1604661 Blamelist: kkolinko BUILD FAILED: failed compile_1 sincerely, -The Buildbot - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1604676 - /tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java
Author: kkolinko Date: Mon Jun 23 02:00:13 2014 New Revision: 1604676 URL: http://svn.apache.org/r1604676 Log: Simplify. No need for a local variable that is read once. Modified: tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java Modified: tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java?rev=1604676&r1=1604675&r2=1604676&view=diff == --- tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java (original) +++ tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java Mon Jun 23 02:00:13 2014 @@ -293,8 +293,7 @@ public final class Mapper { log.error("No context found: " + contextPath ); return; } -ContextVersion[] contextVersions = context.versions; -ContextVersion contextVersion = exactFind(contextVersions, version); +ContextVersion contextVersion = exactFind(context.versions, version); if (contextVersion == null) { log.error("No context version found: " + contextPath + " " + version); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1604677 - /tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java
Author: kkolinko Date: Mon Jun 23 02:06:58 2014 New Revision: 1604677 URL: http://svn.apache.org/r1604677 Log: Add exactFind() method. Use it to simplify one of Mapper methods, addWrapper. Fixed error logging there. Old behaviour was to log only "(pos<0)" case. It did not log in wrong-match-found case (wrong name). This backports part of r1604066. Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java?rev=1604677&r1=1604676&r2=1604677&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java Mon Jun 23 02:06:58 2014 @@ -315,35 +315,22 @@ public final class Mapper { public void addWrapper(String hostName, String contextPath, String version, String path, Object wrapper, boolean jspWildCard, boolean resourceOnly) { -Host[] hosts = this.hosts; -int pos = find(hosts, hostName); -if (pos < 0) { +Host host = exactFind(hosts, hostName); +if (host == null) { return; } -Host host = hosts[pos]; -if (host.name.equals(hostName)) { -Context[] contexts = host.contextList.contexts; -int pos2 = find(contexts, contextPath); -if (pos2 < 0) { -log.error("No context found: " + contextPath ); -return; -} -Context context = contexts[pos2]; -if (context.name.equals(contextPath)) { -ContextVersion[] contextVersions = context.versions; -int pos3 = find(contextVersions, version); -if( pos3<0 ) { -log.error("No context version found: " + contextPath + " " + -version); -return; -} -ContextVersion contextVersion = contextVersions[pos3]; -if (contextVersion.name.equals(version)) { -addWrapper(contextVersion, path, wrapper, jspWildCard, -resourceOnly); -} -} +Context context = exactFind(host.contextList.contexts, contextPath); +if (context == null) { +log.error("No context found: " + contextPath); +return; } +ContextVersion contextVersion = exactFind(context.versions, version); +if (contextVersion == null) { +log.error("No context version found: " + contextPath + " " ++ version); +return; +} +addWrapper(contextVersion, path, wrapper, jspWildCard, resourceOnly); } @@ -1283,6 +1270,7 @@ public final class Mapper { * Find a map element given its name in a sorted array of map elements. * This will return the index for the closest inferior or equal item in the * given array. + * @see #exactFind(MapElement[], String) */ private static final int find(MapElement[] map, String name) { @@ -1326,6 +1314,25 @@ public final class Mapper { /** + * Find a map element given its name in a sorted array of map elements. This + * will return the element that you were searching for. Otherwise it will + * return null. + * @see #find(MapElement[], String) + */ +private static final E exactFind(E[] map, +String name) { +int pos = find(map, name); +if (pos >= 0) { +E result = map[pos]; +if (name.equals(result.name)) { +return result; +} +} +return null; +} + + +/** * Compare given char chunk with String. * Return -1, 0 or +1 if inferior, equal, or superior to the String. */ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1604678 - /tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java
Author: kkolinko Date: Mon Jun 23 02:11:08 2014 New Revision: 1604678 URL: http://svn.apache.org/r1604678 Log: Simplify. No need for a local variable that is read once. Modified: tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java Modified: tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java?rev=1604678&r1=1604677&r2=1604678&view=diff == --- tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java (original) +++ tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java Mon Jun 23 02:11:08 2014 @@ -388,8 +388,7 @@ public final class Mapper { if (context == null) { return; } -ContextVersion[] contextVersions = context.versions; -ContextVersion contextVersion = exactFind(contextVersions, version); +ContextVersion contextVersion = exactFind(context.versions, version); if (contextVersion == null) { return; } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1604680 - /tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java
Author: kkolinko Date: Mon Jun 23 02:16:14 2014 New Revision: 1604680 URL: http://svn.apache.org/r1604680 Log: Simplify removeWrapper. This backports part of r1604066. Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java?rev=1604680&r1=1604679&r2=1604680&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java Mon Jun 23 02:16:14 2014 @@ -426,33 +426,21 @@ public final class Mapper { * @param contextPath Context path this wrapper belongs to * @param path Wrapper mapping */ -public void removeWrapper -(String hostName, String contextPath, String version, String path) { -Host[] hosts = this.hosts; -int pos = find(hosts, hostName); -if (pos < 0) { +public void removeWrapper(String hostName, String contextPath, +String version, String path) { +Host host = exactFind(hosts, hostName); +if (host == null) { return; } -Host host = hosts[pos]; -if (host.name.equals(hostName)) { -Context[] contexts = host.contextList.contexts; -int pos2 = find(contexts, contextPath); -if (pos2 < 0) { -return; -} -Context context = contexts[pos2]; -if (context.name.equals(contextPath)) { -ContextVersion[] contextVersions = context.versions; -int pos3 = find(contextVersions, version); -if( pos3<0 ) { -return; -} -ContextVersion contextVersion = contextVersions[pos3]; -if (contextVersion.name.equals(version)) { -removeWrapper(contextVersion, path); -} -} +Context context = exactFind(host.contextList.contexts, contextPath); +if (context == null) { +return; +} +ContextVersion contextVersion = exactFind(context.versions, version); +if (contextVersion == null) { +return; } +removeWrapper(contextVersion, path); } protected void removeWrapper(ContextVersion context, String path) { - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1604682 - /tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java
Author: kkolinko Date: Mon Jun 23 02:25:11 2014 New Revision: 1604682 URL: http://svn.apache.org/r1604682 Log: Simplify. No need for a local variable that is read once. Modified: tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java Modified: tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java?rev=1604682&r1=1604681&r2=1604682&view=diff == --- tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java (original) +++ tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java Mon Jun 23 02:25:11 2014 @@ -480,8 +480,7 @@ public final class Mapper { log.error("No context found: " + contextPath); return; } -ContextVersion[] contextVersions = context.versions; -ContextVersion contextVersion = exactFind(contextVersions, version); +ContextVersion contextVersion = exactFind(context.versions, version); if (contextVersion == null) { log.error("No context version found: " + contextPath + " " + version); @@ -514,8 +513,7 @@ public final class Mapper { log.error("No context found: " + contextPath); return; } -ContextVersion[] contextVersions = context.versions; -ContextVersion contextVersion = exactFind(contextVersions, version); +ContextVersion contextVersion = exactFind(context.versions, version); if (contextVersion == null) { log.error("No context version found: " + contextPath + " " + version); @@ -559,8 +557,7 @@ public final class Mapper { log.error("No context found: " + contextPath); return; } -ContextVersion[] contextVersions = context.versions; -ContextVersion contextVersion = exactFind(contextVersions, version); +ContextVersion contextVersion = exactFind(context.versions, version); if (contextVersion == null) { log.error("No context version found: " + contextPath + " " + version); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1604683 - /tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java
Author: kkolinko Date: Mon Jun 23 02:32:49 2014 New Revision: 1604683 URL: http://svn.apache.org/r1604683 Log: Simplify addWelcomeFile, removeWelcomeFile, clearWelcomeFiles. This backports part of r1604066. Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java?rev=1604683&r1=1604682&r2=1604683&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java Mon Jun 23 02:32:49 2014 @@ -518,42 +518,29 @@ public final class Mapper { */ public void addWelcomeFile(String hostName, String contextPath, String version, String welcomeFile) { -Host[] hosts = this.hosts; -int pos = find(hosts, hostName); -if (pos < 0) { +Host host = exactFind(hosts, hostName); +if (host == null) { return; } -Host host = hosts[pos]; -if (host.name.equals(hostName)) { -Context[] contexts = host.contextList.contexts; -int pos2 = find(contexts, contextPath); -if (pos2 < 0) { -log.error("No context found: " + contextPath ); -return; -} -Context context = contexts[pos2]; -if (context.name.equals(contextPath)) { -ContextVersion[] contextVersions = context.versions; -int pos3 = find(contextVersions, version); -if( pos3<0 ) { -log.error("No context version found: " + contextPath + " " + -version); -return; -} -ContextVersion contextVersion = contextVersions[pos3]; -if (contextVersion.name.equals(version)) { -int len = contextVersion.welcomeResources.length + 1; -String[] newWelcomeResources = new String[len]; -System.arraycopy(contextVersion.welcomeResources, 0, -newWelcomeResources, 0, len - 1); -newWelcomeResources[len - 1] = welcomeFile; -contextVersion.welcomeResources = newWelcomeResources; -} -} +Context context = exactFind(host.contextList.contexts, contextPath); +if (context == null) { +log.error("No context found: " + contextPath); +return; +} +ContextVersion contextVersion = exactFind(context.versions, version); +if (contextVersion == null) { +log.error("No context version found: " + contextPath + " " ++ version); +return; } +int len = contextVersion.welcomeResources.length + 1; +String[] newWelcomeResources = new String[len]; +System.arraycopy(contextVersion.welcomeResources, 0, +newWelcomeResources, 0, len - 1); +newWelcomeResources[len - 1] = welcomeFile; +contextVersion.welcomeResources = newWelcomeResources; } - /** * Remove a welcome file from the given context. * @@ -563,54 +550,41 @@ public final class Mapper { */ public void removeWelcomeFile(String hostName, String contextPath, String version, String welcomeFile) { -Host[] hosts = this.hosts; -int pos = find(hosts, hostName); -if (pos < 0) { +Host host = exactFind(hosts, hostName); +if (host == null) { return; } -Host host = hosts[pos]; -if (host.name.equals(hostName)) { -Context[] contexts = host.contextList.contexts; -int pos2 = find(contexts, contextPath); -if (pos2 < 0) { -log.error("No context found: " + contextPath ); -return; +Context context = exactFind(host.contextList.contexts, contextPath); +if (context == null) { +log.error("No context found: " + contextPath); +return; +} +ContextVersion contextVersion = exactFind(context.versions, version); +if (contextVersion == null) { +log.error("No context version found: " + contextPath + " " ++ version); +return; +} +int match = -1; +for (int i = 0; i < contextVersion.welcomeResources.length; i++) { +if (welcomeFile.equals(contextVersion.welcomeResources[i])) { +match = i; +break; } -Context context = contexts[pos2]; -if (context.name.equals(contextPath)) { -ContextVersion[] contextVersions = context.versions
svn commit: r1604685 - /tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java
Author: kkolinko Date: Mon Jun 23 02:41:38 2014 New Revision: 1604685 URL: http://svn.apache.org/r1604685 Log: Simplify removeContextVersion. This backports part of r1604066. Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java?rev=1604685&r1=1604684&r2=1604685&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java Mon Jun 23 02:41:38 2014 @@ -266,43 +266,34 @@ public final class Mapper { */ public void removeContextVersion(String hostName, String path, String version) { -Host[] hosts = this.hosts; -int pos = find(hosts, hostName); -if (pos < 0) { +Host host = exactFind(hosts, hostName); +if (host == null) { return; } -Host host = hosts[pos]; -if (host.name.equals(hostName)) { -synchronized (host) { -Context[] contexts = host.contextList.contexts; -if (contexts.length == 0 ){ -return; -} - -int pos2 = find(contexts, path); -if (pos2 < 0 || !path.equals(contexts[pos2].name)) { -return; -} -Context context = contexts[pos2]; +synchronized (host) { +Context[] contexts = host.contextList.contexts; +Context context = exactFind(contexts, path); +if (context == null) { +return; +} -ContextVersion[] contextVersions = context.versions; -ContextVersion[] newContextVersions = -new ContextVersion[contextVersions.length - 1]; -if (removeMap(contextVersions, newContextVersions, version)) { -context.versions = newContextVersions; - -if (context.versions.length == 0) { -// Remove the context -Context[] newContexts = new Context[contexts.length -1]; -if (removeMap(contexts, newContexts, path)) { -host.contextList.contexts = newContexts; -// Recalculate nesting -host.contextList.nesting = 0; -for (int i = 0; i < newContexts.length; i++) { -int slashCount = slashCount(newContexts[i].name); -if (slashCount > host.contextList.nesting) { -host.contextList.nesting = slashCount; -} +ContextVersion[] contextVersions = context.versions; +ContextVersion[] newContextVersions = +new ContextVersion[contextVersions.length - 1]; +if (removeMap(contextVersions, newContextVersions, version)) { +context.versions = newContextVersions; + +if (context.versions.length == 0) { +// Remove the context +Context[] newContexts = new Context[contexts.length -1]; +if (removeMap(contexts, newContexts, path)) { +host.contextList.contexts = newContexts; +// Recalculate nesting +host.contextList.nesting = 0; +for (int i = 0; i < newContexts.length; i++) { +int slashCount = slashCount(newContexts[i].name); +if (slashCount > host.contextList.nesting) { +host.contextList.nesting = slashCount; } } } - 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/151 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] 1604685 Blamelist: kkolinko BUILD FAILED: failed compile_1 sincerely, -The Buildbot - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 56659] New: Does Websocket Session can be serialization?
https://issues.apache.org/bugzilla/show_bug.cgi?id=56659 Bug ID: 56659 Summary: Does Websocket Session can be serialization? Product: Tomcat 7 Version: 7.0.53 Hardware: All Status: NEW Severity: normal Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: liushangkun...@hotmail.com Does websocket session can be serialization? when i running tomcat on a cluster, how to manage the all connections at every tomcat instance on my cluster ? 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