Do we still need appweb/installation.html?

2018-09-14 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

All,

This page is ... seriously out of date and probably need editing to
make it useful.

http://tomcat.apache.org/tomcat-9.0-doc/appdev/installation.html

First, it implies that a JDK is required to install Tomcat. Not really
/Tomcat/ per se, since this is the "how to develop applications on
Tomcat" section of the user's guide, but it still seems like the JDK
is a prerequisite for Tomcat itself, rather than a prerequisite for
writing your own applications.

Also, it's false: you can develop and deploy a Tomcat application
without a JDK, as long as you don't need to compile your own .java
files (e.g. pure-JSP is possible).

Second, it mentions CVS as a revision-control system.

ASF has moved one and a half times (some now use git) since using CVS.
Should we really have to tell programmers they need RCS's anymore?

Finally, it's not even linked-to from the top-level documentation. I'm
not even sure how to get to the /appdev/ folder in the documentation.

While we are at it: should
http://tomcat.apache.org/tomcat-9.0-doc/developers.html exist anymore,
either? It's out of sync with http://tomcat.apache.org/whoweare.html
and has been for a very long time.

- -chris
-BEGIN PGP SIGNATURE-
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/

iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAlucGZcACgkQHPApP6U8
pFjX4RAAr5+4ddxwAgXYInMiiiN8JuwhOSgmRnNXU+EI9wVtlI30B7V5dpnkt+dM
OJrmwERFi4+cESMyxMjoXSGPfJeB/skRm8WQ3+YaIWylZNipPFGlUqbj0mAarcqZ
CHMVu+/2f8C1Mn9MdfV38rlBvrieQlzEXekBo7LHQv7448eNrG1/Zk3viNcHBY7C
jk4wdL9PY3AS/iu/K5UsqrKJPg/Lunwog8bbd1kNbhTfFDEsE7mJBQ0xz378QzyW
f0EjBr07cer9OJsPgrl1rNLac2+bpezzKzhYzzlxG+1C9Oi5Cfdi/MDTEQbwNQeL
YRKlSZdDyX/y5+W8/VevS6MFYfbpdoTFaRQkPdbBPZP3AxQ+Dv06qqXpsazcS6Ak
XF5jXTUc/D3G75WsfkFNzyT/o97x0nmHK153/FNY5OxXRK46smwmog7vSCAGcCiy
7tcC3lWIx+yvBne9v7bxuqjg7qEwS97rEk9SS3hxXdzrMuJJOAKpDF4VevjCrUMM
hHTvoY50lrCrQYGrIapj9WRHBR8EKqbnswQKhXUshj9Dv5SYOXNVNMJLqZQUArRa
b8CToFwqdWIlGobvWLMzbzNPaMPEknS4fGZurpU1gf+ZHUKgCOyXanax4uU8dSMm
yLn1UKB2ok8bSBv/Lm4GIcJ61sBlPsx7+ny0/ph9MrjXx8ZKJS8=
=OXor
-END PGP SIGNATURE-

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



[Bug 62723] New: Clarify "channelSendOptions" value in cluster documentation

2018-09-14 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62723

Bug ID: 62723
   Summary: Clarify "channelSendOptions" value in cluster
documentation
   Product: Tomcat 9
   Version: 9.0.12
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: Documentation
  Assignee: dev@tomcat.apache.org
  Reporter: mi...@claborn.net
  Target Milestone: -

Created attachment 36150
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=36150=edit
patch for documentation files

Clarify the results of the "channelSendOptions" attribute of the cluster
definition and the ramifications of throughput and reliability for some common
values. See attached patch file.

-- 
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 62723] Clarify "channelSendOptions" value in cluster documentation

2018-09-14 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62723

Mitch Claborn  changed:

   What|Removed |Added

 CC||mi...@claborn.net

-- 
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 61542] Apache Tomcat Remote Code Execution via JSP Upload bypass

2018-09-14 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=61542

ann chriss  changed:

   What|Removed |Added

 OS||All

--- Comment #13 from ann chriss  ---
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



[GitHub] tomcat pull request #121: restart.bat

2018-09-14 Thread akag98
Github user akag98 closed the pull request at:

https://github.com/apache/tomcat/pull/121


---

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



svn commit: r1840891 - in /tomcat/trunk/java/org/apache/catalina: UserDatabase.java realm/UserDatabaseRealm.java

2018-09-14 Thread markt
Author: markt
Date: Fri Sep 14 07:23:43 2018
New Revision: 1840891

URL: http://svn.apache.org/viewvc?rev=1840891=rev
Log:
Extend background processing to UserDatabase instances

Modified:
tomcat/trunk/java/org/apache/catalina/UserDatabase.java
tomcat/trunk/java/org/apache/catalina/realm/UserDatabaseRealm.java

Modified: tomcat/trunk/java/org/apache/catalina/UserDatabase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/UserDatabase.java?rev=1840891=1840890=1840891=diff
==
--- tomcat/trunk/java/org/apache/catalina/UserDatabase.java (original)
+++ tomcat/trunk/java/org/apache/catalina/UserDatabase.java Fri Sep 14 07:23:43 
2018
@@ -162,4 +162,13 @@ public interface UserDatabase {
  * @exception Exception if any exception is thrown during saving
  */
 public void save() throws Exception;
+
+
+/**
+ * Perform any background processing (e.g. checking for changes in 
persisted
+ * storage) required for the user database.
+ */
+public default void backgroundProcess() {
+// NO-OP by default
+}
 }

Modified: tomcat/trunk/java/org/apache/catalina/realm/UserDatabaseRealm.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/UserDatabaseRealm.java?rev=1840891=1840890=1840891=diff
==
--- tomcat/trunk/java/org/apache/catalina/realm/UserDatabaseRealm.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/realm/UserDatabaseRealm.java Fri Sep 
14 07:23:43 2018
@@ -136,6 +136,12 @@ public class UserDatabaseRealm extends R
 
 // -- Protected Methods
 
+@Override
+public void backgroundProcess() {
+database.backgroundProcess();
+}
+
+
 /**
  * Return the password associated with the given principal's user name.
  */



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



[GitHub] tomcat issue #121: restart.bat

2018-09-14 Thread akag98
Github user akag98 commented on the issue:

