From 3480b6d5a1050e43dfd4a9b36c850a0031c6fb01 Mon Sep 17 00:00:00 2001 From: hdendukuri Date: Tue, 10 May 2016 12:56:02 -0700 Subject: [PATCH 1/2] Add Tomcat libraries and add semicolen in controller.js. --- eagle-assembly/src/main/lib/tomcat/LICENSE | 1050 ++++ eagle-assembly/src/main/lib/tomcat/NOTICE | 36 + .../src/main/lib/tomcat/RELEASE-NOTES | 230 + .../src/main/lib/tomcat/RUNNING.txt | 478 ++ .../src/main/lib/tomcat/bin/catalina.sh | 551 ++ .../src/main/lib/tomcat/bin/configtest.sh | 60 + .../src/main/lib/tomcat/bin/daemon.sh | 252 + .../src/main/lib/tomcat/bin/digest.sh | 60 + .../src/main/lib/tomcat/bin/setclasspath.sh | 94 + .../src/main/lib/tomcat/bin/shutdown.sh | 60 + .../src/main/lib/tomcat/bin/startup.sh | 60 + .../src/main/lib/tomcat/bin/tool-wrapper.sh | 139 + .../src/main/lib/tomcat/bin/version.sh | 60 + .../src/main/lib/tomcat/conf/catalina.policy | 248 + .../main/lib/tomcat/conf/catalina.properties | 133 + .../src/main/lib/tomcat/conf/context.xml | 35 + .../main/lib/tomcat/conf/logging.properties | 64 + .../src/main/lib/tomcat/conf/server.xml | 144 + .../src/main/lib/tomcat/conf/tomcat-users.xml | 36 + .../src/main/lib/tomcat/conf/web.xml | 4614 +++++++++++++++++ .../src/main/lib/tomcat/lib/.keepempty | 14 + .../app/public/feature/metrics/controller.js | 2 +- 22 files changed, 8419 insertions(+), 1 deletion(-) create mode 100644 eagle-assembly/src/main/lib/tomcat/LICENSE create mode 100644 eagle-assembly/src/main/lib/tomcat/NOTICE create mode 100644 eagle-assembly/src/main/lib/tomcat/RELEASE-NOTES create mode 100644 eagle-assembly/src/main/lib/tomcat/RUNNING.txt create mode 100644 eagle-assembly/src/main/lib/tomcat/bin/catalina.sh create mode 100644 eagle-assembly/src/main/lib/tomcat/bin/configtest.sh create mode 100644 eagle-assembly/src/main/lib/tomcat/bin/daemon.sh create mode 100644 eagle-assembly/src/main/lib/tomcat/bin/digest.sh create mode 100644 eagle-assembly/src/main/lib/tomcat/bin/setclasspath.sh create mode 100644 eagle-assembly/src/main/lib/tomcat/bin/shutdown.sh create mode 100644 eagle-assembly/src/main/lib/tomcat/bin/startup.sh create mode 100644 eagle-assembly/src/main/lib/tomcat/bin/tool-wrapper.sh create mode 100644 eagle-assembly/src/main/lib/tomcat/bin/version.sh create mode 100644 eagle-assembly/src/main/lib/tomcat/conf/catalina.policy create mode 100644 eagle-assembly/src/main/lib/tomcat/conf/catalina.properties create mode 100644 eagle-assembly/src/main/lib/tomcat/conf/context.xml create mode 100644 eagle-assembly/src/main/lib/tomcat/conf/logging.properties create mode 100644 eagle-assembly/src/main/lib/tomcat/conf/server.xml create mode 100644 eagle-assembly/src/main/lib/tomcat/conf/tomcat-users.xml create mode 100644 eagle-assembly/src/main/lib/tomcat/conf/web.xml create mode 100644 eagle-assembly/src/main/lib/tomcat/lib/.keepempty diff --git a/eagle-assembly/src/main/lib/tomcat/LICENSE b/eagle-assembly/src/main/lib/tomcat/LICENSE new file mode 100644 index 0000000000..0532f5bc2c --- /dev/null +++ b/eagle-assembly/src/main/lib/tomcat/LICENSE @@ -0,0 +1,1050 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +APACHE TOMCAT SUBCOMPONENTS: + +Apache Tomcat includes a number of subcomponents with separate copyright notices +and license terms. Your use of these subcomponents is subject to the terms and +conditions of the following licenses. + + +For the ecj-x.x.x.jar component: + +Eclipse Public License - v 1.0 + +THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC +LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM +CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +1. DEFINITIONS + +"Contribution" means: + +a) in the case of the initial Contributor, the initial code and documentation +distributed under this Agreement, and + +b) in the case of each subsequent Contributor: + +i) changes to the Program, and + +ii) additions to the Program; + +where such changes and/or additions to the Program originate from and are +distributed by that particular Contributor. A Contribution 'originates' from a +Contributor if it was added to the Program by such Contributor itself or anyone +acting on such Contributor's behalf. Contributions do not include additions to +the Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) are not +derivative works of the Program. + +"Contributor" means any person or entity that distributes the Program. + +"Licensed Patents" mean patent claims licensable by a Contributor which are +necessarily infringed by the use or sale of its Contribution alone or when +combined with the Program. + +"Program" means the Contributions distributed in accordance with this Agreement. + +"Recipient" means anyone who receives the Program under this Agreement, +including all Contributors. + +2. GRANT OF RIGHTS + +a) Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide, royalty-free copyright license to +reproduce, prepare derivative works of, publicly display, publicly perform, +distribute and sublicense the Contribution of such Contributor, if any, and such +derivative works, in source code and object code form. + +b) Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed +Patents to make, use, sell, offer to sell, import and otherwise transfer the +Contribution of such Contributor, if any, in source code and object code form. +This patent license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, such +addition of the Contribution causes such combination to be covered by the +Licensed Patents. The patent license shall not apply to any other combinations +which include the Contribution. No hardware per se is licensed hereunder. + +c) Recipient understands that although each Contributor grants the licenses to +its Contributions set forth herein, no assurances are provided by any +Contributor that the Program does not infringe the patent or other intellectual +property rights of any other entity. Each Contributor disclaims any liability to +Recipient for claims brought by any other entity based on infringement of +intellectual property rights or otherwise. As a condition to exercising the +rights and licenses granted hereunder, each Recipient hereby assumes sole +responsibility to secure any other intellectual property rights needed, if any. +For example, if a third party patent license is required to allow Recipient to +distribute the Program, it is Recipient's responsibility to acquire that license +before distributing the Program. + +d) Each Contributor represents that to its knowledge it has sufficient copyright +rights in its Contribution, if any, to grant the copyright license set forth in +this Agreement. + +3. REQUIREMENTS + +A Contributor may choose to distribute the Program in object code form under its +own license agreement, provided that: + +a) it complies with the terms and conditions of this Agreement; and + +b) its license agreement: + +i) effectively disclaims on behalf of all Contributors all warranties and +conditions, express and implied, including warranties or conditions of title and +non-infringement, and implied warranties or conditions of merchantability and +fitness for a particular purpose; + +ii) effectively excludes on behalf of all Contributors all liability for +damages, including direct, indirect, special, incidental and consequential +damages, such as lost profits; + +iii) states that any provisions which differ from this Agreement are offered by +that Contributor alone and not by any other party; and + +iv) states that source code for the Program is available from such Contributor, +and informs licensees how to obtain it in a reasonable manner on or through a +medium customarily used for software exchange. + +When the Program is made available in source code form: + +a) it must be made available under this Agreement; and + +b) a copy of this Agreement must be included with each copy of the Program. + +Contributors may not remove or alter any copyright notices contained within the +Program. + +Each Contributor must identify itself as the originator of its Contribution, if +any, in a manner that reasonably allows subsequent Recipients to identify the +originator of the Contribution. + +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain responsibilities with +respect to end users, business partners and the like. While this license is +intended to facilitate the commercial use of the Program, the Contributor who +includes the Program in a commercial product offering should do so in a manner +which does not create potential liability for other Contributors. Therefore, if +a Contributor includes the Program in a commercial product offering, such +Contributor ("Commercial Contributor") hereby agrees to defend and indemnify +every other Contributor ("Indemnified Contributor") against any losses, damages +and costs (collectively "Losses") arising from claims, lawsuits and other legal +actions brought by a third party against the Indemnified Contributor to the +extent caused by the acts or omissions of such Commercial Contributor in +connection with its distribution of the Program in a commercial product +offering. The obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In order +to qualify, an Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial Contributor +to control, and cooperate with the Commercial Contributor in, the defense and +any related settlement negotiations. The Indemnified Contributor may +participate in any such claim at its own expense. + +For example, a Contributor might include the Program in a commercial product +offering, Product X. That Contributor is then a Commercial Contributor. If that +Commercial Contributor then makes performance claims, or offers warranties +related to Product X, those performance claims and warranties are such +Commercial Contributor's responsibility alone. Under this section, the +Commercial Contributor would have to defend claims against the other +Contributors related to those performance claims and warranties, and if a court +requires any other Contributor to pay any damages as a result, the Commercial +Contributor must pay those damages. + +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR +IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, +NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each +Recipient is solely responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its exercise of +rights under this Agreement , including but not limited to the risks and costs +of program errors, compliance with applicable laws, damage to or loss of data, +programs or equipment, and unavailability or interruption of operations. + +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY +CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST +PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS +GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under applicable +law, it shall not affect the validity or enforceability of the remainder of the +terms of this Agreement, and without further action by the parties hereto, such +provision shall be reformed to the minimum extent necessary to make such +provision valid and enforceable. + +If Recipient institutes patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Program itself +(excluding combinations of the Program with other software or hardware) +infringes such Recipient's patent(s), then such Recipient's rights granted under +Section 2(b) shall terminate as of the date such litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it fails to +comply with any of the material terms or conditions of this Agreement and does +not cure such failure in a reasonable period of time after becoming aware of +such noncompliance. If all Recipient's rights under this Agreement terminate, +Recipient agrees to cease use and distribution of the Program as soon as +reasonably practicable. However, Recipient's obligations under this Agreement +and any licenses granted by Recipient relating to the Program shall continue and +survive. + +Everyone is permitted to copy and distribute copies of this Agreement, but in +order to avoid inconsistency the Agreement is copyrighted and may only be +modified in the following manner. The Agreement Steward reserves the right to +publish new versions (including revisions) of this Agreement from time to time. +No one other than the Agreement Steward has the right to modify this Agreement. +The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation +may assign the responsibility to serve as the Agreement Steward to a suitable +separate entity. Each new version of the Agreement will be given a +distinguishing version number. The Program (including Contributions) may always +be distributed subject to the version of the Agreement under which it was +received. In addition, after a new version of the Agreement is published, +Contributor may elect to distribute the Program (including its Contributions) +under the new version. Except as expressly stated in Sections 2(a) and 2(b) +above, Recipient receives no rights or licenses to the intellectual property of +any Contributor under this Agreement, whether expressly, by implication, +estoppel or otherwise. All rights in the Program not expressly granted under +this Agreement are reserved. + +This Agreement is governed by the laws of the State of New York and the +intellectual property laws of the United States of America. No party to this +Agreement will bring a legal action under this Agreement more than one year +after the cause of action arose. Each party waives its rights to a jury trial in +any resulting litigation. + + +For the Windows Installer component: + + * All NSIS source code, plug-ins, documentation, examples, header files and + graphics, with the exception of the compression modules and where + otherwise noted, are licensed under the zlib/libpng license. + * The zlib compression module for NSIS is licensed under the zlib/libpng + license. + * The bzip2 compression module for NSIS is licensed under the bzip2 license. + * The lzma compression module for NSIS is licensed under the Common Public + License version 1.0. + +zlib/libpng license + +This software is provided 'as-is', without any express or implied warranty. In +no event will the authors be held liable for any damages arising from the use of +this software. + +Permission is granted to anyone to use this software for any purpose, including +commercial applications, and to alter it and redistribute it freely, subject to +the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not claim + that you wrote the original software. If you use this software in a + product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + +bzip2 license + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + 2. The origin of this software must not be misrepresented; you must not claim + that you wrote the original software. If you use this software in a + product, an acknowledgment in the product documentation would be + appreciated but is not required. + 3. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 4. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT +OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +OF SUCH DAMAGE. + +Julian Seward, Cambridge, UK. + +jseward@acm.org +Common Public License version 1.0 + +THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC +LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM +CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +1. DEFINITIONS + +"Contribution" means: + +a) in the case of the initial Contributor, the initial code and documentation +distributed under this Agreement, and b) in the case of each subsequent +Contributor: + +i) changes to the Program, and + +ii) additions to the Program; + +where such changes and/or additions to the Program originate from and are +distributed by that particular Contributor. A Contribution 'originates' from a +Contributor if it was added to the Program by such Contributor itself or anyone +acting on such Contributor's behalf. Contributions do not include additions to +the Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) are not +derivative works of the Program. + +"Contributor" means any person or entity that distributes the Program. + +"Licensed Patents " mean patent claims licensable by a Contributor which are +necessarily infringed by the use or sale of its Contribution alone or when +combined with the Program. + +"Program" means the Contributions distributed in accordance with this Agreement. + +"Recipient" means anyone who receives the Program under this Agreement, +including all Contributors. + +2. GRANT OF RIGHTS + +a) Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide, royalty-free copyright license to +reproduce, prepare derivative works of, publicly display, publicly perform, +distribute and sublicense the Contribution of such Contributor, if any, and such +derivative works, in source code and object code form. + +b) Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed +Patents to make, use, sell, offer to sell, import and otherwise transfer the +Contribution of such Contributor, if any, in source code and object code form. +This patent license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, such +addition of the Contribution causes such combination to be covered by the +Licensed Patents. The patent license shall not apply to any other combinations +which include the Contribution. No hardware per se is licensed hereunder. + +c) Recipient understands that although each Contributor grants the licenses to +its Contributions set forth herein, no assurances are provided by any +Contributor that the Program does not infringe the patent or other intellectual +property rights of any other entity. Each Contributor disclaims any liability to +Recipient for claims brought by any other entity based on infringement of +intellectual property rights or otherwise. As a condition to exercising the +rights and licenses granted hereunder, each Recipient hereby assumes sole +responsibility to secure any other intellectual property rights needed, if any. +For example, if a third party patent license is required to allow Recipient to +distribute the Program, it is Recipient's responsibility to acquire that license +before distributing the Program. + +d) Each Contributor represents that to its knowledge it has sufficient copyright +rights in its Contribution, if any, to grant the copyright license set forth in +this Agreement. + +3. REQUIREMENTS + +A Contributor may choose to distribute the Program in object code form under its +own license agreement, provided that: + +a) it complies with the terms and conditions of this Agreement; and + +b) its license agreement: + +i) effectively disclaims on behalf of all Contributors all warranties and +conditions, express and implied, including warranties or conditions of title and +non-infringement, and implied warranties or conditions of merchantability and +fitness for a particular purpose; + +ii) effectively excludes on behalf of all Contributors all liability for +damages, including direct, indirect, special, incidental and consequential +damages, such as lost profits; + +iii) states that any provisions which differ from this Agreement are offered by +that Contributor alone and not by any other party; and + +iv) states that source code for the Program is available from such Contributor, +and informs licensees how to obtain it in a reasonable manner on or through a +medium customarily used for software exchange. + +When the Program is made available in source code form: + +a) it must be made available under this Agreement; and + +b) a copy of this Agreement must be included with each copy of the Program. + +Contributors may not remove or alter any copyright notices contained within the +Program. + +Each Contributor must identify itself as the originator of its Contribution, if +any, in a manner that reasonably allows subsequent Recipients to identify the +originator of the Contribution. + +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain responsibilities with +respect to end users, business partners and the like. While this license is +intended to facilitate the commercial use of the Program, the Contributor who +includes the Program in a commercial product offering should do so in a manner +which does not create potential liability for other Contributors. Therefore, if +a Contributor includes the Program in a commercial product offering, such +Contributor ("Commercial Contributor") hereby agrees to defend and indemnify +every other Contributor ("Indemnified Contributor") against any losses, damages +and costs (collectively "Losses") arising from claims, lawsuits and other legal +actions brought by a third party against the Indemnified Contributor to the +extent caused by the acts or omissions of such Commercial Contributor in +connection with its distribution of the Program in a commercial product +offering. The obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In order +to qualify, an Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial Contributor to +control, and cooperate with the Commercial Contributor in, the defense and any +related settlement negotiations. The Indemnified Contributor may participate in +any such claim at its own expense. + +For example, a Contributor might include the Program in a commercial product +offering, Product X. That Contributor is then a Commercial Contributor. If that +Commercial Contributor then makes performance claims, or offers warranties +related to Product X, those performance claims and warranties are such +Commercial Contributor's responsibility alone. Under this section, the +Commercial Contributor would have to defend claims against the other +Contributors related to those performance claims and warranties, and if a court +requires any other Contributor to pay any damages as a result, the Commercial +Contributor must pay those damages. + +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR +IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, +NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each +Recipient is solely responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its exercise of +rights under this Agreement, including but not limited to the risks and costs of +program errors, compliance with applicable laws, damage to or loss of data, +programs or equipment, and unavailability or interruption of operations. + +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY +CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST +PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS +GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under applicable +law, it shall not affect the validity or enforceability of the remainder of the +terms of this Agreement, and without further action by the parties hereto, such +provision shall be reformed to the minimum extent necessary to make such +provision valid and enforceable. + +If Recipient institutes patent litigation against a Contributor with respect to +a patent applicable to software (including a cross-claim or counterclaim in a +lawsuit), then any patent licenses granted by that Contributor to such Recipient +under this Agreement shall terminate as of the date such litigation is filed. In +addition, if Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the Program +itself (excluding combinations of the Program with other software or hardware) +infringes such Recipient's patent(s), then such Recipient's rights granted under +Section 2(b) shall terminate as of the date such litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it fails to +comply with any of the material terms or conditions of this Agreement and does +not cure such failure in a reasonable period of time after becoming aware of +such noncompliance. If all Recipient's rights under this Agreement terminate, +Recipient agrees to cease use and distribution of the Program as soon as +reasonably practicable. However, Recipient's obligations under this Agreement +and any licenses granted by Recipient relating to the Program shall continue and +survive. + +Everyone is permitted to copy and distribute copies of this Agreement, but in +order to avoid inconsistency the Agreement is copyrighted and may only be +modified in the following manner. The Agreement Steward reserves the right to +publish new versions (including revisions) of this Agreement from time to time. +No one other than the Agreement Steward has the right to modify this Agreement. +IBM is the initial Agreement Steward. IBM may assign the responsibility to serve +as the Agreement Steward to a suitable separate entity. Each new version of the +Agreement will be given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the Agreement +under which it was received. In addition, after a new version of the Agreement +is published, Contributor may elect to distribute the Program (including its +Contributions) under the new version. Except as expressly stated in Sections +2(a) and 2(b) above, Recipient receives no rights or licenses to the +intellectual property of any Contributor under this Agreement, whether +expressly, by implication, estoppel or otherwise. All rights in the Program not +expressly granted under this Agreement are reserved. + +This Agreement is governed by the laws of the State of New York and the +intellectual property laws of the United States of America. No party to this +Agreement will bring a legal action under this Agreement more than one year +after the cause of action arose. Each party waives its rights to a jury trial in +any resulting litigation. + +Special exception for LZMA compression module + +Igor Pavlov and Amir Szekely, the authors of the LZMA compression module for +NSIS, expressly permit you to statically or dynamically link your code (or bind +by name) to the files from the LZMA compression module for NSIS without +subjecting your linked code to the terms of the Common Public license version +1.0. Any modifications or additions to files from the LZMA compression module +for NSIS, however, are subject to the terms of the Common Public License version +1.0. + + +For the following XML Schemas for Java EE Deployment Descriptors: + - javaee_5.xsd + - javaee_web_services_1_2.xsd + - javaee_web_services_client_1_2.xsd + - javaee_6.xsd + - javaee_web_services_1_3.xsd + - javaee_web_services_client_1_3.xsd + - jsp_2_2.xsd + - web-app_3_0.xsd + - web-common_3_0.xsd + - web-fragment_3_0.xsd + +COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 + +1. Definitions. + + 1.1. Contributor. means each individual or entity that creates or contributes + to the creation of Modifications. + + 1.2. Contributor Version. means the combination of the Original Software, + prior Modifications used by a Contributor (if any), and the + Modifications made by that particular Contributor. + + 1.3. Covered Software. means (a) the Original Software, or (b) Modifications, + or (c) the combination of files containing Original Software with files + containing Modifications, in each case including portions thereof. + + 1.4. Executable. means the Covered Software in any form other than Source + Code. + + 1.5. Initial Developer. means the individual or entity that first makes + Original Software available under this License. + + 1.6. Larger Work. means a work which combines Covered Software or portions + thereof with code not governed by the terms of this License. + + 1.7. License. means this document. + + 1.8. Licensable. means having the right to grant, to the maximum extent + possible, whether at the time of the initial grant or subsequently + acquired, any and all of the rights conveyed herein. + + 1.9. Modifications. means the Source Code and Executable form of any of the + following: + + A. Any file that results from an addition to, deletion from or + modification of the contents of a file containing Original Software + or previous Modifications; + + B. Any new file that contains any part of the Original Software or + previous Modification; or + + C. Any new file that is contributed or otherwise made available under + the terms of this License. + + 1.10. Original Software. means the Source Code and Executable form of + computer software code that is originally released under this License. + + 1.11. Patent Claims. means any patent claim(s), now owned or hereafter + acquired, including without limitation, method, process, and apparatus + claims, in any patent Licensable by grantor. + + 1.12. Source Code. means (a) the common form of computer software code in + which modifications are made and (b) associated documentation included + in or with such code. + + 1.13. You. (or .Your.) means an individual or a legal entity exercising + rights under, and complying with all of the terms of, this License. For + legal entities, .You. includes any entity which controls, is controlled + by, or is under common control with You. For purposes of this + definition, .control. means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. + +2. License Grants. + + 2.1. The Initial Developer Grant. + + Conditioned upon Your compliance with Section 3.1 below and subject to + third party intellectual property claims, the Initial Developer hereby + grants You a world-wide, royalty-free, non-exclusive license: + + (a) under intellectual property rights (other than patent or trademark) + Licensable by Initial Developer, to use, reproduce, modify, display, + perform, sublicense and distribute the Original Software (or + portions thereof), with or without Modifications, and/or as part of + a Larger Work; and + + (b) under Patent Claims infringed by the making, using or selling of + Original Software, to make, have made, use, practice, sell, and + offer for sale, and/or otherwise dispose of the Original Software + (or portions thereof). + + (c) The licenses granted in Sections 2.1(a) and (b) are effective on the + date Initial Developer first distributes or otherwise makes the + Original Software available to a third party under the terms of this + License. + + (d) Notwithstanding Section 2.1(b) above, no patent license is granted: + (1) for code that You delete from the Original Software, or (2) for + infringements caused by: (i) the modification of the Original + Software, or (ii) the combination of the Original Software with + other software or devices. + + 2.2. Contributor Grant. + + Conditioned upon Your compliance with Section 3.1 below and subject to third + party intellectual property claims, each Contributor hereby grants You a + world-wide, royalty-free, non-exclusive license: + + (a) under intellectual property rights (other than patent or trademark) + Licensable by Contributor to use, reproduce, modify, display, + perform, sublicense and distribute the Modifications created by such + Contributor (or portions thereof), either on an unmodified basis, + with other Modifications, as Covered Software and/or as part of a + Larger Work; and + + (b) under Patent Claims infringed by the making, using, or selling of + Modifications made by that Contributor either alone and/or in + combination with its Contributor Version (or portions of such + combination), to make, use, sell, offer for sale, have made, and/or + otherwise dispose of: (1) Modifications made by that Contributor (or + portions thereof); and (2) the combination of Modifications made by + that Contributor with its Contributor Version (or portions of such + combination). + + (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective on + the date Contributor first distributes or otherwise makes the + Modifications available to a third party. + + (d) Notwithstanding Section 2.2(b) above, no patent license is granted: + (1) for any code that Contributor has deleted from the Contributor + Version; (2) for infringements caused by: (i) third party + modifications of Contributor Version, or (ii) the combination of + Modifications made by that Contributor with other software (except + as part of the Contributor Version) or other devices; or (3) under + Patent Claims infringed by Covered Software in the absence of + Modifications made by that Contributor. + +3. Distribution Obligations. + + 3.1. Availability of Source Code. + Any Covered Software that You distribute or otherwise make available in + Executable form must also be made available in Source Code form and that + Source Code form must be distributed only under the terms of this License. + You must include a copy of this License with every copy of the Source Code + form of the Covered Software You distribute or otherwise make available. + You must inform recipients of any such Covered Software in Executable form + as to how they can obtain such Covered Software in Source Code form in a + reasonable manner on or through a medium customarily used for software + exchange. + + 3.2. Modifications. + The Modifications that You create or to which You contribute are governed + by the terms of this License. You represent that You believe Your + Modifications are Your original creation(s) and/or You have sufficient + rights to grant the rights conveyed by this License. + + 3.3. Required Notices. + You must include a notice in each of Your Modifications that identifies + You as the Contributor of the Modification. You may not remove or alter + any copyright, patent or trademark notices contained within the Covered + Software, or any notices of licensing or any descriptive text giving + attribution to any Contributor or the Initial Developer. + + 3.4. Application of Additional Terms. + You may not offer or impose any terms on any Covered Software in Source + Code form that alters or restricts the applicable version of this License + or the recipients. rights hereunder. You may choose to offer, and to + charge a fee for, warranty, support, indemnity or liability obligations to + one or more recipients of Covered Software. However, you may do so only on + Your own behalf, and not on behalf of the Initial Developer or any + Contributor. You must make it absolutely clear that any such warranty, + support, indemnity or liability obligation is offered by You alone, and + You hereby agree to indemnify the Initial Developer and every Contributor + for any liability incurred by the Initial Developer or such Contributor as + a result of warranty, support, indemnity or liability terms You offer. + + 3.5. Distribution of Executable Versions. + You may distribute the Executable form of the Covered Software under the + terms of this License or under the terms of a license of Your choice, + which may contain terms different from this License, provided that You are + in compliance with the terms of this License and that the license for the + Executable form does not attempt to limit or alter the recipient.s rights + in the Source Code form from the rights set forth in this License. If You + distribute the Covered Software in Executable form under a different + license, You must make it absolutely clear that any terms which differ + from this License are offered by You alone, not by the Initial Developer + or Contributor. You hereby agree to indemnify the Initial Developer and + every Contributor for any liability incurred by the Initial Developer or + such Contributor as a result of any such terms You offer. + + 3.6. Larger Works. + You may create a Larger Work by combining Covered Software with other code + not governed by the terms of this License and distribute the Larger Work + as a single product. In such a case, You must make sure the requirements + of this License are fulfilled for the Covered Software. + +4. Versions of the License. + + 4.1. New Versions. + Sun Microsystems, Inc. is the initial license steward and may publish + revised and/or new versions of this License from time to time. Each + version will be given a distinguishing version number. Except as provided + in Section 4.3, no one other than the license steward has the right to + modify this License. + + 4.2. Effect of New Versions. + You may always continue to use, distribute or otherwise make the Covered + Software available under the terms of the version of the License under + which You originally received the Covered Software. If the Initial + Developer includes a notice in the Original Software prohibiting it from + being distributed or otherwise made available under any subsequent version + of the License, You must distribute and make the Covered Software + available under the terms of the version of the License under which You + originally received the Covered Software. Otherwise, You may also choose + to use, distribute or otherwise make the Covered Software available under + the terms of any subsequent version of the License published by the + license steward. + + 4.3. Modified Versions. + When You are an Initial Developer and You want to create a new license for + Your Original Software, You may create and use a modified version of this + License if You: (a) rename the license and remove any references to the + name of the license steward (except to note that the license differs from + this License); and (b) otherwise make it clear that the license contains + terms which differ from this License. + +5. DISCLAIMER OF WARRANTY. + + COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN .AS IS. BASIS, WITHOUT + WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT + LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF DEFECTS, + MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK + AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD + ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL + DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY + SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN + ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED SOFTWARE IS AUTHORIZED + HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +6. TERMINATION. + + 6.1. This License and the rights granted hereunder will terminate + automatically if You fail to comply with terms herein and fail to + cure such breach within 30 days of becoming aware of the breach. + Provisions which, by their nature, must remain in effect beyond the + termination of this License shall survive. + + 6.2. If You assert a patent infringement claim (excluding declaratory + judgment actions) against Initial Developer or a Contributor (the + Initial Developer or Contributor against whom You assert such claim + is referred to as .Participant.) alleging that the Participant + Software (meaning the Contributor Version where the Participant is a + Contributor or the Original Software where the Participant is the + Initial Developer) directly or indirectly infringes any patent, then + any and all rights granted directly or indirectly to You by such + Participant, the Initial Developer (if the Initial Developer is not + the Participant) and all Contributors under Sections 2.1 and/or 2.2 + of this License shall, upon 60 days notice from Participant terminate + prospectively and automatically at the expiration of such 60 day + notice period, unless if within such 60 day period You withdraw Your + claim with respect to the Participant Software against such + Participant either unilaterally or pursuant to a written agreement + with Participant. + + 6.3. In the event of termination under Sections 6.1 or 6.2 above, all end + user licenses that have been validly granted by You or any + distributor hereunder prior to termination (excluding licenses + granted to You by any distributor) shall survive termination. + +7. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING + NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY + OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER OF + ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, + INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT + LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, + COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR + LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF + SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR + DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY.S NEGLIGENCE TO THE EXTENT + APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE + EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS + EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. + +8. U.S. GOVERNMENT END USERS. + + The Covered Software is a .commercial item,. as that term is defined in 48 + C.F.R. 2.101 (Oct. 1995), consisting of .commercial computer software. (as + that term is defined at 48 C.F.R. ? 252.227-7014(a)(1)) and commercial + computer software documentation. as such terms are used in 48 C.F.R. 12.212 + (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 + through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered + Software with only those rights set forth herein. This U.S. Government Rights + clause is in lieu of, and supersedes, any other FAR, DFAR, or other clause or + provision that addresses Government rights in computer software under this + License. + +9. MISCELLANEOUS. + + This License represents the complete agreement concerning subject matter + hereof. If any provision of this License is held to be unenforceable, such + provision shall be reformed only to the extent necessary to make it + enforceable. This License shall be governed by the law of the jurisdiction + specified in a notice contained within the Original Software (except to the + extent applicable law, if any, provides otherwise), excluding such + jurisdiction's conflict-of-law provisions. Any litigation relating to this + License shall be subject to the jurisdiction of the courts located in the + jurisdiction and venue specified in a notice contained within the Original + Software, with the losing party responsible for costs, including, without + limitation, court costs and reasonable attorneys. fees and expenses. The + application of the United Nations Convention on Contracts for the + International Sale of Goods is expressly excluded. Any law or regulation + which provides that the language of a contract shall be construed against + the drafter shall not apply to this License. You agree that You alone are + responsible for compliance with the United States export administration + regulations (and the export control laws and regulation of any other + countries) when You use, distribute or otherwise make available any Covered + Software. + +10. RESPONSIBILITY FOR CLAIMS. + + As between Initial Developer and the Contributors, each party is responsible + for claims and damages arising, directly or indirectly, out of its + utilization of rights under this License and You agree to work with Initial + Developer and Contributors to distribute such responsibility on an equitable + basis. Nothing herein is intended or shall be deemed to constitute any + admission of liability. + + NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION + LICENSE (CDDL) + + The code released under the CDDL shall be governed by the laws of the State + of California (excluding conflict-of-law provisions). Any litigation relating + to this License shall be subject to the jurisdiction of the Federal Courts of + the Northern District of California and the state courts of the State of + California, with venue lying in Santa Clara County, California. + diff --git a/eagle-assembly/src/main/lib/tomcat/NOTICE b/eagle-assembly/src/main/lib/tomcat/NOTICE new file mode 100644 index 0000000000..e610066c40 --- /dev/null +++ b/eagle-assembly/src/main/lib/tomcat/NOTICE @@ -0,0 +1,36 @@ +Apache Tomcat +Copyright 1999-2015 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + +The Windows Installer is built with the Nullsoft +Scriptable Install System (NSIS), which is +open source software. The original software and +related information is available at +http://nsis.sourceforge.net. + +Java compilation software for JSP pages is provided by Eclipse, +which is open source software. The original software and +related information is available at +http://www.eclipse.org. + +For the bayeux implementation +The org.apache.cometd.bayeux API is derivative work originating at the Dojo Foundation +* Copyright 2007-2008 Guy Molinari +* Copyright 2007-2008 Filip Hanik +* Copyright 2007 Dojo Foundation +* Copyright 2007 Mort Bay Consulting Pty. Ltd. + +The original XML Schemas for Java EE Deployment Descriptors: + - javaee_5.xsd + - javaee_web_services_1_2.xsd + - javaee_web_services_client_1_2.xsd + - javaee_6.xsd + - javaee_web_services_1_3.xsd + - javaee_web_services_client_1_3.xsd + - jsp_2_2.xsd + - web-app_3_0.xsd + - web-common_3_0.xsd + - web-fragment_3_0.xsd +may be obtained from http://java.sun.com/xml/ns/javaee/ diff --git a/eagle-assembly/src/main/lib/tomcat/RELEASE-NOTES b/eagle-assembly/src/main/lib/tomcat/RELEASE-NOTES new file mode 100644 index 0000000000..8dda10bd81 --- /dev/null +++ b/eagle-assembly/src/main/lib/tomcat/RELEASE-NOTES @@ -0,0 +1,230 @@ +================================================================================ + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================ + + + Apache Tomcat Version 7.0.59 + Release Notes + + +========= +CONTENTS: +========= + +* Dependency Changes +* API Stability +* JNI Based Applications +* Bundled APIs +* Web application reloading and static fields in shared libraries +* Tomcat on Linux +* Enabling SSI and CGI Support +* Security manager URLs +* Symlinking static resources +* Viewing the Tomcat Change Log +* Cryptographic software notice +* When all else fails + + +=================== +Dependency Changes: +=================== +Tomcat 7.0 is designed to run on Java SE 6 and later. + +In addition, Tomcat 7.0 uses the Eclipse JDT Java compiler for +compiling JSP pages. This means you no longer need to have the complete +Java Development Kit (JDK) to run Tomcat, but a Java Runtime Environment +(JRE) is sufficient. The Eclipse JDT Java compiler is bundled with the +binary Tomcat distributions. Tomcat can also be configured to use the +compiler from the JDK to compile JSPs, or any other Java compiler supported +by Apache Ant. + + +============== +API Stability: +============== +The public interfaces for the following classes are fixed and will not be +changed at all during the remaining lifetime of the 7.x series: +- javax/**/* + +The public interfaces for the following classes may be added to in order to +resolve bugs and/or add new features. No existing interface will be removed or +changed although it may be deprecated. +- org/apache/catalina/* +- org/apache/catalina/comet/* + +Note: As Tomcat 7 matures, the above list will be added to. The list is not + considered complete at this time. + +The remaining classes are considered part of the Tomcat internals and may change +without notice between point releases. + + +======================= +JNI Based Applications: +======================= +Applications that require native libraries must ensure that the libraries have +been loaded prior to use. Typically, this is done with a call like: + + static { + System.loadLibrary("path-to-library-file"); + } + +in some class. However, the application must also ensure that the library is +not loaded more than once. If the above code were placed in a class inside +the web application (i.e. under /WEB-INF/classes or /WEB-INF/lib), and the +application were reloaded, the loadLibrary() call would be attempted a second +time. + +To avoid this problem, place classes that load native libraries outside of the +web application, and ensure that the loadLibrary() call is executed only once +during the lifetime of a particular JVM. + + +============= +Bundled APIs: +============= +A standard installation of Tomcat 7.0 makes all of the following APIs available +for use by web applications (by placing them in "lib"): +* annotations-api.jar (Annotations package) +* catalina.jar (Tomcat Catalina implementation) +* catalina-ant.jar (Tomcat Catalina Ant tasks) +* catalina-ha.jar (High availability package) +* catalina-tribes.jar (Group communication) +* ecj-4.4.jar (Eclipse JDT Java compiler) +* el-api.jar (EL 2.2 API) +* jasper.jar (Jasper 2 Compiler and Runtime) +* jasper-el.jar (Jasper 2 EL implementation) +* jsp-api.jar (JSP 2.2 API) +* servlet-api.jar (Servlet 3.0 API) +* tomcat7-websocket.jar (WebSocket 1.1 implementation) +* tomcat-api.jar (Interfaces shared by Catalina and Jasper) +* tomcat-coyote.jar (Tomcat connectors and utility classes) +* tomcat-dbcp.jar (package renamed database connection pool based on Commons DBCP) +* tomcat-jdbc.jar (Tomcat's database connection pooling solution) +* tomcat-util.jar (Various utilities) +* websocket-api.jar (WebSocket 1.1 API) + +You can make additional APIs available to all of your web applications by +putting unpacked classes into a "classes" directory (not created by default), +or by placing them in JAR files in the "lib" directory. + +To override the XML parser implementation or interfaces, use the endorsed +mechanism of the JVM. The default configuration defines JARs located in +"endorsed" as endorsed. + + +================================================================ +Web application reloading and static fields in shared libraries: +================================================================ +Some shared libraries (many are part of the JDK) keep references to objects +instantiated by the web application. To avoid class loading related problems +(ClassCastExceptions, messages indicating that the classloader +is stopped, etc.), the shared libraries state should be reinitialized. + +Something which might help is to avoid putting classes which would be +referenced by a shared static field in the web application classloader, +and putting them in the shared classloader instead (JARs should be put in the +"lib" folder, and classes should be put in the "classes" folder). + + +================ +Tomcat on Linux: +================ +GLIBC 2.2 / Linux 2.4 users should define an environment variable: +export LD_ASSUME_KERNEL=2.2.5 + +Redhat Linux 9.0 users should use the following setting to avoid +stability problems: +export LD_ASSUME_KERNEL=2.4.1 + +There are some Linux bugs reported against the NIO sendfile behavior, make sure you +have a JDK that is up to date, or disable sendfile behavior in the Connector.
+6427312: (fc) FileChannel.transferTo() throws IOException "system call interrupted"
+5103988: (fc) FileChannel.transferTo should return -1 for EAGAIN instead throws IOException
+6253145: (fc) FileChannel.transferTo on Linux fails when going beyond 2GB boundary
+6470086: (fc) FileChannel.transferTo(2147483647, 1, channel) cause "Value too large" exception
+ + +============================= +Enabling SSI and CGI Support: +============================= +Because of the security risks associated with CGI and SSI available +to web applications, these features are disabled by default. + +To enable and configure CGI support, please see the cgi-howto.html page. + +To enable and configue SSI support, please see the ssi-howto.html page. + + +====================== +Security manager URLs: +====================== +In order to grant security permissions to JARs located inside the +web application repository, use URLs of of the following format +in your policy file: + +file:${catalina.base}/webapps/examples/WEB-INF/lib/driver.jar + + +============================ +Symlinking static resources: +============================ +By default, Unix symlinks will not work when used in a web application to link +resources located outside the web application root directory. + +This behavior is optional, and the "allowLinking" flag may be used to disable +the check. + + +============================== +Viewing the Tomcat Change Log: +============================== +See changelog.html in this directory. + + +============================= +Cryptographic software notice +============================= +This distribution includes cryptographic software. The country in +which you currently reside may have restrictions on the import, +possession, use, and/or re-export to another country, of +encryption software. BEFORE using any encryption software, please +check your country's laws, regulations and policies concerning the +import, possession, or use, and re-export of encryption software, to +see if this is permitted. See for more +information. + +The U.S. Government Department of Commerce, Bureau of Industry and +Security (BIS), has classified this software as Export Commodity +Control Number (ECCN) 5D002.C.1, which includes information security +software using or performing cryptographic functions with asymmetric +algorithms. The form and manner of this Apache Software Foundation +distribution makes it eligible for export under the License Exception +ENC Technology Software Unrestricted (TSU) exception (see the BIS +Export Administration Regulations, Section 740.13) for both object +code and source code. + +The following provides more details on the included cryptographic +software: + - Tomcat includes code designed to work with JSSE + - Tomcat includes code designed to work with OpenSSL + + +==================== +When all else fails: +==================== +See the FAQ +http://tomcat.apache.org/faq/ diff --git a/eagle-assembly/src/main/lib/tomcat/RUNNING.txt b/eagle-assembly/src/main/lib/tomcat/RUNNING.txt new file mode 100644 index 0000000000..3b2854e02b --- /dev/null +++ b/eagle-assembly/src/main/lib/tomcat/RUNNING.txt @@ -0,0 +1,478 @@ +================================================================================ + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================ + + =================================================== + Running The Apache Tomcat 7.0 Servlet/JSP Container + =================================================== + +Apache Tomcat 7.0 requires a Java Standard Edition Runtime +Environment (JRE) version 6 or later. + +============================= +Running With JRE 6 Or Later +============================= + +(1) Download and Install a Java SE Runtime Environment (JRE) + +(1.1) Download a Java SE Runtime Environment (JRE), + release version 6 or later, from + http://www.oracle.com/technetwork/java/javase/downloads/index.html + +(1.2) Install the JRE according to the instructions included with the + release. + + You may also use a full Java Development Kit (JDK) rather than just + a JRE. + + +(2) Download and Install Apache Tomcat + +(2.1) Download a binary distribution of Tomcat from: + + http://tomcat.apache.org/ + +(2.2) Unpack the binary distribution so that it resides in its own + directory (conventionally named "apache-tomcat-[version]"). + + For the purposes of the remainder of this document, the name + "CATALINA_HOME" is used to refer to the full pathname of that + directory. + +NOTE: As an alternative to downloading a binary distribution, you can +create your own from the Tomcat source code, as described in +"BUILDING.txt". You can either + + a) Do the full "release" build and find the created distribution in the + "output/release" directory and then proceed with unpacking as above, or + + b) Do a simple build and use the "output/build" directory as + "CATALINA_HOME". Be warned that there are some differences between the + contents of the "output/build" directory and a full "release" + distribution. + + +(3) Configure Environment Variables + +Tomcat is a Java application and does not use environment variables. The +variables are used by the Tomcat startup scripts. The scripts use the variables +to prepare the command that starts Tomcat. + +(3.1) Set CATALINA_HOME (required) and CATALINA_BASE (optional) + +The CATALINA_HOME environment variable should be set to the location of the +root directory of the "binary" distribution of Tomcat. + +An example was given in (2.2) above. + +The Tomcat startup scripts have some logic to set this variable +automatically if it is absent, based on the location of the startup script +in *nix and on the current directory in Windows. That logic might not work +in all circumstances, so setting the variable explicitly is recommended. + +The CATALINA_BASE environment variable specifies location of the root +directory of the "active configuration" of Tomcat. It is optional. It +defaults to be equal to CATALINA_HOME. + +Using distinct values for the CATALINA_HOME and CATALINA_BASE variables is +recommended to simplify further upgrades and maintenance. It is documented +in the "Multiple Tomcat Instances" section below. + + +(3.2) Set JRE_HOME or JAVA_HOME (required) + +These variables are used to specify location of a Java Runtime +Environment or of a Java Development Kit that is used to start Tomcat. + +The JRE_HOME variable is used to specify location of a JRE. The JAVA_HOME +variable is used to specify location of a JDK. + +Using JAVA_HOME provides access to certain additional startup options that +are not allowed when JRE_HOME is used. + +If both JRE_HOME and JAVA_HOME are specified, JRE_HOME is used. + +The recommended place to specify these variables is a "setenv" script. See +below. + + +(3.3) Other variables (optional) + +Other environment variables exist, besides the four described above. +See the comments at the top of catalina.bat or catalina.sh scripts for +the list and a description of each of them. + +One frequently used variable is CATALINA_OPTS. It allows specification of +additional options for the java command that starts Tomcat. + +See the Java documentation for the options that affect the Java Runtime +Environment. + +See the "System Properties" page in the Tomcat Configuration Reference for +the system properties that are specific to Tomcat. + +A similar variable is JAVA_OPTS. It is used less frequently. It allows +specification of options that are used both to start and to stop Tomcat as well +as for other commands. + +Note: Do not use JAVA_OPTS to specify memory limits. You do not need much +memory for a small process that is used to stop Tomcat. Those settings +belong to CATALINA_OPTS. + +Another frequently used variable is CATALINA_PID (on *nix only). It +specifies the location of the file where process id of the forked Tomcat +java process will be written. This setting is optional. It will enable the +following features: + + * better protection against duplicate start attempts and + * allows forceful termination of Tomcat process when it does not react to + the standard shutdown command. + + +(3.4) Using the "setenv" script (optional, recommended) + +Apart from CATALINA_HOME and CATALINA_BASE, all environment variables can +be specified in the "setenv" script. The script is placed either into +CATALINA_BASE/bin or into CATALINA_HOME/bin directory and is named +setenv.bat (on Windows) or setenv.sh (on *nix). The file has to be +readable. + +By default the setenv script file is absent. If the script file is present +both in CATALINA_BASE and in CATALINA_HOME, the one in CATALINA_BASE is +preferred. + +For example, to configure the JRE_HOME and CATALINA_PID variables you can +create the following script file: + +On Windows, %CATALINA_BASE%\bin\setenv.bat: + + set "JRE_HOME=%ProgramFiles%\Java\jre6" + exit /b 0 + +On *nix, $CATALINA_BASE/bin/setenv.sh: + + JRE_HOME=/usr/java/latest + CATALINA_PID="$CATALINA_BASE/tomcat.pid" + + +The CATALINA_HOME and CATALINA_BASE variables cannot be configured in the +setenv script, because they are used to locate that file. + +All the environment variables described here and the "setenv" script are +used only if you use the standard scripts to launch Tomcat. For example, if +you have installed Tomcat as a service on Windows, the service wrapper +launches Java directly and does not use the script files. + + +(4) Start Up Tomcat + +(4.1) Tomcat can be started by executing one of the following commands: + + On Windows: + + %CATALINA_HOME%\bin\startup.bat + + or + + %CATALINA_HOME%\bin\catalina.bat start + + On *nix: + + $CATALINA_HOME/bin/startup.sh + + or + + $CATALINA_HOME/bin/catalina.sh start + +(4.2) After startup, the default web applications included with Tomcat will be + available by visiting: + + http://localhost:8080/ + +(4.3) Further information about configuring and running Tomcat can be found in + the documentation included here, as well as on the Tomcat web site: + + http://tomcat.apache.org/ + + +(5) Shut Down Tomcat + +(5.1) Tomcat can be shut down by executing one of the following commands: + + On Windows: + + %CATALINA_HOME%\bin\shutdown.bat + + or + + %CATALINA_HOME%\bin\catalina.bat stop + + On *nix: + + $CATALINA_HOME/bin/shutdown.sh + + or + + $CATALINA_HOME/bin/catalina.sh stop + +================================================== +Advanced Configuration - Multiple Tomcat Instances +================================================== + +In many circumstances, it is desirable to have a single copy of a Tomcat +binary distribution shared among multiple users on the same server. To make +this possible, you can set the CATALINA_BASE environment variable to the +directory that contains the files for your 'personal' Tomcat instance. + +When running with a separate CATALINA_HOME and CATALINA_BASE, the files +and directories are split as following: + +In CATALINA_BASE: + + * bin - Only the following files: + + * setenv.sh (*nix) or setenv.bat (Windows), + * tomcat-juli.jar + + The setenv scripts were described above. The tomcat-juli library + is documented in the Logging chapter in the User Guide. + + * conf - Server configuration files (including server.xml) + + * lib - Libraries and classes, as explained below + + * logs - Log and output files + + * webapps - Automatically loaded web applications + + * work - Temporary working directories for web applications + + * temp - Directory used by the JVM for temporary files (java.io.tmpdir) + + +In CATALINA_HOME: + + * bin - Startup and shutdown scripts + + The following files will be used only if they are absent in + CATALINA_BASE/bin: + + setenv.sh (*nix), setenv.bat (Windows), tomcat-juli.jar + + * lib - Libraries and classes, as explained below + + * endorsed - Libraries that override standard "Endorsed Standards" + libraries provided by JRE. See Classloading documentation + in the User Guide for details. + + By default this "endorsed" directory is absent. + +In the default configuration the JAR libraries and classes both in +CATALINA_BASE/lib and in CATALINA_HOME/lib will be added to the common +classpath, but the ones in CATALINA_BASE will be added first and thus will +be searched first. + +The idea is that you may leave the standard Tomcat libraries in +CATALINA_HOME/lib and add other ones such as database drivers into +CATALINA_BASE/lib. + +In general it is advised to never share libraries between web applications, +but put them into WEB-INF/lib directories inside the applications. See +Classloading documentation in the User Guide for details. + + +It might be useful to note that the values of CATALINA_HOME and +CATALINA_BASE can be referenced in the XML configuration files processed +by Tomcat as ${catalina.home} and ${catalina.base} respectively. + +For example, the standard manager web application can be kept in +CATALINA_HOME/webapps/manager and loaded into CATALINA_BASE by using +the following trick: + + * Copy the CATALINA_HOME/webapps/manager/META-INF/context.xml + file as CATALINA_BASE/conf/Catalina/localhost/manager.xml + + * Add docBase attribute as shown below. + +The file will look like the following: + + + + + + +See Deployer chapter in User Guide and Context and Host chapters in the +Configuration Reference for more information on contexts and web +application deployment. + + +================ +Troubleshooting +================ + +There are only really 2 things likely to go wrong during the stand-alone +Tomcat install: + +(1) The most common hiccup is when another web server (or any process for that + matter) has laid claim to port 8080. This is the default HTTP port that + Tomcat attempts to bind to at startup. To change this, open the file: + + $CATALINA_HOME/conf/server.xml + + and search for '8080'. Change it to a port that isn't in use, and is + greater than 1024, as ports less than or equal to 1024 require superuser + access to bind under UNIX. + + Restart Tomcat and you're in business. Be sure that you replace the "8080" + in the URL you're using to access Tomcat. For example, if you change the + port to 1977, you would request the URL http://localhost:1977/ in your + browser. + +(2) The 'localhost' machine isn't found. This could happen if you're behind a + proxy. If that's the case, make sure the proxy configuration for your + browser knows that you shouldn't be going through the proxy to access the + "localhost". + + In Firefox, this is under Tools/Preferences -> Advanced/Network -> + Connection -> Settings..., and in Internet Explorer it is Tools -> + Internet Options -> Connections -> LAN Settings. + + +==================== +Optional Components +==================== + +The following optional components may be included with the Apache Tomcat binary +distribution. If they are not included, you can install them separately. + + 1. Apache Tomcat Native library + + 2. Apache Commons Daemon service launcher + +Both of them are implemented in C language and as such have to be compiled +into binary code. The binary code will be specific for a platform and CPU +architecture and it must match the Java Runtime Environment executables +that will be used to launch Tomcat. + +The Windows-specific binary distributions of Apache Tomcat include binary +files for these components. On other platforms you would have to look for +binary versions elsewhere or compile them yourself. + +If you are new to Tomcat, do not bother with these components to start with. +If you do use them, do not forget to read their documentation. + + +Apache Tomcat Native library +----------------------------- + +It is a library that allows to use the "Apr" variant of HTTP and AJP +protocol connectors in Apache Tomcat. It is built around OpenSSL and Apache +Portable Runtime (APR) libraries. Those are the same libraries as used by +Apache HTTPD Server project. + +This feature was especially important in the old days when Java performance +was poor. It is less important nowadays, but it is still used and respected +by many. See Tomcat documentation for more details. + +For further reading: + + - Apache Tomcat documentation + + * Documentation for APR/Native library in the Tomcat User's Guide + + http://tomcat.apache.org/tomcat-7.0-doc/apr.html + + * Documentation for the HTTP and AJP protocol connectors in the Tomcat + Configuration Reference + + http://tomcat.apache.org/tomcat-7.0-doc/config/http.html + + http://tomcat.apache.org/tomcat-7.0-doc/config/ajp.html + + - Apache Tomcat Native project home + + http://tomcat.apache.org/native-doc/ + + - Other projects + + * OpenSSL + + http://openssl.org/ + + * Apache Portable Runtime + + http://apr.apache.org/ + + * Apache HTTP Server + + http://httpd.apache.org/ + +To disable Apache Tomcat Native library: + + - To disable Apache Tomcat Native library when it is installed, or + - To remove the warning that is logged during Tomcat startup when the + library is not installed: + + Edit the "conf/server.xml" file and remove "AprLifecycleListener" from + it. + +The binary file of Apache Tomcat Native library is usually named + + - "tcnative-1.dll" on Windows + - "libtcnative-1.so" on *nix systems + + +Apache Commons Daemon +---------------------- + +Apache Commons Daemon project provides wrappers that can be used to +install Apache Tomcat as a service on Windows or as a daemon on *nix +systems. + +The Windows-specific implementation of Apache Commons Daemon is called +"procrun". The *nix-specific one is called "jsvc". + +For further reading: + + - Apache Commons Daemon project + + http://commons.apache.org/daemon/ + + - Apache Tomcat documentation + + * Installing Apache Tomcat + + http://tomcat.apache.org/tomcat-7.0-doc/setup.html + + * Windows service HOW-TO + + http://tomcat.apache.org/tomcat-7.0-doc/windows-service-howto.html + +The binary files of Apache Commons Daemon in Apache Tomcat distributions +for Windows are named: + + - "tomcat7.exe" + - "tomcat7w.exe" + +These files are renamed copies of "prunsrv.exe" and "prunmgr.exe" from +Apache Commons Daemon distribution. The file names have a meaning: they are +used as the service name to register the service in Windows, as well as the +key name to store distinct configuration for this installation of +"procrun". If you would like to install several instances of Tomcat 7.0 +in parallel, you have to further rename those files, using the same naming +scheme. diff --git a/eagle-assembly/src/main/lib/tomcat/bin/catalina.sh b/eagle-assembly/src/main/lib/tomcat/bin/catalina.sh new file mode 100644 index 0000000000..2d0a6c3d6e --- /dev/null +++ b/eagle-assembly/src/main/lib/tomcat/bin/catalina.sh @@ -0,0 +1,551 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# ----------------------------------------------------------------------------- +# Control Script for the CATALINA Server +# +# Environment Variable Prerequisites +# +# Do not set the variables in this script. Instead put them into a script +# setenv.sh in CATALINA_BASE/bin to keep your customizations separate. +# +# CATALINA_HOME May point at your Catalina "build" directory. +# +# CATALINA_BASE (Optional) Base directory for resolving dynamic portions +# of a Catalina installation. If not present, resolves to +# the same directory that CATALINA_HOME points to. +# +# CATALINA_OUT (Optional) Full path to a file where stdout and stderr +# will be redirected. +# Default is $CATALINA_BASE/logs/catalina.out +# +# CATALINA_OPTS (Optional) Java runtime options used when the "start", +# "run" or "debug" command is executed. +# Include here and not in JAVA_OPTS all options, that should +# only be used by Tomcat itself, not by the stop process, +# the version command etc. +# Examples are heap size, GC logging, JMX ports etc. +# +# CATALINA_TMPDIR (Optional) Directory path location of temporary directory +# the JVM should use (java.io.tmpdir). Defaults to +# $CATALINA_BASE/temp. +# +# JAVA_HOME Must point at your Java Development Kit installation. +# Required to run the with the "debug" argument. +# +# JRE_HOME Must point at your Java Runtime installation. +# Defaults to JAVA_HOME if empty. If JRE_HOME and JAVA_HOME +# are both set, JRE_HOME is used. +# +# JAVA_OPTS (Optional) Java runtime options used when any command +# is executed. +# Include here and not in CATALINA_OPTS all options, that +# should be used by Tomcat and also by the stop process, +# the version command etc. +# Most options should go into CATALINA_OPTS. +# +# JAVA_ENDORSED_DIRS (Optional) Lists of of colon separated directories +# containing some jars in order to allow replacement of APIs +# created outside of the JCP (i.e. DOM and SAX from W3C). +# It can also be used to update the XML parser implementation. +# Defaults to $CATALINA_HOME/endorsed. +# +# JPDA_TRANSPORT (Optional) JPDA transport used when the "jpda start" +# command is executed. The default is "dt_socket". +# +# JPDA_ADDRESS (Optional) Java runtime options used when the "jpda start" +# command is executed. The default is 8000. +# +# JPDA_SUSPEND (Optional) Java runtime options used when the "jpda start" +# command is executed. Specifies whether JVM should suspend +# execution immediately after startup. Default is "n". +# +# JPDA_OPTS (Optional) Java runtime options used when the "jpda start" +# command is executed. If used, JPDA_TRANSPORT, JPDA_ADDRESS, +# and JPDA_SUSPEND are ignored. Thus, all required jpda +# options MUST be specified. The default is: +# +# -agentlib:jdwp=transport=$JPDA_TRANSPORT, +# address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND +# +# CATALINA_PID (Optional) Path of the file which should contains the pid +# of the catalina startup java process, when start (fork) is +# used +# +# LOGGING_CONFIG (Optional) Override Tomcat's logging config file +# Example (all one line) +# LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties" +# +# LOGGING_MANAGER (Optional) Override Tomcat's logging manager +# Example (all one line) +# LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" +# ----------------------------------------------------------------------------- + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false +darwin=false +os400=false +case "`uname`" in +CYGWIN*) cygwin=true;; +Darwin*) darwin=true;; +OS400*) os400=true;; +esac + +# resolve links - $0 may be a softlink +PRG="$0" + +while [ -h "$PRG" ]; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`/"$link" + fi +done + +# Get standard environment variables +PRGDIR=`dirname "$PRG"` + +# Only set CATALINA_HOME if not already set +[ -z "$CATALINA_HOME" ] && CATALINA_HOME=`cd "$PRGDIR/.." >/dev/null; pwd` + +# Copy CATALINA_BASE from CATALINA_HOME if not already set +[ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME" + +# Ensure that any user defined CLASSPATH variables are not used on startup, +# but allow them to be specified in setenv.sh, in rare case when it is needed. +CLASSPATH= + +if [ -r "$CATALINA_BASE/bin/setenv.sh" ]; then + . "$CATALINA_BASE/bin/setenv.sh" +elif [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then + . "$CATALINA_HOME/bin/setenv.sh" +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin; then + [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$JRE_HOME" ] && JRE_HOME=`cygpath --unix "$JRE_HOME"` + [ -n "$CATALINA_HOME" ] && CATALINA_HOME=`cygpath --unix "$CATALINA_HOME"` + [ -n "$CATALINA_BASE" ] && CATALINA_BASE=`cygpath --unix "$CATALINA_BASE"` + [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +# For OS400 +if $os400; then + # Set job priority to standard for interactive (interactive - 6) by using + # the interactive priority - 6, the helper threads that respond to requests + # will be running at the same priority as interactive jobs. + COMMAND='chgjob job('$JOBNAME') runpty(6)' + system $COMMAND + + # Enable multi threading + export QIBM_MULTI_THREADED=Y +fi + +# Get standard Java environment variables +if $os400; then + # -r will Only work on the os400 if the files are: + # 1. owned by the user + # 2. owned by the PRIMARY group of the user + # this will not work if the user belongs in secondary groups + . "$CATALINA_HOME"/bin/setclasspath.sh +else + if [ -r "$CATALINA_HOME"/bin/setclasspath.sh ]; then + . "$CATALINA_HOME"/bin/setclasspath.sh + else + echo "Cannot find $CATALINA_HOME/bin/setclasspath.sh" + echo "This file is needed to run this program" + exit 1 + fi +fi + +# Add on extra jar files to CLASSPATH +if [ ! -z "$CLASSPATH" ] ; then + CLASSPATH="$CLASSPATH": +fi +CLASSPATH="$CLASSPATH""$CATALINA_HOME"/bin/bootstrap.jar + +if [ -z "$CATALINA_OUT" ] ; then + CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out +fi + +if [ -z "$CATALINA_TMPDIR" ] ; then + # Define the java.io.tmpdir to use for Catalina + CATALINA_TMPDIR="$CATALINA_BASE"/temp +fi + +# Add tomcat-juli.jar to classpath +# tomcat-juli.jar can be over-ridden per instance +if [ -r "$CATALINA_BASE/bin/tomcat-juli.jar" ] ; then + CLASSPATH=$CLASSPATH:$CATALINA_BASE/bin/tomcat-juli.jar +else + CLASSPATH=$CLASSPATH:$CATALINA_HOME/bin/tomcat-juli.jar +fi + +# Bugzilla 37848: When no TTY is available, don't output to console +have_tty=0 +if [ "`tty`" != "not a tty" ]; then + have_tty=1 +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"` + JRE_HOME=`cygpath --absolute --windows "$JRE_HOME"` + CATALINA_HOME=`cygpath --absolute --windows "$CATALINA_HOME"` + CATALINA_BASE=`cygpath --absolute --windows "$CATALINA_BASE"` + CATALINA_TMPDIR=`cygpath --absolute --windows "$CATALINA_TMPDIR"` + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"` +fi + +# Set juli LogManager config file if it is present and an override has not been issued +if [ -z "$LOGGING_CONFIG" ]; then + if [ -r "$CATALINA_BASE"/conf/logging.properties ]; then + LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties" + else + # Bugzilla 45585 + LOGGING_CONFIG="-Dnop" + fi +fi + +if [ -z "$LOGGING_MANAGER" ]; then + LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" +fi + +# Uncomment the following line to make the umask available when using the +# org.apache.catalina.security.SecurityListener +#JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=`umask`" + +# ----- Execute The Requested Command ----------------------------------------- + +# Bugzilla 37848: only output this if we have a TTY +#if [ $have_tty -eq 1 ]; then + #echo "Using CATALINA_BASE: $CATALINA_BASE" + #echo "Using CATALINA_HOME: $CATALINA_HOME" + #echo "Using CATALINA_TMPDIR: $CATALINA_TMPDIR" + #if [ "$1" = "debug" ] ; then + # echo "Using JAVA_HOME: $JAVA_HOME" + #else + # echo "Using JRE_HOME: $JRE_HOME" + #fi + #echo "Using CLASSPATH: $CLASSPATH" + #if [ ! -z "$CATALINA_PID" ]; then + #echo "Using CATALINA_PID: $CATALINA_PID" + #fi +#fi + +if [ "$1" = "jpda" ] ; then + if [ -z "$JPDA_TRANSPORT" ]; then + JPDA_TRANSPORT="dt_socket" + fi + if [ -z "$JPDA_ADDRESS" ]; then + JPDA_ADDRESS="8000" + fi + if [ -z "$JPDA_SUSPEND" ]; then + JPDA_SUSPEND="n" + fi + if [ -z "$JPDA_OPTS" ]; then + JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND" + fi + CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS" + shift +fi + +if [ "$1" = "debug" ] ; then + if $os400; then + echo "Debug command not available on OS400" + exit 1 + else + shift + if [ "$1" = "-security" ] ; then + if [ $have_tty -eq 1 ]; then + echo "Using Security Manager" + fi + shift + exec "$_RUNJDB" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \ + -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \ + -sourcepath "$CATALINA_HOME"/../../java \ + -Djava.security.manager \ + -Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \ + -Dcatalina.base="$CATALINA_BASE" \ + -Dcatalina.home="$CATALINA_HOME" \ + -Djava.io.tmpdir="$CATALINA_TMPDIR" \ + org.apache.catalina.startup.Bootstrap "$@" start + else + exec "$_RUNJDB" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \ + -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \ + -sourcepath "$CATALINA_HOME"/../../java \ + -Dcatalina.base="$CATALINA_BASE" \ + -Dcatalina.home="$CATALINA_HOME" \ + -Djava.io.tmpdir="$CATALINA_TMPDIR" \ + org.apache.catalina.startup.Bootstrap "$@" start + fi + fi + +elif [ "$1" = "run" ]; then + + shift + if [ "$1" = "-security" ] ; then + if [ $have_tty -eq 1 ]; then + echo "Using Security Manager" + fi + shift + eval exec "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \ + -Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \ + -Djava.security.manager \ + -Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \ + -Dcatalina.base="\"$CATALINA_BASE\"" \ + -Dcatalina.home="\"$CATALINA_HOME\"" \ + -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \ + org.apache.catalina.startup.Bootstrap "$@" start + else + eval exec "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \ + -Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \ + -Dcatalina.base="\"$CATALINA_BASE\"" \ + -Dcatalina.home="\"$CATALINA_HOME\"" \ + -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \ + org.apache.catalina.startup.Bootstrap "$@" start + fi + +elif [ "$1" = "start" ] ; then + + if [ ! -z "$CATALINA_PID" ]; then + if [ -f "$CATALINA_PID" ]; then + if [ -s "$CATALINA_PID" ]; then + echo "Existing PID file found during start." + if [ -r "$CATALINA_PID" ]; then + PID=`cat "$CATALINA_PID"` + ps -p $PID >/dev/null 2>&1 + if [ $? -eq 0 ] ; then + echo "Eagle service appears to still be running with PID $PID. Start aborted." + echo "If the following process is not an eagle service process, remove the PID file and try again:" + ps -f -p $PID + exit 1 + else + echo "Removing/clearing stale PID file." + rm -f "$CATALINA_PID" >/dev/null 2>&1 + if [ $? != 0 ]; then + if [ -w "$CATALINA_PID" ]; then + cat /dev/null > "$CATALINA_PID" + else + echo "Unable to remove or clear stale PID file. Start aborted." + exit 1 + fi + fi + fi + else + echo "Unable to read PID file. Start aborted." + exit 1 + fi + else + rm -f "$CATALINA_PID" >/dev/null 2>&1 + if [ $? != 0 ]; then + if [ ! -w "$CATALINA_PID" ]; then + echo "Unable to remove or write to empty PID file. Start aborted." + exit 1 + fi + fi + fi + fi + fi + + shift + touch "$CATALINA_OUT" + if [ "$1" = "-security" ] ; then + if [ $have_tty -eq 1 ]; then + echo "Using Security Manager" + fi + shift + eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \ + -Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \ + -Djava.security.manager \ + -Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \ + -Dcatalina.base="\"$CATALINA_BASE\"" \ + -Dcatalina.home="\"$CATALINA_HOME\"" \ + -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \ + org.apache.catalina.startup.Bootstrap "$@" start \ + >> "$CATALINA_OUT" 2>&1 "&" + + else + eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \ + -Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \ + -Dcatalina.base="\"$CATALINA_BASE\"" \ + -Dcatalina.home="\"$CATALINA_HOME\"" \ + -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \ + org.apache.catalina.startup.Bootstrap "$@" start \ + >> "$CATALINA_OUT" 2>&1 "&" + + fi + + if [ ! -z "$CATALINA_PID" ]; then + echo $! > "$CATALINA_PID" + fi + + echo "Eagle service started." + +elif [ "$1" = "stop" ] ; then + + shift + + SLEEP=5 + if [ ! -z "$1" ]; then + echo $1 | grep "[^0-9]" >/dev/null 2>&1 + if [ $? -gt 0 ]; then + SLEEP=$1 + shift + fi + fi + + FORCE=0 + if [ "$1" = "-force" ]; then + shift + FORCE=1 + fi + + if [ ! -z "$CATALINA_PID" ]; then + if [ -f "$CATALINA_PID" ]; then + if [ -s "$CATALINA_PID" ]; then + kill -0 `cat "$CATALINA_PID"` >/dev/null 2>&1 + if [ $? -gt 0 ]; then + echo "PID file found but no matching process was found. Stop aborted." + exit 1 + fi + else + echo "PID file is empty and has been ignored." + fi + else + echo "\$CATALINA_PID was set but the specified file does not exist. Is eagle service running? Stop aborted." + exit 1 + fi + fi + + eval "\"$_RUNJAVA\"" $LOGGING_MANAGER $JAVA_OPTS \ + -Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \ + -Dcatalina.base="\"$CATALINA_BASE\"" \ + -Dcatalina.home="\"$CATALINA_HOME\"" \ + -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \ + org.apache.catalina.startup.Bootstrap "$@" stop + + # stop failed. Shutdown port disabled? Try a normal kill. + if [ $? != 0 ]; then + if [ ! -z "$CATALINA_PID" ]; then + echo "The stop command failed. Attempting to signal the process to stop through OS signal." + kill -15 `cat "$CATALINA_PID"` >/dev/null 2>&1 + fi + fi + + if [ ! -z "$CATALINA_PID" ]; then + if [ -f "$CATALINA_PID" ]; then + while [ $SLEEP -ge 0 ]; do + kill -0 `cat "$CATALINA_PID"` >/dev/null 2>&1 + if [ $? -gt 0 ]; then + rm -f "$CATALINA_PID" >/dev/null 2>&1 + if [ $? != 0 ]; then + if [ -w "$CATALINA_PID" ]; then + cat /dev/null > "$CATALINA_PID" + # If Tomcat has stopped don't try and force a stop with an empty PID file + FORCE=0 + else + echo "The PID file could not be removed or cleared." + fi + fi + echo "Eagle service stopped." + break + fi + if [ $SLEEP -gt 0 ]; then + sleep 1 + fi + if [ $SLEEP -eq 0 ]; then + if [ $FORCE -eq 0 ]; then + echo "Eagle service did not stop in time. PID file was not removed. To aid diagnostics a thread dump has been written to standard out." + kill -3 `cat "$CATALINA_PID"` + fi + fi + SLEEP=`expr $SLEEP - 1 ` + done + fi + fi + + KILL_SLEEP_INTERVAL=5 + if [ $FORCE -eq 1 ]; then + if [ -z "$CATALINA_PID" ]; then + echo "Kill failed: \$CATALINA_PID not set" + else + if [ -f "$CATALINA_PID" ]; then + PID=`cat "$CATALINA_PID"` + echo "Killing eagle service with the PID: $PID" + kill -9 $PID + while [ $KILL_SLEEP_INTERVAL -ge 0 ]; do + kill -0 `cat "$CATALINA_PID"` >/dev/null 2>&1 + if [ $? -gt 0 ]; then + rm -f "$CATALINA_PID" >/dev/null 2>&1 + if [ $? != 0 ]; then + if [ -w "$CATALINA_PID" ]; then + cat /dev/null > "$CATALINA_PID" + else + echo "The PID file could not be removed." + fi + fi + # Set this to zero else a warning will be issued about the process still running + KILL_SLEEP_INTERVAL=0 + echo "The eagle process has been killed." + break + fi + if [ $KILL_SLEEP_INTERVAL -gt 0 ]; then + sleep 1 + fi + KILL_SLEEP_INTERVAL=`expr $KILL_SLEEP_INTERVAL - 1 ` + done + if [ $KILL_SLEEP_INTERVAL -gt 0 ]; then + echo "eagle has not been killed completely yet. The process might be waiting on some system call or might be UNINTERRUPTIBLE." + fi + fi + fi + fi + +elif [ "$1" = "configtest" ] ; then + + eval "\"$_RUNJAVA\"" $LOGGING_MANAGER $JAVA_OPTS \ + -Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \ + -Dcatalina.base="\"$CATALINA_BASE\"" \ + -Dcatalina.home="\"$CATALINA_HOME\"" \ + -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \ + org.apache.catalina.startup.Bootstrap configtest + result=$? + if [ $result -ne 0 ]; then + echo "Configuration error detected!" + fi + exit $result + +elif [ "$1" = "version" ] ; then + + "$_RUNJAVA" \ + -classpath "$CATALINA_HOME/lib/catalina.jar" \ + org.apache.catalina.util.ServerInfo + +else + + echo "Usage: eagle-service.sh " + echo " commands:" + echo " start Start eagle service in a separate window" + echo " stop Stop eagle service, waiting up to 5 seconds for the process to end" + exit 1 + +fi diff --git a/eagle-assembly/src/main/lib/tomcat/bin/configtest.sh b/eagle-assembly/src/main/lib/tomcat/bin/configtest.sh new file mode 100644 index 0000000000..9a8ebffd73 --- /dev/null +++ b/eagle-assembly/src/main/lib/tomcat/bin/configtest.sh @@ -0,0 +1,60 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# ----------------------------------------------------------------------------- +# Configuration Test Script for the CATALINA Server +# ----------------------------------------------------------------------------- + +# Better OS/400 detection: see Bugzilla 31132 +os400=false +case "`uname`" in +OS400*) os400=true;; +esac + +# resolve links - $0 may be a softlink +PRG="$0" + +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`/"$link" + fi +done + +PRGDIR=`dirname "$PRG"` +EXECUTABLE=catalina.sh + +# Check that target executable exists +if $os400; then + # -x will Only work on the os400 if the files are: + # 1. owned by the user + # 2. owned by the PRIMARY group of the user + # this will not work if the user belongs in secondary groups + eval +else + if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then + echo "Cannot find $PRGDIR/$EXECUTABLE" + echo "The file is absent or does not have execute permission" + echo "This file is needed to run this program" + exit 1 + fi +fi + +exec "$PRGDIR"/"$EXECUTABLE" configtest "$@" diff --git a/eagle-assembly/src/main/lib/tomcat/bin/daemon.sh b/eagle-assembly/src/main/lib/tomcat/bin/daemon.sh new file mode 100644 index 0000000000..dee6c77136 --- /dev/null +++ b/eagle-assembly/src/main/lib/tomcat/bin/daemon.sh @@ -0,0 +1,252 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ----------------------------------------------------------------------------- +# Commons Daemon wrapper script. +# ----------------------------------------------------------------------------- +# +# resolve links - $0 may be a softlink +ARG0="$0" +while [ -h "$ARG0" ]; do + ls=`ls -ld "$ARG0"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + ARG0="$link" + else + ARG0="`dirname $ARG0`/$link" + fi +done +DIRNAME="`dirname $ARG0`" +PROGRAM="`basename $ARG0`" +while [ ".$1" != . ] +do + case "$1" in + --java-home ) + JAVA_HOME="$2" + shift; shift; + continue + ;; + --catalina-home ) + CATALINA_HOME="$2" + shift; shift; + continue + ;; + --catalina-base ) + CATALINA_BASE="$2" + shift; shift; + continue + ;; + --catalina-pid ) + CATALINA_PID="$2" + shift; shift; + continue + ;; + --tomcat-user ) + TOMCAT_USER="$2" + shift; shift; + continue + ;; + --service-start-wait-time ) + SERVICE_START_WAIT_TIME="$2" + shift; shift; + continue + ;; + * ) + break + ;; + esac +done +# OS specific support (must be 'true' or 'false'). +cygwin=false; +darwin=false; +case "`uname`" in + CYGWIN*) + cygwin=true + ;; + Darwin*) + darwin=true + ;; +esac + +# Use the maximum available, or set MAX_FD != -1 to use that +test ".$MAX_FD" = . && MAX_FD="maximum" +# Setup parameters for running the jsvc +# +test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat +# Set JAVA_HOME to working JDK or JRE +# JAVA_HOME=/opt/jdk-1.6.0.22 +# If not set we'll try to guess the JAVA_HOME +# from java binary if on the PATH +# +if [ -z "$JAVA_HOME" ]; then + JAVA_BIN="`which java 2>/dev/null || type java 2>&1`" + test -x "$JAVA_BIN" && JAVA_HOME="`dirname $JAVA_BIN`" + test ".$JAVA_HOME" != . && JAVA_HOME=`cd "$JAVA_HOME/.." >/dev/null; pwd` +else + JAVA_BIN="$JAVA_HOME/bin/java" +fi + +# Only set CATALINA_HOME if not already set +test ".$CATALINA_HOME" = . && CATALINA_HOME=`cd "$DIRNAME/.." >/dev/null; pwd` +test ".$CATALINA_BASE" = . && CATALINA_BASE="$CATALINA_HOME" +test ".$CATALINA_MAIN" = . && CATALINA_MAIN=org.apache.catalina.startup.Bootstrap +# If not explicitly set, look for jsvc in CATALINA_BASE first then CATALINA_HOME +if [ -z "$JSVC" ]; then + JSVC="$CATALINA_BASE/bin/jsvc" + if [ ! -x "$JSVC" ]; then + JSVC="$CATALINA_HOME/bin/jsvc" + fi +fi +# Set the default service-start wait time if necessary +test ".$SERVICE_START_WAIT_TIME" = . && SERVICE_START_WAIT_TIME=10 + +# Ensure that any user defined CLASSPATH variables are not used on startup, +# but allow them to be specified in setenv.sh, in rare case when it is needed. +CLASSPATH= +JAVA_OPTS= +if [ -r "$CATALINA_BASE/bin/setenv.sh" ]; then + . "$CATALINA_BASE/bin/setenv.sh" +elif [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then + . "$CATALINA_HOME/bin/setenv.sh" +fi + +# Add on extra jar files to CLASSPATH +test ".$CLASSPATH" != . && CLASSPATH="${CLASSPATH}:" +CLASSPATH="$CLASSPATH$CATALINA_HOME/bin/bootstrap.jar:$CATALINA_HOME/bin/commons-daemon.jar" + +test ".$CATALINA_OUT" = . && CATALINA_OUT="$CATALINA_BASE/logs/catalina-daemon.out" +test ".$CATALINA_TMP" = . && CATALINA_TMP="$CATALINA_BASE/temp" + +# Add tomcat-juli.jar to classpath +# tomcat-juli.jar can be over-ridden per instance +if [ -r "$CATALINA_BASE/bin/tomcat-juli.jar" ] ; then + CLASSPATH="$CLASSPATH:$CATALINA_BASE/bin/tomcat-juli.jar" +else + CLASSPATH="$CLASSPATH:$CATALINA_HOME/bin/tomcat-juli.jar" +fi +# Set juli LogManager config file if it is present and an override has not been issued +if [ -z "$LOGGING_CONFIG" ]; then + if [ -r "$CATALINA_BASE/conf/logging.properties" ]; then + LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties" + else + # Bugzilla 45585 + LOGGING_CONFIG="-Dnop" + fi +fi + +test ".$LOGGING_MANAGER" = . && LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" +JAVA_OPTS="$JAVA_OPTS $LOGGING_MANAGER" + +# Set -pidfile +test ".$CATALINA_PID" = . && CATALINA_PID="$CATALINA_BASE/logs/catalina-daemon.pid" + +# Increase the maximum file descriptors if we can +if [ "$cygwin" = "false" ]; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ "$?" -eq 0 ]; then + # Darwin does not allow RLIMIT_INFINITY on file soft limit + if [ "$darwin" = "true" -a "$MAX_FD_LIMIT" = "unlimited" ]; then + MAX_FD_LIMIT=`/usr/sbin/sysctl -n kern.maxfilesperproc` + fi + test ".$MAX_FD" = ".maximum" && MAX_FD="$MAX_FD_LIMIT" + ulimit -n $MAX_FD + if [ "$?" -ne 0 ]; then + echo "$PROGRAM: Could not set maximum file descriptor limit: $MAX_FD" + fi + else + echo "$PROGRAM: Could not query system maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# ----- Execute The Requested Command ----------------------------------------- +case "$1" in + run ) + shift + "$JSVC" $* \ + $JSVC_OPTS \ + -java-home "$JAVA_HOME" \ + -pidfile "$CATALINA_PID" \ + -wait "$SERVICE_START_WAIT_TIME" \ + -nodetach \ + -outfile "&1" \ + -errfile "&2" \ + -classpath "$CLASSPATH" \ + "$LOGGING_CONFIG" $JAVA_OPTS $CATALINA_OPTS \ + -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \ + -Dcatalina.base="$CATALINA_BASE" \ + -Dcatalina.home="$CATALINA_HOME" \ + -Djava.io.tmpdir="$CATALINA_TMP" \ + $CATALINA_MAIN + exit $? + ;; + start ) + "$JSVC" $JSVC_OPTS \ + -java-home "$JAVA_HOME" \ + -user $TOMCAT_USER \ + -pidfile "$CATALINA_PID" \ + -wait "$SERVICE_START_WAIT_TIME" \ + -outfile "$CATALINA_OUT" \ + -errfile "&1" \ + -classpath "$CLASSPATH" \ + "$LOGGING_CONFIG" $JAVA_OPTS $CATALINA_OPTS \ + -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \ + -Dcatalina.base="$CATALINA_BASE" \ + -Dcatalina.home="$CATALINA_HOME" \ + -Djava.io.tmpdir="$CATALINA_TMP" \ + $CATALINA_MAIN + exit $? + ;; + stop ) + "$JSVC" $JSVC_OPTS \ + -stop \ + -pidfile "$CATALINA_PID" \ + -classpath "$CLASSPATH" \ + -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \ + -Dcatalina.base="$CATALINA_BASE" \ + -Dcatalina.home="$CATALINA_HOME" \ + -Djava.io.tmpdir="$CATALINA_TMP" \ + $CATALINA_MAIN + exit $? + ;; + version ) + "$JSVC" \ + -java-home "$JAVA_HOME" \ + -pidfile "$CATALINA_PID" \ + -classpath "$CLASSPATH" \ + -errfile "&2" \ + -version \ + -check \ + $CATALINA_MAIN + if [ "$?" = 0 ]; then + "$JAVA_BIN" \ + -classpath "$CATALINA_HOME/lib/catalina.jar" \ + org.apache.catalina.util.ServerInfo + fi + exit $? + ;; + * ) + echo "Unknown command: \`$1'" + echo "Usage: $PROGRAM ( commands ... )" + echo "commands:" + echo " run Start Tomcat without detaching from console" + echo " start Start Tomcat" + echo " stop Stop Tomcat" + echo " version What version of commons daemon and Tomcat" + echo " are you running?" + exit 1 + ;; +esac diff --git a/eagle-assembly/src/main/lib/tomcat/bin/digest.sh b/eagle-assembly/src/main/lib/tomcat/bin/digest.sh new file mode 100644 index 0000000000..62ed5d0a1e --- /dev/null +++ b/eagle-assembly/src/main/lib/tomcat/bin/digest.sh @@ -0,0 +1,60 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# ----------------------------------------------------------------------------- +# Script to digest password using the algorithm specified +# ----------------------------------------------------------------------------- + +# Better OS/400 detection: see Bugzilla 31132 +os400=false +case "`uname`" in +OS400*) os400=true;; +esac + +# resolve links - $0 may be a softlink +PRG="$0" + +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`/"$link" + fi +done + +PRGDIR=`dirname "$PRG"` +EXECUTABLE=tool-wrapper.sh + +# Check that target executable exists +if $os400; then + # -x will Only work on the os400 if the files are: + # 1. owned by the user + # 2. owned by the PRIMARY group of the user + # this will not work if the user belongs in secondary groups + eval +else + if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then + echo "Cannot find $PRGDIR/$EXECUTABLE" + echo "The file is absent or does not have execute permission" + echo "This file is needed to run this program" + exit 1 + fi +fi + +exec "$PRGDIR"/"$EXECUTABLE" -server org.apache.catalina.realm.RealmBase "$@" diff --git a/eagle-assembly/src/main/lib/tomcat/bin/setclasspath.sh b/eagle-assembly/src/main/lib/tomcat/bin/setclasspath.sh new file mode 100644 index 0000000000..873fad3d11 --- /dev/null +++ b/eagle-assembly/src/main/lib/tomcat/bin/setclasspath.sh @@ -0,0 +1,94 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# ----------------------------------------------------------------------------- +# Set JAVA_HOME or JRE_HOME if not already set, ensure any provided settings +# are valid and consistent with the selected start-up options and set up the +# endorsed directory. +# ----------------------------------------------------------------------------- + +# Make sure prerequisite environment variables are set +if [ -z "$JAVA_HOME" -a -z "$JRE_HOME" ]; then + if $darwin; then + # Bugzilla 54390 + if [ -x '/usr/libexec/java_home' ] ; then + export JAVA_HOME=`/usr/libexec/java_home` + # Bugzilla 37284 (reviewed). + elif [ -d "/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home" ]; then + export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home" + fi + else + JAVA_PATH=`which java 2>/dev/null` + if [ "x$JAVA_PATH" != "x" ]; then + JAVA_PATH=`dirname $JAVA_PATH 2>/dev/null` + JRE_HOME=`dirname $JAVA_PATH 2>/dev/null` + fi + if [ "x$JRE_HOME" = "x" ]; then + # XXX: Should we try other locations? + if [ -x /usr/bin/java ]; then + JRE_HOME=/usr + fi + fi + fi + if [ -z "$JAVA_HOME" -a -z "$JRE_HOME" ]; then + echo "Neither the JAVA_HOME nor the JRE_HOME environment variable is defined" + echo "At least one of these environment variable is needed to run this program" + exit 1 + fi +fi +if [ -z "$JAVA_HOME" -a "$1" = "debug" ]; then + echo "JAVA_HOME should point to a JDK in order to run in debug mode." + exit 1 +fi +if [ -z "$JRE_HOME" ]; then + JRE_HOME="$JAVA_HOME" +fi + +# If we're running under jdb, we need a full jdk. +if [ "$1" = "debug" ] ; then + if [ "$os400" = "true" ]; then + if [ ! -x "$JAVA_HOME"/bin/java -o ! -x "$JAVA_HOME"/bin/javac ]; then + echo "The JAVA_HOME environment variable is not defined correctly" + echo "This environment variable is needed to run this program" + echo "NB: JAVA_HOME should point to a JDK not a JRE" + exit 1 + fi + else + if [ ! -x "$JAVA_HOME"/bin/java -o ! -x "$JAVA_HOME"/bin/jdb -o ! -x "$JAVA_HOME"/bin/javac ]; then + echo "The JAVA_HOME environment variable is not defined correctly" + echo "This environment variable is needed to run this program" + echo "NB: JAVA_HOME should point to a JDK not a JRE" + exit 1 + fi + fi +fi + +# Don't override the endorsed dir if the user has set it previously +if [ -z "$JAVA_ENDORSED_DIRS" ]; then + # Set the default -Djava.endorsed.dirs argument + JAVA_ENDORSED_DIRS="$CATALINA_HOME"/endorsed +fi + +# Set standard commands for invoking Java, if not already set. +if [ -z "$_RUNJAVA" ]; then + _RUNJAVA="$JRE_HOME"/bin/java +fi +if [ "$os400" != "true" ]; then + if [ -z "$_RUNJDB" ]; then + _RUNJDB="$JAVA_HOME"/bin/jdb + fi +fi \ No newline at end of file diff --git a/eagle-assembly/src/main/lib/tomcat/bin/shutdown.sh b/eagle-assembly/src/main/lib/tomcat/bin/shutdown.sh new file mode 100644 index 0000000000..cd0c97dc21 --- /dev/null +++ b/eagle-assembly/src/main/lib/tomcat/bin/shutdown.sh @@ -0,0 +1,60 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# ----------------------------------------------------------------------------- +# Stop script for the CATALINA Server +# ----------------------------------------------------------------------------- + +# Better OS/400 detection: see Bugzilla 31132 +os400=false +case "`uname`" in +OS400*) os400=true;; +esac + +# resolve links - $0 may be a softlink +PRG="$0" + +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`/"$link" + fi +done + +PRGDIR=`dirname "$PRG"` +EXECUTABLE=catalina.sh + +# Check that target executable exists +if $os400; then + # -x will Only work on the os400 if the files are: + # 1. owned by the user + # 2. owned by the PRIMARY group of the user + # this will not work if the user belongs in secondary groups + eval +else + if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then + echo "Cannot find $PRGDIR/$EXECUTABLE" + echo "The file is absent or does not have execute permission" + echo "This file is needed to run this program" + exit 1 + fi +fi + +exec "$PRGDIR"/"$EXECUTABLE" stop "$@" diff --git a/eagle-assembly/src/main/lib/tomcat/bin/startup.sh b/eagle-assembly/src/main/lib/tomcat/bin/startup.sh new file mode 100644 index 0000000000..7b10287548 --- /dev/null +++ b/eagle-assembly/src/main/lib/tomcat/bin/startup.sh @@ -0,0 +1,60 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# ----------------------------------------------------------------------------- +# Start Script for the CATALINA Server +# ----------------------------------------------------------------------------- + +# Better OS/400 detection: see Bugzilla 31132 +os400=false +case "`uname`" in +OS400*) os400=true;; +esac + +# resolve links - $0 may be a softlink +PRG="$0" + +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`/"$link" + fi +done + +PRGDIR=`dirname "$PRG"` +EXECUTABLE=catalina.sh + +# Check that target executable exists +if $os400; then + # -x will Only work on the os400 if the files are: + # 1. owned by the user + # 2. owned by the PRIMARY group of the user + # this will not work if the user belongs in secondary groups + eval +else + if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then + echo "Cannot find $PRGDIR/$EXECUTABLE" + echo "The file is absent or does not have execute permission" + echo "This file is needed to run this program" + exit 1 + fi +fi + +exec "$PRGDIR"/"$EXECUTABLE" start "$@" diff --git a/eagle-assembly/src/main/lib/tomcat/bin/tool-wrapper.sh b/eagle-assembly/src/main/lib/tomcat/bin/tool-wrapper.sh new file mode 100644 index 0000000000..31cebf6a5a --- /dev/null +++ b/eagle-assembly/src/main/lib/tomcat/bin/tool-wrapper.sh @@ -0,0 +1,139 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# ----------------------------------------------------------------------------- +# Wrapper script for command line tools +# +# Environment Variable Prerequisites +# +# CATALINA_HOME May point at your Catalina "build" directory. +# +# TOOL_OPTS (Optional) Java runtime options. +# +# JAVA_HOME Must point at your Java Development Kit installation. +# Using JRE_HOME instead works as well. +# +# JRE_HOME Must point at your Java Runtime installation. +# Defaults to JAVA_HOME if empty. If JRE_HOME and JAVA_HOME +# are both set, JRE_HOME is used. +# +# JAVA_OPTS (Optional) Java runtime options. +# +# JAVA_ENDORSED_DIRS (Optional) Lists of of colon separated directories +# containing some jars in order to allow replacement of APIs +# created outside of the JCP (i.e. DOM and SAX from W3C). +# It can also be used to update the XML parser implementation. +# Defaults to $CATALINA_HOME/endorsed. +# ----------------------------------------------------------------------------- + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false +darwin=false +os400=false +case "`uname`" in +CYGWIN*) cygwin=true;; +Darwin*) darwin=true;; +OS400*) os400=true;; +esac + +# resolve links - $0 may be a softlink +PRG="$0" + +while [ -h "$PRG" ]; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`/"$link" + fi +done + +# Get standard environment variables +PRGDIR=`dirname "$PRG"` + +# Only set CATALINA_HOME if not already set +[ -z "$CATALINA_HOME" ] && CATALINA_HOME=`cd "$PRGDIR/.." >/dev/null; pwd` + +# Ensure that any user defined CLASSPATH variables are not used on startup, +# but allow them to be specified in setenv.sh, in rare case when it is needed. +CLASSPATH= + +if [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then + . "$CATALINA_HOME/bin/setenv.sh" +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin; then + [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$JRE_HOME" ] && JRE_HOME=`cygpath --unix "$JRE_HOME"` + [ -n "$CATALINA_HOME" ] && CATALINA_HOME=`cygpath --unix "$CATALINA_HOME"` + [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +# For OS400 +if $os400; then + # Set job priority to standard for interactive (interactive - 6) by using + # the interactive priority - 6, the helper threads that respond to requests + # will be running at the same priority as interactive jobs. + COMMAND='chgjob job('$JOBNAME') runpty(6)' + system $COMMAND + + # Enable multi threading + export QIBM_MULTI_THREADED=Y +fi + +# Get standard Java environment variables +if $os400; then + # -r will Only work on the os400 if the files are: + # 1. owned by the user + # 2. owned by the PRIMARY group of the user + # this will not work if the user belongs in secondary groups + . "$CATALINA_HOME"/bin/setclasspath.sh +else + if [ -r "$CATALINA_HOME"/bin/setclasspath.sh ]; then + . "$CATALINA_HOME"/bin/setclasspath.sh + else + echo "Cannot find $CATALINA_HOME/bin/setclasspath.sh" + echo "This file is needed to run this program" + exit 1 + fi +fi + +# Add on extra jar files to CLASSPATH +if [ ! -z "$CLASSPATH" ] ; then + CLASSPATH="$CLASSPATH": +fi +CLASSPATH="$CLASSPATH""$CATALINA_HOME"/bin/bootstrap.jar:"$CATALINA_HOME"/bin/tomcat-juli.jar:"$CATALINA_HOME"/lib/servlet-api.jar + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"` + JRE_HOME=`cygpath --absolute --windows "$JRE_HOME"` + CATALINA_HOME=`cygpath --absolute --windows "$CATALINA_HOME"` + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"` +fi + +JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" + +# ----- Execute The Requested Command ----------------------------------------- + +exec "$_RUNJAVA" $JAVA_OPTS $TOOL_OPTS \ + -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \ + -Dcatalina.home="$CATALINA_HOME" \ + org.apache.catalina.startup.Tool "$@" diff --git a/eagle-assembly/src/main/lib/tomcat/bin/version.sh b/eagle-assembly/src/main/lib/tomcat/bin/version.sh new file mode 100644 index 0000000000..1cb19bdaa0 --- /dev/null +++ b/eagle-assembly/src/main/lib/tomcat/bin/version.sh @@ -0,0 +1,60 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# ----------------------------------------------------------------------------- +# Version Script for the CATALINA Server +# ----------------------------------------------------------------------------- + +# Better OS/400 detection: see Bugzilla 31132 +os400=false +case "`uname`" in +OS400*) os400=true;; +esac + +# resolve links - $0 may be a softlink +PRG="$0" + +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`/"$link" + fi +done + +PRGDIR=`dirname "$PRG"` +EXECUTABLE=catalina.sh + +# Check that target executable exists +if $os400; then + # -x will Only work on the os400 if the files are: + # 1. owned by the user + # 2. owned by the PRIMARY group of the user + # this will not work if the user belongs in secondary groups + eval +else + if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then + echo "Cannot find $PRGDIR/$EXECUTABLE" + echo "The file is absent or does not have execute permission" + echo "This file is needed to run this program" + exit 1 + fi +fi + +exec "$PRGDIR"/"$EXECUTABLE" version "$@" diff --git a/eagle-assembly/src/main/lib/tomcat/conf/catalina.policy b/eagle-assembly/src/main/lib/tomcat/conf/catalina.policy new file mode 100644 index 0000000000..354d7d6b43 --- /dev/null +++ b/eagle-assembly/src/main/lib/tomcat/conf/catalina.policy @@ -0,0 +1,248 @@ +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// ============================================================================ +// catalina.policy - Security Policy Permissions for Tomcat 7 +// +// This file contains a default set of security policies to be enforced (by the +// JVM) when Catalina is executed with the "-security" option. In addition +// to the permissions granted here, the following additional permissions are +// granted to each web application: +// +// * Read access to the web application's document root directory +// * Read, write and delete access to the web application's working directory +// ============================================================================ + + +// ========== SYSTEM CODE PERMISSIONS ========================================= + + +// These permissions apply to javac +grant codeBase "file:${java.home}/lib/-" { + permission java.security.AllPermission; +}; + +// These permissions apply to all shared system extensions +grant codeBase "file:${java.home}/jre/lib/ext/-" { + permission java.security.AllPermission; +}; + +// These permissions apply to javac when ${java.home] points at $JAVA_HOME/jre +grant codeBase "file:${java.home}/../lib/-" { + permission java.security.AllPermission; +}; + +// These permissions apply to all shared system extensions when +// ${java.home} points at $JAVA_HOME/jre +grant codeBase "file:${java.home}/lib/ext/-" { + permission java.security.AllPermission; +}; + + +// ========== CATALINA CODE PERMISSIONS ======================================= + + +// These permissions apply to the daemon code +grant codeBase "file:${catalina.home}/bin/commons-daemon.jar" { + permission java.security.AllPermission; +}; + +// These permissions apply to the logging API +// Note: If tomcat-juli.jar is in ${catalina.base} and not in ${catalina.home}, +// update this section accordingly. +// grant codeBase "file:${catalina.base}/bin/tomcat-juli.jar" {..} +grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" { + permission java.io.FilePermission + "${java.home}${file.separator}lib${file.separator}logging.properties", "read"; + + permission java.io.FilePermission + "${catalina.base}${file.separator}conf${file.separator}logging.properties", "read"; + permission java.io.FilePermission + "${catalina.base}${file.separator}logs", "read, write"; + permission java.io.FilePermission + "${catalina.base}${file.separator}logs${file.separator}*", "read, write"; + + permission java.lang.RuntimePermission "shutdownHooks"; + permission java.lang.RuntimePermission "getClassLoader"; + permission java.lang.RuntimePermission "setContextClassLoader"; + + permission java.util.logging.LoggingPermission "control"; + + permission java.util.PropertyPermission "java.util.logging.config.class", "read"; + permission java.util.PropertyPermission "java.util.logging.config.file", "read"; + permission java.util.PropertyPermission "org.apache.juli.ClassLoaderLogManager.debug", "read"; + permission java.util.PropertyPermission "catalina.base", "read"; + + // Note: To enable per context logging configuration, permit read access to + // the appropriate file. Be sure that the logging configuration is + // secure before enabling such access. + // E.g. for the examples web application (uncomment and unwrap + // the following to be on a single line): + // permission java.io.FilePermission "${catalina.base}${file.separator} + // webapps${file.separator}examples${file.separator}WEB-INF + // ${file.separator}classes${file.separator}logging.properties", "read"; +}; + +// These permissions apply to the server startup code +grant codeBase "file:${catalina.home}/bin/bootstrap.jar" { + permission java.security.AllPermission; +}; + +// These permissions apply to the servlet API classes +// and those that are shared across all class loaders +// located in the "lib" directory +grant codeBase "file:${catalina.home}/lib/-" { + permission java.security.AllPermission; +}; + + +// If using a per instance lib directory, i.e. ${catalina.base}/lib, +// then the following permission will need to be uncommented +// grant codeBase "file:${catalina.base}/lib/-" { +// permission java.security.AllPermission; +// }; + + +// ========== WEB APPLICATION PERMISSIONS ===================================== + + +// These permissions are granted by default to all web applications +// In addition, a web application will be given a read FilePermission +// and JndiPermission for all files and directories in its document root. +grant { + // Required for JNDI lookup of named JDBC DataSource's and + // javamail named MimePart DataSource used to send mail + permission java.util.PropertyPermission "java.home", "read"; + permission java.util.PropertyPermission "java.naming.*", "read"; + permission java.util.PropertyPermission "javax.sql.*", "read"; + + // OS Specific properties to allow read access + permission java.util.PropertyPermission "os.name", "read"; + permission java.util.PropertyPermission "os.version", "read"; + permission java.util.PropertyPermission "os.arch", "read"; + permission java.util.PropertyPermission "file.separator", "read"; + permission java.util.PropertyPermission "path.separator", "read"; + permission java.util.PropertyPermission "line.separator", "read"; + + // JVM properties to allow read access + permission java.util.PropertyPermission "java.version", "read"; + permission java.util.PropertyPermission "java.vendor", "read"; + permission java.util.PropertyPermission "java.vendor.url", "read"; + permission java.util.PropertyPermission "java.class.version", "read"; + permission java.util.PropertyPermission "java.specification.version", "read"; + permission java.util.PropertyPermission "java.specification.vendor", "read"; + permission java.util.PropertyPermission "java.specification.name", "read"; + + permission java.util.PropertyPermission "java.vm.specification.version", "read"; + permission java.util.PropertyPermission "java.vm.specification.vendor", "read"; + permission java.util.PropertyPermission "java.vm.specification.name", "read"; + permission java.util.PropertyPermission "java.vm.version", "read"; + permission java.util.PropertyPermission "java.vm.vendor", "read"; + permission java.util.PropertyPermission "java.vm.name", "read"; + + // Required for OpenJMX + permission java.lang.RuntimePermission "getAttribute"; + + // Allow read of JAXP compliant XML parser debug + permission java.util.PropertyPermission "jaxp.debug", "read"; + + // All JSPs need to be able to read this package + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat"; + + // Precompiled JSPs need access to these packages. + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.el"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime"; + permission java.lang.RuntimePermission + "accessClassInPackage.org.apache.jasper.runtime.*"; + + // Precompiled JSPs need access to these system properties. + permission java.util.PropertyPermission + "org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER", "read"; + permission java.util.PropertyPermission + "org.apache.el.parser.COERCE_TO_ZERO", "read"; + + // The cookie code needs these. + permission java.util.PropertyPermission + "org.apache.catalina.STRICT_SERVLET_COMPLIANCE", "read"; + permission java.util.PropertyPermission + "org.apache.tomcat.util.http.ServerCookie.STRICT_NAMING", "read"; + permission java.util.PropertyPermission + "org.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR", "read"; + + // Applications using Comet need to be able to access this package + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.comet"; + + // Applications using the legacy WebSocket implementation need to be able to access this package + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.websocket"; + + // Applications using the JSR-356 WebSocket implementation need to be able to access these packages + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.websocket"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.websocket.server"; +}; + + +// The Manager application needs access to the following packages to support the +// session display functionality. These settings support the following +// configurations: +// - default CATALINA_HOME == CATALINA_BASE +// - CATALINA_HOME != CATALINA_BASE, per instance Manager in CATALINA_BASE +// - CATALINA_HOME != CATALINA_BASE, shared Manager in CATALINA_HOME +grant codeBase "file:${catalina.base}/webapps/manager/-" { + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.ha.session"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.manager"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.manager.util"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.util"; +}; +grant codeBase "file:${catalina.home}/webapps/manager/-" { + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.ha.session"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.manager"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.manager.util"; + permission java.lang.RuntimePermission "accessClassInPackage.org.apache.catalina.util"; +}; + +// You can assign additional permissions to particular web applications by +// adding additional "grant" entries here, based on the code base for that +// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files. +// +// Different permissions can be granted to JSP pages, classes loaded from +// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/ +// directory, or even to individual jar files in the /WEB-INF/lib/ directory. +// +// For instance, assume that the standard "examples" application +// included a JDBC driver that needed to establish a network connection to the +// corresponding database and used the scrape taglib to get the weather from +// the NOAA web server. You might create a "grant" entries like this: +// +// The permissions granted to the context root directory apply to JSP pages. +// grant codeBase "file:${catalina.base}/webapps/examples/-" { +// permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect"; +// permission java.net.SocketPermission "*.noaa.gov:80", "connect"; +// }; +// +// The permissions granted to the context WEB-INF/classes directory +// grant codeBase "file:${catalina.base}/webapps/examples/WEB-INF/classes/-" { +// }; +// +// The permission granted to your JDBC driver +// grant codeBase "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/driver.jar!/-" { +// permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect"; +// }; +// The permission granted to the scrape taglib +// grant codeBase "jar:file:${catalina.base}/webapps/examples/WEB-INF/lib/scrape.jar!/-" { +// permission java.net.SocketPermission "*.noaa.gov:80", "connect"; +// }; + diff --git a/eagle-assembly/src/main/lib/tomcat/conf/catalina.properties b/eagle-assembly/src/main/lib/tomcat/conf/catalina.properties new file mode 100644 index 0000000000..ef375e1d64 --- /dev/null +++ b/eagle-assembly/src/main/lib/tomcat/conf/catalina.properties @@ -0,0 +1,133 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# +# List of comma-separated packages that start with or equal this string +# will cause a security exception to be thrown when +# passed to checkPackageAccess unless the +# corresponding RuntimePermission ("accessClassInPackage."+package) has +# been granted. +package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.jasper.,\ +org.apache.naming.resources.,org.apache.tomcat. +# +# List of comma-separated packages that start with or equal this string +# will cause a security exception to be thrown when +# passed to checkPackageDefinition unless the +# corresponding RuntimePermission ("defineClassInPackage."+package) has +# been granted. +# +# by default, no packages are restricted for definition, and none of +# the class loaders supplied with the JDK call checkPackageDefinition. +# +package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,\ +org.apache.jasper.,org.apache.naming.,org.apache.tomcat. + +# +# +# List of comma-separated paths defining the contents of the "common" +# classloader. Prefixes should be used to define what is the repository type. +# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute. +# If left as blank,the JVM system loader will be used as Catalina's "common" +# loader. +# Examples: +# "foo": Add this folder as a class repository +# "foo/*.jar": Add all the JARs of the specified folder as class +# repositories +# "foo/bar.jar": Add bar.jar as a class repository +common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar + +# +# List of comma-separated paths defining the contents of the "server" +# classloader. Prefixes should be used to define what is the repository type. +# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute. +# If left as blank, the "common" loader will be used as Catalina's "server" +# loader. +# Examples: +# "foo": Add this folder as a class repository +# "foo/*.jar": Add all the JARs of the specified folder as class +# repositories +# "foo/bar.jar": Add bar.jar as a class repository +server.loader= + +# +# List of comma-separated paths defining the contents of the "shared" +# classloader. Prefixes should be used to define what is the repository type. +# Path may be relative to the CATALINA_BASE path or absolute. If left as blank, +# the "common" loader will be used as Catalina's "shared" loader. +# Examples: +# "foo": Add this folder as a class repository +# "foo/*.jar": Add all the JARs of the specified folder as class +# repositories +# "foo/bar.jar": Add bar.jar as a class repository +# Please note that for single jars, e.g. bar.jar, you need the URL form +# starting with file:. +shared.loader= + +# List of JAR files that should not be scanned using the JarScanner +# functionality. This is typically used to scan JARs for configuration +# information. JARs that do not contain such information may be excluded from +# the scan to speed up the scanning process. This is the default list. JARs on +# this list are excluded from all scans. Scan specific lists (to exclude JARs +# from individual scans) follow this. The list must be a comma separated list of +# JAR file names. +# The JARs listed below include: +# - Tomcat Bootstrap JARs +# - Tomcat API JARs +# - Catalina JARs +# - Jasper JARs +# - Tomcat JARs +# - Common non-Tomcat JARs +# - Test JARs (JUnit, Cobertura and dependencies) +tomcat.util.scan.DefaultJarScanner.jarsToSkip=\ +bootstrap.jar,commons-daemon.jar,tomcat-juli.jar,\ +annotations-api.jar,el-api.jar,jsp-api.jar,servlet-api.jar,websocket-api.jar,\ +catalina.jar,catalina-ant.jar,catalina-ha.jar,catalina-tribes.jar,\ +jasper.jar,jasper-el.jar,ecj-*.jar,\ +tomcat-api.jar,tomcat-util.jar,tomcat-coyote.jar,tomcat-dbcp.jar,\ +tomcat-jni.jar,tomcat-spdy.jar,\ +tomcat-i18n-en.jar,tomcat-i18n-es.jar,tomcat-i18n-fr.jar,tomcat-i18n-ja.jar,\ +tomcat-juli-adapters.jar,catalina-jmx-remote.jar,catalina-ws.jar,\ +tomcat-jdbc.jar,\ +tools.jar,\ +commons-beanutils*.jar,commons-codec*.jar,commons-collections*.jar,\ +commons-dbcp*.jar,commons-digester*.jar,commons-fileupload*.jar,\ +commons-httpclient*.jar,commons-io*.jar,commons-lang*.jar,commons-logging*.jar,\ +commons-math*.jar,commons-pool*.jar,\ +jstl.jar,\ +geronimo-spec-jaxrpc*.jar,wsdl4j*.jar,\ +ant.jar,ant-junit*.jar,aspectj*.jar,jmx.jar,h2*.jar,hibernate*.jar,httpclient*.jar,\ +jmx-tools.jar,jta*.jar,log4j.jar,log4j-1*.jar,mail*.jar,slf4j*.jar,\ +xercesImpl.jar,xmlParserAPIs.jar,xml-apis.jar,\ +junit.jar,junit-*.jar,hamcrest*.jar,org.hamcrest*.jar,ant-launcher.jar,\ +cobertura-*.jar,asm-*.jar,dom4j-*.jar,icu4j-*.jar,jaxen-*.jar,jdom-*.jar,\ +jetty-*.jar,oro-*.jar,servlet-api-*.jar,tagsoup-*.jar,xmlParserAPIs-*.jar,\ +xom-*.jar + +# Additional JARs (over and above the default JARs listed above) to skip when +# scanning for Servlet 3.0 pluggability features. These features include web +# fragments, annotations, SCIs and classes that match @HandlesTypes. The list +# must be a comma separated list of JAR file names. +org.apache.catalina.startup.ContextConfig.jarsToSkip= + +# Additional JARs (over and above the default JARs listed above) to skip when +# scanning for TLDs. The list must be a comma separated list of JAR file names. +org.apache.catalina.startup.TldConfig.jarsToSkip=tomcat7-websocket.jar + +# +# String cache configuration. +tomcat.util.buf.StringCache.byte.enabled=true +#tomcat.util.buf.StringCache.char.enabled=true +#tomcat.util.buf.StringCache.trainThreshold=500000 +#tomcat.util.buf.StringCache.cacheSize=5000 diff --git a/eagle-assembly/src/main/lib/tomcat/conf/context.xml b/eagle-assembly/src/main/lib/tomcat/conf/context.xml new file mode 100644 index 0000000000..745bf9537b --- /dev/null +++ b/eagle-assembly/src/main/lib/tomcat/conf/context.xml @@ -0,0 +1,35 @@ + + + + + + + WEB-INF/web.xml + + + + + + + + \ No newline at end of file diff --git a/eagle-assembly/src/main/lib/tomcat/conf/logging.properties b/eagle-assembly/src/main/lib/tomcat/conf/logging.properties new file mode 100644 index 0000000000..912b193449 --- /dev/null +++ b/eagle-assembly/src/main/lib/tomcat/conf/logging.properties @@ -0,0 +1,64 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler + +.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler + +############################################################ +# Handler specific properties. +# Describes specific configuration info for Handlers. +############################################################ + +1catalina.org.apache.juli.FileHandler.level = FINE +1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/../../logs +1catalina.org.apache.juli.FileHandler.prefix = eagle-service. + +2localhost.org.apache.juli.FileHandler.level = FINE +2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/../../logs +2localhost.org.apache.juli.FileHandler.prefix = eagle-service. + +3manager.org.apache.juli.FileHandler.level = FINE +3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/../../logs +3manager.org.apache.juli.FileHandler.prefix = eagle-service-manager. + +4host-manager.org.apache.juli.FileHandler.level = FINE +4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/../../logs +4host-manager.org.apache.juli.FileHandler.prefix = eagle-service-host-manager. + +java.util.logging.ConsoleHandler.level = FINE +java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter + + +############################################################ +# Facility specific properties. +# Provides extra control for each logger. +############################################################ + +org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO +org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler + +org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO +org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler + +org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO +org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.FileHandler + +# For example, set the org.apache.catalina.util.LifecycleBase logger to log +# each component that extends LifecycleBase changing state: +#org.apache.catalina.util.LifecycleBase.level = FINE + +# To see debug messages in TldLocationsCache, uncomment the following line: +#org.apache.jasper.compiler.TldLocationsCache.level = FINE diff --git a/eagle-assembly/src/main/lib/tomcat/conf/server.xml b/eagle-assembly/src/main/lib/tomcat/conf/server.xml new file mode 100644 index 0000000000..9ca8e874a0 --- /dev/null +++ b/eagle-assembly/src/main/lib/tomcat/conf/server.xml @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eagle-assembly/src/main/lib/tomcat/conf/tomcat-users.xml b/eagle-assembly/src/main/lib/tomcat/conf/tomcat-users.xml new file mode 100644 index 0000000000..7f022ffa44 --- /dev/null +++ b/eagle-assembly/src/main/lib/tomcat/conf/tomcat-users.xml @@ -0,0 +1,36 @@ + + + + + + + diff --git a/eagle-assembly/src/main/lib/tomcat/conf/web.xml b/eagle-assembly/src/main/lib/tomcat/conf/web.xml new file mode 100644 index 0000000000..ecaa1a68b3 --- /dev/null +++ b/eagle-assembly/src/main/lib/tomcat/conf/web.xml @@ -0,0 +1,4614 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + default + org.apache.catalina.servlets.DefaultServlet + + debug + 0 + + + listings + false + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + jsp + org.apache.jasper.servlet.JspServlet + + fork + false + + + xpoweredBy + false + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + default + / + + + + + jsp + *.jsp + *.jspx + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 30 + + + + + + + + + + + + 123 + application/vnd.lotus-1-2-3 + + + 3dml + text/vnd.in3d.3dml + + + 3ds + image/x-3ds + + + 3g2 + video/3gpp2 + + + 3gp + video/3gpp + + + 7z + application/x-7z-compressed + + + aab + application/x-authorware-bin + + + aac + audio/x-aac + + + aam + application/x-authorware-map + + + aas + application/x-authorware-seg + + + abs + audio/x-mpeg + + + abw + application/x-abiword + + + ac + application/pkix-attr-cert + + + acc + application/vnd.americandynamics.acc + + + ace + application/x-ace-compressed + + + acu + application/vnd.acucobol + + + acutc + application/vnd.acucorp + + + adp + audio/adpcm + + + aep + application/vnd.audiograph + + + afm + application/x-font-type1 + + + afp + application/vnd.ibm.modcap + + + ahead + application/vnd.ahead.space + + + ai + application/postscript + + + aif + audio/x-aiff + + + aifc + audio/x-aiff + + + aiff + audio/x-aiff + + + aim + application/x-aim + + + air + application/vnd.adobe.air-application-installer-package+zip + + + ait + application/vnd.dvb.ait + + + ami + application/vnd.amiga.ami + + + anx + application/annodex + + + apk + application/vnd.android.package-archive + + + appcache + text/cache-manifest + + + application + application/x-ms-application + + + apr + application/vnd.lotus-approach + + + arc + application/x-freearc + + + art + image/x-jg + + + asc + application/pgp-signature + + + asf + video/x-ms-asf + + + asm + text/x-asm + + + aso + application/vnd.accpac.simply.aso + + + asx + video/x-ms-asf + + + atc + application/vnd.acucorp + + + atom + application/atom+xml + + + atomcat + application/atomcat+xml + + + atomsvc + application/atomsvc+xml + + + atx + application/vnd.antix.game-component + + + au + audio/basic + + + avi + video/x-msvideo + + + avx + video/x-rad-screenplay + + + aw + application/applixware + + + axa + audio/annodex + + + axv + video/annodex + + + azf + application/vnd.airzip.filesecure.azf + + + azs + application/vnd.airzip.filesecure.azs + + + azw + application/vnd.amazon.ebook + + + bat + application/x-msdownload + + + bcpio + application/x-bcpio + + + bdf + application/x-font-bdf + + + bdm + application/vnd.syncml.dm+wbxml + + + bed + application/vnd.realvnc.bed + + + bh2 + application/vnd.fujitsu.oasysprs + + + bin + application/octet-stream + + + blb + application/x-blorb + + + blorb + application/x-blorb + + + bmi + application/vnd.bmi + + + bmp + image/bmp + + + body + text/html + + + book + application/vnd.framemaker + + + box + application/vnd.previewsystems.box + + + boz + application/x-bzip2 + + + bpk + application/octet-stream + + + btif + image/prs.btif + + + bz + application/x-bzip + + + bz2 + application/x-bzip2 + + + c + text/x-c + + + c11amc + application/vnd.cluetrust.cartomobile-config + + + c11amz + application/vnd.cluetrust.cartomobile-config-pkg + + + c4d + application/vnd.clonk.c4group + + + c4f + application/vnd.clonk.c4group + + + c4g + application/vnd.clonk.c4group + + + c4p + application/vnd.clonk.c4group + + + c4u + application/vnd.clonk.c4group + + + cab + application/vnd.ms-cab-compressed + + + caf + audio/x-caf + + + cap + application/vnd.tcpdump.pcap + + + car + application/vnd.curl.car + + + cat + application/vnd.ms-pki.seccat + + + cb7 + application/x-cbr + + + cba + application/x-cbr + + + cbr + application/x-cbr + + + cbt + application/x-cbr + + + cbz + application/x-cbr + + + cc + text/x-c + + + cct + application/x-director + + + ccxml + application/ccxml+xml + + + cdbcmsg + application/vnd.contact.cmsg + + + cdf + application/x-cdf + + + cdkey + application/vnd.mediastation.cdkey + + + cdmia + application/cdmi-capability + + + cdmic + application/cdmi-container + + + cdmid + application/cdmi-domain + + + cdmio + application/cdmi-object + + + cdmiq + application/cdmi-queue + + + cdx + chemical/x-cdx + + + cdxml + application/vnd.chemdraw+xml + + + cdy + application/vnd.cinderella + + + cer + application/pkix-cert + + + cfs + application/x-cfs-compressed + + + cgm + image/cgm + + + chat + application/x-chat + + + chm + application/vnd.ms-htmlhelp + + + chrt + application/vnd.kde.kchart + + + cif + chemical/x-cif + + + cii + application/vnd.anser-web-certificate-issue-initiation + + + cil + application/vnd.ms-artgalry + + + cla + application/vnd.claymore + + + class + application/java + + + clkk + application/vnd.crick.clicker.keyboard + + + clkp + application/vnd.crick.clicker.palette + + + clkt + application/vnd.crick.clicker.template + + + clkw + application/vnd.crick.clicker.wordbank + + + clkx + application/vnd.crick.clicker + + + clp + application/x-msclip + + + cmc + application/vnd.cosmocaller + + + cmdf + chemical/x-cmdf + + + cml + chemical/x-cml + + + cmp + application/vnd.yellowriver-custom-menu + + + cmx + image/x-cmx + + + cod + application/vnd.rim.cod + + + com + application/x-msdownload + + + conf + text/plain + + + cpio + application/x-cpio + + + cpp + text/x-c + + + cpt + application/mac-compactpro + + + crd + application/x-mscardfile + + + crl + application/pkix-crl + + + crt + application/x-x509-ca-cert + + + cryptonote + application/vnd.rig.cryptonote + + + csh + application/x-csh + + + csml + chemical/x-csml + + + csp + application/vnd.commonspace + + + css + text/css + + + cst + application/x-director + + + csv + text/csv + + + cu + application/cu-seeme + + + curl + text/vnd.curl + + + cww + application/prs.cww + + + cxt + application/x-director + + + cxx + text/x-c + + + dae + model/vnd.collada+xml + + + daf + application/vnd.mobius.daf + + + dart + application/vnd.dart + + + dataless + application/vnd.fdsn.seed + + + davmount + application/davmount+xml + + + dbk + application/docbook+xml + + + dcr + application/x-director + + + dcurl + text/vnd.curl.dcurl + + + dd2 + application/vnd.oma.dd2+xml + + + ddd + application/vnd.fujixerox.ddd + + + deb + application/x-debian-package + + + def + text/plain + + + deploy + application/octet-stream + + + der + application/x-x509-ca-cert + + + dfac + application/vnd.dreamfactory + + + dgc + application/x-dgc-compressed + + + dib + image/bmp + + + dic + text/x-c + + + dir + application/x-director + + + dis + application/vnd.mobius.dis + + + dist + application/octet-stream + + + distz + application/octet-stream + + + djv + image/vnd.djvu + + + djvu + image/vnd.djvu + + + dll + application/x-msdownload + + + dmg + application/x-apple-diskimage + + + dmp + application/vnd.tcpdump.pcap + + + dms + application/octet-stream + + + dna + application/vnd.dna + + + doc + application/msword + + + docm + application/vnd.ms-word.document.macroenabled.12 + + + docx + application/vnd.openxmlformats-officedocument.wordprocessingml.document + + + dot + application/msword + + + dotm + application/vnd.ms-word.template.macroenabled.12 + + + dotx + application/vnd.openxmlformats-officedocument.wordprocessingml.template + + + dp + application/vnd.osgi.dp + + + dpg + application/vnd.dpgraph + + + dra + audio/vnd.dra + + + dsc + text/prs.lines.tag + + + dssc + application/dssc+der + + + dtb + application/x-dtbook+xml + + + dtd + application/xml-dtd + + + dts + audio/vnd.dts + + + dtshd + audio/vnd.dts.hd + + + dump + application/octet-stream + + + dv + video/x-dv + + + dvb + video/vnd.dvb.file + + + dvi + application/x-dvi + + + dwf + model/vnd.dwf + + + dwg + image/vnd.dwg + + + dxf + image/vnd.dxf + + + dxp + application/vnd.spotfire.dxp + + + dxr + application/x-director + + + ecelp4800 + audio/vnd.nuera.ecelp4800 + + + ecelp7470 + audio/vnd.nuera.ecelp7470 + + + ecelp9600 + audio/vnd.nuera.ecelp9600 + + + ecma + application/ecmascript + + + edm + application/vnd.novadigm.edm + + + edx + application/vnd.novadigm.edx + + + efif + application/vnd.picsel + + + ei6 + application/vnd.pg.osasli + + + elc + application/octet-stream + + + emf + application/x-msmetafile + + + eml + message/rfc822 + + + emma + application/emma+xml + + + emz + application/x-msmetafile + + + eol + audio/vnd.digital-winds + + + eot + application/vnd.ms-fontobject + + + eps + application/postscript + + + epub + application/epub+zip + + + es3 + application/vnd.eszigno3+xml + + + esa + application/vnd.osgi.subsystem + + + esf + application/vnd.epson.esf + + + et3 + application/vnd.eszigno3+xml + + + etx + text/x-setext + + + eva + application/x-eva + + + evy + application/x-envoy + + + exe + application/octet-stream + + + exi + application/exi + + + ext + application/vnd.novadigm.ext + + + ez + application/andrew-inset + + + ez2 + application/vnd.ezpix-album + + + ez3 + application/vnd.ezpix-package + + + f + text/x-fortran + + + f4v + video/x-f4v + + + f77 + text/x-fortran + + + f90 + text/x-fortran + + + fbs + image/vnd.fastbidsheet + + + fcdt + application/vnd.adobe.formscentral.fcdt + + + fcs + application/vnd.isac.fcs + + + fdf + application/vnd.fdf + + + fe_launch + application/vnd.denovo.fcselayout-link + + + fg5 + application/vnd.fujitsu.oasysgp + + + fgd + application/x-director + + + fh + image/x-freehand + + + fh4 + image/x-freehand + + + fh5 + image/x-freehand + + + fh7 + image/x-freehand + + + fhc + image/x-freehand + + + fig + application/x-xfig + + + flac + audio/flac + + + fli + video/x-fli + + + flo + application/vnd.micrografx.flo + + + flv + video/x-flv + + + flw + application/vnd.kde.kivio + + + flx + text/vnd.fmi.flexstor + + + fly + text/vnd.fly + + + fm + application/vnd.framemaker + + + fnc + application/vnd.frogans.fnc + + + for + text/x-fortran + + + fpx + image/vnd.fpx + + + frame + application/vnd.framemaker + + + fsc + application/vnd.fsc.weblaunch + + + fst + image/vnd.fst + + + ftc + application/vnd.fluxtime.clip + + + fti + application/vnd.anser-web-funds-transfer-initiation + + + fvt + video/vnd.fvt + + + fxp + application/vnd.adobe.fxp + + + fxpl + application/vnd.adobe.fxp + + + fzs + application/vnd.fuzzysheet + + + g2w + application/vnd.geoplan + + + g3 + image/g3fax + + + g3w + application/vnd.geospace + + + gac + application/vnd.groove-account + + + gam + application/x-tads + + + gbr + application/rpki-ghostbusters + + + gca + application/x-gca-compressed + + + gdl + model/vnd.gdl + + + geo + application/vnd.dynageo + + + gex + application/vnd.geometry-explorer + + + ggb + application/vnd.geogebra.file + + + ggt + application/vnd.geogebra.tool + + + ghf + application/vnd.groove-help + + + gif + image/gif + + + gim + application/vnd.groove-identity-message + + + gml + application/gml+xml + + + gmx + application/vnd.gmx + + + gnumeric + application/x-gnumeric + + + gph + application/vnd.flographit + + + gpx + application/gpx+xml + + + gqf + application/vnd.grafeq + + + gqs + application/vnd.grafeq + + + gram + application/srgs + + + gramps + application/x-gramps-xml + + + gre + application/vnd.geometry-explorer + + + grv + application/vnd.groove-injector + + + grxml + application/srgs+xml + + + gsf + application/x-font-ghostscript + + + gtar + application/x-gtar + + + gtm + application/vnd.groove-tool-message + + + gtw + model/vnd.gtw + + + gv + text/vnd.graphviz + + + gxf + application/gxf + + + gxt + application/vnd.geonext + + + gz + application/x-gzip + + + h + text/x-c + + + h261 + video/h261 + + + h263 + video/h263 + + + h264 + video/h264 + + + hal + application/vnd.hal+xml + + + hbci + application/vnd.hbci + + + hdf + application/x-hdf + + + hh + text/x-c + + + hlp + application/winhlp + + + hpgl + application/vnd.hp-hpgl + + + hpid + application/vnd.hp-hpid + + + hps + application/vnd.hp-hps + + + hqx + application/mac-binhex40 + + + htc + text/x-component + + + htke + application/vnd.kenameaapp + + + htm + text/html + + + html + text/html + + + hvd + application/vnd.yamaha.hv-dic + + + hvp + application/vnd.yamaha.hv-voice + + + hvs + application/vnd.yamaha.hv-script + + + i2g + application/vnd.intergeo + + + icc + application/vnd.iccprofile + + + ice + x-conference/x-cooltalk + + + icm + application/vnd.iccprofile + + + ico + image/x-icon + + + ics + text/calendar + + + ief + image/ief + + + ifb + text/calendar + + + ifm + application/vnd.shana.informed.formdata + + + iges + model/iges + + + igl + application/vnd.igloader + + + igm + application/vnd.insors.igm + + + igs + model/iges + + + igx + application/vnd.micrografx.igx + + + iif + application/vnd.shana.informed.interchange + + + imp + application/vnd.accpac.simply.imp + + + ims + application/vnd.ms-ims + + + in + text/plain + + + ink + application/inkml+xml + + + inkml + application/inkml+xml + + + install + application/x-install-instructions + + + iota + application/vnd.astraea-software.iota + + + ipfix + application/ipfix + + + ipk + application/vnd.shana.informed.package + + + irm + application/vnd.ibm.rights-management + + + irp + application/vnd.irepository.package+xml + + + iso + application/x-iso9660-image + + + itp + application/vnd.shana.informed.formtemplate + + + ivp + application/vnd.immervision-ivp + + + ivu + application/vnd.immervision-ivu + + + jad + text/vnd.sun.j2me.app-descriptor + + + jam + application/vnd.jam + + + jar + application/java-archive + + + java + text/x-java-source + + + jisp + application/vnd.jisp + + + jlt + application/vnd.hp-jlyt + + + jnlp + application/x-java-jnlp-file + + + joda + application/vnd.joost.joda-archive + + + jpe + image/jpeg + + + jpeg + image/jpeg + + + jpg + image/jpeg + + + jpgm + video/jpm + + + jpgv + video/jpeg + + + jpm + video/jpm + + + js + application/javascript + + + jsf + text/plain + + + json + application/json + + + jsonml + application/jsonml+json + + + jspf + text/plain + + + kar + audio/midi + + + karbon + application/vnd.kde.karbon + + + kfo + application/vnd.kde.kformula + + + kia + application/vnd.kidspiration + + + kml + application/vnd.google-earth.kml+xml + + + kmz + application/vnd.google-earth.kmz + + + kne + application/vnd.kinar + + + knp + application/vnd.kinar + + + kon + application/vnd.kde.kontour + + + kpr + application/vnd.kde.kpresenter + + + kpt + application/vnd.kde.kpresenter + + + kpxx + application/vnd.ds-keypoint + + + ksp + application/vnd.kde.kspread + + + ktr + application/vnd.kahootz + + + ktx + image/ktx + + + ktz + application/vnd.kahootz + + + kwd + application/vnd.kde.kword + + + kwt + application/vnd.kde.kword + + + lasxml + application/vnd.las.las+xml + + + latex + application/x-latex + + + lbd + application/vnd.llamagraphics.life-balance.desktop + + + lbe + application/vnd.llamagraphics.life-balance.exchange+xml + + + les + application/vnd.hhe.lesson-player + + + lha + application/x-lzh-compressed + + + link66 + application/vnd.route66.link66+xml + + + list + text/plain + + + list3820 + application/vnd.ibm.modcap + + + listafp + application/vnd.ibm.modcap + + + lnk + application/x-ms-shortcut + + + log + text/plain + + + lostxml + application/lost+xml + + + lrf + application/octet-stream + + + lrm + application/vnd.ms-lrm + + + ltf + application/vnd.frogans.ltf + + + lvp + audio/vnd.lucent.voice + + + lwp + application/vnd.lotus-wordpro + + + lzh + application/x-lzh-compressed + + + m13 + application/x-msmediaview + + + m14 + application/x-msmediaview + + + m1v + video/mpeg + + + m21 + application/mp21 + + + m2a + audio/mpeg + + + m2v + video/mpeg + + + m3a + audio/mpeg + + + m3u + audio/x-mpegurl + + + m3u8 + application/vnd.apple.mpegurl + + + m4a + audio/mp4 + + + m4b + audio/mp4 + + + m4r + audio/mp4 + + + m4u + video/vnd.mpegurl + + + m4v + video/mp4 + + + ma + application/mathematica + + + mac + image/x-macpaint + + + mads + application/mads+xml + + + mag + application/vnd.ecowin.chart + + + maker + application/vnd.framemaker + + + man + text/troff + + + mar + application/octet-stream + + + mathml + application/mathml+xml + + + mb + application/mathematica + + + mbk + application/vnd.mobius.mbk + + + mbox + application/mbox + + + mc1 + application/vnd.medcalcdata + + + mcd + application/vnd.mcd + + + mcurl + text/vnd.curl.mcurl + + + mdb + application/x-msaccess + + + mdi + image/vnd.ms-modi + + + me + text/troff + + + mesh + model/mesh + + + meta4 + application/metalink4+xml + + + metalink + application/metalink+xml + + + mets + application/mets+xml + + + mfm + application/vnd.mfmp + + + mft + application/rpki-manifest + + + mgp + application/vnd.osgeo.mapguide.package + + + mgz + application/vnd.proteus.magazine + + + mid + audio/midi + + + midi + audio/midi + + + mie + application/x-mie + + + mif + application/x-mif + + + mime + message/rfc822 + + + mj2 + video/mj2 + + + mjp2 + video/mj2 + + + mk3d + video/x-matroska + + + mka + audio/x-matroska + + + mks + video/x-matroska + + + mkv + video/x-matroska + + + mlp + application/vnd.dolby.mlp + + + mmd + application/vnd.chipnuts.karaoke-mmd + + + mmf + application/vnd.smaf + + + mmr + image/vnd.fujixerox.edmics-mmr + + + mng + video/x-mng + + + mny + application/x-msmoney + + + mobi + application/x-mobipocket-ebook + + + mods + application/mods+xml + + + mov + video/quicktime + + + movie + video/x-sgi-movie + + + mp1 + audio/mpeg + + + mp2 + audio/mpeg + + + mp21 + application/mp21 + + + mp2a + audio/mpeg + + + mp3 + audio/mpeg + + + mp4 + video/mp4 + + + mp4a + audio/mp4 + + + mp4s + application/mp4 + + + mp4v + video/mp4 + + + mpa + audio/mpeg + + + mpc + application/vnd.mophun.certificate + + + mpe + video/mpeg + + + mpeg + video/mpeg + + + mpega + audio/x-mpeg + + + mpg + video/mpeg + + + mpg4 + video/mp4 + + + mpga + audio/mpeg + + + mpkg + application/vnd.apple.installer+xml + + + mpm + application/vnd.blueice.multipass + + + mpn + application/vnd.mophun.application + + + mpp + application/vnd.ms-project + + + mpt + application/vnd.ms-project + + + mpv2 + video/mpeg2 + + + mpy + application/vnd.ibm.minipay + + + mqy + application/vnd.mobius.mqy + + + mrc + application/marc + + + mrcx + application/marcxml+xml + + + ms + text/troff + + + mscml + application/mediaservercontrol+xml + + + mseed + application/vnd.fdsn.mseed + + + mseq + application/vnd.mseq + + + msf + application/vnd.epson.msf + + + msh + model/mesh + + + msi + application/x-msdownload + + + msl + application/vnd.mobius.msl + + + msty + application/vnd.muvee.style + + + mts + model/vnd.mts + + + mus + application/vnd.musician + + + musicxml + application/vnd.recordare.musicxml+xml + + + mvb + application/x-msmediaview + + + mwf + application/vnd.mfer + + + mxf + application/mxf + + + mxl + application/vnd.recordare.musicxml + + + mxml + application/xv+xml + + + mxs + application/vnd.triscape.mxs + + + mxu + video/vnd.mpegurl + + + n-gage + application/vnd.nokia.n-gage.symbian.install + + + n3 + text/n3 + + + nb + application/mathematica + + + nbp + application/vnd.wolfram.player + + + nc + application/x-netcdf + + + ncx + application/x-dtbncx+xml + + + nfo + text/x-nfo + + + ngdat + application/vnd.nokia.n-gage.data + + + nitf + application/vnd.nitf + + + nlu + application/vnd.neurolanguage.nlu + + + nml + application/vnd.enliven + + + nnd + application/vnd.noblenet-directory + + + nns + application/vnd.noblenet-sealer + + + nnw + application/vnd.noblenet-web + + + npx + image/vnd.net-fpx + + + nsc + application/x-conference + + + nsf + application/vnd.lotus-notes + + + ntf + application/vnd.nitf + + + nzb + application/x-nzb + + + oa2 + application/vnd.fujitsu.oasys2 + + + oa3 + application/vnd.fujitsu.oasys3 + + + oas + application/vnd.fujitsu.oasys + + + obd + application/x-msbinder + + + obj + application/x-tgif + + + oda + application/oda + + + + odb + application/vnd.oasis.opendocument.database + + + + odc + application/vnd.oasis.opendocument.chart + + + + odf + application/vnd.oasis.opendocument.formula + + + odft + application/vnd.oasis.opendocument.formula-template + + + + odg + application/vnd.oasis.opendocument.graphics + + + + odi + application/vnd.oasis.opendocument.image + + + + odm + application/vnd.oasis.opendocument.text-master + + + + odp + application/vnd.oasis.opendocument.presentation + + + + ods + application/vnd.oasis.opendocument.spreadsheet + + + + odt + application/vnd.oasis.opendocument.text + + + oga + audio/ogg + + + ogg + audio/ogg + + + ogv + video/ogg + + + + ogx + application/ogg + + + omdoc + application/omdoc+xml + + + onepkg + application/onenote + + + onetmp + application/onenote + + + onetoc + application/onenote + + + onetoc2 + application/onenote + + + opf + application/oebps-package+xml + + + opml + text/x-opml + + + oprc + application/vnd.palm + + + org + application/vnd.lotus-organizer + + + osf + application/vnd.yamaha.openscoreformat + + + osfpvg + application/vnd.yamaha.openscoreformat.osfpvg+xml + + + otc + application/vnd.oasis.opendocument.chart-template + + + otf + application/x-font-otf + + + + otg + application/vnd.oasis.opendocument.graphics-template + + + + oth + application/vnd.oasis.opendocument.text-web + + + oti + application/vnd.oasis.opendocument.image-template + + + + otp + application/vnd.oasis.opendocument.presentation-template + + + + ots + application/vnd.oasis.opendocument.spreadsheet-template + + + + ott + application/vnd.oasis.opendocument.text-template + + + oxps + application/oxps + + + oxt + application/vnd.openofficeorg.extension + + + p + text/x-pascal + + + p10 + application/pkcs10 + + + p12 + application/x-pkcs12 + + + p7b + application/x-pkcs7-certificates + + + p7c + application/pkcs7-mime + + + p7m + application/pkcs7-mime + + + p7r + application/x-pkcs7-certreqresp + + + p7s + application/pkcs7-signature + + + p8 + application/pkcs8 + + + pas + text/x-pascal + + + paw + application/vnd.pawaafile + + + pbd + application/vnd.powerbuilder6 + + + pbm + image/x-portable-bitmap + + + pcap + application/vnd.tcpdump.pcap + + + pcf + application/x-font-pcf + + + pcl + application/vnd.hp-pcl + + + pclxl + application/vnd.hp-pclxl + + + pct + image/pict + + + pcurl + application/vnd.curl.pcurl + + + pcx + image/x-pcx + + + pdb + application/vnd.palm + + + pdf + application/pdf + + + pfa + application/x-font-type1 + + + pfb + application/x-font-type1 + + + pfm + application/x-font-type1 + + + pfr + application/font-tdpfr + + + pfx + application/x-pkcs12 + + + pgm + image/x-portable-graymap + + + pgn + application/x-chess-pgn + + + pgp + application/pgp-encrypted + + + pic + image/pict + + + pict + image/pict + + + pkg + application/octet-stream + + + pki + application/pkixcmp + + + pkipath + application/pkix-pkipath + + + plb + application/vnd.3gpp.pic-bw-large + + + plc + application/vnd.mobius.plc + + + plf + application/vnd.pocketlearn + + + pls + audio/x-scpls + + + pml + application/vnd.ctc-posml + + + png + image/png + + + pnm + image/x-portable-anymap + + + pnt + image/x-macpaint + + + portpkg + application/vnd.macports.portpkg + + + pot + application/vnd.ms-powerpoint + + + potm + application/vnd.ms-powerpoint.template.macroenabled.12 + + + potx + application/vnd.openxmlformats-officedocument.presentationml.template + + + ppam + application/vnd.ms-powerpoint.addin.macroenabled.12 + + + ppd + application/vnd.cups-ppd + + + ppm + image/x-portable-pixmap + + + pps + application/vnd.ms-powerpoint + + + ppsm + application/vnd.ms-powerpoint.slideshow.macroenabled.12 + + + ppsx + application/vnd.openxmlformats-officedocument.presentationml.slideshow + + + ppt + application/vnd.ms-powerpoint + + + pptm + application/vnd.ms-powerpoint.presentation.macroenabled.12 + + + pptx + application/vnd.openxmlformats-officedocument.presentationml.presentation + + + pqa + application/vnd.palm + + + prc + application/x-mobipocket-ebook + + + pre + application/vnd.lotus-freelance + + + prf + application/pics-rules + + + ps + application/postscript + + + psb + application/vnd.3gpp.pic-bw-small + + + psd + image/vnd.adobe.photoshop + + + psf + application/x-font-linux-psf + + + pskcxml + application/pskc+xml + + + ptid + application/vnd.pvi.ptid1 + + + pub + application/x-mspublisher + + + pvb + application/vnd.3gpp.pic-bw-var + + + pwn + application/vnd.3m.post-it-notes + + + pya + audio/vnd.ms-playready.media.pya + + + pyv + video/vnd.ms-playready.media.pyv + + + qam + application/vnd.epson.quickanime + + + qbo + application/vnd.intu.qbo + + + qfx + application/vnd.intu.qfx + + + qps + application/vnd.publishare-delta-tree + + + qt + video/quicktime + + + qti + image/x-quicktime + + + qtif + image/x-quicktime + + + qwd + application/vnd.quark.quarkxpress + + + qwt + application/vnd.quark.quarkxpress + + + qxb + application/vnd.quark.quarkxpress + + + qxd + application/vnd.quark.quarkxpress + + + qxl + application/vnd.quark.quarkxpress + + + qxt + application/vnd.quark.quarkxpress + + + ra + audio/x-pn-realaudio + + + ram + audio/x-pn-realaudio + + + rar + application/x-rar-compressed + + + ras + image/x-cmu-raster + + + rcprofile + application/vnd.ipunplugged.rcprofile + + + rdf + application/rdf+xml + + + rdz + application/vnd.data-vision.rdz + + + rep + application/vnd.businessobjects + + + res + application/x-dtbresource+xml + + + rgb + image/x-rgb + + + rif + application/reginfo+xml + + + rip + audio/vnd.rip + + + ris + application/x-research-info-systems + + + rl + application/resource-lists+xml + + + rlc + image/vnd.fujixerox.edmics-rlc + + + rld + application/resource-lists-diff+xml + + + rm + application/vnd.rn-realmedia + + + rmi + audio/midi + + + rmp + audio/x-pn-realaudio-plugin + + + rms + application/vnd.jcp.javame.midlet-rms + + + rmvb + application/vnd.rn-realmedia-vbr + + + rnc + application/relax-ng-compact-syntax + + + roa + application/rpki-roa + + + roff + text/troff + + + rp9 + application/vnd.cloanto.rp9 + + + rpss + application/vnd.nokia.radio-presets + + + rpst + application/vnd.nokia.radio-preset + + + rq + application/sparql-query + + + rs + application/rls-services+xml + + + rsd + application/rsd+xml + + + rss + application/rss+xml + + + rtf + application/rtf + + + rtx + text/richtext + + + s + text/x-asm + + + s3m + audio/s3m + + + saf + application/vnd.yamaha.smaf-audio + + + sbml + application/sbml+xml + + + sc + application/vnd.ibm.secure-container + + + scd + application/x-msschedule + + + scm + application/vnd.lotus-screencam + + + scq + application/scvp-cv-request + + + scs + application/scvp-cv-response + + + scurl + text/vnd.curl.scurl + + + sda + application/vnd.stardivision.draw + + + sdc + application/vnd.stardivision.calc + + + sdd + application/vnd.stardivision.impress + + + sdkd + application/vnd.solent.sdkm+xml + + + sdkm + application/vnd.solent.sdkm+xml + + + sdp + application/sdp + + + sdw + application/vnd.stardivision.writer + + + see + application/vnd.seemail + + + seed + application/vnd.fdsn.seed + + + sema + application/vnd.sema + + + semd + application/vnd.semd + + + semf + application/vnd.semf + + + ser + application/java-serialized-object + + + setpay + application/set-payment-initiation + + + setreg + application/set-registration-initiation + + + sfd-hdstx + application/vnd.hydrostatix.sof-data + + + sfs + application/vnd.spotfire.sfs + + + sfv + text/x-sfv + + + sgi + image/sgi + + + sgl + application/vnd.stardivision.writer-global + + + sgm + text/sgml + + + sgml + text/sgml + + + sh + application/x-sh + + + shar + application/x-shar + + + shf + application/shf+xml + + + + sid + image/x-mrsid-image + + + sig + application/pgp-signature + + + sil + audio/silk + + + silo + model/mesh + + + sis + application/vnd.symbian.install + + + sisx + application/vnd.symbian.install + + + sit + application/x-stuffit + + + sitx + application/x-stuffitx + + + skd + application/vnd.koan + + + skm + application/vnd.koan + + + skp + application/vnd.koan + + + skt + application/vnd.koan + + + sldm + application/vnd.ms-powerpoint.slide.macroenabled.12 + + + sldx + application/vnd.openxmlformats-officedocument.presentationml.slide + + + slt + application/vnd.epson.salt + + + sm + application/vnd.stepmania.stepchart + + + smf + application/vnd.stardivision.math + + + smi + application/smil+xml + + + smil + application/smil+xml + + + smv + video/x-smv + + + smzip + application/vnd.stepmania.package + + + snd + audio/basic + + + snf + application/x-font-snf + + + so + application/octet-stream + + + spc + application/x-pkcs7-certificates + + + spf + application/vnd.yamaha.smaf-phrase + + + spl + application/x-futuresplash + + + spot + text/vnd.in3d.spot + + + spp + application/scvp-vp-response + + + spq + application/scvp-vp-request + + + spx + audio/ogg + + + sql + application/x-sql + + + src + application/x-wais-source + + + srt + application/x-subrip + + + sru + application/sru+xml + + + srx + application/sparql-results+xml + + + ssdl + application/ssdl+xml + + + sse + application/vnd.kodak-descriptor + + + ssf + application/vnd.epson.ssf + + + ssml + application/ssml+xml + + + st + application/vnd.sailingtracker.track + + + stc + application/vnd.sun.xml.calc.template + + + std + application/vnd.sun.xml.draw.template + + + stf + application/vnd.wt.stf + + + sti + application/vnd.sun.xml.impress.template + + + stk + application/hyperstudio + + + stl + application/vnd.ms-pki.stl + + + str + application/vnd.pg.format + + + stw + application/vnd.sun.xml.writer.template + + + sub + text/vnd.dvb.subtitle + + + sus + application/vnd.sus-calendar + + + susp + application/vnd.sus-calendar + + + sv4cpio + application/x-sv4cpio + + + sv4crc + application/x-sv4crc + + + svc + application/vnd.dvb.service + + + svd + application/vnd.svd + + + svg + image/svg+xml + + + svgz + image/svg+xml + + + swa + application/x-director + + + swf + application/x-shockwave-flash + + + swi + application/vnd.aristanetworks.swi + + + sxc + application/vnd.sun.xml.calc + + + sxd + application/vnd.sun.xml.draw + + + sxg + application/vnd.sun.xml.writer.global + + + sxi + application/vnd.sun.xml.impress + + + sxm + application/vnd.sun.xml.math + + + sxw + application/vnd.sun.xml.writer + + + t + text/troff + + + t3 + application/x-t3vm-image + + + taglet + application/vnd.mynfc + + + tao + application/vnd.tao.intent-module-archive + + + tar + application/x-tar + + + tcap + application/vnd.3gpp2.tcap + + + tcl + application/x-tcl + + + teacher + application/vnd.smart.teacher + + + tei + application/tei+xml + + + teicorpus + application/tei+xml + + + tex + application/x-tex + + + texi + application/x-texinfo + + + texinfo + application/x-texinfo + + + text + text/plain + + + tfi + application/thraud+xml + + + tfm + application/x-tex-tfm + + + tga + image/x-tga + + + thmx + application/vnd.ms-officetheme + + + tif + image/tiff + + + tiff + image/tiff + + + tmo + application/vnd.tmobile-livetv + + + torrent + application/x-bittorrent + + + tpl + application/vnd.groove-tool-template + + + tpt + application/vnd.trid.tpt + + + tr + text/troff + + + tra + application/vnd.trueapp + + + trm + application/x-msterminal + + + tsd + application/timestamped-data + + + tsv + text/tab-separated-values + + + ttc + application/x-font-ttf + + + ttf + application/x-font-ttf + + + ttl + text/turtle + + + twd + application/vnd.simtech-mindmapper + + + twds + application/vnd.simtech-mindmapper + + + txd + application/vnd.genomatix.tuxedo + + + txf + application/vnd.mobius.txf + + + txt + text/plain + + + u32 + application/x-authorware-bin + + + udeb + application/x-debian-package + + + ufd + application/vnd.ufdl + + + ufdl + application/vnd.ufdl + + + ulw + audio/basic + + + ulx + application/x-glulx + + + umj + application/vnd.umajin + + + unityweb + application/vnd.unity + + + uoml + application/vnd.uoml+xml + + + uri + text/uri-list + + + uris + text/uri-list + + + urls + text/uri-list + + + ustar + application/x-ustar + + + utz + application/vnd.uiq.theme + + + uu + text/x-uuencode + + + uva + audio/vnd.dece.audio + + + uvd + application/vnd.dece.data + + + uvf + application/vnd.dece.data + + + uvg + image/vnd.dece.graphic + + + uvh + video/vnd.dece.hd + + + uvi + image/vnd.dece.graphic + + + uvm + video/vnd.dece.mobile + + + uvp + video/vnd.dece.pd + + + uvs + video/vnd.dece.sd + + + uvt + application/vnd.dece.ttml+xml + + + uvu + video/vnd.uvvu.mp4 + + + uvv + video/vnd.dece.video + + + uvva + audio/vnd.dece.audio + + + uvvd + application/vnd.dece.data + + + uvvf + application/vnd.dece.data + + + uvvg + image/vnd.dece.graphic + + + uvvh + video/vnd.dece.hd + + + uvvi + image/vnd.dece.graphic + + + uvvm + video/vnd.dece.mobile + + + uvvp + video/vnd.dece.pd + + + uvvs + video/vnd.dece.sd + + + uvvt + application/vnd.dece.ttml+xml + + + uvvu + video/vnd.uvvu.mp4 + + + uvvv + video/vnd.dece.video + + + uvvx + application/vnd.dece.unspecified + + + uvvz + application/vnd.dece.zip + + + uvx + application/vnd.dece.unspecified + + + uvz + application/vnd.dece.zip + + + vcard + text/vcard + + + vcd + application/x-cdlink + + + vcf + text/x-vcard + + + vcg + application/vnd.groove-vcard + + + vcs + text/x-vcalendar + + + vcx + application/vnd.vcx + + + vis + application/vnd.visionary + + + viv + video/vnd.vivo + + + vob + video/x-ms-vob + + + vor + application/vnd.stardivision.writer + + + vox + application/x-authorware-bin + + + vrml + model/vrml + + + vsd + application/vnd.visio + + + vsf + application/vnd.vsf + + + vss + application/vnd.visio + + + vst + application/vnd.visio + + + vsw + application/vnd.visio + + + vtu + model/vnd.vtu + + + vxml + application/voicexml+xml + + + w3d + application/x-director + + + wad + application/x-doom + + + wav + audio/x-wav + + + wax + audio/x-ms-wax + + + + wbmp + image/vnd.wap.wbmp + + + wbs + application/vnd.criticaltools.wbs+xml + + + wbxml + application/vnd.wap.wbxml + + + wcm + application/vnd.ms-works + + + wdb + application/vnd.ms-works + + + wdp + image/vnd.ms-photo + + + weba + audio/webm + + + webm + video/webm + + + webp + image/webp + + + wg + application/vnd.pmi.widget + + + wgt + application/widget + + + wks + application/vnd.ms-works + + + wm + video/x-ms-wm + + + wma + audio/x-ms-wma + + + wmd + application/x-ms-wmd + + + wmf + application/x-msmetafile + + + + wml + text/vnd.wap.wml + + + + wmlc + application/vnd.wap.wmlc + + + + wmls + text/vnd.wap.wmlscript + + + + wmlsc + application/vnd.wap.wmlscriptc + + + wmv + video/x-ms-wmv + + + wmx + video/x-ms-wmx + + + wmz + application/x-msmetafile + + + woff + application/x-font-woff + + + wpd + application/vnd.wordperfect + + + wpl + application/vnd.ms-wpl + + + wps + application/vnd.ms-works + + + wqd + application/vnd.wqd + + + wri + application/x-mswrite + + + wrl + model/vrml + + + wsdl + application/wsdl+xml + + + wspolicy + application/wspolicy+xml + + + wtb + application/vnd.webturbo + + + wvx + video/x-ms-wvx + + + x32 + application/x-authorware-bin + + + x3d + model/x3d+xml + + + x3db + model/x3d+binary + + + x3dbz + model/x3d+binary + + + x3dv + model/x3d+vrml + + + x3dvz + model/x3d+vrml + + + x3dz + model/x3d+xml + + + xaml + application/xaml+xml + + + xap + application/x-silverlight-app + + + xar + application/vnd.xara + + + xbap + application/x-ms-xbap + + + xbd + application/vnd.fujixerox.docuworks.binder + + + xbm + image/x-xbitmap + + + xdf + application/xcap-diff+xml + + + xdm + application/vnd.syncml.dm+xml + + + xdp + application/vnd.adobe.xdp+xml + + + xdssc + application/dssc+xml + + + xdw + application/vnd.fujixerox.docuworks + + + xenc + application/xenc+xml + + + xer + application/patch-ops-error+xml + + + xfdf + application/vnd.adobe.xfdf + + + xfdl + application/vnd.xfdl + + + xht + application/xhtml+xml + + + xhtml + application/xhtml+xml + + + xhvml + application/xv+xml + + + xif + image/vnd.xiff + + + xla + application/vnd.ms-excel + + + xlam + application/vnd.ms-excel.addin.macroenabled.12 + + + xlc + application/vnd.ms-excel + + + xlf + application/x-xliff+xml + + + xlm + application/vnd.ms-excel + + + xls + application/vnd.ms-excel + + + xlsb + application/vnd.ms-excel.sheet.binary.macroenabled.12 + + + xlsm + application/vnd.ms-excel.sheet.macroenabled.12 + + + xlsx + application/vnd.openxmlformats-officedocument.spreadsheetml.sheet + + + xlt + application/vnd.ms-excel + + + xltm + application/vnd.ms-excel.template.macroenabled.12 + + + xltx + application/vnd.openxmlformats-officedocument.spreadsheetml.template + + + xlw + application/vnd.ms-excel + + + xm + audio/xm + + + xml + application/xml + + + xo + application/vnd.olpc-sugar + + + xop + application/xop+xml + + + xpi + application/x-xpinstall + + + xpl + application/xproc+xml + + + xpm + image/x-xpixmap + + + xpr + application/vnd.is-xpr + + + xps + application/vnd.ms-xpsdocument + + + xpw + application/vnd.intercon.formnet + + + xpx + application/vnd.intercon.formnet + + + xsl + application/xml + + + xslt + application/xslt+xml + + + xsm + application/vnd.syncml+xml + + + xspf + application/xspf+xml + + + xul + application/vnd.mozilla.xul+xml + + + xvm + application/xv+xml + + + xvml + application/xv+xml + + + xwd + image/x-xwindowdump + + + xyz + chemical/x-xyz + + + xz + application/x-xz + + + yang + application/yang + + + yin + application/yin+xml + + + z + application/x-compress + + + Z + application/x-compress + + + z1 + application/x-zmachine + + + z2 + application/x-zmachine + + + z3 + application/x-zmachine + + + z4 + application/x-zmachine + + + z5 + application/x-zmachine + + + z6 + application/x-zmachine + + + z7 + application/x-zmachine + + + z8 + application/x-zmachine + + + zaz + application/vnd.zzazz.deck+xml + + + zip + application/zip + + + zir + application/vnd.zul + + + zirz + application/vnd.zul + + + zmm + application/vnd.handheld-entertainment+xml + + + + + + + + + + + + + + + + + + index.html + index.htm + index.jsp + + + diff --git a/eagle-assembly/src/main/lib/tomcat/lib/.keepempty b/eagle-assembly/src/main/lib/tomcat/lib/.keepempty new file mode 100644 index 0000000000..823c3942b0 --- /dev/null +++ b/eagle-assembly/src/main/lib/tomcat/lib/.keepempty @@ -0,0 +1,14 @@ +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. \ No newline at end of file diff --git a/eagle-webservice/src/main/webapp/app/public/feature/metrics/controller.js b/eagle-webservice/src/main/webapp/app/public/feature/metrics/controller.js index 5ec9b95100..27faf07a2f 100644 --- a/eagle-webservice/src/main/webapp/app/public/feature/metrics/controller.js +++ b/eagle-webservice/src/main/webapp/app/public/feature/metrics/controller.js @@ -192,7 +192,7 @@ $scope.tabHolder.setSelect(holder.entity.name); }, 0); }); - } + }; function deleteGroup() { var group = $scope.tabHolder.selectedPane.data; From fac749d35e62407251482f679584286cc1e9dd61 Mon Sep 17 00:00:00 2001 From: hdendukuri Date: Tue, 10 May 2016 16:18:53 -0700 Subject: [PATCH 2/2] Added missing jars --- .../src/main/lib/tomcat/bin/bootstrap.jar | Bin 0 -> 28052 bytes .../src/main/lib/tomcat/bin/commons-daemon.jar | Bin 0 -> 24283 bytes .../src/main/lib/tomcat/bin/tomcat-juli.jar | Bin 0 -> 38222 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 eagle-assembly/src/main/lib/tomcat/bin/bootstrap.jar create mode 100644 eagle-assembly/src/main/lib/tomcat/bin/commons-daemon.jar create mode 100644 eagle-assembly/src/main/lib/tomcat/bin/tomcat-juli.jar diff --git a/eagle-assembly/src/main/lib/tomcat/bin/bootstrap.jar b/eagle-assembly/src/main/lib/tomcat/bin/bootstrap.jar new file mode 100644 index 0000000000000000000000000000000000000000..8f43864ec350dd07cc75c811d611a35c817aa406 GIT binary patch literal 28052 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ģAWT$$8ju#s(hSTE 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 KI&SulcmE5_If4rS literal 0 HcmV?d00001 diff --git a/eagle-assembly/src/main/lib/tomcat/bin/commons-daemon.jar b/eagle-assembly/src/main/lib/tomcat/bin/commons-daemon.jar new file mode 100644 index 0000000000000000000000000000000000000000..2b6b9c62f79a63e96f158d484311575fc8d82b47 GIT binary patch literal 24283 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 literal 0 HcmV?d00001 diff --git a/eagle-assembly/src/main/lib/tomcat/bin/tomcat-juli.jar b/eagle-assembly/src/main/lib/tomcat/bin/tomcat-juli.jar new file mode 100644 index 0000000000000000000000000000000000000000..e1b80ad69599c0484bc36a6d4c8ae9fbdd64576a GIT binary patch literal 38222 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

l+7Pj|b!-f++*#4f(~`IK~+{R`D!K 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 literal 0 HcmV?d00001