[Bug 61542] Apache Tomcat Remote Code Execution via JSP Upload bypass
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
Do we still need appweb/installation.html?
-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] Clarify "channelSendOptions" value in cluster documentation
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 62723] New: Clarify "channelSendOptions" value in cluster documentation
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
buildbot success in on tomcat-trunk
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
[Bug 62721] Jasper generates incomplete web.xml 3.1 header
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
[Bug 62721] Jasper generates incomplete web.xml 3.1 header
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
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
svn commit: r1840925 - in /tomcat/tc7.0.x/trunk: java/org/apache/jasper/resources/ webapps/docs/
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\ \
svn commit: r1840924 - in /tomcat/tc8.5.x/trunk: ./ java/org/apache/jasper/resources/ webapps/docs/
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: r1840922 - in /tomcat/trunk: java/org/apache/jasper/resources/ webapps/docs/
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 @@
buildbot failure in on tomcat-trunk
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 58590] org.apache.catalina.realm.MemoryRealm can use backgroundProcess() to reload tomcat-users.xml when it changes
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
svn commit: r1840917 - in /tomcat/trunk: java/org/apache/catalina/users/ webapps/docs/
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 62721] Jasper generates incomplete web.xml 3.1 header
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
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
Re: svn commit: r1840901 - /tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java
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
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: r1840902 - /tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java
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
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 { +
svn commit: r1840894 - /tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java
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: r1840892 - /tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java
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: r1840891 - in /tomcat/trunk/java/org/apache/catalina: UserDatabase.java realm/UserDatabaseRealm.java
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
svn commit: r1840890 - /tomcat/trunk/java/org/apache/catalina/UserDatabase.java
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: r1840887 - /tomcat/trunk/java/org/apache/catalina/realm/UserDatabaseRealm.java
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
[GitHub] tomcat pull request #121: restart.bat
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
[GitHub] tomcat issue #121: restart.bat
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