https://github.com/apache/tomcat/pull/121
  
Thanks @kkolinko for your review...


---

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



svn commit: r1840892 - /tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java

2018-09-14 Thread markt
Author: markt
Date: Fri Sep 14 07:27:09 2018
New Revision: 1840892

URL: http://svn.apache.org/viewvc?rev=1840892=rev
Log:
Clean-up. No functional change.

Modified:
tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java

Modified: tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java?rev=1840892=1840891=1840892=diff
==
--- tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java Fri Sep 
14 07:27:09 2018
@@ -39,20 +39,20 @@ import org.apache.tomcat.util.res.String
 import org.xml.sax.Attributes;
 
 /**
- * Concrete implementation of {@link UserDatabase} that loads all
- * defined users, groups, and roles into an in-memory data structure,
- * and uses a specified XML file for its persistent storage.
+ * Concrete implementation of {@link UserDatabase} that loads all defined 
users,
+ * groups, and roles into an in-memory data structure, and uses a specified XML
+ * file for its persistent storage.
  *
  * @author Craig R. McClanahan
  * @since 4.1
  */
 public class MemoryUserDatabase implements UserDatabase {
 
-
 private static final Log log = LogFactory.getLog(MemoryUserDatabase.class);
+private static final StringManager sm = 
StringManager.getManager(MemoryUserDatabase.class);
 
-// --- Constructors
 
+// --- Constructors
 
 /**
  * Create a new instance with default values.
@@ -71,73 +71,54 @@ public class MemoryUserDatabase implemen
 this.id = id;
 }
 
-
 // - Instance Variables
 
-
 /**
- * The set of {@link Group}s defined in this database, keyed by
- * group name.
+ * The set of {@link Group}s defined in this database, keyed by group name.
  */
-protected final HashMap groups = new HashMap<>();
-
+protected final HashMap groups = new HashMap<>();
 
 /**
  * The unique global identifier of this user database.
  */
 protected final String id;
 
-
 /**
- * The relative (to catalina.base) or absolute pathname to
- * the XML file in which we will save our persistent information.
+ * The relative (to catalina.base) or absolute pathname to the
+ * XML file in which we will save our persistent information.
  */
 protected String pathname = "conf/tomcat-users.xml";
 
-
 /**
  * The relative or absolute pathname to the file in which our old
  * information is stored while renaming is in progress.
  */
 protected String pathnameOld = pathname + ".old";
 
-
 /**
- * The relative or absolute pathname of the file in which we write
- * our new information prior to renaming.
+ * The relative or absolute pathname of the file in which we write our new
+ * information prior to renaming.
  */
 protected String pathnameNew = pathname + ".new";
 
-
 /**
  * A flag, indicating if the user database is read only.
  */
 protected boolean readonly = true;
 
 /**
- * The set of {@link Role}s defined in this database, keyed by
- * role name.
+ * The set of {@link Role}s defined in this database, keyed by role name.
  */
-protected final HashMap roles = new HashMap<>();
-
-
-/**
- * The string manager for this package.
- */
-private static final StringManager sm =
-StringManager.getManager(Constants.Package);
-
+protected final HashMap roles = new HashMap<>();
 
 /**
- * The set of {@link User}s defined in this database, keyed by
- * user name.
+ * The set of {@link User}s defined in this database, keyed by user name.
  */
-protected final HashMap users = new HashMap<>();
+protected final HashMap users = new HashMap<>();
 
 
 // - Properties
 
-
 /**
  * @return the set of {@link Group}s defined in this user database.
  */
@@ -172,11 +153,9 @@ public class MemoryUserDatabase implemen
  * @param pathname The new pathname
  */
 public void setPathname(String pathname) {
-
 this.pathname = pathname;
 this.pathnameOld = pathname + ".old";
 this.pathnameNew = pathname + ".new";
-
 }
 
 
@@ -194,9 +173,7 @@ public class MemoryUserDatabase implemen
  * @param readonly the new status
  */
 public void setReadonly(boolean readonly) {
-
 this.readonly = readonly;
-
 }
 
 
@@ -222,10 +199,8 @@ public class MemoryUserDatabase implemen
 }
 
 
-
 // - Public Methods
 
-
 /**
  * Finalize access to this user database.

svn commit: r1840887 - /tomcat/trunk/java/org/apache/catalina/realm/UserDatabaseRealm.java

2018-09-14 Thread markt
Author: markt
Date: Fri Sep 14 07:15:31 2018
New Revision: 1840887

URL: http://svn.apache.org/viewvc?rev=1840887=rev
Log:
Clean-up. No functional change.

Modified:
tomcat/trunk/java/org/apache/catalina/realm/UserDatabaseRealm.java

Modified: tomcat/trunk/java/org/apache/catalina/realm/UserDatabaseRealm.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/UserDatabaseRealm.java?rev=1840887=1840886=1840887=diff
==
--- tomcat/trunk/java/org/apache/catalina/realm/UserDatabaseRealm.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/realm/UserDatabaseRealm.java Fri Sep 
14 07:15:31 2018
@@ -14,11 +14,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
 package org.apache.catalina.realm;
 
-
 import java.security.Principal;
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -34,34 +31,29 @@ import org.apache.catalina.UserDatabase;
 import org.apache.catalina.Wrapper;
 import org.apache.tomcat.util.ExceptionUtils;
 
-
 /**
- * Implementation of {@link org.apache.catalina.Realm} that is based on an 
implementation of
- * {@link UserDatabase} made available through the global JNDI resources
- * configured for this instance of Catalina.  Set the resourceName
- * parameter to the global JNDI resources name for the configured instance
- * of UserDatabase that we should consult.
+ * Implementation of {@link org.apache.catalina.Realm} that is based on an
+ * implementation of {@link UserDatabase} made available through the global 
JNDI
+ * resources configured for this instance of Catalina. Set the
+ * resourceName parameter to the global JNDI resources name for 
the
+ * configured instance of UserDatabase that we should consult.
  *
  * @author Craig R. McClanahan
  * @since 4.1
  */
