Vulnerabilities > CVE-2007-0199 - Denial Of Service vulnerability in Cisco IOS Data-link Switching

047910
CVSS 5.0 - MEDIUM
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
NONE
Availability impact
PARTIAL
network
low complexity
cisco
nessus

Summary

The Data-link Switching (DLSw) feature in Cisco IOS 11.0 through 12.4 allows remote attackers to cause a denial of service (device reload) via "an invalid value in a DLSw message... during the capabilities exchange."

Vulnerable Configurations

Part Description Count
OS
Cisco
3737

Nessus

  • NASL familyCISCO
    NASL idCSCSF28840.NASL
    descriptionThe remote host is a CISCO router containing a version of IOS that is affected by a denial of service vulnerability. An attacker may exploit this flaw to crash the remote device.
    last seen2020-06-01
    modified2020-06-02
    plugin id24019
    published2007-01-17
    reporterThis script is Copyright (C) 2007-2018 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/24019
    titleCisco IOS Data-link Switching (DLSw) Capabilities Exchange Remote DoS (CSCsf28840)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    
    include("compat.inc");
    
    if(description)
    {
     script_id(24019);
     script_version("1.19");
     script_cve_id("CVE-2007-0199");
     script_bugtraq_id(21990);
    
     script_name(english:"Cisco IOS Data-link Switching (DLSw) Capabilities Exchange Remote DoS (CSCsf28840)");
    
     script_set_attribute(attribute:"synopsis", value:
    "The remote router can be crashed remotely." );
     script_set_attribute(attribute:"description", value:
    "The remote host is a CISCO router containing a version of IOS that is
    affected by a denial of service vulnerability. 
    
    An attacker may exploit this flaw to crash the remote device." );
     script_set_attribute(attribute:"solution", value:
    "http://www.cisco.com/en/US/products/products_security_advisory09186a00807bd128.shtml" );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P");
      script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"false");
     script_set_attribute(attribute:"plugin_publication_date", value: "2007/01/17");
     script_set_attribute(attribute:"vuln_publication_date", value: "2007/01/10");
     script_cvs_date("Date: 2018/06/27 18:42:25");
     script_set_attribute(attribute:"plugin_type", value:"local");
     script_set_attribute(attribute:"cpe", value: "cpe:/o:cisco:ios");
     script_end_attributes();
    
     summary["english"] = "Uses SNMP to determine if a flaw is present";
     script_summary(english:summary["english"]);
    
     script_category(ACT_GATHER_INFO);
    
     script_copyright(english:"This script is Copyright (C) 2007-2018 Tenable Network Security, Inc.");
    
     script_family(english:"CISCO");
    
     script_dependencie("snmp_sysDesc.nasl", "snmp_cisco_type.nasl");
     script_require_keys("SNMP/community", "SNMP/sysDesc", "CISCO/model");
     exit(0);
    }
    
    
    include('cisco_func.inc');
    
    os = get_kb_item("SNMP/sysDesc"); if(!os)exit(0);
    hardware = get_kb_item("CISCO/model"); if(!hardware)exit(0);
    version = extract_version(os);
    if ( ! version ) exit(0);
    
    
    # 12.0
    if ( deprecated_version(version, "12.0","12.0SZ", "12.0T", "12.0XA", "12.0XC", "12.0XD", "12.0XE", "12.0XG","12.0XH", "12.0XI", "12.0XK", "12.0XN", "12.0XQ", "12.0XR", "12.0XT" ) ) vuln ++;
    
    
    if ( check_release(version:version, 
    		   patched:make_list("12.0(18)S"),
    		   newest:"12.0(18)S") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.0(5)WC17"),
    		   newest:"12.0(5)WC17") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.0(4)XJ5"),
    		   newest:"12.0(4)XJ5") ) vuln ++;
    
    
    # 12.1
    
    if ( deprecated_version(version, "12.1", "12.1AA", "12.1EC", "12.1EX", "12.1EZ", "12.1T", "12.1XA", "12.1XC", "12.1XD", "12.1XG", "12.1XH", "12.1XI", "12.1XJ", "12.1XM", "12.1XP", "12.1XQ", "12.1XS", "12.1XW", "12.1XX", "12.1XZ", "12.1YA", "12.1YB", "12.1YD", "12.1YI") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.1(26)E8", "12.1(27b)E2"),
    		   newest:"12.1(27b)E2") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.1(1)XE1"),
    		   newest:"12.1(1)XE1") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.1(3)XT2"),
    		   newest:"12.1(3)XT2") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.1(5)XV1"),
    		   newest:"12.1(5)XV1") ) vuln ++;
    
    
    # 12.2
    if ( deprecated_version(version, "12.B", "12.2BW", "12.2BY", "12.2DD", "12.2DX", "12.2IXA", "12.2IXB", "12.2MC", "12.2SBC", "12.2SU", "12.2SX", "12.2SXA", "12.2SXB", "12.2SXD", "12.2SY", "12.2SZ", "12.2T", "12.2TPC", "12.2XA", "12.2XC", "12.2XD", "12.2XG", "12.2XH","12.2XJ", "12.2XK", "12.2XL", "12.2XM", "12.2XN", "12.2XQ", "12.2XT", "12.2XU", "12.2XW", "12.2YB", "12.2YC", "12.2YD", "12.2YE", "12.2YF", "12.2YH", "12.2YL", "12.2YM", "12.2YN", "12.2YT", "12.2YU", "12.2YW", "12.2YX", "12.2YY", "12.2YZ", "12.2ZA", "12.2ZB", "12.2ZD", "12.2ZE", "12.2ZF", "12.2ZL", "12.2ZN", "12.2ZU", "12.2ZW") ) vuln ++;
    
    
    if ( check_release(version:version, 
    		   patched:make_list("12.2(43)"),
    		   newest:"12.2(43)") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.2(30)S"),
    		   newest:"12.2(30)S") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.2(28)SB6", "12.2(31)SB2)"),
    		   newest:"12.2(31)SB2") ) vuln ++;
    
    if ( "SRA" >< version &&
         check_release(version:version, 
    		   patched:make_list("12.2(33)SRA2"),
    		   newest:"12.2(33)SRA2") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.2(26)SV"),
    		   newest:"12.2(26)SV") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.2(25)SW9"),
    		   newest:"12.2(25)SW9") ) vuln ++;
    
    if ( "SXE" >< version &&
         check_release(version:version, 
    		   patched:make_list("12.2(18)SXE6b"),
    		   newest:"12.2(18)SXE6b") ) vuln ++;
    
    if ( "SXF" >< version &&
         check_release(version:version, 
    		   patched:make_list("12.2(18)SXF8"),
    		   newest:"12.2(18)SXF8") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.2(2)XB17"),
    		   newest:"12.2(2)XB17") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.2(4)YA10"),
    		   newest:"12.2(4)YA10") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.2(8)YJ1"),
    		   newest:"12.2(8)YJ1") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.2(11)YV1"),
    		   newest:"12.2(11)YV1") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.2(13)ZH6"),
    		   newest:"12.2(13)ZH6") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.2(28a)ZV1"),
    		   newest:"12.2(28a)ZV1") ) vuln ++;
    
    #
    # 12.3
    #
    
    if ( deprecated_version(version, "12.3B", "12.3BW", "12.3T", "12.3XB", "12.3XD", "12.3XF", "12.3XG", "12.3XH", "12.3XJ", "12.3XK", "12.3XQ", "12.3XR", "12.3XU", "12.3XW", "12.3YF", "12.3YH", "12.3YK", "12.3YM", "12.3YQ", "12.3YT", "12.3YU", "12.3YX", "12.3YZ") ) vuln ++;
    
    
    if ( check_release(version:version, 
    		   patched:make_list("12.3(21)"),
    		   newest:"12.3(21)") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.3(2)XA5"),
    		   newest:"12.3(2)XA5") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.3(2)XA5"),
    		   newest:"12.3(2)XA5") ) vuln ++;
    
    
    if ( check_release(version:version, 
    		   patched:make_list("12.3(2)XC3"),
    		   newest:"12.3(2)XC3") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.3(2)XE2"),
    		   newest:"12.3(2)XE2") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.3(7)XI8a"),
    		   newest:"12.3(7)XI8a") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.3(8)XX2"),
    		   newest:"12.3(8)XX2") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.3(8)YG5"),
    		   newest:"12.3(8)YG5") ) vuln ++;
    
    
    # 12.4
    if ( deprecated_version(version, "12.4XA", "12.4XB", "12.4XE") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.4(7d)", "12.4(8c)", "12.4(10a)", "12.4(12)"),
    		   newest:"12.4(12)") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.4(4)T4", "12.4(6)T6", "12.4(9)T3", "12.4(11)T1"),
    		   newest:"12.4(11)T1") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.4(4)XC6"),
    		   newest:"12.4(4)XC6") ) vuln ++;
    
    if ( check_release(version:version, 
    		   patched:make_list("12.4(4)XD5"),
    		   newest:"12.4(4)XD5") ) vuln ++;
    
    
    if ( vuln == 1 ) security_warning(port:161, proto:"udp");
    else if ( vuln > 1 )  display("IOS version ", version, " identified as vulnerable by multiple checks\n");
    
    
    
  • NASL familyCISCO
    NASL idCISCO-SA-20070110-DLSWHTTP.NASL
    descriptionA vulnerability exists in the Data-link Switching (DLSw) feature in Cisco IOS where an invalid value in a DLSw message could result in a reload of the DLSw device. Successful exploitation of this vulnerability requires that an attacker be able to establish a DLSw connection to the device. There are workarounds available for this vulnerability, as detailed in the Workarounds section below.
    last seen2020-03-17
    modified2010-09-01
    plugin id48994
    published2010-09-01
    reporterThis script is (C) 2010-2018 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/48994
    titleDLSw Vulnerability - Cisco Systems
    code
    #TRUSTED 386d3e205995d07175a1b94d92fff916821404e55725ff2b0e5563a0ee42d0560278141a15530415fe2650463130883c973ae8185a02208738ccbb8cad03c3532cfd6e26558c0c50e8263aa7cc856edbb2846f4c8a870ddf0fae954293a05f9765cdea745d67be327a73404fc4d7d30717da50d38a2e3012e8699e344d9c460f5bb9a58458b710aa8640e10f27939724660aa330b407b0447797e70d2473a60bd09c492ab0736ebfd3243ceae4bb6dcc726a934c9eca92bebffef5b20b50a7fc3af094710ca43e7663d85c33a298664b179bbff37223d243e6ab707da91076ec3ea0407e0ccd7b3e452a8c053fd8efba32a3018e74721f1c0c76a6a1c1828cc823b84f98252aeab8c85444ac6bfc36c0db390ba70724093d8630ccc57f62f9b340c6d89b560ff6cec170517d9bb4da7da16431d2f2146955632d140296000f9f232965d660012a2e020a664d45e26738d72e41b0a5b385871179d02ba07ed6f816fc0e522e810afa589fa4d5df2749fa3314c5ae5d15c96dcc212a0c97ce8cf7904c20669c2ae746f9d6e5bb8e6c3f5a512b2565cb314f1a10703aa1c13578c68bb37f57c2aae9e0137b9ac67725f5bae1e89a516c62792a6b803e9a1113f84d954b4f995567b398c6c2428cc411c62fa40a74fc59594905f34e86231f1dc57f3f8d3a00b652462f7da3d2475b73fadca90dab2430f83a58417c0ec3fb5691eb
    #
    # (C) Tenable Network Security, Inc.
    #
    # Security advisory is (C) CISCO, Inc.
    # See https://www.cisco.com/en/US/products/products_security_advisory09186a00807bd128.shtml
    
    if (NASL_LEVEL < 3000) exit(0);
    
    include("compat.inc");
    
    if (description)
    {
     script_id(48994);
     script_version("1.19");
     script_set_attribute(attribute:"plugin_modification_date", value:"2018/11/15");
     script_cve_id("CVE-2007-0199");
     script_bugtraq_id(21990);
     script_name(english:"DLSw Vulnerability - Cisco Systems");
     script_summary(english:"Checks the IOS version.");
     script_set_attribute(attribute:"synopsis", value:"The remote device is missing a vendor-supplied security patch.");
     script_set_attribute(attribute:"description", value:
    'A vulnerability exists in the Data-link Switching (DLSw) feature in
    Cisco IOS where an invalid value in a DLSw message could result in a
    reload of the DLSw device. Successful exploitation of this
    vulnerability requires that an attacker be able to establish a DLSw
    connection to the device.
    There are workarounds available for this vulnerability, as detailed in
    the Workarounds section below.
    ');
     script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?855cba63");
     # https://www.cisco.com/en/US/products/products_security_advisory09186a00807bd128.shtml
     script_set_attribute(attribute:"see_also", value: "http://www.nessus.org/u?7077396d");
     script_set_attribute(attribute:"solution", value:
    "Apply the relevant patch referenced in Cisco Security Advisory
    cisco-sa-20070110-dlsw.");
     script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:C");
     script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
     script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
     script_set_attribute(attribute:"exploit_available", value:"false");
     script_set_attribute(attribute:"plugin_type", value:"local");
     script_set_attribute(attribute:"cpe", value:"cpe:/o:cisco:ios");
    
     script_set_attribute(attribute:"vuln_publication_date", value:"2007/01/10");
     script_set_attribute(attribute:"patch_publication_date", value:"2007/01/10");
     script_set_attribute(attribute:"plugin_publication_date", value:"2010/09/01");
    
     script_end_attributes();
     script_xref(name:"CISCO-BUG-ID", value:"CSCsf28840");
     script_xref(name:"CISCO-SA", value:"cisco-sa-20070110-dlsw");
     script_category(ACT_GATHER_INFO);
     script_copyright(english:"This script is (C) 2010-2018 Tenable Network Security, Inc.");
     script_family(english:"CISCO");
     script_dependencie("cisco_ios_version.nasl");
     script_require_keys("Host/Cisco/IOS/Version");
     exit(0);
    }
    
    include("audit.inc");
    include("cisco_func.inc");
    include("cisco_kb_cmd_func.inc");
    
    flag = 0;
    version = get_kb_item_or_exit("Host/Cisco/IOS/Version");
    override = 0;
    
    if (version == '12.4(6)XP') flag++;
    else if (version == '12.4(9)XG') flag++;
    else if (version == '12.4(6)XE2') flag++;
    else if (version == '12.4(6)XE1') flag++;
    else if (version == '12.4(6)XE') flag++;
    else if (version == '12.4(4)XD4') flag++;
    else if (version == '12.4(4)XD2') flag++;
    else if (version == '12.4(4)XD1') flag++;
    else if (version == '12.4(4)XD') flag++;
    else if (version == '12.4(4)XC5') flag++;
    else if (version == '12.4(4)XC4') flag++;
    else if (version == '12.4(4)XC3') flag++;
    else if (version == '12.4(4)XC2') flag++;
    else if (version == '12.4(4)XC1') flag++;
    else if (version == '12.4(4)XC') flag++;
    else if (version == '12.4(2)XB4') flag++;
    else if (version == '12.4(2)XB3') flag++;
    else if (version == '12.4(2)XB2') flag++;
    else if (version == '12.4(2)XB1') flag++;
    else if (version == '12.4(2)XB') flag++;
    else if (version == '12.4(2)XA2') flag++;
    else if (version == '12.4(2)XA1') flag++;
    else if (version == '12.4(2)XA') flag++;
    else if (version == '12.4(11)T') flag++;
    else if (version == '12.4(9)T2') flag++;
    else if (version == '12.4(9)T1') flag++;
    else if (version == '12.4(9)T') flag++;
    else if (version == '12.4(6)T5') flag++;
    else if (version == '12.4(6)T4') flag++;
    else if (version == '12.4(6)T3') flag++;
    else if (version == '12.4(6)T2') flag++;
    else if (version == '12.4(6)T1') flag++;
    else if (version == '12.4(6)T') flag++;
    else if (version == '12.4(4)T6') flag++;
    else if (version == '12.4(4)T5') flag++;
    else if (version == '12.4(4)T4') flag++;
    else if (version == '12.4(4)T3') flag++;
    else if (version == '12.4(4)T2') flag++;
    else if (version == '12.4(4)T1') flag++;
    else if (version == '12.4(4)T') flag++;
    else if (version == '12.4(2)T5') flag++;
    else if (version == '12.4(2)T4') flag++;
    else if (version == '12.4(2)T3') flag++;
    else if (version == '12.4(2)T2') flag++;
    else if (version == '12.4(2)T1') flag++;
    else if (version == '12.4(2)T') flag++;
    else if (version == '12.4(10)') flag++;
    else if (version == '12.4(8b)') flag++;
    else if (version == '12.4(8a)') flag++;
    else if (version == '12.4(8)') flag++;
    else if (version == '12.4(7c)') flag++;
    else if (version == '12.4(7b)') flag++;
    else if (version == '12.4(7a)') flag++;
    else if (version == '12.4(7)') flag++;
    else if (version == '12.4(5b)') flag++;
    else if (version == '12.4(5a)') flag++;
    else if (version == '12.4(5)') flag++;
    else if (version == '12.4(3g)') flag++;
    else if (version == '12.4(3f)') flag++;
    else if (version == '12.4(3e)') flag++;
    else if (version == '12.4(3d)') flag++;
    else if (version == '12.4(3c)') flag++;
    else if (version == '12.4(3b)') flag++;
    else if (version == '12.4(3a)') flag++;
    else if (version == '12.4(3)') flag++;
    else if (version == '12.4(1c)') flag++;
    else if (version == '12.4(1b)') flag++;
    else if (version == '12.4(1a)') flag++;
    else if (version == '12.4(1)') flag++;
    else if (version == '12.3(8)ZA') flag++;
    else if (version == '12.3(11)YZ1') flag++;
    else if (version == '12.3(11)YZ') flag++;
    else if (version == '12.3(14)YX4') flag++;
    else if (version == '12.3(14)YX3') flag++;
    else if (version == '12.3(14)YX2') flag++;
    else if (version == '12.3(14)YX1') flag++;
    else if (version == '12.3(14)YX') flag++;
    else if (version == '12.3(14)YU1') flag++;
    else if (version == '12.3(14)YU') flag++;
    else if (version == '12.3(14)YT1') flag++;
    else if (version == '12.3(14)YT') flag++;
    else if (version == '12.3(14)YQ8') flag++;
    else if (version == '12.3(14)YQ7') flag++;
    else if (version == '12.3(14)YQ6') flag++;
    else if (version == '12.3(14)YQ5') flag++;
    else if (version == '12.3(14)YQ4') flag++;
    else if (version == '12.3(14)YQ3') flag++;
    else if (version == '12.3(14)YQ2') flag++;
    else if (version == '12.3(14)YQ1') flag++;
    else if (version == '12.3(14)YQ') flag++;
    else if (version == '12.3(14)YM9') flag++;
    else if (version == '12.3(14)YM8') flag++;
    else if (version == '12.3(14)YM7') flag++;
    else if (version == '12.3(14)YM6') flag++;
    else if (version == '12.3(14)YM5') flag++;
    else if (version == '12.3(14)YM4') flag++;
    else if (version == '12.3(14)YM3') flag++;
    else if (version == '12.3(14)YM2') flag++;
    else if (version == '12.3(11)YK2') flag++;
    else if (version == '12.3(11)YK1') flag++;
    else if (version == '12.3(11)YK') flag++;
    else if (version == '12.3(11)YJ') flag++;
    else if (version == '12.3(8)YI3') flag++;
    else if (version == '12.3(8)YI2') flag++;
    else if (version == '12.3(8)YI1') flag++;
    else if (version == '12.3(8)YH') flag++;
    else if (version == '12.3(8)YG4') flag++;
    else if (version == '12.3(8)YG3') flag++;
    else if (version == '12.3(8)YG2') flag++;
    else if (version == '12.3(8)YG') flag++;
    else if (version == '12.3(11)YF4') flag++;
    else if (version == '12.3(11)YF3') flag++;
    else if (version == '12.3(11)YF2') flag++;
    else if (version == '12.3(11)YF1') flag++;
    else if (version == '12.3(11)YF') flag++;
    else if (version == '12.3(2)XZ2') flag++;
    else if (version == '12.3(2)XZ1') flag++;
    else if (version == '12.3(2)XZ') flag++;
    else if (version == '12.3(8)XX2d') flag++;
    else if (version == '12.3(8)XX1') flag++;
    else if (version == '12.3(8)XX') flag++;
    else if (version == '12.3(8)XW3') flag++;
    else if (version == '12.3(8)XW2') flag++;
    else if (version == '12.3(8)XW1') flag++;
    else if (version == '12.3(8)XW') flag++;
    else if (version == '12.3(8)XU5') flag++;
    else if (version == '12.3(8)XU4') flag++;
    else if (version == '12.3(8)XU3') flag++;
    else if (version == '12.3(8)XU2') flag++;
    else if (version == '12.3(8)XU1') flag++;
    else if (version == '12.3(8)XU') flag++;
    else if (version == '12.3(7)XR6') flag++;
    else if (version == '12.3(7)XR5') flag++;
    else if (version == '12.3(7)XR4') flag++;
    else if (version == '12.3(7)XR3') flag++;
    else if (version == '12.3(7)XR') flag++;
    else if (version == '12.3(4)XQ1') flag++;
    else if (version == '12.3(4)XQ') flag++;
    else if (version == '12.3(11)XL1') flag++;
    else if (version == '12.3(11)XL') flag++;
    else if (version == '12.3(4)XK4') flag++;
    else if (version == '12.3(4)XK3') flag++;
    else if (version == '12.3(4)XK2') flag++;
    else if (version == '12.3(4)XK1') flag++;
    else if (version == '12.3(4)XK') flag++;
    else if (version == '12.3(7)XJ2') flag++;
    else if (version == '12.3(7)XJ1') flag++;
    else if (version == '12.3(7)XJ') flag++;
    else if (version == '12.3(7)XI8') flag++;
    else if (version == '12.3(7)XI7b') flag++;
    else if (version == '12.3(7)XI7a') flag++;
    else if (version == '12.3(7)XI7') flag++;
    else if (version == '12.3(7)XI6') flag++;
    else if (version == '12.3(7)XI5') flag++;
    else if (version == '12.3(7)XI4') flag++;
    else if (version == '12.3(7)XI3') flag++;
    else if (version == '12.3(7)XI2') flag++;
    else if (version == '12.3(7)XI1') flag++;
    else if (version == '12.3(4)XG5') flag++;
    else if (version == '12.3(4)XG4') flag++;
    else if (version == '12.3(4)XG3') flag++;
    else if (version == '12.3(4)XG2') flag++;
    else if (version == '12.3(4)XG1') flag++;
    else if (version == '12.3(4)XG') flag++;
    else if (version == '12.3(2)XF') flag++;
    else if (version == '12.3(2)XE1') flag++;
    else if (version == '12.3(2)XE') flag++;
    else if (version == '12.3(4)XD4') flag++;
    else if (version == '12.3(4)XD3') flag++;
    else if (version == '12.3(4)XD2') flag++;
    else if (version == '12.3(4)XD1') flag++;
    else if (version == '12.3(4)XD') flag++;
    else if (version == '12.3(2)XC2') flag++;
    else if (version == '12.3(2)XC') flag++;
    else if (version == '12.3(2)XB3') flag++;
    else if (version == '12.3(2)XB1') flag++;
    else if (version == '12.3(2)XB') flag++;
    else if (version == '12.3(2)XA4') flag++;
    else if (version == '12.3(2)XA1') flag++;
    else if (version == '12.3(2)XA') flag++;
    else if (version == '12.3(14)T7') flag++;
    else if (version == '12.3(14)T6') flag++;
    else if (version == '12.3(14)T5') flag++;
    else if (version == '12.3(14)T3') flag++;
    else if (version == '12.3(14)T2') flag++;
    else if (version == '12.3(14)T1') flag++;
    else if (version == '12.3(14)T') flag++;
    else if (version == '12.3(11)T9') flag++;
    else if (version == '12.3(11)T8') flag++;
    else if (version == '12.3(11)T7') flag++;
    else if (version == '12.3(11)T6') flag++;
    else if (version == '12.3(11)T5') flag++;
    else if (version == '12.3(11)T4') flag++;
    else if (version == '12.3(11)T3') flag++;
    else if (version == '12.3(11)T2') flag++;
    else if (version == '12.3(11)T11') flag++;
    else if (version == '12.3(11)T10') flag++;
    else if (version == '12.3(11)T') flag++;
    else if (version == '12.3(8)T9') flag++;
    else if (version == '12.3(8)T8') flag++;
    else if (version == '12.3(8)T7') flag++;
    else if (version == '12.3(8)T6') flag++;
    else if (version == '12.3(8)T5') flag++;
    else if (version == '12.3(8)T4') flag++;
    else if (version == '12.3(8)T3') flag++;
    else if (version == '12.3(8)T11') flag++;
    else if (version == '12.3(8)T10') flag++;
    else if (version == '12.3(8)T1') flag++;
    else if (version == '12.3(8)T') flag++;
    else if (version == '12.3(7)T9') flag++;
    else if (version == '12.3(7)T8') flag++;
    else if (version == '12.3(7)T7') flag++;
    else if (version == '12.3(7)T6') flag++;
    else if (version == '12.3(7)T4') flag++;
    else if (version == '12.3(7)T3') flag++;
    else if (version == '12.3(7)T2') flag++;
    else if (version == '12.3(7)T12') flag++;
    else if (version == '12.3(7)T11') flag++;
    else if (version == '12.3(7)T10') flag++;
    else if (version == '12.3(7)T1') flag++;
    else if (version == '12.3(7)T') flag++;
    else if (version == '12.3(4)T9') flag++;
    else if (version == '12.3(4)T8') flag++;
    else if (version == '12.3(4)T7') flag++;
    else if (version == '12.3(4)T6') flag++;
    else if (version == '12.3(4)T4') flag++;
    else if (version == '12.3(4)T3') flag++;
    else if (version == '12.3(4)T2a') flag++;
    else if (version == '12.3(4)T2') flag++;
    else if (version == '12.3(4)T13') flag++;
    else if (version == '12.3(4)T11') flag++;
    else if (version == '12.3(4)T10') flag++;
    else if (version == '12.3(4)T1') flag++;
    else if (version == '12.3(4)T') flag++;
    else if (version == '12.3(2)T9') flag++;
    else if (version == '12.3(2)T8') flag++;
    else if (version == '12.3(2)T7') flag++;
    else if (version == '12.3(2)T6') flag++;
    else if (version == '12.3(2)T5') flag++;
    else if (version == '12.3(2)T4') flag++;
    else if (version == '12.3(2)T3') flag++;
    else if (version == '12.3(2)T2') flag++;
    else if (version == '12.3(2)T1') flag++;
    else if (version == '12.3(2)T') flag++;
    else if (version == '12.3(1a)BW') flag++;
    else if (version == '12.3(5a)B5') flag++;
    else if (version == '12.3(5a)B4') flag++;
    else if (version == '12.3(5a)B3') flag++;
    else if (version == '12.3(5a)B2') flag++;
    else if (version == '12.3(5a)B1') flag++;
    else if (version == '12.3(5a)B') flag++;
    else if (version == '12.3(3)B1') flag++;
    else if (version == '12.3(3)B') flag++;
    else if (version == '12.3(1a)B') flag++;
    else if (version == '12.3(20)') flag++;
    else if (version == '12.3(19)') flag++;
    else if (version == '12.3(18)') flag++;
    else if (version == '12.3(17b)') flag++;
    else if (version == '12.3(17a)') flag++;
    else if (version == '12.3(17)') flag++;
    else if (version == '12.3(16a)') flag++;
    else if (version == '12.3(16)') flag++;
    else if (version == '12.3(15b)') flag++;
    else if (version == '12.3(15a)') flag++;
    else if (version == '12.3(15)') flag++;
    else if (version == '12.3(13b)') flag++;
    else if (version == '12.3(13a)') flag++;
    else if (version == '12.3(13)') flag++;
    else if (version == '12.3(12e)') flag++;
    else if (version == '12.3(12d)') flag++;
    else if (version == '12.3(12c)') flag++;
    else if (version == '12.3(12b)') flag++;
    else if (version == '12.3(12a)') flag++;
    else if (version == '12.3(12)') flag++;
    else if (version == '12.3(10f)') flag++;
    else if (version == '12.3(10e)') flag++;
    else if (version == '12.3(10d)') flag++;
    else if (version == '12.3(10c)') flag++;
    else if (version == '12.3(10b)') flag++;
    else if (version == '12.3(10a)') flag++;
    else if (version == '12.3(10)') flag++;
    else if (version == '12.3(9e)') flag++;
    else if (version == '12.3(9d)') flag++;
    else if (version == '12.3(9c)') flag++;
    else if (version == '12.3(9b)') flag++;
    else if (version == '12.3(9a)') flag++;
    else if (version == '12.3(9)') flag++;
    else if (version == '12.3(6f)') flag++;
    else if (version == '12.3(6e)') flag++;
    else if (version == '12.3(6c)') flag++;
    else if (version == '12.3(6b)') flag++;
    else if (version == '12.3(6a)') flag++;
    else if (version == '12.3(6)') flag++;
    else if (version == '12.3(5f)') flag++;
    else if (version == '12.3(5e)') flag++;
    else if (version == '12.3(5d)') flag++;
    else if (version == '12.3(5c)') flag++;
    else if (version == '12.3(5b)') flag++;
    else if (version == '12.3(5a)') flag++;
    else if (version == '12.3(5)') flag++;
    else if (version == '12.3(3i)') flag++;
    else if (version == '12.3(3h)') flag++;
    else if (version == '12.3(3g)') flag++;
    else if (version == '12.3(3f)') flag++;
    else if (version == '12.3(3e)') flag++;
    else if (version == '12.3(3c)') flag++;
    else if (version == '12.3(3b)') flag++;
    else if (version == '12.3(3a)') flag++;
    else if (version == '12.3(3)') flag++;
    else if (version == '12.3(1a)') flag++;
    else if (version == '12.3(1)') flag++;
    else if (version == '12.2(18)ZU1') flag++;
    else if (version == '12.2(18)ZU') flag++;
    else if (version == '12.2(15)ZL1') flag++;
    else if (version == '12.2(15)ZL') flag++;
    else if (version == '12.2(15)ZJ5') flag++;
    else if (version == '12.2(15)ZJ3') flag++;
    else if (version == '12.2(15)ZJ2') flag++;
    else if (version == '12.2(15)ZJ1') flag++;
    else if (version == '12.2(15)ZJ') flag++;
    else if (version == '12.2(13)ZH5') flag++;
    else if (version == '12.2(13)ZH3') flag++;
    else if (version == '12.2(13)ZH2') flag++;
    else if (version == '12.2(13)ZH') flag++;
    else if (version == '12.2(13)ZF2') flag++;
    else if (version == '12.2(13)ZF1') flag++;
    else if (version == '12.2(13)ZF') flag++;
    else if (version == '12.2(13)ZE') flag++;
    else if (version == '12.2(13)ZD4') flag++;
    else if (version == '12.2(13)ZD3') flag++;
    else if (version == '12.2(13)ZD2') flag++;
    else if (version == '12.2(13)ZD1') flag++;
    else if (version == '12.2(13)ZD') flag++;
    else if (version == '12.2(8)ZB8') flag++;
    else if (version == '12.2(8)ZB7') flag++;
    else if (version == '12.2(8)ZB6') flag++;
    else if (version == '12.2(8)ZB5') flag++;
    else if (version == '12.2(8)ZB4a') flag++;
    else if (version == '12.2(8)ZB4') flag++;
    else if (version == '12.2(8)ZB3') flag++;
    else if (version == '12.2(8)ZB2') flag++;
    else if (version == '12.2(8)ZB1') flag++;
    else if (version == '12.2(8)ZB') flag++;
    else if (version == '12.2(14)ZA7') flag++;
    else if (version == '12.2(14)ZA6') flag++;
    else if (version == '12.2(14)ZA5') flag++;
    else if (version == '12.2(14)ZA4') flag++;
    else if (version == '12.2(14)ZA3') flag++;
    else if (version == '12.2(14)ZA2') flag++;
    else if (version == '12.2(14)ZA1') flag++;
    else if (version == '12.2(14)ZA') flag++;
    else if (version == '12.2(9)ZA') flag++;
    else if (version == '12.2(11)YZ2') flag++;
    else if (version == '12.2(11)YZ1') flag++;
    else if (version == '12.2(11)YZ') flag++;
    else if (version == '12.2(8)YY4') flag++;
    else if (version == '12.2(8)YY3') flag++;
    else if (version == '12.2(8)YY2') flag++;
    else if (version == '12.2(8)YY1') flag++;
    else if (version == '12.2(8)YY') flag++;
    else if (version == '12.2(11)YX1') flag++;
    else if (version == '12.2(11)YX') flag++;
    else if (version == '12.2(8)YW3') flag++;
    else if (version == '12.2(8)YW2') flag++;
    else if (version == '12.2(8)YW1') flag++;
    else if (version == '12.2(8)YW') flag++;
    else if (version == '12.2(11)YV') flag++;
    else if (version == '12.2(11)YU') flag++;
    else if (version == '12.2(11)YT2') flag++;
    else if (version == '12.2(11)YT1') flag++;
    else if (version == '12.2(11)YT') flag++;
    else if (version == '12.2(8)YN1') flag++;
    else if (version == '12.2(8)YN') flag++;
    else if (version == '12.2(8)YM') flag++;
    else if (version == '12.2(8)YL') flag++;
    else if (version == '12.2(8)YJ') flag++;
    else if (version == '12.2(4)YH') flag++;
    else if (version == '12.2(4)YF') flag++;
    else if (version == '12.2(9)YE') flag++;
    else if (version == '12.2(8)YD3') flag++;
    else if (version == '12.2(8)YD2') flag++;
    else if (version == '12.2(8)YD1') flag++;
    else if (version == '12.2(8)YD') flag++;
    else if (version == '12.2(2)YC4') flag++;
    else if (version == '12.2(2)YC3') flag++;
    else if (version == '12.2(2)YC1') flag++;
    else if (version == '12.2(4)YB') flag++;
    else if (version == '12.2(4)YA7') flag++;
    else if (version == '12.2(4)YA6') flag++;
    else if (version == '12.2(4)YA2') flag++;
    else if (version == '12.2(4)YA1') flag++;
    else if (version == '12.2(4)YA') flag++;
    else if (version == '12.2(4)XW') flag++;
    else if (version == '12.2(4)XV5') flag++;
    else if (version == '12.2(4)XV4a') flag++;
    else if (version == '12.2(4)XV4') flag++;
    else if (version == '12.2(4)XV3') flag++;
    else if (version == '12.2(4)XV2') flag++;
    else if (version == '12.2(4)XV1') flag++;
    else if (version == '12.2(4)XV') flag++;
    else if (version == '12.2(2)XU') flag++;
    else if (version == '12.2(2)XT3') flag++;
    else if (version == '12.2(2)XT2') flag++;
    else if (version == '12.2(2)XT') flag++;
    else if (version == '12.2(2)XQ1') flag++;
    else if (version == '12.2(2)XQ') flag++;
    else if (version == '12.2(2)XN') flag++;
    else if (version == '12.2(4)XM4') flag++;
    else if (version == '12.2(4)XM3') flag++;
    else if (version == '12.2(4)XM2') flag++;
    else if (version == '12.2(4)XM') flag++;
    else if (version == '12.2(4)XL6') flag++;
    else if (version == '12.2(4)XL5') flag++;
    else if (version == '12.2(4)XL4') flag++;
    else if (version == '12.2(4)XL3') flag++;
    else if (version == '12.2(4)XL2') flag++;
    else if (version == '12.2(4)XL1') flag++;
    else if (version == '12.2(4)XL') flag++;
    else if (version == '12.2(2)XK3') flag++;
    else if (version == '12.2(2)XK2') flag++;
    else if (version == '12.2(2)XK') flag++;
    else if (version == '12.2(2)XJ') flag++;
    else if (version == '12.2(2)XH2') flag++;
    else if (version == '12.2(2)XH') flag++;
    else if (version == '12.2(2)XG1') flag++;
    else if (version == '12.2(2)XG') flag++;
    else if (version == '12.2(1)XD4') flag++;
    else if (version == '12.2(1)XD3') flag++;
    else if (version == '12.2(1)XD2') flag++;
    else if (version == '12.2(1)XD1') flag++;
    else if (version == '12.2(1)XD') flag++;
    else if (version == '12.2(2)XC2') flag++;
    else if (version == '12.2(2)XC1') flag++;
    else if (version == '12.2(2)XC') flag++;
    else if (version == '12.2(1a)XC3') flag++;
    else if (version == '12.2(1a)XC2') flag++;
    else if (version == '12.2(1a)XC1') flag++;
    else if (version == '12.2(1a)XC') flag++;
    else if (version == '12.2(2)XB8') flag++;
    else if (version == '12.2(2)XB7') flag++;
    else if (version == '12.2(2)XB6') flag++;
    else if (version == '12.2(2)XB5') flag++;
    else if (version == '12.2(2)XB3') flag++;
    else if (version == '12.2(2)XB2') flag++;
    else if (version == '12.2(2)XB15') flag++;
    else if (version == '12.2(2)XB14') flag++;
    else if (version == '12.2(2)XB12') flag++;
    else if (version == '12.2(2)XB11') flag++;
    else if (version == '12.2(2)XB10') flag++;
    else if (version == '12.2(2)XB1') flag++;
    else if (version == '12.2(2)XA5') flag++;
    else if (version == '12.2(2)XA4') flag++;
    else if (version == '12.2(2)XA3') flag++;
    else if (version == '12.2(2)XA2') flag++;
    else if (version == '12.2(2)XA1') flag++;
    else if (version == '12.2(2)XA') flag++;
    else if (version == '12.2(8)TPC10a') flag++;
    else if (version == '12.2(15)T9') flag++;
    else if (version == '12.2(15)T8') flag++;
    else if (version == '12.2(15)T7') flag++;
    else if (version == '12.2(15)T5') flag++;
    else if (version == '12.2(15)T4e') flag++;
    else if (version == '12.2(15)T4') flag++;
    else if (version == '12.2(15)T2') flag++;
    else if (version == '12.2(15)T16') flag++;
    else if (version == '12.2(15)T15') flag++;
    else if (version == '12.2(15)T14') flag++;
    else if (version == '12.2(15)T13') flag++;
    else if (version == '12.2(15)T12') flag++;
    else if (version == '12.2(15)T11') flag++;
    else if (version == '12.2(15)T10') flag++;
    else if (version == '12.2(15)T1') flag++;
    else if (version == '12.2(15)T') flag++;
    else if (version == '12.2(13)T9') flag++;
    else if (version == '12.2(13)T8') flag++;
    else if (version == '12.2(13)T5') flag++;
    else if (version == '12.2(13)T4') flag++;
    else if (version == '12.2(13)T3') flag++;
    else if (version == '12.2(13)T2') flag++;
    else if (version == '12.2(13)T16') flag++;
    else if (version == '12.2(13)T14') flag++;
    else if (version == '12.2(13)T13') flag++;
    else if (version == '12.2(13)T12') flag++;
    else if (version == '12.2(13)T11') flag++;
    else if (version == '12.2(13)T10') flag++;
    else if (version == '12.2(13)T1a') flag++;
    else if (version == '12.2(13)T1') flag++;
    else if (version == '12.2(13)T') flag++;
    else if (version == '12.2(11)T9') flag++;
    else if (version == '12.2(11)T8') flag++;
    else if (version == '12.2(11)T6') flag++;
    else if (version == '12.2(11)T5') flag++;
    else if (version == '12.2(11)T3') flag++;
    else if (version == '12.2(11)T2') flag++;
    else if (version == '12.2(11)T11') flag++;
    else if (version == '12.2(11)T10') flag++;
    else if (version == '12.2(11)T1') flag++;
    else if (version == '12.2(11)T') flag++;
    else if (version == '12.2(8)T8') flag++;
    else if (version == '12.2(8)T5') flag++;
    else if (version == '12.2(8)T4') flag++;
    else if (version == '12.2(8)T3') flag++;
    else if (version == '12.2(8)T2') flag++;
    else if (version == '12.2(8)T10') flag++;
    else if (version == '12.2(8)T1') flag++;
    else if (version == '12.2(8)T') flag++;
    else if (version == '12.2(4)T7') flag++;
    else if (version == '12.2(4)T6') flag++;
    else if (version == '12.2(4)T5') flag++;
    else if (version == '12.2(4)T3') flag++;
    else if (version == '12.2(4)T2') flag++;
    else if (version == '12.2(4)T1') flag++;
    else if (version == '12.2(4)T') flag++;
    else if (version == '12.2(2)T4') flag++;
    else if (version == '12.2(2)T3') flag++;
    else if (version == '12.2(2)T2') flag++;
    else if (version == '12.2(2)T1') flag++;
    else if (version == '12.2(2)T') flag++;
    else if (version == '12.2(14)SZ6') flag++;
    else if (version == '12.2(14)SZ5') flag++;
    else if (version == '12.2(14)SZ4') flag++;
    else if (version == '12.2(14)SZ3') flag++;
    else if (version == '12.2(14)SZ2') flag++;
    else if (version == '12.2(14)SZ1') flag++;
    else if (version == '12.2(14)SZ') flag++;
    else if (version == '12.2(14)SY5') flag++;
    else if (version == '12.2(14)SY4') flag++;
    else if (version == '12.2(14)SY3') flag++;
    else if (version == '12.2(14)SY2') flag++;
    else if (version == '12.2(14)SY1') flag++;
    else if (version == '12.2(14)SY') flag++;
    else if (version == '12.2(18)SXF7') flag++;
    else if (version == '12.2(18)SXF6') flag++;
    else if (version == '12.2(18)SXF5') flag++;
    else if (version == '12.2(18)SXF4') flag++;
    else if (version == '12.2(18)SXF3') flag++;
    else if (version == '12.2(18)SXF2') flag++;
    else if (version == '12.2(18)SXF1') flag++;
    else if (version == '12.2(18)SXF') flag++;
    else if (version == '12.2(18)SXE6a') flag++;
    else if (version == '12.2(18)SXE6') flag++;
    else if (version == '12.2(18)SXE5') flag++;
    else if (version == '12.2(18)SXE4') flag++;
    else if (version == '12.2(18)SXE3') flag++;
    else if (version == '12.2(18)SXE2') flag++;
    else if (version == '12.2(18)SXE1') flag++;
    else if (version == '12.2(18)SXE') flag++;
    else if (version == '12.2(18)SXD7b') flag++;
    else if (version == '12.2(18)SXD7a') flag++;
    else if (version == '12.2(18)SXD7') flag++;
    else if (version == '12.2(18)SXD6') flag++;
    else if (version == '12.2(18)SXD5') flag++;
    else if (version == '12.2(18)SXD4') flag++;
    else if (version == '12.2(18)SXD3') flag++;
    else if (version == '12.2(18)SXD2') flag++;
    else if (version == '12.2(18)SXD1') flag++;
    else if (version == '12.2(18)SXD') flag++;
    else if (version == '12.2(17d)SXB9') flag++;
    else if (version == '12.2(17d)SXB8') flag++;
    else if (version == '12.2(17d)SXB7') flag++;
    else if (version == '12.2(17d)SXB6') flag++;
    else if (version == '12.2(17d)SXB5') flag++;
    else if (version == '12.2(17d)SXB4') flag++;
    else if (version == '12.2(17d)SXB3') flag++;
    else if (version == '12.2(17d)SXB2') flag++;
    else if (version == '12.2(17d)SXB11a') flag++;
    else if (version == '12.2(17d)SXB11') flag++;
    else if (version == '12.2(17d)SXB10') flag++;
    else if (version == '12.2(17d)SXB1') flag++;
    else if (version == '12.2(17d)SXB') flag++;
    else if (version == '12.2(17b)SXA2') flag++;
    else if (version == '12.2(17b)SXA') flag++;
    else if (version == '12.2(17a)SX4') flag++;
    else if (version == '12.2(17a)SX3') flag++;
    else if (version == '12.2(17a)SX2') flag++;
    else if (version == '12.2(17a)SX1') flag++;
    else if (version == '12.2(17a)SX') flag++;
    else if (version == '12.2(14)SX2') flag++;
    else if (version == '12.2(14)SX1') flag++;
    else if (version == '12.2(14)SX') flag++;
    else if (version == '12.2(25)SW8') flag++;
    else if (version == '12.2(25)SW7') flag++;
    else if (version == '12.2(25)SW6') flag++;
    else if (version == '12.2(25)SW5') flag++;
    else if (version == '12.2(25)SW4a') flag++;
    else if (version == '12.2(25)SW4') flag++;
    else if (version == '12.2(25)SW3a') flag++;
    else if (version == '12.2(25)SW3') flag++;
    else if (version == '12.2(25)SW2') flag++;
    else if (version == '12.2(25)SW1') flag++;
    else if (version == '12.2(23)SW1') flag++;
    else if (version == '12.2(23)SW') flag++;
    else if (version == '12.2(29)SV3') flag++;
    else if (version == '12.2(27)SV5') flag++;
    else if (version == '12.2(25)SV2') flag++;
    else if (version == '12.2(24)SV1') flag++;
    else if (version == '12.2(23)SV1') flag++;
    else if (version == '12.2(22)SV1') flag++;
    else if (version == '12.2(18)SV3') flag++;
    else if (version == '12.2(14)SU2') flag++;
    else if (version == '12.2(14)SU1') flag++;
    else if (version == '12.2(14)SU') flag++;
    else if (version == '12.2(33)SRA1') flag++;
    else if (version == '12.2(33)SRA') flag++;
    else if (version == '12.2(27)SBC5') flag++;
    else if (version == '12.2(27)SBC4') flag++;
    else if (version == '12.2(27)SBC3') flag++;
    else if (version == '12.2(27)SBC2') flag++;
    else if (version == '12.2(27)SBC1') flag++;
    else if (version == '12.2(27)SBC') flag++;
    else if (version == '12.2(28)SB5c') flag++;
    else if (version == '12.2(28)SB5') flag++;
    else if (version == '12.2(28)SB4d') flag++;
    else if (version == '12.2(28)SB4') flag++;
    else if (version == '12.2(28)SB3') flag++;
    else if (version == '12.2(28)SB2') flag++;
    else if (version == '12.2(28)SB1') flag++;
    else if (version == '12.2(28)SB') flag++;
    else if (version == '12.2(25)S9') flag++;
    else if (version == '12.2(25)S8') flag++;
    else if (version == '12.2(25)S7') flag++;
    else if (version == '12.2(25)S6') flag++;
    else if (version == '12.2(25)S5') flag++;
    else if (version == '12.2(25)S4') flag++;
    else if (version == '12.2(25)S3') flag++;
    else if (version == '12.2(25)S2') flag++;
    else if (version == '12.2(25)S12') flag++;
    else if (version == '12.2(25)S11') flag++;
    else if (version == '12.2(25)S10') flag++;
    else if (version == '12.2(25)S1') flag++;
    else if (version == '12.2(25)S') flag++;
    else if (version == '12.2(22)S2') flag++;
    else if (version == '12.2(22)S1') flag++;
    else if (version == '12.2(22)S') flag++;
    else if (version == '12.2(20)S9') flag++;
    else if (version == '12.2(20)S8') flag++;
    else if (version == '12.2(20)S7') flag++;
    else if (version == '12.2(20)S6') flag++;
    else if (version == '12.2(20)S5') flag++;
    else if (version == '12.2(20)S4') flag++;
    else if (version == '12.2(20)S3') flag++;
    else if (version == '12.2(20)S2') flag++;
    else if (version == '12.2(20)S12') flag++;
    else if (version == '12.2(20)S11') flag++;
    else if (version == '12.2(20)S10') flag++;
    else if (version == '12.2(20)S1') flag++;
    else if (version == '12.2(20)S') flag++;
    else if (version == '12.2(18)S9') flag++;
    else if (version == '12.2(18)S8') flag++;
    else if (version == '12.2(18)S7') flag++;
    else if (version == '12.2(18)S6') flag++;
    else if (version == '12.2(18)S5') flag++;
    else if (version == '12.2(18)S4') flag++;
    else if (version == '12.2(18)S3') flag++;
    else if (version == '12.2(18)S2') flag++;
    else if (version == '12.2(18)S12') flag++;
    else if (version == '12.2(18)S11') flag++;
    else if (version == '12.2(18)S10') flag++;
    else if (version == '12.2(18)S1') flag++;
    else if (version == '12.2(18)S') flag++;
    else if (version == '12.2(14)S9') flag++;
    else if (version == '12.2(14)S8') flag++;
    else if (version == '12.2(14)S7') flag++;
    else if (version == '12.2(14)S5') flag++;
    else if (version == '12.2(14)S3') flag++;
    else if (version == '12.2(14)S2') flag++;
    else if (version == '12.2(14)S17') flag++;
    else if (version == '12.2(14)S16') flag++;
    else if (version == '12.2(14)S15') flag++;
    else if (version == '12.2(14)S14') flag++;
    else if (version == '12.2(14)S13') flag++;
    else if (version == '12.2(14)S12') flag++;
    else if (version == '12.2(14)S11') flag++;
    else if (version == '12.2(14)S10') flag++;
    else if (version == '12.2(14)S1') flag++;
    else if (version == '12.2(14)S') flag++;
    else if (version == '12.2(9)S') flag++;
    else if (version == '12.2(15)MC2g') flag++;
    else if (version == '12.2(15)MC2f') flag++;
    else if (version == '12.2(15)MC2e') flag++;
    else if (version == '12.2(15)MC2c') flag++;
    else if (version == '12.2(15)MC2b') flag++;
    else if (version == '12.2(15)MC2a') flag++;
    else if (version == '12.2(15)MC1c') flag++;
    else if (version == '12.2(15)MC1b') flag++;
    else if (version == '12.2(15)MC1a') flag++;
    else if (version == '12.2(15)MC1') flag++;
    else if (version == '12.2(8)MC2d') flag++;
    else if (version == '12.2(8)MC2c') flag++;
    else if (version == '12.2(8)MC2b') flag++;
    else if (version == '12.2(8)MC2') flag++;
    else if (version == '12.2(8)MC1') flag++;
    else if (version == '12.2(12h)M1') flag++;
    else if (version == '12.2(12b)M1') flag++;
    else if (version == '12.2(6c)M1') flag++;
    else if (version == '12.2(1)M0') flag++;
    else if (version == '12.2(18)IXB2') flag++;
    else if (version == '12.2(18)IXB1') flag++;
    else if (version == '12.2(18)IXB') flag++;
    else if (version == '12.2(18)IXA') flag++;
    else if (version == '12.2(2)DX3') flag++;
    else if (version == '12.2(1)DX1') flag++;
    else if (version == '12.2(1)DX') flag++;
    else if (version == '12.2(2)DD4') flag++;
    else if (version == '12.2(2)DD3') flag++;
    else if (version == '12.2(2)DD2') flag++;
    else if (version == '12.2(2)DD1') flag++;
    else if (version == '12.2(2)DD') flag++;
    else if (version == '12.2(8)BY2') flag++;
    else if (version == '12.2(8)BY1') flag++;
    else if (version == '12.2(8)BY') flag++;
    else if (version == '12.2(16)BX3') flag++;
    else if (version == '12.2(16)BX2') flag++;
    else if (version == '12.2(16)BX1') flag++;
    else if (version == '12.2(16)BX') flag++;
    else if (version == '12.2(4)BW2') flag++;
    else if (version == '12.2(4)BW1a') flag++;
    else if (version == '12.2(4)BW1') flag++;
    else if (version == '12.2(4)BW') flag++;
    else if (version == '12.2(16)B2') flag++;
    else if (version == '12.2(16)B1') flag++;
    else if (version == '12.2(16)B') flag++;
    else if (version == '12.2(15)B') flag++;
    else if (version == '12.2(4)B8') flag++;
    else if (version == '12.2(4)B7') flag++;
    else if (version == '12.2(4)B6') flag++;
    else if (version == '12.2(4)B5') flag++;
    else if (version == '12.2(4)B4') flag++;
    else if (version == '12.2(4)B3') flag++;
    else if (version == '12.2(4)B2') flag++;
    else if (version == '12.2(4)B1') flag++;
    else if (version == '12.2(4)B') flag++;
    else if (version == '12.2(40)') flag++;
    else if (version == '12.2(37)') flag++;
    else if (version == '12.2(34a)') flag++;
    else if (version == '12.2(34)') flag++;
    else if (version == '12.2(32)') flag++;
    else if (version == '12.2(31)') flag++;
    else if (version == '12.2(29a)') flag++;
    else if (version == '12.2(29)') flag++;
    else if (version == '12.2(28c)') flag++;
    else if (version == '12.2(28b)') flag++;
    else if (version == '12.2(28a)') flag++;
    else if (version == '12.2(28)') flag++;
    else if (version == '12.2(27b)') flag++;
    else if (version == '12.2(27a)') flag++;
    else if (version == '12.2(27)') flag++;
    else if (version == '12.2(26b)') flag++;
    else if (version == '12.2(26a)') flag++;
    else if (version == '12.2(26)') flag++;
    else if (version == '12.2(24b)') flag++;
    else if (version == '12.2(24a)') flag++;
    else if (version == '12.2(24)') flag++;
    else if (version == '12.2(23f)') flag++;
    else if (version == '12.2(23e)') flag++;
    else if (version == '12.2(23d)') flag++;
    else if (version == '12.2(23c)') flag++;
    else if (version == '12.2(23a)') flag++;
    else if (version == '12.2(23)') flag++;
    else if (version == '12.2(21b)') flag++;
    else if (version == '12.2(21a)') flag++;
    else if (version == '12.2(21)') flag++;
    else if (version == '12.2(19c)') flag++;
    else if (version == '12.2(19b)') flag++;
    else if (version == '12.2(19a)') flag++;
    else if (version == '12.2(19)') flag++;
    else if (version == '12.2(17f)') flag++;
    else if (version == '12.2(17e)') flag++;
    else if (version == '12.2(17d)') flag++;
    else if (version == '12.2(17b)') flag++;
    else if (version == '12.2(17a)') flag++;
    else if (version == '12.2(17)') flag++;
    else if (version == '12.2(16f)') flag++;
    else if (version == '12.2(16c)') flag++;
    else if (version == '12.2(16b)') flag++;
    else if (version == '12.2(16a)') flag++;
    else if (version == '12.2(16)') flag++;
    else if (version == '12.2(13e)') flag++;
    else if (version == '12.2(13c)') flag++;
    else if (version == '12.2(13b)') flag++;
    else if (version == '12.2(13a)') flag++;
    else if (version == '12.2(13)') flag++;
    else if (version == '12.2(12m)') flag++;
    else if (version == '12.2(12l)') flag++;
    else if (version == '12.2(12k)') flag++;
    else if (version == '12.2(12j)') flag++;
    else if (version == '12.2(12i)') flag++;
    else if (version == '12.2(12h)') flag++;
    else if (version == '12.2(12g)') flag++;
    else if (version == '12.2(12f)') flag++;
    else if (version == '12.2(12e)') flag++;
    else if (version == '12.2(12c)') flag++;
    else if (version == '12.2(12b)') flag++;
    else if (version == '12.2(12a)') flag++;
    else if (version == '12.2(12)') flag++;
    else if (version == '12.2(10g)') flag++;
    else if (version == '12.2(10d)') flag++;
    else if (version == '12.2(10b)') flag++;
    else if (version == '12.2(10a)') flag++;
    else if (version == '12.2(10)') flag++;
    else if (version == '12.2(7g)') flag++;
    else if (version == '12.2(7c)') flag++;
    else if (version == '12.2(7b)') flag++;
    else if (version == '12.2(7a)') flag++;
    else if (version == '12.2(7)') flag++;
    else if (version == '12.2(6j)') flag++;
    else if (version == '12.2(6i)') flag++;
    else if (version == '12.2(6h)') flag++;
    else if (version == '12.2(6g)') flag++;
    else if (version == '12.2(6f)') flag++;
    else if (version == '12.2(6e)') flag++;
    else if (version == '12.2(6d)') flag++;
    else if (version == '12.2(6c)') flag++;
    else if (version == '12.2(6b)') flag++;
    else if (version == '12.2(6a)') flag++;
    else if (version == '12.2(6)') flag++;
    else if (version == '12.2(5d)') flag++;
    else if (version == '12.2(5c)') flag++;
    else if (version == '12.2(5b)') flag++;
    else if (version == '12.2(5a)') flag++;
    else if (version == '12.2(5)') flag++;
    else if (version == '12.2(3g)') flag++;
    else if (version == '12.2(3d)') flag++;
    else if (version == '12.2(3c)') flag++;
    else if (version == '12.2(3b)') flag++;
    else if (version == '12.2(3a)') flag++;
    else if (version == '12.2(3)') flag++;
    else if (version == '12.2(1d)') flag++;
    else if (version == '12.2(1c)') flag++;
    else if (version == '12.2(1b)') flag++;
    else if (version == '12.2(1a)') flag++;
    else if (version == '12.2(1)') flag++;
    else if (version == '12.1(5)YI2') flag++;
    else if (version == '12.1(5)YI1') flag++;
    else if (version == '12.1(5)YI') flag++;
    else if (version == '12.1(5)YD6') flag++;
    else if (version == '12.1(5)YD5') flag++;
    else if (version == '12.1(5)YD4') flag++;
    else if (version == '12.1(5)YD3') flag++;
    else if (version == '12.1(5)YD2') flag++;
    else if (version == '12.1(5)YD1') flag++;
    else if (version == '12.1(5)YD') flag++;
    else if (version == '12.1(5)YB5') flag++;
    else if (version == '12.1(5)YB4') flag++;
    else if (version == '12.1(5)YB1') flag++;
    else if (version == '12.1(5)YB') flag++;
    else if (version == '12.1(5)YA2') flag++;
    else if (version == '12.1(5)YA1') flag++;
    else if (version == '12.1(5)YA') flag++;
    else if (version == '12.1(4)XZ7') flag++;
    else if (version == '12.1(4)XZ6') flag++;
    else if (version == '12.1(4)XZ5') flag++;
    else if (version == '12.1(4)XZ4') flag++;
    else if (version == '12.1(4)XZ3') flag++;
    else if (version == '12.1(4)XZ2') flag++;
    else if (version == '12.1(4)XZ1') flag++;
    else if (version == '12.1(4)XZ') flag++;
    else if (version == '12.1(4)XY8') flag++;
    else if (version == '12.1(4)XY7') flag++;
    else if (version == '12.1(4)XY6') flag++;
    else if (version == '12.1(4)XY5') flag++;
    else if (version == '12.1(4)XY4') flag++;
    else if (version == '12.1(4)XY3') flag++;
    else if (version == '12.1(4)XY1') flag++;
    else if (version == '12.1(5)XX3') flag++;
    else if (version == '12.1(5)XX2') flag++;
    else if (version == '12.1(5)XX1') flag++;
    else if (version == '12.1(5)XX') flag++;
    else if (version == '12.1(3)XW2') flag++;
    else if (version == '12.1(3)XW1') flag++;
    else if (version == '12.1(3)XW') flag++;
    else if (version == '12.1(5)XV') flag++;
    else if (version == '12.1(3)XT1') flag++;
    else if (version == '12.1(3)XT') flag++;
    else if (version == '12.1(2)XT2') flag++;
    else if (version == '12.1(5)XS5') flag++;
    else if (version == '12.1(5)XS4') flag++;
    else if (version == '12.1(5)XS3') flag++;
    else if (version == '12.1(5)XS2') flag++;
    else if (version == '12.1(5)XS1') flag++;
    else if (version == '12.1(5)XS') flag++;
    else if (version == '12.1(3)XS') flag++;
    else if (version == '12.1(3)XQ3') flag++;
    else if (version == '12.1(3)XQ2') flag++;
    else if (version == '12.1(3)XQ1') flag++;
    else if (version == '12.1(3)XQ') flag++;
    else if (version == '12.1(3)XP4') flag++;
    else if (version == '12.1(3)XP2') flag++;
    else if (version == '12.1(3)XP') flag++;
    else if (version == '12.1(5)XM8') flag++;
    else if (version == '12.1(5)XM7') flag++;
    else if (version == '12.1(5)XM6') flag++;
    else if (version == '12.1(5)XM5') flag++;
    else if (version == '12.1(5)XM4') flag++;
    else if (version == '12.1(5)XM3') flag++;
    else if (version == '12.1(5)XM2') flag++;
    else if (version == '12.1(5)XM1') flag++;
    else if (version == '12.1(5)XM') flag++;
    else if (version == '12.1(3)XJ') flag++;
    else if (version == '12.1(3a)XI9') flag++;
    else if (version == '12.1(3a)XI8') flag++;
    else if (version == '12.1(3a)XI7') flag++;
    else if (version == '12.1(3a)XI6') flag++;
    else if (version == '12.1(3a)XI5') flag++;
    else if (version == '12.1(3a)XI4') flag++;
    else if (version == '12.1(3a)XI3') flag++;
    else if (version == '12.1(3a)XI2') flag++;
    else if (version == '12.1(3a)XI1') flag++;
    else if (version == '12.1(3)XI') flag++;
    else if (version == '12.1(2a)XH3') flag++;
    else if (version == '12.1(2a)XH2') flag++;
    else if (version == '12.1(2a)XH1') flag++;
    else if (version == '12.1(2a)XH') flag++;
    else if (version == '12.1(3)XG6') flag++;
    else if (version == '12.1(3)XG2') flag++;
    else if (version == '12.1(3)XG') flag++;
    else if (version == '12.1(1)XD2') flag++;
    else if (version == '12.1(1)XD1') flag++;
    else if (version == '12.1(1)XD') flag++;
    else if (version == '12.1(1)XC1') flag++;
    else if (version == '12.1(1)XA4') flag++;
    else if (version == '12.1(1)XA3') flag++;
    else if (version == '12.1(1)XA2') flag++;
    else if (version == '12.1(1)XA') flag++;
    else if (version == '12.1(5)T9') flag++;
    else if (version == '12.1(5)T8b') flag++;
    else if (version == '12.1(5)T8a') flag++;
    else if (version == '12.1(5)T8') flag++;
    else if (version == '12.1(5)T7') flag++;
    else if (version == '12.1(5)T6') flag++;
    else if (version == '12.1(5)T5') flag++;
    else if (version == '12.1(5)T4') flag++;
    else if (version == '12.1(5)T3') flag++;
    else if (version == '12.1(5)T20') flag++;
    else if (version == '12.1(5)T2') flag++;
    else if (version == '12.1(5)T19') flag++;
    else if (version == '12.1(5)T18') flag++;
    else if (version == '12.1(5)T17') flag++;
    else if (version == '12.1(5)T15') flag++;
    else if (version == '12.1(5)T14') flag++;
    else if (version == '12.1(5)T12') flag++;
    else if (version == '12.1(5)T11') flag++;
    else if (version == '12.1(5)T10') flag++;
    else if (version == '12.1(5)T1') flag++;
    else if (version == '12.1(5)T') flag++;
    else if (version == '12.1(3a)T8') flag++;
    else if (version == '12.1(3a)T7') flag++;
    else if (version == '12.1(3a)T6') flag++;
    else if (version == '12.1(3a)T4') flag++;
    else if (version == '12.1(3a)T3') flag++;
    else if (version == '12.1(3a)T2') flag++;
    else if (version == '12.1(3a)T1') flag++;
    else if (version == '12.1(3)T') flag++;
    else if (version == '12.1(2a)T2') flag++;
    else if (version == '12.1(2a)T1') flag++;
    else if (version == '12.1(2)T') flag++;
    else if (version == '12.1(1a)T1') flag++;
    else if (version == '12.1(1)T') flag++;
    else if (version == '12.1(2)GB') flag++;
    else if (version == '12.1(1)GA1') flag++;
    else if (version == '12.1(1)GA') flag++;
    else if (version == '12.1(6)EZ6') flag++;
    else if (version == '12.1(6)EZ5') flag++;
    else if (version == '12.1(6)EZ4') flag++;
    else if (version == '12.1(6)EZ3') flag++;
    else if (version == '12.1(6)EZ2') flag++;
    else if (version == '12.1(6)EZ1') flag++;
    else if (version == '12.1(6)EZ') flag++;
    else if (version == '12.1(13)EX3') flag++;
    else if (version == '12.1(13)EX2') flag++;
    else if (version == '12.1(13)EX1') flag++;
    else if (version == '12.1(13)EX') flag++;
    else if (version == '12.1(12c)EX1') flag++;
    else if (version == '12.1(12c)EX') flag++;
    else if (version == '12.1(11b)EX1') flag++;
    else if (version == '12.1(11b)EX') flag++;
    else if (version == '12.1(10)EX2') flag++;
    else if (version == '12.1(10)EX1') flag++;
    else if (version == '12.1(10)EX') flag++;
    else if (version == '12.1(9)EX3') flag++;
    else if (version == '12.1(9)EX2') flag++;
    else if (version == '12.1(9)EX1') flag++;
    else if (version == '12.1(9)EX') flag++;
    else if (version == '12.1(8b)EX5') flag++;
    else if (version == '12.1(8b)EX3') flag++;
    else if (version == '12.1(8b)EX2') flag++;
    else if (version == '12.1(8a)EX1') flag++;
    else if (version == '12.1(8a)EX') flag++;
    else if (version == '12.1(5c)EX3') flag++;
    else if (version == '12.1(1)EX1') flag++;
    else if (version == '12.1(1)EX') flag++;
    else if (version == '12.1(22)EC1') flag++;
    else if (version == '12.1(22)EC') flag++;
    else if (version == '12.1(20)EC3') flag++;
    else if (version == '12.1(20)EC2') flag++;
    else if (version == '12.1(20)EC1') flag++;
    else if (version == '12.1(20)EC') flag++;
    else if (version == '12.1(19)EC1') flag++;
    else if (version == '12.1(19)EC') flag++;
    else if (version == '12.1(13)EC4') flag++;
    else if (version == '12.1(13)EC3') flag++;
    else if (version == '12.1(13)EC2') flag++;
    else if (version == '12.1(13)EC1') flag++;
    else if (version == '12.1(13)EC') flag++;
    else if (version == '12.1(12c)EC1') flag++;
    else if (version == '12.1(12c)EC') flag++;
    else if (version == '12.1(11b)EC1') flag++;
    else if (version == '12.1(11b)EC') flag++;
    else if (version == '12.1(10)EC1') flag++;
    else if (version == '12.1(10)EC') flag++;
    else if (version == '12.1(9)EC1') flag++;
    else if (version == '12.1(8)EC1') flag++;
    else if (version == '12.1(8)EC') flag++;
    else if (version == '12.1(7)EC') flag++;
    else if (version == '12.1(6)EC') flag++;
    else if (version == '12.1(5)EC1') flag++;
    else if (version == '12.1(5)EC') flag++;
    else if (version == '12.1(27b)E1') flag++;
    else if (version == '12.1(27b)E') flag++;
    else if (version == '12.1(26)E7') flag++;
    else if (version == '12.1(26)E6') flag++;
    else if (version == '12.1(26)E5') flag++;
    else if (version == '12.1(26)E4') flag++;
    else if (version == '12.1(26)E3') flag++;
    else if (version == '12.1(26)E2') flag++;
    else if (version == '12.1(26)E1') flag++;
    else if (version == '12.1(26)E') flag++;
    else if (version == '12.1(23)E4') flag++;
    else if (version == '12.1(23)E3') flag++;
    else if (version == '12.1(23)E2') flag++;
    else if (version == '12.1(23)E1') flag++;
    else if (version == '12.1(23)E') flag++;
    else if (version == '12.1(22)E6') flag++;
    else if (version == '12.1(22)E5') flag++;
    else if (version == '12.1(22)E4') flag++;
    else if (version == '12.1(22)E3') flag++;
    else if (version == '12.1(22)E2') flag++;
    else if (version == '12.1(22)E1') flag++;
    else if (version == '12.1(22)E') flag++;
    else if (version == '12.1(20)E6') flag++;
    else if (version == '12.1(20)E5') flag++;
    else if (version == '12.1(20)E4') flag++;
    else if (version == '12.1(20)E3') flag++;
    else if (version == '12.1(20)E2') flag++;
    else if (version == '12.1(20)E1') flag++;
    else if (version == '12.1(20)E') flag++;
    else if (version == '12.1(19)E7') flag++;
    else if (version == '12.1(19)E6') flag++;
    else if (version == '12.1(19)E4') flag++;
    else if (version == '12.1(19)E3') flag++;
    else if (version == '12.1(19)E2') flag++;
    else if (version == '12.1(19)E1') flag++;
    else if (version == '12.1(19)E') flag++;
    else if (version == '12.1(14)E7') flag++;
    else if (version == '12.1(14)E6') flag++;
    else if (version == '12.1(14)E5') flag++;
    else if (version == '12.1(14)E4') flag++;
    else if (version == '12.1(14)E3') flag++;
    else if (version == '12.1(14)E2') flag++;
    else if (version == '12.1(14)E10') flag++;
    else if (version == '12.1(14)E1') flag++;
    else if (version == '12.1(14)E') flag++;
    else if (version == '12.1(13)E9') flag++;
    else if (version == '12.1(13)E8') flag++;
    else if (version == '12.1(13)E7') flag++;
    else if (version == '12.1(13)E6') flag++;
    else if (version == '12.1(13)E5') flag++;
    else if (version == '12.1(13)E4') flag++;
    else if (version == '12.1(13)E3') flag++;
    else if (version == '12.1(13)E2') flag++;
    else if (version == '12.1(13)E17') flag++;
    else if (version == '12.1(13)E16') flag++;
    else if (version == '12.1(13)E15') flag++;
    else if (version == '12.1(13)E14') flag++;
    else if (version == '12.1(13)E13') flag++;
    else if (version == '12.1(13)E12') flag++;
    else if (version == '12.1(13)E11') flag++;
    else if (version == '12.1(13)E10') flag++;
    else if (version == '12.1(13)E1') flag++;
    else if (version == '12.1(13)E') flag++;
    else if (version == '12.1(12c)E6') flag++;
    else if (version == '12.1(12c)E5') flag++;
    else if (version == '12.1(12c)E4') flag++;
    else if (version == '12.1(12c)E2') flag++;
    else if (version == '12.1(12c)E1') flag++;
    else if (version == '12.1(12c)E') flag++;
    else if (version == '12.1(11b)E7') flag++;
    else if (version == '12.1(11b)E4') flag++;
    else if (version == '12.1(11b)E3') flag++;
    else if (version == '12.1(11b)E2') flag++;
    else if (version == '12.1(11b)E14') flag++;
    else if (version == '12.1(11b)E12') flag++;
    else if (version == '12.1(11b)E11') flag++;
    else if (version == '12.1(11b)E10') flag++;
    else if (version == '12.1(11b)E1') flag++;
    else if (version == '12.1(11b)E0a') flag++;
    else if (version == '12.1(11b)E') flag++;
    else if (version == '12.1(10)E8') flag++;
    else if (version == '12.1(10)E7') flag++;
    else if (version == '12.1(10)E6a') flag++;
    else if (version == '12.1(10)E6') flag++;
    else if (version == '12.1(10)E5') flag++;
    else if (version == '12.1(10)E4') flag++;
    else if (version == '12.1(10)E3') flag++;
    else if (version == '12.1(10)E2') flag++;
    else if (version == '12.1(10)E1') flag++;
    else if (version == '12.1(10)E') flag++;
    else if (version == '12.1(9)E3') flag++;
    else if (version == '12.1(9)E2') flag++;
    else if (version == '12.1(9)E1') flag++;
    else if (version == '12.1(9)E') flag++;
    else if (version == '12.1(8b)E9') flag++;
    else if (version == '12.1(8b)E8') flag++;
    else if (version == '12.1(8b)E7') flag++;
    else if (version == '12.1(8b)E6') flag++;
    else if (version == '12.1(8b)E20') flag++;
    else if (version == '12.1(8b)E19') flag++;
    else if (version == '12.1(8b)E18') flag++;
    else if (version == '12.1(8b)E15') flag++;
    else if (version == '12.1(8b)E14') flag++;
    else if (version == '12.1(8b)E13') flag++;
    else if (version == '12.1(8b)E12') flag++;
    else if (version == '12.1(8b)E11') flag++;
    else if (version == '12.1(8b)E10') flag++;
    else if (version == '12.1(8a)E5') flag++;
    else if (version == '12.1(8a)E4') flag++;
    else if (version == '12.1(8a)E3') flag++;
    else if (version == '12.1(8a)E2') flag++;
    else if (version == '12.1(8a)E1') flag++;
    else if (version == '12.1(8a)E') flag++;
    else if (version == '12.1(7a)E6') flag++;
    else if (version == '12.1(7a)E5') flag++;
    else if (version == '12.1(7a)E4') flag++;
    else if (version == '12.1(7a)E3') flag++;
    else if (version == '12.1(7a)E2') flag++;
    else if (version == '12.1(7a)E1a') flag++;
    else if (version == '12.1(7a)E1') flag++;
    else if (version == '12.1(7)E0a') flag++;
    else if (version == '12.1(7)E') flag++;
    else if (version == '12.1(6)E8') flag++;
    else if (version == '12.1(6)E6') flag++;
    else if (version == '12.1(6)E5') flag++;
    else if (version == '12.1(6)E4') flag++;
    else if (version == '12.1(6)E3') flag++;
    else if (version == '12.1(6)E2') flag++;
    else if (version == '12.1(6)E13') flag++;
    else if (version == '12.1(6)E1') flag++;
    else if (version == '12.1(6)E') flag++;
    else if (version == '12.1(5c)E9') flag++;
    else if (version == '12.1(5c)E8') flag++;
    else if (version == '12.1(5c)E12') flag++;
    else if (version == '12.1(5c)E10') flag++;
    else if (version == '12.1(5b)E7') flag++;
    else if (version == '12.1(5a)E4') flag++;
    else if (version == '12.1(5a)E3') flag++;
    else if (version == '12.1(5a)E2') flag++;
    else if (version == '12.1(5a)E1') flag++;
    else if (version == '12.1(5a)E') flag++;
    else if (version == '12.1(4)E3') flag++;
    else if (version == '12.1(4)E1') flag++;
    else if (version == '12.1(4)E') flag++;
    else if (version == '12.1(3a)E8') flag++;
    else if (version == '12.1(3a)E7') flag++;
    else if (version == '12.1(3a)E6') flag++;
    else if (version == '12.1(3a)E5') flag++;
    else if (version == '12.1(3a)E4') flag++;
    else if (version == '12.1(3a)E3') flag++;
    else if (version == '12.1(3a)E1') flag++;
    else if (version == '12.1(3a)E') flag++;
    else if (version == '12.1(2)E2') flag++;
    else if (version == '12.1(2)E1') flag++;
    else if (version == '12.1(2)E') flag++;
    else if (version == '12.1(1)E6') flag++;
    else if (version == '12.1(1)E5') flag++;
    else if (version == '12.1(1)E4') flag++;
    else if (version == '12.1(1)E3') flag++;
    else if (version == '12.1(1)E2') flag++;
    else if (version == '12.1(1)E1') flag++;
    else if (version == '12.1(1)E') flag++;
    else if (version == '12.1(10)AA') flag++;
    else if (version == '12.1(8)AA1') flag++;
    else if (version == '12.1(8)AA') flag++;
    else if (version == '12.1(7)AA') flag++;
    else if (version == '12.1(6)AA') flag++;
    else if (version == '12.1(5)AA') flag++;
    else if (version == '12.1(4)AA') flag++;
    else if (version == '12.1(3)AA') flag++;
    else if (version == '12.1(2a)AA') flag++;
    else if (version == '12.1(27b)') flag++;
    else if (version == '12.1(27a)') flag++;
    else if (version == '12.1(27)') flag++;
    else if (version == '12.1(26)') flag++;
    else if (version == '12.1(25)') flag++;
    else if (version == '12.1(24)') flag++;
    else if (version == '12.1(22c)') flag++;
    else if (version == '12.1(22b)') flag++;
    else if (version == '12.1(22a)') flag++;
    else if (version == '12.1(22)') flag++;
    else if (version == '12.1(21)') flag++;
    else if (version == '12.1(20a)') flag++;
    else if (version == '12.1(20)') flag++;
    else if (version == '12.1(19)') flag++;
    else if (version == '12.1(18)') flag++;
    else if (version == '12.1(17a)') flag++;
    else if (version == '12.1(17)') flag++;
    else if (version == '12.1(16)') flag++;
    else if (version == '12.1(15)') flag++;
    else if (version == '12.1(14)') flag++;
    else if (version == '12.1(13a)') flag++;
    else if (version == '12.1(13)') flag++;
    else if (version == '12.1(12c)') flag++;
    else if (version == '12.1(12b)') flag++;
    else if (version == '12.1(12a)') flag++;
    else if (version == '12.1(12)') flag++;
    else if (version == '12.1(11b)') flag++;
    else if (version == '12.1(11a)') flag++;
    else if (version == '12.1(11)') flag++;
    else if (version == '12.1(10a)') flag++;
    else if (version == '12.1(10)') flag++;
    else if (version == '12.1(9a)') flag++;
    else if (version == '12.1(9)') flag++;
    else if (version == '12.1(8b)') flag++;
    else if (version == '12.1(8a)') flag++;
    else if (version == '12.1(8)') flag++;
    else if (version == '12.1(7c)') flag++;
    else if (version == '12.1(7b)') flag++;
    else if (version == '12.1(7a)') flag++;
    else if (version == '12.1(7)') flag++;
    else if (version == '12.1(6b)') flag++;
    else if (version == '12.1(6a)') flag++;
    else if (version == '12.1(6)') flag++;
    else if (version == '12.1(5e)') flag++;
    else if (version == '12.1(5d)') flag++;
    else if (version == '12.1(5c)') flag++;
    else if (version == '12.1(5b)') flag++;
    else if (version == '12.1(5a)') flag++;
    else if (version == '12.1(5)') flag++;
    else if (version == '12.1(4c)') flag++;
    else if (version == '12.1(4b)') flag++;
    else if (version == '12.1(4a)') flag++;
    else if (version == '12.1(3b)') flag++;
    else if (version == '12.1(3)') flag++;
    else if (version == '12.1(2b)') flag++;
    else if (version == '12.1(2a)') flag++;
    else if (version == '12.1(2)') flag++;
    else if (version == '12.1(1c)') flag++;
    else if (version == '12.1(1b)') flag++;
    else if (version == '12.1(1a)') flag++;
    else if (version == '12.1(1)') flag++;
    else if (version == '12.0(5)XT1') flag++;
    else if (version == '12.0(7)XR4') flag++;
    else if (version == '12.0(7)XR3') flag++;
    else if (version == '12.0(7)XR2') flag++;
    else if (version == '12.0(7)XR1') flag++;
    else if (version == '12.0(5)XQ1') flag++;
    else if (version == '12.0(5)XQ') flag++;
    else if (version == '12.0(5)XN') flag++;
    else if (version == '12.0(7)XK3') flag++;
    else if (version == '12.0(7)XK2') flag++;
    else if (version == '12.0(7)XK1') flag++;
    else if (version == '12.0(7)XK') flag++;
    else if (version == '12.0(5)XK2') flag++;
    else if (version == '12.0(5)XK1') flag++;
    else if (version == '12.0(5)XK') flag++;
    else if (version == '12.0(4)XJ4') flag++;
    else if (version == '12.0(4)XJ3') flag++;
    else if (version == '12.0(4)XJ2') flag++;
    else if (version == '12.0(4)XJ1') flag++;
    else if (version == '12.0(4)XJ') flag++;
    else if (version == '12.0(4)XI1') flag++;
    else if (version == '12.0(4)XH4') flag++;
    else if (version == '12.0(4)XH3') flag++;
    else if (version == '12.0(4)XH1') flag++;
    else if (version == '12.0(4)XH') flag++;
    else if (version == '12.0(2)XH') flag++;
    else if (version == '12.0(3)XG') flag++;
    else if (version == '12.0(7)XE2') flag++;
    else if (version == '12.0(7)XE1') flag++;
    else if (version == '12.0(5)XE8') flag++;
    else if (version == '12.0(5)XE7') flag++;
    else if (version == '12.0(5)XE6') flag++;
    else if (version == '12.0(5)XE5') flag++;
    else if (version == '12.0(5)XE4') flag++;
    else if (version == '12.0(5)XE3') flag++;
    else if (version == '12.0(5)XE1') flag++;
    else if (version == '12.0(5)XE') flag++;
    else if (version == '12.0(4)XE2') flag++;
    else if (version == '12.0(4)XE') flag++;
    else if (version == '12.0(3)XE2') flag++;
    else if (version == '12.0(3)XE1') flag++;
    else if (version == '12.0(3)XE') flag++;
    else if (version == '12.0(2)XE4') flag++;
    else if (version == '12.0(2)XE3') flag++;
    else if (version == '12.0(2)XE2') flag++;
    else if (version == '12.0(2)XE1') flag++;
    else if (version == '12.0(2)XE') flag++;
    else if (version == '12.0(1)XE') flag++;
    else if (version == '12.0(2)XD1') flag++;
    else if (version == '12.0(2)XC2') flag++;
    else if (version == '12.0(2)XC1') flag++;
    else if (version == '12.0(2)XC') flag++;
    else if (version == '12.0(1)XA3') flag++;
    else if (version == '12.0(1)XA') flag++;
    else if (version == '12.0(7)T3') flag++;
    else if (version == '12.0(7)T2') flag++;
    else if (version == '12.0(7)T') flag++;
    else if (version == '12.0(5)T2') flag++;
    else if (version == '12.0(5)T1') flag++;
    else if (version == '12.0(5)T') flag++;
    else if (version == '12.0(4)T1') flag++;
    else if (version == '12.0(4)T') flag++;
    else if (version == '12.0(3)T3') flag++;
    else if (version == '12.0(3)T2') flag++;
    else if (version == '12.0(3)T1') flag++;
    else if (version == '12.0(3)T') flag++;
    else if (version == '12.0(2a)T1') flag++;
    else if (version == '12.0(2)T1') flag++;
    else if (version == '12.0(2)T') flag++;
    else if (version == '12.0(1)T') flag++;
    else if (version == '12.0(17)S4') flag++;
    else if (version == '12.0(17)S3') flag++;
    else if (version == '12.0(17)S2') flag++;
    else if (version == '12.0(17)S1') flag++;
    else if (version == '12.0(17)S') flag++;
    else if (version == '12.0(16)S1') flag++;
    else if (version == '12.0(16)S') flag++;
    else if (version == '12.0(15)S7') flag++;
    else if (version == '12.0(15)S6') flag++;
    else if (version == '12.0(15)S5') flag++;
    else if (version == '12.0(15)S3') flag++;
    else if (version == '12.0(15)S2') flag++;
    else if (version == '12.0(15)S1') flag++;
    else if (version == '12.0(15)S') flag++;
    else if (version == '12.0(14)S8') flag++;
    else if (version == '12.0(14)S7') flag++;
    else if (version == '12.0(14)S6') flag++;
    else if (version == '12.0(14)S5') flag++;
    else if (version == '12.0(14)S4') flag++;
    else if (version == '12.0(14)S3') flag++;
    else if (version == '12.0(14)S2') flag++;
    else if (version == '12.0(14)S1') flag++;
    else if (version == '12.0(14)S') flag++;
    else if (version == '12.0(13)S8') flag++;
    else if (version == '12.0(13)S4') flag++;
    else if (version == '12.0(13)S3') flag++;
    else if (version == '12.0(13)S2') flag++;
    else if (version == '12.0(13)S1') flag++;
    else if (version == '12.0(13)S') flag++;
    else if (version == '12.0(12)S4') flag++;
    else if (version == '12.0(12)S3') flag++;
    else if (version == '12.0(12)S2') flag++;
    else if (version == '12.0(12)S1') flag++;
    else if (version == '12.0(12)S') flag++;
    else if (version == '12.0(11)S6') flag++;
    else if (version == '12.0(11)S5') flag++;
    else if (version == '12.0(11)S4') flag++;
    else if (version == '12.0(11)S3') flag++;
    else if (version == '12.0(11)S2') flag++;
    else if (version == '12.0(11)S1') flag++;
    else if (version == '12.0(11)S') flag++;
    else if (version == '12.0(10)S8') flag++;
    else if (version == '12.0(10)S7') flag++;
    else if (version == '12.0(10)S5') flag++;
    else if (version == '12.0(10)S3b') flag++;
    else if (version == '12.0(10)S3') flag++;
    else if (version == '12.0(10)S2') flag++;
    else if (version == '12.0(10)S1') flag++;
    else if (version == '12.0(10)S') flag++;
    else if (version == '12.0(9)S8') flag++;
    else if (version == '12.0(9)S') flag++;
    else if (version == '12.0(8)S1') flag++;
    else if (version == '12.0(8)S') flag++;
    else if (version == '12.0(7)S1') flag++;
    else if (version == '12.0(7)S') flag++;
    else if (version == '12.0(6)S') flag++;
    else if (version == '12.0(5)S') flag++;
    else if (version == '12.0(4)S') flag++;
    else if (version == '12.0(3)S') flag++;
    else if (version == '12.0(2)S') flag++;
    else if (version == '12.0(28d)') flag++;
    else if (version == '12.0(28c)') flag++;
    else if (version == '12.0(28b)') flag++;
    else if (version == '12.0(28a)') flag++;
    else if (version == '12.0(28)') flag++;
    else if (version == '12.0(27)') flag++;
    else if (version == '12.0(26)') flag++;
    else if (version == '12.0(25)') flag++;
    else if (version == '12.0(24)') flag++;
    else if (version == '12.0(23)') flag++;
    else if (version == '12.0(22)') flag++;
    else if (version == '12.0(21a)') flag++;
    else if (version == '12.0(21)') flag++;
    else if (version == '12.0(20a)') flag++;
    else if (version == '12.0(20)') flag++;
    else if (version == '12.0(19b)') flag++;
    else if (version == '12.0(19a)') flag++;
    else if (version == '12.0(19)') flag++;
    else if (version == '12.0(18b)') flag++;
    else if (version == '12.0(18a)') flag++;
    else if (version == '12.0(18)') flag++;
    else if (version == '12.0(17a)') flag++;
    else if (version == '12.0(17)') flag++;
    else if (version == '12.0(16a)') flag++;
    else if (version == '12.0(16)') flag++;
    else if (version == '12.0(15b)') flag++;
    else if (version == '12.0(15a)') flag++;
    else if (version == '12.0(15)') flag++;
    else if (version == '12.0(14a)') flag++;
    else if (version == '12.0(14)') flag++;
    else if (version == '12.0(13a)') flag++;
    else if (version == '12.0(13)') flag++;
    else if (version == '12.0(12a)') flag++;
    else if (version == '12.0(12)') flag++;
    else if (version == '12.0(11a)') flag++;
    else if (version == '12.0(11)') flag++;
    else if (version == '12.0(10a)') flag++;
    else if (version == '12.0(10)') flag++;
    else if (version == '12.0(9a)') flag++;
    else if (version == '12.0(9)') flag++;
    else if (version == '12.0(8a)') flag++;
    else if (version == '12.0(8)') flag++;
    else if (version == '12.0(7a)') flag++;
    else if (version == '12.0(7)') flag++;
    else if (version == '12.0(6b)') flag++;
    else if (version == '12.0(6a)') flag++;
    else if (version == '12.0(6)') flag++;
    else if (version == '12.0(5a)') flag++;
    else if (version == '12.0(5)') flag++;
    else if (version == '12.0(4b)') flag++;
    else if (version == '12.0(4a)') flag++;
    else if (version == '12.0(4)') flag++;
    else if (version == '12.0(3d)') flag++;
    else if (version == '12.0(3c)') flag++;
    else if (version == '12.0(3b)') flag++;
    else if (version == '12.0(3)') flag++;
    else if (version == '12.0(2b)') flag++;
    else if (version == '12.0(2a)') flag++;
    else if (version == '12.0(2)') flag++;
    else if (version == '12.0(1a)') flag++;
    else if (version == '12.0(1)') flag++;
    
    if (get_kb_item("Host/local_checks_enabled"))
    {
      if (flag)
      {
        flag = 0;
        buf = cisco_command_kb_item("Host/Cisco/Config/show_running-config", "show running-config");
        if (check_cisco_result(buf))
        {
          if (preg(pattern:"dlsw\s+local-peer", multiline:TRUE, string:buf)) { flag = 1; }
        } else if (cisco_needs_enable(buf)) { flag = 1; override = 1; }
      }
    
      if (flag)
      {
        flag = 0;
        buf = cisco_command_kb_item("Host/Cisco/Config/show_dlsw_statistics", "show dlsw statistics");
        if (check_cisco_result(buf))
        {
          flag = 1;
        } else if (cisco_needs_enable(buf)) { flag = 1; override = 1; }
      }
    }
    
    if (flag)
    {
      security_hole(port:0, extra:cisco_caveat(override));
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");
    

Oval

accepted2008-09-08T04:00:39.103-04:00
classvulnerability
contributors
nameYuzheng Zhou
organizationHewlett-Packard
descriptionThe Data-link Switching (DLSw) feature in Cisco IOS 11.0 through 12.4 allows remote attackers to cause a denial of service (device reload) via "an invalid value in a DLSw message... during the capabilities exchange."
familyios
idoval:org.mitre.oval:def:5714
statusaccepted
submitted2008-05-26T11:06:36.000-04:00
titleCisco IOS 12.4 Malformed DLSw Message DoS Vulnerability
version3