From 7f4ba24125a2c1bd09f486735b6822d21409922f Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Sun, 28 Jun 2015 16:14:26 +0200 Subject: [PATCH] src: use a standard file for ISO 3166 mapping --- .../iso_3166-1_list_en.xml | 987 ------------------ src/etc/inc/system.inc | 17 + src/opnsense/contrib/tzdata/iso3166.tab | 274 +++++ src/www/getserviceproviders.php | 41 +- src/www/system_camanager.php | 22 +- src/www/system_certmanager.php | 21 +- 6 files changed, 309 insertions(+), 1053 deletions(-) delete mode 100755 contrib/mobile-broadband-provider-info/iso_3166-1_list_en.xml create mode 100644 src/opnsense/contrib/tzdata/iso3166.tab diff --git a/contrib/mobile-broadband-provider-info/iso_3166-1_list_en.xml b/contrib/mobile-broadband-provider-info/iso_3166-1_list_en.xml deleted file mode 100755 index 44c5a627b..000000000 --- a/contrib/mobile-broadband-provider-info/iso_3166-1_list_en.xml +++ /dev/null @@ -1,987 +0,0 @@ - - - - AFGHANISTAN - AF - - - ÅLAND ISLANDS - AX - - - ALBANIA - AL - - - ALGERIA - DZ - - - AMERICAN SAMOA - AS - - - ANDORRA - AD - - - ANGOLA - AO - - - ANGUILLA - AI - - - ANTARCTICA - AQ - - - ANTIGUA AND BARBUDA - AG - - - ARGENTINA - AR - - - ARMENIA - AM - - - ARUBA - AW - - - AUSTRALIA - AU - - - AUSTRIA - AT - - - AZERBAIJAN - AZ - - - BAHAMAS - BS - - - BAHRAIN - BH - - - BANGLADESH - BD - - - BARBADOS - BB - - - BELARUS - BY - - - BELGIUM - BE - - - BELIZE - BZ - - - BENIN - BJ - - - BERMUDA - BM - - - BHUTAN - BT - - - BOLIVIA, PLURINATIONAL STATE OF - BO - - - BOSNIA AND HERZEGOVINA - BA - - - BOTSWANA - BW - - - BOUVET ISLAND - BV - - - BRAZIL - BR - - - BRITISH INDIAN OCEAN TERRITORY - IO - - - BRUNEI DARUSSALAM - BN - - - BULGARIA - BG - - - BURKINA FASO - BF - - - BURUNDI - BI - - - CAMBODIA - KH - - - CAMEROON - CM - - - CANADA - CA - - - CAPE VERDE - CV - - - CAYMAN ISLANDS - KY - - - CENTRAL AFRICAN REPUBLIC - CF - - - CHAD - TD - - - CHILE - CL - - - CHINA - CN - - - CHRISTMAS ISLAND - CX - - - COCOS (KEELING) ISLANDS - CC - - - COLOMBIA - CO - - - COMOROS - KM - - - CONGO - CG - - - CONGO, THE DEMOCRATIC REPUBLIC OF THE - CD - - - COOK ISLANDS - CK - - - COSTA RICA - CR - - - CÔTE D'IVOIRE - CI - - - CROATIA - HR - - - CUBA - CU - - - CYPRUS - CY - - - CZECH REPUBLIC - CZ - - - DENMARK - DK - - - DJIBOUTI - DJ - - - DOMINICA - DM - - - DOMINICAN REPUBLIC - DO - - - ECUADOR - EC - - - EGYPT - EG - - - EL SALVADOR - SV - - - EQUATORIAL GUINEA - GQ - - - ERITREA - ER - - - ESTONIA - EE - - - ETHIOPIA - ET - - - FALKLAND ISLANDS (MALVINAS) - FK - - - FAROE ISLANDS - FO - - - FIJI - FJ - - - FINLAND - FI - - - FRANCE - FR - - - FRENCH GUIANA - GF - - - FRENCH POLYNESIA - PF - - - FRENCH SOUTHERN TERRITORIES - TF - - - GABON - GA - - - GAMBIA - GM - - - GEORGIA - GE - - - GERMANY - DE - - - GHANA - GH - - - GIBRALTAR - GI - - - GREECE - GR - - - GREENLAND - GL - - - GRENADA - GD - - - GUADELOUPE - GP - - - GUAM - GU - - - GUATEMALA - GT - - - GUERNSEY - GG - - - GUINEA - GN - - - GUINEA-BISSAU - GW - - - GUYANA - GY - - - HAITI - HT - - - HEARD ISLAND AND MCDONALD ISLANDS - HM - - - HOLY SEE (VATICAN CITY STATE) - VA - - - HONDURAS - HN - - - HONG KONG - HK - - - HUNGARY - HU - - - ICELAND - IS - - - INDIA - IN - - - INDONESIA - ID - - - IRAN, ISLAMIC REPUBLIC OF - IR - - - IRAQ - IQ - - - IRELAND - IE - - - ISLE OF MAN - IM - - - ISRAEL - IL - - - ITALY - IT - - - JAMAICA - JM - - - JAPAN - JP - - - JERSEY - JE - - - JORDAN - JO - - - KAZAKHSTAN - KZ - - - KENYA - KE - - - KIRIBATI - KI - - - KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF - KP - - - KOREA, REPUBLIC OF - KR - - - KUWAIT - KW - - - KYRGYZSTAN - KG - - - LAO PEOPLE'S DEMOCRATIC REPUBLIC - LA - - - LATVIA - LV - - - LEBANON - LB - - - LESOTHO - LS - - - LIBERIA - LR - - - LIBYAN ARAB JAMAHIRIYA - LY - - - LIECHTENSTEIN - LI - - - LITHUANIA - LT - - - LUXEMBOURG - LU - - - MACAO - MO - - - MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF - MK - - - MADAGASCAR - MG - - - MALAWI - MW - - - MALAYSIA - MY - - - MALDIVES - MV - - - MALI - ML - - - MALTA - MT - - - MARSHALL ISLANDS - MH - - - MARTINIQUE - MQ - - - MAURITANIA - MR - - - MAURITIUS - MU - - - MAYOTTE - YT - - - MEXICO - MX - - - MICRONESIA, FEDERATED STATES OF - FM - - - MOLDOVA, REPUBLIC OF - MD - - - MONACO - MC - - - MONGOLIA - MN - - - MONTENEGRO - ME - - - MONTSERRAT - MS - - - MOROCCO - MA - - - MOZAMBIQUE - MZ - - - MYANMAR - MM - - - NAMIBIA - NA - - - NAURU - NR - - - NEPAL - NP - - - NETHERLANDS - NL - - - NETHERLANDS ANTILLES - AN - - - NEW CALEDONIA - NC - - - NEW ZEALAND - NZ - - - NICARAGUA - NI - - - NIGER - NE - - - NIGERIA - NG - - - NIUE - NU - - - NORFOLK ISLAND - NF - - - NORTHERN MARIANA ISLANDS - MP - - - NORWAY - NO - - - OMAN - OM - - - PAKISTAN - PK - - - PALAU - PW - - - PALESTINIAN TERRITORY, OCCUPIED - PS - - - PANAMA - PA - - - PAPUA NEW GUINEA - PG - - - PARAGUAY - PY - - - PERU - PE - - - PHILIPPINES - PH - - - PITCAIRN - PN - - - POLAND - PL - - - PORTUGAL - PT - - - PUERTO RICO - PR - - - QATAR - QA - - - REUNION - RE - - - ROMANIA - RO - - - RUSSIAN FEDERATION - RU - - - RWANDA - RW - - - SAINT BARTHÉLEMY - BL - - - SAINT HELENA, ASCENSION AND TRISTAN DA CUNHA - SH - - - SAINT KITTS AND NEVIS - KN - - - SAINT LUCIA - LC - - - SAINT MARTIN - MF - - - SAINT PIERRE AND MIQUELON - PM - - - SAINT VINCENT AND THE GRENADINES - VC - - - SAMOA - WS - - - SAN MARINO - SM - - - SAO TOME AND PRINCIPE - ST - - - SAUDI ARABIA - SA - - - SENEGAL - SN - - - SERBIA - RS - - - SEYCHELLES - SC - - - SIERRA LEONE - SL - - - SINGAPORE - SG - - - SLOVAKIA - SK - - - SLOVENIA - SI - - - SOLOMON ISLANDS - SB - - - SOMALIA - SO - - - SOUTH AFRICA - ZA - - - SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS - GS - - - SPAIN - ES - - - SRI LANKA - LK - - - SUDAN - SD - - - SURINAME - SR - - - SVALBARD AND JAN MAYEN - SJ - - - SWAZILAND - SZ - - - SWEDEN - SE - - - SWITZERLAND - CH - - - SYRIAN ARAB REPUBLIC - SY - - - TAIWAN, PROVINCE OF CHINA - TW - - - TAJIKISTAN - TJ - - - TANZANIA, UNITED REPUBLIC OF - TZ - - - THAILAND - TH - - - TIMOR-LESTE - TL - - - TOGO - TG - - - TOKELAU - TK - - - TONGA - TO - - - TRINIDAD AND TOBAGO - TT - - - TUNISIA - TN - - - TURKEY - TR - - - TURKMENISTAN - TM - - - TURKS AND CAICOS ISLANDS - TC - - - TUVALU - TV - - - UGANDA - UG - - - UKRAINE - UA - - - UNITED ARAB EMIRATES - AE - - - UNITED KINGDOM - GB - - - UNITED STATES - US - - - UNITED STATES MINOR OUTLYING ISLANDS - UM - - - URUGUAY - UY - - - UZBEKISTAN - UZ - - - VANUATU - VU - - - VENEZUELA, BOLIVARIAN REPUBLIC OF - VE - - - VIET NAM - VN - - - VIRGIN ISLANDS, BRITISH - VG - - - VIRGIN ISLANDS, U.S. - VI - - - WALLIS AND FUTUNA - WF - - - WESTERN SAHARA - EH - - - YEMEN - YE - - - ZAMBIA - ZM - - - ZIMBABWE - ZW - - diff --git a/src/etc/inc/system.inc b/src/etc/inc/system.inc index d5ac6634f..61c6514ce 100644 --- a/src/etc/inc/system.inc +++ b/src/etc/inc/system.inc @@ -170,6 +170,23 @@ function system_resolvconf_generate($dynupdate = false) return 0; } +function get_country_codes() +{ + $dn_cc = array(); + + $iso3166_tab = '/usr/local/opnsense/contrib/tzdata/iso3166.tab'; + if (file_exists($iso3166_tab)) { + $dn_cc_file = file($iso3166_tab); + foreach ($dn_cc_file as $line) { + if (preg_match('/^([A-Z][A-Z])\t(.*)$/', $line, $matches)) { + $dn_cc[$matches[1]] = trim($matches[2]); + } + } + } + + return $dn_cc; +} + function get_searchdomains() { global $config; diff --git a/src/opnsense/contrib/tzdata/iso3166.tab b/src/opnsense/contrib/tzdata/iso3166.tab new file mode 100644 index 000000000..0548800e2 --- /dev/null +++ b/src/opnsense/contrib/tzdata/iso3166.tab @@ -0,0 +1,274 @@ +# ISO 3166 alpha-2 country codes +# +# This file is in the public domain, so clarified as of +# 2009-05-17 by Arthur David Olson. +# +# From Paul Eggert (2015-05-02): +# This file contains a table of two-letter country codes. Columns are +# separated by a single tab. Lines beginning with '#' are comments. +# All text uses UTF-8 encoding. The columns of the table are as follows: +# +# 1. ISO 3166-1 alpha-2 country code, current as of +# ISO 3166-1 Newsletter VI-16 (2013-07-11). See: Updates on ISO 3166 +# http://www.iso.org/iso/home/standards/country_codes/updates_on_iso_3166.htm +# 2. The usual English name for the coded region, +# chosen so that alphabetic sorting of subsets produces helpful lists. +# This is not the same as the English name in the ISO 3166 tables. +# +# The table is sorted by country code. +# +# This table is intended as an aid for users, to help them select time +# zone data appropriate for their practical needs. It is not intended +# to take or endorse any position on legal or territorial claims. +# +#country- +#code name of country, territory, area, or subdivision +AD Andorra +AE United Arab Emirates +AF Afghanistan +AG Antigua & Barbuda +AI Anguilla +AL Albania +AM Armenia +AO Angola +AQ Antarctica +AR Argentina +AS Samoa (American) +AT Austria +AU Australia +AW Aruba +AX Ã…land Islands +AZ Azerbaijan +BA Bosnia & Herzegovina +BB Barbados +BD Bangladesh +BE Belgium +BF Burkina Faso +BG Bulgaria +BH Bahrain +BI Burundi +BJ Benin +BL St Barthelemy +BM Bermuda +BN Brunei +BO Bolivia +BQ Caribbean Netherlands +BR Brazil +BS Bahamas +BT Bhutan +BV Bouvet Island +BW Botswana +BY Belarus +BZ Belize +CA Canada +CC Cocos (Keeling) Islands +CD Congo (Dem. Rep.) +CF Central African Rep. +CG Congo (Rep.) +CH Switzerland +CI Côte d'Ivoire +CK Cook Islands +CL Chile +CM Cameroon +CN China +CO Colombia +CR Costa Rica +CU Cuba +CV Cape Verde +CW Curacao +CX Christmas Island +CY Cyprus +CZ Czech Republic +DE Germany +DJ Djibouti +DK Denmark +DM Dominica +DO Dominican Republic +DZ Algeria +EC Ecuador +EE Estonia +EG Egypt +EH Western Sahara +ER Eritrea +ES Spain +ET Ethiopia +FI Finland +FJ Fiji +FK Falkland Islands +FM Micronesia +FO Faroe Islands +FR France +GA Gabon +GB Britain (UK) +GD Grenada +GE Georgia +GF French Guiana +GG Guernsey +GH Ghana +GI Gibraltar +GL Greenland +GM Gambia +GN Guinea +GP Guadeloupe +GQ Equatorial Guinea +GR Greece +GS South Georgia & the South Sandwich Islands +GT Guatemala +GU Guam +GW Guinea-Bissau +GY Guyana +HK Hong Kong +HM Heard Island & McDonald Islands +HN Honduras +HR Croatia +HT Haiti +HU Hungary +ID Indonesia +IE Ireland +IL Israel +IM Isle of Man +IN India +IO British Indian Ocean Territory +IQ Iraq +IR Iran +IS Iceland +IT Italy +JE Jersey +JM Jamaica +JO Jordan +JP Japan +KE Kenya +KG Kyrgyzstan +KH Cambodia +KI Kiribati +KM Comoros +KN St Kitts & Nevis +KP Korea (North) +KR Korea (South) +KW Kuwait +KY Cayman Islands +KZ Kazakhstan +LA Laos +LB Lebanon +LC St Lucia +LI Liechtenstein +LK Sri Lanka +LR Liberia +LS Lesotho +LT Lithuania +LU Luxembourg +LV Latvia +LY Libya +MA Morocco +MC Monaco +MD Moldova +ME Montenegro +MF St Martin (French part) +MG Madagascar +MH Marshall Islands +MK Macedonia +ML Mali +MM Myanmar (Burma) +MN Mongolia +MO Macau +MP Northern Mariana Islands +MQ Martinique +MR Mauritania +MS Montserrat +MT Malta +MU Mauritius +MV Maldives +MW Malawi +MX Mexico +MY Malaysia +MZ Mozambique +NA Namibia +NC New Caledonia +NE Niger +NF Norfolk Island +NG Nigeria +NI Nicaragua +NL Netherlands +NO Norway +NP Nepal +NR Nauru +NU Niue +NZ New Zealand +OM Oman +PA Panama +PE Peru +PF French Polynesia +PG Papua New Guinea +PH Philippines +PK Pakistan +PL Poland +PM St Pierre & Miquelon +PN Pitcairn +PR Puerto Rico +PS Palestine +PT Portugal +PW Palau +PY Paraguay +QA Qatar +RE Réunion +RO Romania +RS Serbia +RU Russia +RW Rwanda +SA Saudi Arabia +SB Solomon Islands +SC Seychelles +SD Sudan +SE Sweden +SG Singapore +SH St Helena +SI Slovenia +SJ Svalbard & Jan Mayen +SK Slovakia +SL Sierra Leone +SM San Marino +SN Senegal +SO Somalia +SR Suriname +SS South Sudan +ST Sao Tome & Principe +SV El Salvador +SX St Maarten (Dutch part) +SY Syria +SZ Swaziland +TC Turks & Caicos Is +TD Chad +TF French Southern & Antarctic Lands +TG Togo +TH Thailand +TJ Tajikistan +TK Tokelau +TL East Timor +TM Turkmenistan +TN Tunisia +TO Tonga +TR Turkey +TT Trinidad & Tobago +TV Tuvalu +TW Taiwan +TZ Tanzania +UA Ukraine +UG Uganda +UM US minor outlying islands +US United States +UY Uruguay +UZ Uzbekistan +VA Vatican City +VC St Vincent +VE Venezuela +VG Virgin Islands (UK) +VI Virgin Islands (US) +VN Vietnam +VU Vanuatu +WF Wallis & Futuna +WS Samoa (western) +YE Yemen +YT Mayotte +ZA South Africa +ZM Zambia +ZW Zimbabwe diff --git a/src/www/getserviceproviders.php b/src/www/getserviceproviders.php index e5079e697..07a492fad 100644 --- a/src/www/getserviceproviders.php +++ b/src/www/getserviceproviders.php @@ -36,34 +36,8 @@ $serviceproviders_attr = xml2array($serviceproviders_contents,1,"attr"); $serviceproviders = &$serviceproviders_attr['serviceproviders']['country']; -function get_country_name($country_code) { - if ($country_code != "ALL" && strlen($country_code) != 2) - return ""; - - $country_names_xml = "/usr/local/share/mobile-broadband-provider-info/iso_3166-1_list_en.xml"; - $country_names_contents = file_get_contents($country_names_xml); - $country_names = xml2array($country_names_contents); - - if($country_code == "ALL") { - $country_list = array(); - foreach($country_names['ISO_3166-1_List_en']['ISO_3166-1_Entry'] as $country) { - $country_list[] = array("code" => $country['ISO_3166-1_Alpha-2_Code_element'], - "name" => ucwords(strtolower($country['ISO_3166-1_Country_name'])) ); - } - return $country_list; - } - - foreach ($country_names['ISO_3166-1_List_en']['ISO_3166-1_Entry'] as $country) { - if ($country['ISO_3166-1_Alpha-2_Code_element'] == strtoupper($country_code)) { - return ucwords(strtolower($country['ISO_3166-1_Country_name'])); - } - } - return ""; -} - - - -function get_country_providers($country) { +function get_country_providers($country) +{ global $serviceproviders; foreach($serviceproviders as $sp) { if($sp['attr']['code'] == strtolower($country)) { @@ -73,13 +47,14 @@ function get_country_providers($country) { return $provider_list; } -function country_list() { +function country_list() +{ global $serviceproviders; - $country_list = get_country_name("ALL"); + $country_list = get_country_codes(); foreach($serviceproviders as $sp) { - foreach($country_list as $country) { - if(strtoupper($sp['attr']['code']) == $country['code']) { - echo $country['name'] . ":" . $country['code'] . "\n"; + foreach($country_list as $code => $country) { + if (strtoupper($sp['attr']['code']) == $code) { + echo $country . ":" . $code . "\n"; } } } diff --git a/src/www/system_camanager.php b/src/www/system_camanager.php index 3d7d1d239..f3abc8aea 100644 --- a/src/www/system_camanager.php +++ b/src/www/system_camanager.php @@ -373,19 +373,6 @@ function method_change() {
- @@ -561,12 +548,13 @@ endif; ?> diff --git a/src/www/system_certmanager.php b/src/www/system_certmanager.php index 16813f5d1..15c610e1b 100644 --- a/src/www/system_certmanager.php +++ b/src/www/system_certmanager.php @@ -594,18 +594,6 @@ endif; ?> rowsize[1] = "30"; //]]> -
@@ -959,12 +947,13 @@ endif; ?>