This is an automated email from the ASF dual-hosted git repository.

shwstppr pushed a commit to branch 4.18
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/4.18 by this push:
     new ae724b9d4c2 Fix EULA section while parsing OVF file (#8081)
ae724b9d4c2 is described below

commit ae724b9d4c234968965c145a23bcf1b24e2a9052
Author: Harikrishna <[email protected]>
AuthorDate: Wed Oct 25 11:01:01 2023 +0530

    Fix EULA section while parsing OVF file (#8081)
    
    * Fix EULA section while parsing OVF file
    * Updated unit test to check both the cases
    * Added separate tests
    
    Fixes #8039
---
 .../com/cloud/agent/api/storage/OVFHelper.java     |   6 +-
 .../com/cloud/agent/api/storage/OVFHelperTest.java | 131 +++++++++++++++++++++
 2 files changed, 135 insertions(+), 2 deletions(-)

diff --git a/api/src/main/java/com/cloud/agent/api/storage/OVFHelper.java 
b/api/src/main/java/com/cloud/agent/api/storage/OVFHelper.java
index c8313ccd664..d4daf0e4270 100644
--- a/api/src/main/java/com/cloud/agent/api/storage/OVFHelper.java
+++ b/api/src/main/java/com/cloud/agent/api/storage/OVFHelper.java
@@ -807,9 +807,11 @@ public class OVFHelper {
                 String eulaLicense = null;
                 for (int i = 0; i < eulaChildNodes.getLength(); i++) {
                     Node eulaItem = eulaChildNodes.item(i);
-                    if (eulaItem.getNodeName().equalsIgnoreCase("Info")) {
+                    if (eulaItem.getNodeName().equalsIgnoreCase("Info")
+                            || eulaItem.getNodeName().endsWith(":Info")) {
                         eulaInfo = eulaItem.getTextContent();
-                    } else if 
(eulaItem.getNodeName().equalsIgnoreCase("License")) {
+                    } else if 
(eulaItem.getNodeName().equalsIgnoreCase("License")
+                            || eulaItem.getNodeName().endsWith(":License")) {
                         eulaLicense = eulaItem.getTextContent();
                     }
                 }
diff --git a/api/src/test/java/com/cloud/agent/api/storage/OVFHelperTest.java 
b/api/src/test/java/com/cloud/agent/api/storage/OVFHelperTest.java
index f52d3045e40..4554e7150c4 100644
--- a/api/src/test/java/com/cloud/agent/api/storage/OVFHelperTest.java
+++ b/api/src/test/java/com/cloud/agent/api/storage/OVFHelperTest.java
@@ -393,6 +393,131 @@ public class OVFHelperTest {
             "</EulaSection>\n" +
             "</VirtualSystem>";
 
+    private String eulaSectionsWithOVFprefix =
+            "<VirtualSystem xmlns=\"http://schemas.dmtf.org/ovf/envelope/1\"; 
xmlns:cim=\"http://schemas.dmtf.org/wbem/wscim/1/common\"; 
xmlns:ovf=\"http://schemas.dmtf.org/ovf/envelope/1\"; 
xmlns:rasd=\"http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData\";
 xmlns:vmw=\"http://www.vmware.com/schema/ovf\"; 
xmlns:vssd=\"http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData\";
 xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\";>\n" +
+            "<ovf:EulaSection>\n" +
+            "      <ovf:Info>end-user license agreement</ovf:Info>\n" +
+            "      <ovf:License>END USER LICENSE AGREEMENT\n" +
+            "\n" +
+            "IMPORTANT: PLEASE READ THIS END USER LICENSE AGREEMENT CAREFULLY. 
IT IS VERY IMPORTANT THAT YOU CHECK THAT YOU ARE PURCHASING CISCO SOFTWARE OR 
EQUIPMENT FROM AN APPROVED SOURCE AND THAT YOU, OR THE ENTITY YOU REPRESENT 
(COLLECTIVELY, THE \"CUSTOMER\") HAVE BEEN REGISTERED AS THE END USER FOR THE 
PURPOSES OF THIS CISCO END USER LICENSE AGREEMENT. IF YOU ARE NOT REGISTERED AS 
THE END USER YOU HAVE NO LICENSE TO USE THE SOFTWARE AND THE LIMITED WARRANTY 
IN THIS END USER LICENS [...]
+            "\n" +
+            "CISCO SYSTEMS, INC. OR ITS AFFILIATE LICENSING THE SOFTWARE 
(\"CISCO\") IS WILLING TO LICENSE THIS SOFTWARE TO YOU ONLY UPON THE CONDITION 
THAT YOU PURCHASED THE SOFTWARE FROM AN APPROVED SOURCE AND THAT YOU ACCEPT ALL 
OF THE TERMS CONTAINED IN THIS END USER LICENSE AGREEMENT PLUS ANY ADDITIONAL 
LIMITATIONS ON THE LICENSE SET FORTH IN A SUPPLEMENTAL LICENSE AGREEMENT 
ACCOMPANYING THE PRODUCT, MADE AVAILABLE AT THE TIME OF YOUR ORDER, OR POSTED 
ON THE CISCO WEBSITE AT www.cis [...]
+            "NOT AGREE TO ALL OF THE TERMS OF THE AGREEMENT, THEN CISCO IS 
UNWILLING TO LICENSE THE SOFTWARE TO YOU AND (A) YOU MAY NOT DOWNLOAD, INSTALL 
OR USE THE SOFTWARE, AND (B) YOU MAY RETURN THE SOFTWARE (INCLUDING ANY 
UNOPENED CD PACKAGE AND ANY WRITTEN MATERIALS) FOR A FULL REFUND, OR, IF THE 
SOFTWARE AND WRITTEN MATERIALS ARE SUPPLIED AS PART OF ANOTHER PRODUCT, YOU MAY 
RETURN THE ENTIRE PRODUCT FOR A FULL REFUND. YOUR RIGHT TO RETURN AND REFUND 
EXPIRES 30 DAYS AFTER PURCHASE F [...]
+            "USERS; OR (C) A RESELLER AUTHORIZED BY ANY SUCH DISTRIBUTOR OR 
SYSTEMS INTEGRATOR IN ACCORDANCE WITH THE TERMS OF THE DISTRIBUTOR'S AGREEMENT 
WITH CISCO TO DISTRIBUTE / SELL THE CISCO EQUIPMENT, SOFTWARE AND SERVICES 
WITHIN YOUR TERRITORY TO END USERS.\n" +
+            "\n" +
+            "THE FOLLOWING TERMS OF THE AGREEMENT GOVERN CUSTOMER'S USE OF THE 
SOFTWARE (DEFINED BELOW), EXCEPT TO THE EXTENT: (A) THERE IS A SEPARATE SIGNED 
CONTRACT BETWEEN CUSTOMER AND CISCO GOVERNING CUSTOMER'S USE OF THE SOFTWARE, 
OR (B) THE SOFTWARE INCLUDES A SEPARATE \"CLICK-ACCEPT\" LICENSE AGREEMENT OR 
THIRD PARTY LICENSE AGREEMENT AS PART OF THE INSTALLATION OR DOWNLOAD PROCESS 
GOVERNING CUSTOMER'S USE OF THE SOFTWARE. TO THE EXTENT OF A CONFLICT BETWEEN 
THE PROVISIONS OF THE  [...]
+            "OR MODIFIED VERSIONS THERETO (COLLECTIVELY, \"UPGRADES\"), ANY OF 
THE SAME WHICH HAS BEEN RELICENSED UNDER THE CISCO SOFTWARE TRANSFER AND 
RE-LICENSING POLICY (AS MAY BE AMENDED BY CISCO FROM TIME TO TIME) OR BACKUP 
COPIES OF ANY OF THE FOREGOING.\n" +
+            "\n" +
+            "License. Conditioned upon compliance with the terms and 
conditions of the Agreement, Cisco grants to Customer a nonexclusive and 
nontransferable license to use for Customer's internal business purposes the 
Software and the Documentation for which Customer has paid the required license 
fees to an Approved Source. \"Documentation\" means written information 
(whether contained in user or technical manuals, training materials, 
specifications or otherwise) pertaining to the Softw [...]
+            "\n" +
+            "Customer's license to use the Software shall be limited to, and 
Customer shall not use the Software in excess of, a single hardware chassis or 
card or such other limitations as are set forth in the applicable Supplemental 
License Agreement or in the applicable purchase order which has been accepted 
by an Approved Source and for which Customer has paid to an Approved Source the 
required license fee (the \"Purchase Order\").\n" +
+            "\n" +
+            "Unless otherwise expressly provided in the Documentation or any 
applicable Supplemental License Agreement, Customer shall use the Software 
solely as embedded in, for execution on, or (where the applicable Documentation 
permits installation on non-Cisco equipment) for communication with Cisco 
equipment owned or leased by Customer and used for Customer's internal business 
purposes. No other licenses are granted by implication, estoppel or 
otherwise.\n" +
+            "\n" +
+            "For evaluation or beta copies for which Cisco does not charge a 
license fee, the above requirement to pay license fees does not apply.\n" +
+            "\n" +
+            "General Limitations. This is a license, not a transfer of title, 
to the Software and Documentation, and Cisco retains ownership of all copies of 
the Software and Documentation. Customer acknowledges that the Software and 
Documentation contain trade secrets of Cisco or its suppliers or licensors, 
including but not limited to the specific internal design and structure of 
individual programs and associated interface information. Except as otherwise 
expressly provided under the  [...]
+            "\n" +
+            "(i) transfer, assign or sublicense its license rights to any 
other person or entity (other than in compliance with any Cisco 
relicensing/transfer policy then in force), or use the Software on Cisco 
equipment not purchased by the Customer from an Approved Source or on 
secondhand Cisco equipment, and Customer acknowledges that any attempted 
transfer, assignment, sublicense or use shall be void;\n" +
+            "\n" +
+            "(ii) make error corrections to or otherwise modify or adapt the 
Software or create derivative works based upon the Software, or permit third 
parties to do the same;\n" +
+            "\n" +
+            "(iii) reverse engineer or decompile, decrypt, disassemble or 
otherwise reduce the Software to human-readable form, except to the extent 
otherwise expressly permitted under applicable law notwithstanding this 
restriction or except to the extent that Cisco is legally required to permit 
such specific activity pursuant to any applicable open source license;\n" +
+            "\n" +
+            "(iv) publish any results of benchmark tests run on the 
Software;\n" +
+            "\n" +
+            "(v) use or permit the Software to be used to perform services for 
third parties, whether on a service bureau or time sharing basis or otherwise, 
without the express written authorization of Cisco; or\n" +
+            "\n" +
+            "(vi) disclose, provide, or otherwise make available trade secrets 
contained within the Software and Documentation in any form to any third party 
without the prior written consent of Cisco. Customer shall implement reasonable 
security measures to protect such trade secrets.\n" +
+            "\n" +
+            "To the extent required by applicable law, and at Customer's 
written request, Cisco shall provide Customer with the interface information 
needed to achieve interoperability between the Software and another 
independently created program, on payment of Cisco's applicable fee, if any. 
Customer shall observe strict obligations of confidentiality with respect to 
such information and shall use such information in compliance with any 
applicable terms and conditions upon which Cisco  [...]
+            "\n" +
+            "Software, Upgrades and Additional Copies. NOTWITHSTANDING ANY 
OTHER PROVISION OF THE AGREEMENT: (1) CUSTOMER HAS NO LICENSE OR RIGHT TO MAKE 
OR USE ANY ADDITIONAL COPIES OR UPGRADES UNLESS CUSTOMER, AT THE TIME OF MAKING 
OR ACQUIRING SUCH COPY OR UPGRADE, ALREADY HOLDS A VALID LICENSE TO THE 
ORIGINAL SOFTWARE AND HAS PAID THE APPLICABLE FEE TO AN APPROVED SOURCE FOR THE 
UPGRADE OR ADDITIONAL COPIES; (2) USE OF UPGRADES IS LIMITED TO CISCO EQUIPMENT 
SUPPLIED BY AN APPROVED SO [...]
+            "\n" +
+            "Proprietary Notices. Customer agrees to maintain and reproduce 
all copyright, proprietary, and other notices on all copies, in any form, of 
the Software in the same form and manner that such copyright and other 
proprietary notices are included on the Software. Except as expressly 
authorized in the Agreement, Customer shall not make any copies or duplicates 
of any Software without the prior written permission of Cisco.\n" +
+            "\n" +
+            "Term and Termination. The Agreement and the license granted 
herein shall remain effective until terminated. Customer may terminate the 
Agreement and the license at any time by destroying all copies of Software and 
any Documentation. Customer's rights under the Agreement will terminate 
immediately without notice from Cisco if Customer fails to comply with any 
provision of the Agreement. Upon termination, Customer shall destroy all copies 
of Software and Documentation in its p [...]
+            "and End User License Agreement\" shall survive termination of the 
Agreement.\n" +
+            "\n" +
+            "Customer Records. Customer grants to Cisco and its independent 
accountants the right to examine Customer's books, records and accounts during 
Customer's normal business hours to verify compliance with this Agreement. In 
the event such audit discloses non-compliance with this Agreement, Customer 
shall promptly pay to Cisco the appropriate license fees, plus the reasonable 
cost of conducting the audit.\n" +
+            "\n" +
+            "Export, Re-Export, Transfer and Use Controls. The Software, 
Documentation and technology or direct products thereof (hereafter referred to 
as Software and Technology), supplied by Cisco under the Agreement are subject 
to export controls under the laws and regulations of the United States 
(\"U.S.\") and any other applicable countries' laws and regulations. Customer 
shall comply with such laws and regulations governing export, re-export, 
import, transfer and use of Cisco Softw [...]
+            
"www.cisco.com/web/about/doing_business/legal/global_export_trade/general_export/contract_compliance.html\n"
 +
+            "\n" +
+            "U.S. Government End User Purchasers. The Software and 
Documentation qualify as \"commercial items,\" as that term is defined at 
Federal Acquisition Regulation (\"FAR\") (48 C.F.R.) 2.101, consisting of 
\"commercial computer software\" and \"commercial computer software 
documentation\" as such terms are used in FAR 12.212. Consistent with FAR 
12.212 and DoD FAR Supp. 227.7202-1 through 227.7202-4, and notwithstanding any 
other FAR or other contractual clause to the contrary i [...]
+            "software documentation,\" and constitutes acceptance of the 
rights and restrictions herein.\n" +
+            "\n" +
+            "Identified Components; Additional Terms. The Software may contain 
or be delivered with one or more components, which may include third-party 
components, identified by Cisco in the Documentation, readme.txt file, 
third-party click-accept or elsewhere (e.g. on www.cisco.com) (the \"Identified 
Component(s)\") as being subject to different license agreement terms, 
disclaimers of warranties, limited warranties or other terms and conditions 
(collectively, \"Additional Terms\") tha [...]
+            "\n" +
+            "Limited Warranty\n" +
+            "\n" +
+            "Subject to the limitations and conditions set forth herein, Cisco 
warrants that commencing from the date of shipment to Customer (but in case of 
resale by an Approved Source other than Cisco, commencing not more than ninety 
(90) days after original shipment by Cisco), and continuing for a period of the 
longer of (a) ninety (90) days or (b) the warranty period (if any) expressly 
set forth as applicable specifically to software in the warranty card 
accompanying the product of  [...]
+            "Software purchased from an Approved Source by a Customer who is 
the first registered end user. Customer's sole and exclusive remedy and the 
entire liability of Cisco and its suppliers under this limited warranty will be 
(i) replacement of defective media and/or (ii) at Cisco's option, repair, 
replacement, or refund of the purchase price of the Software, in both cases 
subject to the condition that any error or defect constituting a breach of this 
limited warranty is reported  [...]
+            "techniques for intruding upon and attacking networks, Cisco does 
not warrant that the Software or any equipment, system or network on which the 
Software is used will be free of vulnerability to intrusion or attack.\n" +
+            "\n" +
+            "Restrictions. This warranty does not apply if the Software, 
Product or any other equipment upon which the Software is authorized to be used 
(a) has been altered, except by Cisco or its authorized representative, (b) has 
not been installed, operated, repaired, or maintained in accordance with 
instructions supplied by Cisco, (c) has been subjected to abnormal physical or 
electrical stress, abnormal environmental conditions, misuse, negligence, or 
accident; or (d) is licensed f [...]
+            "\n" +
+            "DISCLAIMER OF WARRANTY\n" +
+            "\n" +
+            "EXCEPT AS SPECIFIED IN THIS WARRANTY SECTION, ALL EXPRESS OR 
IMPLIED CONDITIONS, REPRESENTATIONS, AND WARRANTIES INCLUDING, WITHOUT 
LIMITATION, ANY IMPLIED WARRANTY OR CONDITION OF MERCHANTABILITY, FITNESS FOR A 
PARTICULAR PURPOSE, NON-INFRINGEMENT, SATISFACTORY QUALITY, NON-INTERFERENCE, 
ACCURACY OF INFORMATIONAL CONTENT, OR ARISING FROM A COURSE OF DEALING, LAW, 
USAGE, OR TRADE PRACTICE, ARE HEREBY EXCLUDED TO THE EXTENT ALLOWED BY 
APPLICABLE LAW AND ARE EXPRESSLY DISCLAIM [...]
+            "AND CUSTOMER MAY ALSO HAVE OTHER RIGHTS WHICH VARY FROM 
JURISDICTION TO JURISDICTION. This disclaimer and exclusion shall apply even if 
the express warranty set forth above fails of its essential purpose.\n" +
+            "\n" +
+            "Disclaimer of Liabilities-Limitation of Liability. IF YOU 
ACQUIRED THE SOFTWARE IN THE UNITED STATES, LATIN AMERICA, CANADA, JAPAN OR THE 
CARIBBEAN, NOTWITHSTANDING ANYTHING ELSE IN THE AGREEMENT TO THE CONTRARY, ALL 
LIABILITY OF CISCO, ITS AFFILIATES, OFFICERS, DIRECTORS, EMPLOYEES, AGENTS, 
SUPPLIERS AND LICENSORS COLLECTIVELY, TO CUSTOMER, WHETHER IN CONTRACT, TORT 
(INCLUDING NEGLIGENCE), BREACH OF WARRANTY OR OTHERWISE, SHALL NOT EXCEED THE 
PRICE PAID BY CUSTOMER TO ANY A [...]
+            "\n" +
+            "IF YOU ACQUIRED THE SOFTWARE IN EUROPE, THE MIDDLE EAST, AFRICA, 
ASIA OR OCEANIA, NOTWITHSTANDING ANYTHING ELSE IN THE AGREEMENT TO THE 
CONTRARY, ALL LIABILITY OF CISCO, ITS AFFILIATES, OFFICERS, DIRECTORS, 
EMPLOYEES, AGENTS, SUPPLIERS AND LICENSORS COLLECTIVELY, TO CUSTOMER, WHETHER 
IN CONTRACT, TORT (INCLUDING NEGLIGENCE), BREACH OF WARRANTY OR OTHERWISE, 
SHALL NOT EXCEED THE PRICE PAID BY CUSTOMER TO CISCO FOR THE SOFTWARE THAT GAVE 
RISE TO THE CLAIM OR IF THE SOFTWARE IS [...]
+            " MISREPRESENTATION, OR (III) ANY LIABILITY OF CISCO WHICH CANNOT 
BE EXCLUDED UNDER APPLICABLE LAW.\n" +
+            "\n" +
+            "Disclaimer of Liabilities-Waiver of Consequential Damages and 
Other Losses. IF YOU ACQUIRED THE SOFTWARE IN THE UNITED STATES, LATIN AMERICA, 
THE CARIBBEAN OR CANADA, REGARDLESS OF WHETHER ANY REMEDY SET FORTH HEREIN 
FAILS OF ITS ESSENTIAL PURPOSE OR OTHERWISE, IN NO EVENT WILL CISCO OR ITS 
SUPPLIERS BE LIABLE FOR ANY LOST REVENUE, PROFIT, OR LOST OR DAMAGED DATA, 
BUSINESS INTERRUPTION, LOSS OF CAPITAL, OR FOR SPECIAL, INDIRECT, 
CONSEQUENTIAL, INCIDENTAL, OR PUNITIVE DAMAGES [...]
+            "\n" +
+            "IF YOU ACQUIRED THE SOFTWARE IN JAPAN, EXCEPT FOR LIABILITY 
ARISING OUT OF OR IN CONNECTION WITH DEATH OR PERSONAL INJURY, FRAUDULENT 
MISREPRESENTATION, AND REGARDLESS OF WHETHER ANY REMEDY SET FORTH HEREIN FAILS 
OF ITS ESSENTIAL PURPOSE OR OTHERWISE, IN NO EVENT WILL CISCO, ITS AFFILIATES, 
OFFICERS, DIRECTORS, EMPLOYEES, AGENTS, SUPPLIERS AND LICENSORS BE LIABLE FOR 
ANY LOST REVENUE, PROFIT, OR LOST OR DAMAGED DATA, BUSINESS INTERRUPTION, LOSS 
OF CAPITAL, OR FOR SPECIAL, IN [...]
+            "\n" +
+            "IF YOU ACQUIRED THE SOFTWARE IN EUROPE, THE MIDDLE EAST, AFRICA, 
ASIA OR OCEANIA, IN NO EVENT WILL CISCO, ITS AFFILIATES, OFFICERS, DIRECTORS, 
EMPLOYEES, AGENTS, SUPPLIERS AND LICENSORS, BE LIABLE FOR ANY LOST REVENUE, 
LOST PROFIT, OR LOST OR DAMAGED DATA, BUSINESS INTERRUPTION, LOSS OF CAPITAL, 
OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL, OR PUNITIVE DAMAGES, 
HOWSOEVER ARISING, INCLUDING, WITHOUT LIMITATION, IN CONTRACT, TORT (INCLUDING 
NEGLIGENCE) OR WHETHER ARISIN [...]
+            "CONNECTION WITH: (I) DEATH OR PERSONAL INJURY, (II) FRAUDULENT 
MISREPRESENTATION, OR (III) CISCO'S LIABILITY IN CONNECTION WITH ANY TERMS THAT 
CANNOT BE EXCLUDED UNDER APPLICABLE LAW.\n" +
+            "\n" +
+            "Customer acknowledges and agrees that Cisco has set its prices 
and entered into the Agreement in reliance upon the disclaimers of warranty and 
the limitations of liability set forth herein, that the same reflect an 
allocation of risk between the parties (including the risk that a contract 
remedy may fail of its essential purpose and cause consequential loss), and 
that the same form an essential basis of the bargain between the parties.\n" +
+            "\n" +
+            "Controlling Law, Jurisdiction. If you acquired, by reference to 
the address on the purchase order accepted by the Approved Source, the Software 
in the United States, Latin America, or the Caribbean, the Agreement and 
warranties (\"Warranties\") are controlled by and construed under the laws of 
the State of California, United States of America, notwithstanding any 
conflicts of law provisions; and the state and federal courts of California 
shall have exclusive jurisdiction ove [...]
+            "Europe, the Middle East, Africa, Asia or Oceania (excluding 
Australia), unless expressly prohibited by local law, the Agreement and 
Warranties are controlled by and construed under the laws of England, 
notwithstanding any conflicts of law provisions; and the English courts shall 
have exclusive jurisdiction over any claim arising under the Agreement or 
Warranties. In addition, if the Agreement is controlled by the laws of England, 
no person who is not a party to the Agreement [...]
+            "If you acquired the Software in Australia, unless expressly 
prohibited by local law, the Agreement and Warranties are controlled by and 
construed under the laws of the State of New South Wales, Australia, 
notwithstanding any conflicts of law provisions; and the State and federal 
courts of New South Wales shall have exclusive jurisdiction over any claim 
arising under the Agreement or Warranties. If you acquired the Software in any 
other country, unless expressly prohibited by [...]
+            "\n" +
+            "For all countries referred to above, the parties specifically 
disclaim the application of the UN Convention on Contracts for the 
International Sale of Goods. Notwithstanding the foregoing, either party may 
seek interim injunctive relief in any court of appropriate jurisdiction with 
respect to any alleged breach of such party's intellectual property or 
proprietary rights. If any portion hereof is found to be void or unenforceable, 
the remaining provisions of the Agreement and [...]
+            "\n" +
+            "Product warranty terms and other information applicable to Cisco 
products are available at the following URL: www.cisco.com/go/warranty\n" +
+            "\n" +
+            "Cisco and the Cisco logo are trademarks or registered trademarks 
of Cisco and/or its affiliates in the U.S. and other countries. To view a list 
of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks. Third-party 
trademarks mentioned are the property of their respective owners. The use of 
the word partner does not imply a partnership relationship between Cisco and 
any other company. (1110R)\n" +
+            "\n" +
+            "© 1998, 2001, 2003, 2008-2014 Cisco Systems, Inc. All rights 
reserved.</ovf:License>\n" +
+            "</ovf:EulaSection>\n" +
+            "<ovf:EulaSection>\n" +
+            "      <ovf:Info>supplemental end-user license 
agreement</ovf:Info>\n" +
+            "      <ovf:License>SUPPLEMENTAL END USER LICENSE AGREEMENT FOR 
VIRTUAL SOFTWARE PRODUCTS\n" +
+            "\n" +
+            "IMPORTANT: READ CAREFULLY\n" +
+            "\n" +
+            "This Supplemental End User License Agreement (\"SEULA\") contains 
additional terms and conditions for the Software licensed under the End User 
License Agreement (\"EULA\") between you and Cisco (collectively, the 
\"Agreement\"). Capitalized terms used in this SEULA but not defined will have 
the meanings assigned to them in the EULA. To the extent that there is a 
conflict between the terms and conditions of the EULA and this SEULA, the terms 
and conditions of this SEULA will  [...]
+            "\n" +
+            "DOWNLOADING, INSTALLING, OR USING THE SOFTWARE CONSTITUTES 
ACCEPTANCE OF THE AGREEMENT, AND YOU ARE BINDING YOURSELF AND THE BUSINESS 
ENTITY THAT YOU REPRESENT (COLLECTIVELY, \"CUSTOMER\") TO THE AGREEMENT. IF YOU 
DO NOT AGREE TO ALL OF THE TERMS OF THE AGREEMENT, THEN CISCO IS UNWILLING TO 
LICENSE THE SOFTWARE TO YOU AND (A) YOU MAY NOT DOWNLOAD, INSTALL OR USE THE 
SOFTWARE, AND (B) YOU MAY RETURN THE SOFTWARE (INCLUDING ANY UNOPENED CD 
PACKAGE AND ANY WRITTEN MATERIALS) FO [...]
+            "\n" +
+            "Definitions\n" +
+            "\"CPU\" means a central processing unit that encompasses part of 
a Server.\n" +
+            "\"Failover Pair\"  means a primary Instance and a standby 
Instance with the same Software configuration where the standby Instance can 
take over in case of failure of the primary Instance.\n" +
+            "\"Instance\" means a single copy of the Software. Each copy of 
the Software loaded into memory is an Instance.\n" +
+            "\"Server\" means a single physical computer or device on a 
network that manages or provides network resources for multiple users.\n" +
+            "\"Service Provider\" means a company that provides information 
technology services to  external end user customers.\n" +
+            "\"Software\" means Cisco's Adaptive Security Virtual Appliance 
(\"ASAv\"), Adaptive Security Appliance 1000V Cloud Firewall Software (\"ASA 
1000V\"), Nexus 1000V series switch products, Virtual Security Gateway 
products, or other Cisco virtual software products that Cisco includes under 
this SEULA.\n" +
+            "\"vCPU\" means a virtual central processing resource assigned to 
the VM by the underlying virtualization technology.\n" +
+            "\"Virtual Machine\" or \"VM\" means a software container that can 
run its own operating system and execute applications like a Server.\n" +
+            "\n" +
+            "Additional License Terms and Conditions\n" +
+            "1. Cisco hereby grants Customer the right to install and use the 
Software on single or multiple Cisco or non-Cisco Servers or on Virtual 
Machines. In order to use the Software Customer may be required to input a 
registration number or product activation key and register each Instance online 
at Cisco's website in order to obtain the necessary entitlements.\n" +
+            "2. Customer shall pay a unit license fee to Cisco or an 
authorized Cisco reseller, as applicable, for each Instance installed on a 
Cisco or non-Cisco Server CPU, vCPU or Virtual Machine, as determined by 
Cisco.\n" +
+            "3. For the ASA 1000V, Customer is licensed the number of 
Instances equal to the number of CPUs covered by the unit license fee. If 
Customer deploys a Failover Pair, then the fee for the additional standby 
Instance is included in the fee for each primary Instance.\n" +
+            "4. If Customer is a Service Provider, Customer may use the 
Software under the terms of this Agreement for the purpose of delivering hosted 
information technology services to Customer's end user customers, subject to 
payment of the required license fee(s).\n" +
+            "5. Customer may also use the Software under the terms of this 
Agreement to deliver hosted information technology services to Customer 
affiliates, subject to payment of the required license fee(s).\n" +
+            "6. If the Software is subject to Cisco's Smart Licensing program, 
Cisco will be able to assess if Customer is using the Software within the 
limits and entitlements paid for by Customer. If the Smart Licensing program is 
applicable, Customer will be required to enter into a separate terms of service 
agreement relating to Smart Licensing.</ovf:License>\n" +
+            "</ovf:EulaSection>\n" +
+            "</VirtualSystem>";
+
     private String productSectionWithCategories =
             "<VirtualSystem ovf:id=\"VMware-vCenter-Server-Appliance\" 
xmlns=\"http://schemas.dmtf.org/ovf/envelope/1\"; 
xmlns:cim=\"http://schemas.dmtf.org/wbem/wscim/1/common\"; 
xmlns:ovf=\"http://schemas.dmtf.org/ovf/envelope/1\"; 
xmlns:rasd=\"http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData\";
 xmlns:vmw=\"http://www.vmware.com/schema/ovf\"; 
xmlns:vssd=\"http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData\";
 xmlns:xsi=\"http://ww [...]
             "<ProductSection ovf:required=\"false\">\n" +
@@ -731,6 +856,12 @@ public class OVFHelperTest {
         Assert.assertEquals(2, eulas.size());
     }
 
+    @Test
+    public void testGetOVFEulaSectionValidOVFwithOVFprefix() throws 
IOException, SAXException {
+        List<OVFEulaSectionTO> eulas = 
ovfHelper.getOVFEulaSectionFromXmlString(eulaSectionsWithOVFprefix);
+        Assert.assertEquals(2, eulas.size());
+    }
+
     @Test
     public void testGetOVFPropertiesWithCategories() throws IOException, 
SAXException {
         List<OVFPropertyTO> props = 
ovfHelper.getOVFPropertiesFromXmlString(productSectionWithCategories);

Reply via email to