-public class UserDatabaseRealm
-extends RealmBase {
-
+public class UserDatabaseRealm extends RealmBase {
 
 // - Instance Variables
 
-
 /**
- * The UserDatabase we will use to authenticate users
- * and identify associated roles.
+ * The UserDatabase we will use to authenticate users and
+ * identify associated roles.
  */
 protected UserDatabase database = null;
 
-
 /**
- * The global JNDI name of the UserDatabase resource
- * we will be utilizing.
+ * The global JNDI name of the UserDatabase resource we will 
be
+ * utilizing.
  */
 protected String resourceName = "UserDatabase";
 
@@ -69,38 +61,33 @@ public class UserDatabaseRealm
 // - Properties
 
 /**
- * @return the global JNDI name of the UserDatabase resource
- * we will be using.
+ * @return the global JNDI name of the UserDatabase resource 
we
+ * will be using.
  */
 public String getResourceName() {
-
 return resourceName;
-
 }
 
 
 /**
- * Set the global JNDI name of the UserDatabase resource
- * we will be using.
+ * Set the global JNDI name of the UserDatabase resource we
+ * will be using.
  *
  * @param resourceName The new global JNDI name
  */
 public void setResourceName(String resourceName) {
-
 this.resourceName = resourceName;
-
 }
 
 
 // - Public Methods
 
-
 /**
  * Return true if the specified Principal has the specified
  * security role, within the context of this Realm; otherwise return
- * false. This implementation returns true
- * if the User has the role, or if any Group
- * that the User is a member of has the role.
+ * false. This implementation returns true if the
+ * User has the role, or if any Group that the
+ * User is a member of has the role.
  *
  * @param principal Principal for whom the role is to be checked
  * @param role Security role to be checked
@@ -113,33 +100,33 @@ public class UserDatabaseRealm
 if (realRole != null)
 role = realRole;
 }
-if( principal instanceof GenericPrincipal) {
-GenericPrincipal gp = (GenericPrincipal)principal;
-if(gp.getUserPrincipal() instanceof User) {
+if (principal instanceof GenericPrincipal) {
+GenericPrincipal gp = (GenericPrincipal) principal;
+if (gp.getUserPrincipal() instanceof User) {
 principal = gp.getUserPrincipal();
 }
 }
-if(! (principal instanceof User) ) {
-//Play nice with SSO and mixed Realms
+if (!(principal instanceof User)) {
+// Play nice with SSO and mixed Realms
 return super.hasRole(null, principal, role);
 }
-if("*".equals(role)) {
+if ("*".equals(role)) {
 return true;
-} else 

svn commit: r1840890 - /tomcat/trunk/java/org/apache/catalina/UserDatabase.java

2018-09-14 Thread markt
Author: markt
Date: Fri Sep 14 07:22:44 2018
New Revision: 1840890

URL: http://svn.apache.org/viewvc?rev=1840890=rev
Log:
Clean-up. No functional change.

Modified:
tomcat/trunk/java/org/apache/catalina/UserDatabase.java

Modified: tomcat/trunk/java/org/apache/catalina/UserDatabase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/UserDatabase.java?rev=1840890=1840889=1840890=diff
==
--- tomcat/trunk/java/org/apache/catalina/UserDatabase.java (original)
+++ tomcat/trunk/java/org/apache/catalina/UserDatabase.java Fri Sep 14 07:22:44 
2018
@@ -14,29 +14,23 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-
 package org.apache.catalina;
 
-
 import java.util.Iterator;
 
-
 /**
- * Abstract representation of a database of {@link User}s and
- * {@link Group}s that can be maintained by an application,
- * along with definitions of corresponding {@link Role}s, and
- * referenced by a {@link Realm} for authentication and access control.
+ * Abstract representation of a database of {@link User}s and {@link Group}s
+ * that can be maintained by an application, along with definitions of
+ * corresponding {@link Role}s, and referenced by a {@link Realm} for
+ * authentication and access control.
  *
  * @author Craig R. McClanahan
  * @since 4.1
  */
 public interface UserDatabase {
 
-
 // - Properties
 
-
 /**
  * @return the set of {@link Group}s defined in this user database.
  */
@@ -63,7 +57,6 @@ public interface UserDatabase {
 
 // - Public Methods
 
-
 /**
  * Finalize access to this user database.
  *
@@ -100,13 +93,12 @@ public interface UserDatabase {
  * @param fullName The full name of the new user
  * @return The new user
  */
-public User createUser(String username, String password,
-   String fullName);
+public User createUser(String username, String password, String fullName);
 
 
 /**
  * @return the {@link Group} with the specified group name, if any;
- * otherwise return null.
+ * otherwise return null.
  *
  * @param groupname Name of the group to return
  */
@@ -114,8 +106,8 @@ public interface UserDatabase {
 
 
 /**
- * @return the {@link Role} with the specified role name, if any;
- * otherwise return null.
+ * @return the {@link Role} with the specified role name, if any; otherwise
+ * return null.
  *
  * @param rolename Name of the role to return
  */
@@ -123,8 +115,8 @@ public interface UserDatabase {
 
 
 /**
- * @return the {@link User} with the specified user name, if any;
- * otherwise return null.
+ * @return the {@link User} with the specified user name, if any; otherwise
+ * return null.
  *
  * @param username Name of the user to return
  */
@@ -164,12 +156,10 @@ public interface UserDatabase {
 
 
 /**
- * Save any updated information to the persistent storage location for
- * this user database.
+ * Save any updated information to the persistent storage location for this
+ * user database.
  *
  * @exception Exception if any exception is thrown during saving
  */
 public void save() throws Exception;
-
-
 }



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



svn commit: r1840894 - /tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java

2018-09-14 Thread markt
Author: markt
Date: Fri Sep 14 07:34:30 2018
New Revision: 1840894

URL: http://svn.apache.org/viewvc?rev=1840894=rev
Log:
Fix overly long lines

Modified:
tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java

Modified: tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java?rev=1840894=1840893=1840894=diff
==
--- tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java Fri Sep 
14 07:34:30 2018
@@ -351,13 +351,17 @@ public class MemoryUserDatabase implemen
 // Construct a digester to read the XML input file
 Digester digester = new Digester();
 try {
-
digester.setFeature("http://apache.org/xml/features/allow-java-encodings;, 
true);
+digester.setFeature(
+
"http://apache.org/xml/features/allow-java-encodings;, true);
 } catch (Exception e) {
 
log.warn(sm.getString("memoryUserDatabase.xmlFeatureEncoding"), e);
 }
-digester.addFactoryCreate("tomcat-users/group", new 
MemoryGroupCreationFactory(this), true);
-digester.addFactoryCreate("tomcat-users/role", new 
MemoryRoleCreationFactory(this), true);
-digester.addFactoryCreate("tomcat-users/user", new 
MemoryUserCreationFactory(this), true);
+digester.addFactoryCreate("tomcat-users/group",
+new MemoryGroupCreationFactory(this), true);
+digester.addFactoryCreate("tomcat-users/role",
+new MemoryRoleCreationFactory(this), true);
+digester.addFactoryCreate("tomcat-users/user",
+new MemoryUserCreationFactory(this), true);
 
 // Parse the XML input to load this database
 digester.parse(is);
@@ -474,8 +478,10 @@ public class MemoryUserDatabase implemen
 // Print the file prolog
 writer.println("");
 writer.println("http://tomcat.apache.org/xml\";);
-writer.println("  
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\";);
-writer.println("  
xsi:schemaLocation=\"http://tomcat.apache.org/xml tomcat-users.xsd\"");
+writer.print("  ");
+
writer.println("xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\";);
+writer.print("  ");
+writer.println("xsi:schemaLocation=\"http://tomcat.apache.org/xml 
tomcat-users.xsd\"");
 writer.println("  version=\"1.0\">");
 
 // Print entries for each defined role, group, and user
@@ -501,7 +507,8 @@ public class MemoryUserDatabase implemen
 
 // Check for errors that occurred while printing
 if (writer.checkError()) {
-throw new 
IOException(sm.getString("memoryUserDatabase.writeException", 
fileNew.getAbsolutePath()));
+throw new 
IOException(sm.getString("memoryUserDatabase.writeException",
+fileNew.getAbsolutePath()));
 }
 } catch (IOException e) {
 if (fileNew.exists() && !fileNew.delete()) {
@@ -524,7 +531,8 @@ public class MemoryUserDatabase implemen
 }
 if (fileOrig.exists()) {
 if (!fileOrig.renameTo(fileOld)) {
-throw new 
IOException(sm.getString("memoryUserDatabase.renameOld", 
fileOld.getAbsolutePath()));
+throw new 
IOException(sm.getString("memoryUserDatabase.renameOld",
+fileOld.getAbsolutePath()));
 }
 }
 if (!fileNew.renameTo(fileOrig)) {
@@ -533,7 +541,8 @@ public class MemoryUserDatabase implemen
 log.warn(sm.getString("memoryUserDatabase.restoreOrig", 
fileOld));
 }
 }
-throw new IOException(sm.getString("memoryUserDatabase.renameNew", 
fileOrig.getAbsolutePath()));
+throw new IOException(sm.getString("memoryUserDatabase.renameNew",
+fileOrig.getAbsolutePath()));
 }
 if (fileOld.exists() && !fileOld.delete()) {
 throw new 
IOException(sm.getString("memoryUserDatabase.fileDelete", fileOld));



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



svn commit: r1840902 - /tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java

2018-09-14 Thread markt
Author: markt
Date: Fri Sep 14 09:03:53 2018
New Revision: 1840902

URL: http://svn.apache.org/viewvc?rev=1840902=rev
Log:
Fix typo

Modified:
tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java

Modified: tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java?rev=1840902=1840901=1840902=diff
==
--- tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java Fri Sep 
14 09:03:53 2018
@@ -329,7 +329,7 @@ public class MemoryUserDatabase implemen
 }
 
 MemoryUser user = new MemoryUser(this, username, password, fullName);
-readLock.unlock();
+readLock.lock();
 try {
 users.put(user.getUsername(), user);
 } finally {



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



svn commit: r1840901 - /tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java

2018-09-14 Thread markt
Author: markt
Date: Fri Sep 14 08:41:02 2018
New Revision: 1840901

URL: http://svn.apache.org/viewvc?rev=1840901=rev
Log:
Review thread-safety
Document locking strategy
Fix a few issues:
- Iterators could throw ConcurrentModificationException
- Syncs on open/save didn't lock roles Map
Update with a view to supporting runtime reloading (BZ 58590)

Modified:
tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java

Modified: tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java?rev=1840901=1840900=1840901=diff
==
--- tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java Fri Sep 
14 08:41:02 2018
@@ -22,8 +22,12 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
-import java.util.HashMap;
+import java.util.ArrayList;
 import java.util.Iterator;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantReadWriteLock;
 
 import org.apache.catalina.Globals;
 import org.apache.catalina.Group;
@@ -42,10 +46,34 @@ import org.xml.sax.Attributes;
  * Concrete implementation of {@link UserDatabase} that loads all defined 
users,
  * groups, and roles into an in-memory data structure, and uses a specified XML
  * file for its persistent storage.
+ * 
+ * This class is thread-safe.
+ * 
+ * This class does not enforce what, in an RDBMS, would be called referential
+ * integrity. Concurrent modifications may result in inconsistent data such as
+ * a User retaining a reference to a Role that has been removed from the
+ * database.
  *
  * @author Craig R. McClanahan
  * @since 4.1
  */
+/*
+ * Implementation notes:
+ *
+ * Any operation that acts on a single element of the database (e.g. operations
+ * that create, read, update or delete a user, role or group) must first obtain
+ * the read lock. Operations that return iterators for users, roles or groups
+ * also fall into this category.
+ *
+ * Iterators must always be created from copies of the data to prevent possible
+ * corruption of the iterator due to the remove of all elements from the
+ * underlying Map that would occur during a subsequent re-loading of the
+ * database.
+ *
+ * Any operation that acts on multiple elements and expects the database to
+ * remain consistent during the operation (e.g. saving or loading the database)
+ * must first obtain the write lock.
+ */
 public class MemoryUserDatabase implements UserDatabase {
 
 private static final Log log = LogFactory.getLog(MemoryUserDatabase.class);
@@ -76,7 +104,7 @@ public class MemoryUserDatabase implemen
 /**
  * The set of {@link Group}s defined in this database, keyed by group name.
  */
-protected final HashMap groups = new HashMap<>();
+protected final Map groups = new ConcurrentHashMap<>();
 
 /**
  * The unique global identifier of this user database.
@@ -109,12 +137,16 @@ public class MemoryUserDatabase implemen
 /**
  * The set of {@link Role}s defined in this database, keyed by role name.
  */
-protected final HashMap roles = new HashMap<>();
+protected final Map roles = new ConcurrentHashMap<>();
 
 /**
  * The set of {@link User}s defined in this database, keyed by user name.
  */
-protected final HashMap users = new HashMap<>();
+protected final Map users = new ConcurrentHashMap<>();
+
+private final ReentrantReadWriteLock dbLock = new ReentrantReadWriteLock();
+private final Lock readLock = dbLock.readLock();
+private final Lock writeLock = dbLock.writeLock();
 
 
 // - Properties
@@ -124,8 +156,11 @@ public class MemoryUserDatabase implemen
  */
 @Override
 public Iterator getGroups() {
-synchronized (groups) {
-return groups.values().iterator();
+readLock.lock();
+try {
+return new ArrayList<>(groups.values()).iterator();
+} finally {
+readLock.unlock();
 }
 }
 
@@ -182,8 +217,11 @@ public class MemoryUserDatabase implemen
  */
 @Override
 public Iterator getRoles() {
-synchronized (roles) {
-return roles.values().iterator();
+readLock.lock();
+try {
+return new ArrayList<>(roles.values()).iterator();
+} finally {
+readLock.unlock();
 }
 }
 
@@ -193,8 +231,11 @@ public class MemoryUserDatabase implemen
  */
 @Override
 public Iterator getUsers() {
-synchronized (users) {
-return users.values().iterator();
+readLock.lock();
+try {
+

Re: svn commit: r1840901 - /tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java

2018-09-14 Thread Mark Thomas
On 14/09/18 10:07, Rémy Maucherat wrote:
> On Fri, Sep 14, 2018 at 10:41 AM  wrote:
> 
>> Author: markt
>> Date: Fri Sep 14 08:41:02 2018
>> New Revision: 1840901
>>
>> URL: http://svn.apache.org/viewvc?rev=1840901=rev
>> Log:
>> Review thread-safety
>> Document locking strategy
>> Fix a few issues:
>> - Iterators could throw ConcurrentModificationException
>> - Syncs on open/save didn't lock roles Map
>> Update with a view to supporting runtime reloading (BZ 58590)
>>
> 
> This user db stuff was introduced in 4.1 and was never really updated
> since, nor were other implementations done. It survived because of the
> manager/jmx management it had. Do you think it would be useful to take it
> somewhere now, or is this only for 58590 ?

My primary motivation is 58590. I've lost track of the number of times
I've started Tomcat do test something, only to have to restart it to
pickup changes to tomcat-users.xml. Of course, fixing that means
reloading has to be enabled by default. I think that is OK but what does
everyone else think?

While I researched the fix for BZ 58590, I could see various
thread-safety issues that I thought were worth fixing as problems are
more likely if a background thread is reloading the user database.

There were other issues I didn't fix. Concurrent modification may leave
the db in an inconsistent state. E.g a user with a role that has been
deleted. It is also possible to add a role to a user that is not in the
database.

I thought about a wider clean-up but it looking like a 'proper' solution
that addressed all the various edge cases was heading towards
implementing an in memory RDBMS and that seemed like overkill for the
use case.

I think there are some users who maintain the database via JMX so I
think it is worth keeping. But maybe they only do that because the file
can't be reloaded. It might be worth a discussion on the users list.

Mark

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



Re: svn commit: r1840901 - /tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java

2018-09-14 Thread Rémy Maucherat
On Fri, Sep 14, 2018 at 10:41 AM  wrote:

> Author: markt
> Date: Fri Sep 14 08:41:02 2018
> New Revision: 1840901
>
> URL: http://svn.apache.org/viewvc?rev=1840901=rev
> Log:
> Review thread-safety
> Document locking strategy
> Fix a few issues:
> - Iterators could throw ConcurrentModificationException
> - Syncs on open/save didn't lock roles Map
> Update with a view to supporting runtime reloading (BZ 58590)
>

This user db stuff was introduced in 4.1 and was never really updated
since, nor were other implementations done. It survived because of the
manager/jmx management it had. Do you think it would be useful to take it
somewhere now, or is this only for 58590 ?

Rémy


svn commit: r1840917 - in /tomcat/trunk: java/org/apache/catalina/users/ webapps/docs/

2018-09-14 Thread markt
Author: markt
Date: Fri Sep 14 12:36:58 2018
New Revision: 1840917

URL: http://svn.apache.org/viewvc?rev=1840917=rev
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=58590
Monitor the source for a MemoryUserdatabase (typically tomcat-users.xml) and 
re-load it it a change is detected.

Modified:
tomcat/trunk/java/org/apache/catalina/users/LocalStrings.properties
tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java
tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabaseFactory.java
tomcat/trunk/webapps/docs/changelog.xml
tomcat/trunk/webapps/docs/jndi-resources-howto.xml

Modified: tomcat/trunk/java/org/apache/catalina/users/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/users/LocalStrings.properties?rev=1840917=1840916=1840917=diff
==
--- tomcat/trunk/java/org/apache/catalina/users/LocalStrings.properties [UTF-8] 
(original)
+++ tomcat/trunk/java/org/apache/catalina/users/LocalStrings.properties [UTF-8] 
Fri Sep 14 12:36:58 2018
@@ -20,6 +20,8 @@ memoryUserDatabase.nullGroup=Null or zer
 memoryUserDatabase.nullRole=Null or zero length role name specified. The role 
will be ignored.
 memoryUserDatabase.nullUser=Null or zero length user name specified. The user 
will be ignored.
 memoryUserDatabase.readOnly=User database has been configured to be read only. 
Changes cannot be saved
+memoryUserDatabase.reload=Reloading memory user database [{0}] from updated 
source [{1}]
+memoryUserDatabase.reloadError=Error reloading memory user database [{0}] from 
updated source [{1}]
 memoryUserDatabase.renameOld=Cannot rename original file to [{0}]
 memoryUserDatabase.renameNew=Cannot rename new file to [{0}]
 memoryUserDatabase.restoreOrig=Cannot restore [{0} to original file

Modified: tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java?rev=1840917=1840916=1840917=diff
==
--- tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java Fri Sep 
14 12:36:58 2018
@@ -22,6 +22,9 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
+import java.net.URI;
+import java.net.URL;
+import java.net.URLConnection;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.Map;
@@ -148,6 +151,9 @@ public class MemoryUserDatabase implemen
 private final Lock readLock = dbLock.readLock();
 private final Lock writeLock = dbLock.writeLock();
 
+private volatile long lastModified = 0;
+private boolean watchSource = true;
+
 
 // - Properties
 
@@ -165,6 +171,7 @@ public class MemoryUserDatabase implemen
 }
 
 
+
 /**
  * @return the unique global identifier of this user database.
  */
@@ -212,6 +219,17 @@ public class MemoryUserDatabase implemen
 }
 
 
+public boolean getWatchSource() {
+return watchSource;
+}
+
+
+
+public void setWatchSource(boolean watchSource) {
+this.watchSource = watchSource;
+}
+
+
 /**
  * @return the set of {@link Role}s defined in this user database.
  */
@@ -406,7 +424,13 @@ public class MemoryUserDatabase implemen
 roles.clear();
 
 String pathName = getPathname();
-try (InputStream is = 
ConfigFileLoader.getInputStream(getPathname())) {
+URI uri = ConfigFileLoader.getURI(pathName);
+URL url = uri.toURL();
+URLConnection uConn = url.openConnection();
+
+try (InputStream is = uConn.getInputStream()) {
+this.lastModified = uConn.getLastModified();
+
 // Construct a digester to read the XML input file
 Digester digester = new Digester();
 try {
@@ -538,21 +562,21 @@ public class MemoryUserDatabase implemen
 fileNew = new File(System.getProperty(Globals.CATALINA_BASE_PROP), 
pathnameNew);
 }
 
-try (FileOutputStream fos = new FileOutputStream(fileNew);
-OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF8");
-PrintWriter writer = new PrintWriter(osw)) {
-
-// Print the file prolog
-writer.println("");
-writer.println("http://tomcat.apache.org/xml\";);
-writer.print("  ");
-
writer.println("xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\";);
-writer.print("  ");
-writer.println("xsi:schemaLocation=\"http://tomcat.apache.org/xml 
tomcat-users.xsd\"");
-writer.println("  

[Bug 58590] org.apache.catalina.realm.MemoryRealm can use backgroundProcess() to reload tomcat-users.xml when it changes

2018-09-14 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=58590

Mark Thomas  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|NEW |RESOLVED

--- Comment #4 from Mark Thomas  ---
Implemented in trunk for 9.0.13 onwards.

Not back-ported as it would require changing the UserDatabase API as Java 7
doesn't support default method implementations.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



buildbot failure in on tomcat-trunk

2018-09-14 Thread buildbot
The Buildbot has detected a new failure on builder tomcat-trunk while building 
. Full details are available at:
https://ci.apache.org/builders/tomcat-trunk/builds/3590

Buildbot URL: https://ci.apache.org/

Buildslave for this Build: silvanus_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' 
triggered this build
Build Source Stamp: [branch tomcat/trunk] 1840917
Blamelist: markt

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 62721] Jasper generates incomplete web.xml 3.1 header

2018-09-14 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62721

Chris Bonham  changed:

   What|Removed |Added

 OS|Mac OS X 10.1   |Mac OS X 10.13
   Hardware|PC  |Macintosh

-- 
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 62721] New: Jasper generates incomplete web.xml 3.1 header

2018-09-14 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62721

Bug ID: 62721
   Summary: Jasper generates incomplete web.xml 3.1 header
   Product: Tomcat 8
   Version: 8.5.32
  Hardware: PC
OS: Mac OS X 10.1
Status: NEW
  Severity: normal
  Priority: P2
 Component: Jasper
  Assignee: dev@tomcat.apache.org
  Reporter: bonha...@thirdeyeconsulting.com
  Target Milestone: 

Since 8.5.32, Jasper generates an incomplete web.xml 3.1 header:


http://xmlns.jcp.org/xml/ns/javaee;

org.apache.jsp.health_jsp
org.apache.jsp.health_jsp

...


I believe the cause is the missing backslash on the second line of the
jspc.webxml.header properties in LocalStrings.properties:

jspc.webxml.header=\n\
http://xmlns.jcp.org/xml/ns/javaee;
\xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
\xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee\n\
\http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"\n\
\version="3.1"\n\
\metadata-complete="false">\n\
\n\
\n

-- 
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: r1840922 - in /tomcat/trunk: java/org/apache/jasper/resources/ webapps/docs/

2018-09-14 Thread markt
Author: markt
Date: Fri Sep 14 13:21:03 2018
New Revision: 1840922

URL: http://svn.apache.org/viewvc?rev=1840922=rev
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=62721
Correct generation of web.xml header when using JspC.

Modified:
tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties
tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_es.properties
tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_fr.properties
tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_ja.properties
tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties?rev=1840922=1840921=1840922=diff
==
--- tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties 
[UTF-8] (original)
+++ tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties 
[UTF-8] Fri Sep 14 13:21:03 2018
@@ -196,12 +196,12 @@ where options include:\n\
 \  (\"2.0C\" means two threads per core)\n\
 
 jspc.webxml.header=\n\
-http://xmlns.jcp.org/xml/ns/javaee;
-\xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
-\xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee\n\
-\http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"\n\
-\version="4.0"\n\
-\metadata-complete="false">\n\
+\http://xmlns.jcp.org/xml/ns/javaee"\n\
+\ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
+\ xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee\n\
+\ http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"\n\
+\ version="4.0"\n\
+\ metadata-complete="false">\n\
 \n\

Modified: 
tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_es.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_es.properties?rev=1840922=1840921=1840922=diff
==
--- tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_es.properties 
[UTF-8] (original)
+++ tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_es.properties 
[UTF-8] Fri Sep 14 13:21:03 2018
@@ -187,12 +187,12 @@ y donde  incluyen:\n\
 \-target  Set the -target argument to the compiler (default 
1.8)\n\
 
 jspc.webxml.header=\n\
-http://xmlns.jcp.org/xml/ns/javaee;
-\xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
-\xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee\n\
-\http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"\n\
-\version="4.0"\n\
-\metadata-complete="false">\n\
+\http://xmlns.jcp.org/xml/ns/javaee"\n\
+\ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
+\ xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee\n\
+\ http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"\n\
+\ version="4.0"\n\
+\ metadata-complete="false">\n\
 \n\

Modified: 
tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_fr.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_fr.properties?rev=1840922=1840921=1840922=diff
==
--- tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_fr.properties 
[UTF-8] (original)
+++ tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_fr.properties 
[UTF-8] Fri Sep 14 13:21:03 2018
@@ -123,12 +123,12 @@ où les options comprennet:\n\
 \-target  Set the -target argument to the compiler (default 
1.8)\n\
 
 jspc.webxml.header=\n\
-http://xmlns.jcp.org/xml/ns/javaee;
-\xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
-\xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee\n\
-\http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"\n\
-\version="4.0"\n\
-\metadata-complete="false">\n\
+\http://xmlns.jcp.org/xml/ns/javaee"\n\
+\ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
+\ xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee\n\
+\ http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"\n\
+\ version="4.0"\n\
+\ metadata-complete="false">\n\
 \n\

Modified: 
tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_ja.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_ja.properties?rev=1840922=1840921=1840922=diff
==
--- tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_ja.properties 
[UTF-8] (original)
+++ tomcat/trunk/java/org/apache/jasper/resources/LocalStrings_ja.properties 
[UTF-8] Fri Sep 14 13:21:03 2018
@@ 

svn commit: r1840924 - in /tomcat/tc8.5.x/trunk: ./ java/org/apache/jasper/resources/ webapps/docs/

2018-09-14 Thread markt
Author: markt
Date: Fri Sep 14 13:24:49 2018
New Revision: 1840924

URL: http://svn.apache.org/viewvc?rev=1840924=rev
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=62721
Correct generation of web.xml header when using JspC.

Modified:
tomcat/tc8.5.x/trunk/   (props changed)

tomcat/tc8.5.x/trunk/java/org/apache/jasper/resources/LocalStrings.properties

tomcat/tc8.5.x/trunk/java/org/apache/jasper/resources/LocalStrings_es.properties

tomcat/tc8.5.x/trunk/java/org/apache/jasper/resources/LocalStrings_fr.properties

tomcat/tc8.5.x/trunk/java/org/apache/jasper/resources/LocalStrings_ja.properties
tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc8.5.x/trunk/
--
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Sep 14 13:24:49 2018
@@ -1,2 +1,2 @@
 /tomcat/tc8.0.x/trunk:1809644
-/tomcat/trunk:1734785,1734799,1734845,1734928,1735041,1735044,1735480,1735577,1735597,1735599-1735600,1735615,1736145,1736162,1736209,1736280,1736297,1736299,1736489,1736646,1736703,1736836,1736849,1737104-1737105,1737112,1737117,1737119-1737120,1737155,1737157,1737192,1737280,1737339,1737632,1737664,1737715,1737748,1737785,1737834,1737860,1737903,1737959,1738005,1738007,1738014-1738015,1738018,1738022,1738039,1738043,1738059-1738060,1738147,1738149,1738174-1738175,1738261,1738589,1738623-1738625,1738643,1738816,1738850,1738855,1738946-1738948,1738953-1738954,1738979,1738982,1739079-1739081,1739087,1739113,1739153,1739172,1739176,1739191,1739474,1739492,1739726,1739762,1739775,1739814,1739817-1739818,1739975,1740131,1740324,1740465,1740495,1740508-1740509,1740520,1740535,1740707,1740803,1740810,1740969,1740980,1740991,1740997,1741015,1741033,1741036,1741058,1741060,1741080,1741147,1741159,1741164,1741173,1741181,1741190,1741197,1741202,1741208,1741213,1741221,1741225,1741232,1741409
 
,1741501,1741677,1741892,1741896,1741984,1742023,1742042,1742071,1742090,1742093,1742101,1742105,1742111,1742139,1742146,1742148,1742166,1742181,1742184,1742187,1742246,1742248-1742251,1742263-1742264,1742268,1742276,1742369,1742387,1742448,1742509-1742512,1742917,1742919,1742933,1742975-1742976,1742984,1742986,1743019,1743115,1743117,1743124-1743125,1743134,1743425,1743554,1743679,1743696-1743698,1743700-1743701,1744058,1744064-1744065,1744125,1744149,1744194,1744229,1744270,1744323,1744432,1744684,1744697,1744705,1744713,1744760,1744786,1745083,1745142-1745143,1745145,1745177,1745179-1745180,1745227,1745248,1745254,1745337,1745467,1745473,1745535,1745576,1745735,1745744,1746304,1746306-1746307,1746319,1746327,1746338,1746340-1746341,1746344,1746427,1746441,1746473,1746490,1746492,1746495-1746496,1746499-1746501,1746503-1746507,1746509,1746549,1746551,1746554,1746556,1746558,1746584,1746620,1746649,1746724,1746939,1746989,1747014,1747028,1747035,1747210,1747225,1747234,1747253,1747
 
404,1747506,1747536,1747924,1747980,1747993,1748001,1748253,1748452,1748547,1748629,1748676,1748715,1749287,1749296,1749328,1749373,1749465,1749506,1749508,1749665-1749666,1749763,1749865-1749866,1749898,1749978,1749980,1750011,1750015,1750056,1750480,1750617,1750634,1750692,1750697,1750700,1750703,1750707,1750714,1750718,1750723,1750774,1750899,1750975,1750995,1751061,1751097,1751173,1751438,1751447,1751463,1751702,1752212,1752737,1752745,1753078,1753080,1753358,1753363,1754111,1754140-1754141,1754281,1754310,1754445,1754467,1754494,1754496,1754528,1754532-1754533,1754613,1754714,1754874,1754941,1754944,1754950-1754951,1755005,1755007,1755009,1755132,1755180-1755181,1755185,1755190,1755204-1755206,1755208,1755214,1755224,1755227,1755230,1755629,1755646-1755647,1755650,1755653,1755675,1755680,1755683,1755693,1755717,1755731-1755737,1755812,1755828,1755884,1755890,1755918-1755919,1755942,1755958,1755960,1755970,1755993,1756013,1756019,1756039,1756056,1756083-1756114,1756175,1756288-1
 
756289,1756408-1756410,1756778,1756798,1756878,1756898,1756939,1757123-1757124,1757126,1757128,1757132-1757133,1757136,1757145,1757167-1757168,1757175,1757180,1757182,1757195,1757271,1757278,1757347,1757353-1757354,1757363,1757374,1757399,1757406,1757408,1757485,1757495,1757499,1757527,1757578,1757684,1757722,1757727,1757790,1757799,1757813,1757853,1757883,1757903,1757976,1757997,1758000,1758058,1758072-1758075,1758078-1758079,1758223,1758257,1758261,1758276,1758292,1758369,1758378-1758383,1758421,1758423,1758425-1758427,1758430,1758443,1758448,1758459,1758483,1758486-1758487,1758499,1758525,1758556,1758580,1758582,1758584,1758588,1758842,1759019,1759212,1759224,1759227,1759252,1759274,1759513-1759516,1759611,1759757,1759785-1759790,1760005,1760022,1760109-1760110,1760135,1760200-1760201,1760227,1760300,1760397,1760446,1760454,1760640,1760648,1761057,1761422,1761491,1761498,1761500-1761501,1761550,1761553,1761572,1761574,1761625-1761626,1761628,1761682,1761740,1761752,1762051-176205
 

svn commit: r1840925 - in /tomcat/tc7.0.x/trunk: java/org/apache/jasper/resources/ webapps/docs/

2018-09-14 Thread markt
Author: markt
Date: Fri Sep 14 13:30:12 2018
New Revision: 1840925

URL: http://svn.apache.org/viewvc?rev=1840925=rev
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=62721
Correct generation of web.xml header when using JspC.

Modified:

tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings.properties

tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings_es.properties

tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings_fr.properties

tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings_ja.properties
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings.properties?rev=1840925=1840924=1840925=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings.properties 
(original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings.properties 
Fri Sep 14 13:30:12 2018
@@ -276,12 +276,12 @@ where options include:\n\
 \  (\"2.0C\" means two threads per core)\n\
 
 jspc.webxml.header=\n\
-http://java.sun.com/xml/ns/javaee"\n\
+\http://java.sun.com/xml/ns/javaee"\n\
 \ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
 \ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee\n\
 \ 
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"\n\
-\version="3.0"\n\
-\metadata-complete="false">\n\
+\ version="3.0"\n\
+\ metadata-complete="false">\n\
 \n\

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings_es.properties
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings_es.properties?rev=1840925=1840924=1840925=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings_es.properties
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings_es.properties
 Fri Sep 14 13:30:12 2018
@@ -265,12 +265,12 @@ jspc.usage = Uso\: jspc  [--]
 \-sourceSet the -source argument to the compiler (default 
1.6)\n\
 \-targetSet the -target argument to the compiler (default 
1.6)\n
 jspc.webxml.header=\n\
-http://java.sun.com/xml/ns/javaee;
+\http://java.sun.com/xml/ns/javaee"\n\
 \ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
 \ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee\n\
 \ 
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"\n\
-\version="3.0"\n\
-\metadata-complete="false">\n\
+\ version="3.0"\n\
+\ metadata-complete="false">\n\
 \n\

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings_fr.properties
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings_fr.properties?rev=1840925=1840924=1840925=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings_fr.properties
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings_fr.properties
 Fri Sep 14 13:30:12 2018
@@ -197,12 +197,12 @@ o\u00f9 les options comprennet:\n\
 \-targetSet the -target argument to the compiler (default 
1.6)\n\
 
 jspc.webxml.header=\n\
-http://java.sun.com/xml/ns/javaee"\n\
+\http://java.sun.com/xml/ns/javaee"\n\
 \ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
 \ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee\n\
 \ 
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"\n\
-\version="3.0"\n\
-\metadata-complete="false">\n\
+\ version="3.0"\n\
+\ metadata-complete="false">\n\
 \n\

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings_ja.properties
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings_ja.properties?rev=1840925=1840924=1840925=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings_ja.properties
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/jasper/resources/LocalStrings_ja.properties
 Fri Sep 14 13:30:12 2018
@@ -238,12 +238,12 @@ JSP\u30d5\u30a1\u30a4\u30eb\u306e\u5834\
 \-targetSet the -target argument to the compiler (default 
1.6)\n\
 
 jspc.webxml.header=\n\
-http://java.sun.com/xml/ns/javaee"\n\
+\http://java.sun.com/xml/ns/javaee"\n\
 \ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n\
 \ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee\n\
 \   

[Bug 62721] Jasper generates incomplete web.xml 3.1 header

2018-09-14 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62721

Mark Thomas  changed:

   What|Removed |Added

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

--- Comment #1 from Mark Thomas  ---
Thanks for the report.

Fixed in:
- trunk for 9.0.13 onwards
- 8.5.x for 8.5.35 onwards
- 7.0.x for 7.0.92 onwards

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 62721] Jasper generates incomplete web.xml 3.1 header

2018-09-14 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62721

--- Comment #2 from Chris Bonham  ---
Mark,

I believe the backslash is missing in the Spanish, French and Japanese versions
of LocalStrings as well.

Thank you.

-- 
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 62721] Jasper generates incomplete web.xml 3.1 header

2018-09-14 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62721

--- Comment #3 from Remy Maucherat  ---
Correct but Mark fixed that too.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



buildbot success in on tomcat-trunk

2018-09-14 Thread buildbot
The Buildbot has detected a restored build on builder tomcat-trunk while 
building . Full details are available at:
https://ci.apache.org/builders/tomcat-trunk/builds/3591

Buildbot URL: https://ci.apache.org/

Buildslave for this Build: silvanus_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' 
triggered this build
Build Source Stamp: [branch tomcat/trunk] 1840922
Blamelist: markt

Build succeeded!

Sincerely,
 -The Buildbot




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