Bug report for Taglibs [2014/06/22]

2014-06-22 Thread bugzilla
+---+
| 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]

2014-06-22 Thread bugzilla
+---+
| 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]

2014-06-22 Thread bugzilla
+---+
| 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]

2014-06-22 Thread bugzilla
+---+
| 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|

Bug report for Tomcat 6 [2014/06/22]

2014-06-22 Thread bugzilla
+---+
| 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|

Bug report for Tomcat Modules [2014/06/22]

2014-06-22 Thread bugzilla
+---+
| 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]

2014-06-22 Thread bugzilla
+---+
| 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

2014-06-22 Thread kkolinko
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=1604574r1=1604573r2=1604574view=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

2014-06-22 Thread kkolinko
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=1604586r1=1604585r2=1604586view=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

2014-06-22 Thread kkolinko
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=1604591r1=1604590r2=1604591view=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

2014-06-22 Thread kkolinko
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=1604595r1=1604594r2=1604595view=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.
+ *
+ * p
+ * 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

2014-06-22 Thread buildbot
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.

2014-06-22 Thread bugzilla
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

2014-06-22 Thread kkolinko
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=1604605r1=1604604r2=1604605view=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=1604605r1=1604604r2=1604605view=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 @@
 codeMapper$ContextList/code when stopping Contexts. (kkolinko)
   /fix
   fix
+bug56657/bug: When using parallel deployment, if the same session 
id
+matches different versions of a web application, prefer the latest
+version. (kkolinko)
+  /fix
+  fix
 Assert that mapping result object is empty before performing mapping
 work in codeMapper/code. (kkolinko)
   /fix



-
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

2014-06-22 Thread kkolinko
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=1604607r1=1604606r2=1604607view=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=1604607r1=1604606r2=1604607view=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 @@
 codeMethod.isAnnotationPresent()/code. Based on a patch by Jian 
Mou.
 (markt/kkolinko)
   /scode
+  fix
+bug56657/bug: When using parallel deployment, if the same session 
id
+matches different versions of a web application, prefer the latest
+version. (kkolinko)
+  /fix
 /changelog
   /subsection
   subsection name=Coyote



-
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

2014-06-22 Thread buildbot
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.

2014-06-22 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56657

Konstantin Kolinko knst.koli...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
 OS||All

--- Comment #1 from Konstantin Kolinko knst.koli...@gmail.com ---
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

2014-06-22 Thread bugzilla
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-22 Thread Konstantin Kolinko
2014-06-19 23:21 GMT+04:00 Christopher Schultz ch...@christopherschultz.net:
 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

2014-06-22 Thread buildbot
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-22 Thread Konstantin Kolinko
2014-06-20 23:59 GMT+04:00 Violeta Georgieva miles...@gmail.com:
 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

2014-06-22 Thread buildbot
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.

2014-06-22 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56657

--- Comment #2 from Konstantin Kolinko knst.koli...@gmail.com ---
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

2014-06-22 Thread kkolinko
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=1604661r1=1604660r2=1604661view=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=1604661r1=1604660r2=1604661view=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 @@
   fix
 bug56657/bug: 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)
   /fix
   fix
 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

2014-06-22 Thread kkolinko
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=1604662r1=1604661r2=1604662view=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=1604662r1=1604661r2=1604662view=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 @@
   fix
 bug56657/bug: 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)
   /fix
 /changelog
   /subsection



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: 

[Bug 56657] Parallel deployment. If sessionid belongs to the latest version of webapp, use the latest version.

2014-06-22 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56657

--- Comment #3 from Konstantin Kolinko knst.koli...@gmail.com ---
(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

2014-06-22 Thread kkolinko
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=1604663r1=1604662r2=1604663view=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);
-pos = 

svn commit: r1604667 - /tomcat/tc6.0.x/trunk/STATUS.txt

2014-06-22 Thread kkolinko
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=1604667r1=1604666r2=1604667view=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

2014-06-22 Thread buildbot
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

2014-06-22 Thread kkolinko
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=1604676r1=1604675r2=1604676view=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

2014-06-22 Thread kkolinko
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 (pos0) 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=1604677r1=1604676r2=1604677view=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( pos30 ) {
-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 codenull/code.
+ * @see #find(MapElement[], String)
+ */
+private static final E extends MapElement 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

2014-06-22 Thread kkolinko
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=1604678r1=1604677r2=1604678view=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

2014-06-22 Thread kkolinko
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=1604680r1=1604679r2=1604680view=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( pos30 ) {
-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

2014-06-22 Thread kkolinko
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=1604682r1=1604681r2=1604682view=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

2014-06-22 Thread kkolinko
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=1604683r1=1604682r2=1604683view=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( pos30 ) {
-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;
-int pos3 

svn commit: r1604685 - /tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/mapper/Mapper.java

2014-06-22 Thread kkolinko
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=1604685r1=1604684r2=1604685view=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

2014-06-22 Thread buildbot
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