summaryrefslogtreecommitdiffstats
path: root/tools/ntp_servers.pl
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2001-07-03 16:47:35 +0000
committerPascal Rigaux <pixel@mandriva.com>2001-07-03 16:47:35 +0000
commit96eb28ea178cde877e137ff91cbeda324d9b50bb (patch)
tree6959e05d5f26e5050dd40265a385a53f89f43be2 /tools/ntp_servers.pl
parent357a954b184c558ec7d6805b4acf59c837b43de3 (diff)
downloaddrakx-96eb28ea178cde877e137ff91cbeda324d9b50bb.tar
drakx-96eb28ea178cde877e137ff91cbeda324d9b50bb.tar.gz
drakx-96eb28ea178cde877e137ff91cbeda324d9b50bb.tar.bz2
drakx-96eb28ea178cde877e137ff91cbeda324d9b50bb.tar.xz
drakx-96eb28ea178cde877e137ff91cbeda324d9b50bb.zip
get a formatted list of NTP servers from an authorised source
Diffstat (limited to 'tools/ntp_servers.pl')
-rw-r--r--tools/ntp_servers.pl292
1 files changed, 292 insertions, 0 deletions
diff --git a/tools/ntp_servers.pl b/tools/ntp_servers.pl
new file mode 100644
index 000000000..09b9aecc8
--- /dev/null
+++ b/tools/ntp_servers.pl
@@ -0,0 +1,292 @@
+#!/usr/bin/perl
+
+open F, "links -dump http://www.eecis.udel.edu/~mills/ntp/clock1.htm|";
+open G, "links -dump http://www.eecis.udel.edu/~mills/ntp/clock2.htm|";
+
+parse() while <F>;
+parse() while <G>;
+
+sub parse {
+ /\0/ .. 1 or return;
+ if (/^ [\d\0]\d\./) {
+ push @all, { name => $name, indic => $indic, %l } if $name;
+ %l = ();
+ $nb = 0;
+ } else {
+ s/^\s*//;
+ s/\s*$//;
+ if ($nb == 2) {
+ ($indic, $name) = /([A-Z ]*[A-Z])\s+(\S+)/ or die "bad line $_";
+ } else {
+ s/^(.*):\s*/$field = $1; ''/e;
+ $field = lc $field;
+ if ($field =~ /policy/) {
+ $field = "policy";
+ $_ = lc $_;
+ s/glad to receive a note//;
+ s/[(), ]*$//;
+ $_ = "open access" if $_ eq "public";
+ }
+ $l{$field} .= ($l{$field} && ' ') . $_;
+ }
+ }
+ $nb++;
+}
+
+
+use Data::Dumper;
+#print Dumper(\@all);
+
+foreach (grep { $_->{policy} eq 'open access' } @all) {
+ ($country, $state) = split ' ', $_->{indic};
+ $country = ucfirst(lc $country_codes{$country});
+ $country .= " ($state)" if $state;
+ print "$country|$_->{name}\n";
+}
+
+BEGIN {
+%country_codes = ( # from ftp://ftp.ripe.net/iso3166-countrycodes
+"AF", "AFGHANISTAN",
+"AL", "ALBANIA",
+"DZ", "ALGERIA",
+"AS", "AMERICAN SAMOA",
+"AD", "ANDORRA",
+"AO", "ANGOLA",
+"AI", "ANGUILLA",
+"AQ", "ANTARCTICA",
+"AG", "ANTIGUA AND BARBUDA",
+"AR", "ARGENTINA",
+"AM", "ARMENIA",
+"AW", "ARUBA",
+"AU", "AUSTRALIA",
+"AT", "AUSTRIA",
+"AZ", "AZERBAIJAN",
+"BS", "BAHAMAS",
+"BH", "BAHRAIN",
+"BD", "BANGLADESH",
+"BB", "BARBADOS",
+"BY", "BELARUS",
+"BE", "BELGIUM",
+"BZ", "BELIZE",
+"BJ", "BENIN",
+"BM", "BERMUDA",
+"BT", "BHUTAN",
+"BO", "BOLIVIA",
+"BA", "BOSNIA AND HERZEGOWINA",
+"BW", "BOTSWANA",
+"BV", "BOUVET ISLAND",
+"BR", "BRAZIL",
+"IO", "BRITISH INDIAN OCEAN TERRITORY",
+"BN", "BRUNEI DARUSSALAM",
+"BG", "BULGARIA",
+"BF", "BURKINA FASO",
+"BI", "BURUNDI",
+"KH", "CAMBODIA",
+"CM", "CAMEROON",
+"CA", "CANADA",
+"CV", "CAPE VERDE",
+"KY", "CAYMAN ISLANDS",
+"CF", "CENTRAL AFRICAN REPUBLIC",
+"TD", "CHAD",
+"CL", "CHILE",
+"CN", "CHINA",
+"CX", "CHRISTMAS ISLAND",
+"CC", "COCOS (KEELING) ISLANDS",
+"CO", "COLOMBIA",
+"KM", "COMOROS",
+"CG", "CONGO",
+"CD", "CONGO, THE DEMOCRATIC REPUBLIC OF THE",
+"CK", "COOK ISLANDS",
+"CR", "COSTA RICA",
+"CI", "COTE D'IVOIRE",
+"HR", "CROATIA",
+"CU", "CUBA",
+"CY", "CYPRUS",
+"CZ", "CZECH REPUBLIC",
+"DK", "DENMARK",
+"DJ", "DJIBOUTI",
+"DM", "DOMINICA",
+"DO", "DOMINICAN REPUBLIC",
+"TP", "EAST TIMOR",
+"EC", "ECUADOR",
+"EG", "EGYPT",
+"SV", "EL SALVADOR",
+"GQ", "EQUATORIAL GUINEA",
+"ER", "ERITREA",
+"EE", "ESTONIA",
+"ET", "ETHIOPIA",
+"FK", "FALKLAND ISLANDS (MALVINAS)",
+"FO", "FAROE ISLANDS",
+"FJ", "FIJI",
+"FI", "FINLAND",
+"FR", "FRANCE",
+"FX", "FRANCE, METROPOLITAN",
+"GF", "FRENCH GUIANA",
+"PF", "FRENCH POLYNESIA",
+"TF", "FRENCH SOUTHERN TERRITORIES",
+"GA", "GABON",
+"GM", "GAMBIA",
+"GE", "GEORGIA",
+"DE", "GERMANY",
+"GH", "GHANA",
+"GI", "GIBRALTAR",
+"GR", "GREECE",
+"GL", "GREENLAND",
+"GD", "GRENADA",
+"GP", "GUADELOUPE",
+"GU", "GUAM",
+"GT", "GUATEMALA",
+"GN", "GUINEA",
+"GW", "GUINEA-BISSAU",
+"GY", "GUYANA",
+"HT", "HAITI",
+"HM", "HEARD AND MC DONALD ISLANDS",
+"VA", "HOLY SEE (VATICAN CITY STATE)",
+"HN", "HONDURAS",
+"HK", "HONG KONG",
+"HU", "HUNGARY",
+"IS", "ICELAND",
+"IN", "INDIA",
+"ID", "INDONESIA",
+"IR", "IRAN (ISLAMIC REPUBLIC OF)",
+"IQ", "IRAQ",
+"IE", "IRELAND",
+"IL", "ISRAEL",
+"IT", "ITALY",
+"JM", "JAMAICA",
+"JP", "JAPAN",
+"JO", "JORDAN",
+"KZ", "KAZAKHSTAN",
+"KE", "KENYA",
+"KI", "KIRIBATI",
+"KP", "KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF",
+"KR", "KOREA, REPUBLIC OF",
+"KW", "KUWAIT",
+"KG", "KYRGYZSTAN",
+"LA", "LAO PEOPLE'S DEMOCRATIC REPUBLIC",
+"LV", "LATVIA",
+"LB", "LEBANON",
+"LS", "LESOTHO",
+"LR", "LIBERIA",
+"LY", "LIBYAN ARAB JAMAHIRIYA",
+"LI", "LIECHTENSTEIN",
+"LT", "LITHUANIA",
+"LU", "LUXEMBOURG",
+"MO", "MACAU",
+"MK", "MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF",
+"MG", "MADAGASCAR",
+"MW", "MALAWI",
+"MY", "MALAYSIA",
+"MV", "MALDIVES",
+"ML", "MALI",
+"MT", "MALTA",
+"MH", "MARSHALL ISLANDS",
+"MQ", "MARTINIQUE",
+"MR", "MAURITANIA",
+"MU", "MAURITIUS",
+"YT", "MAYOTTE",
+"MX", "MEXICO",
+"FM", "MICRONESIA, FEDERATED STATES OF",
+"MD", "MOLDOVA, REPUBLIC OF",
+"MC", "MONACO",
+"MN", "MONGOLIA",
+"MS", "MONTSERRAT",
+"MA", "MOROCCO",
+"MZ", "MOZAMBIQUE",
+"MM", "MYANMAR",
+"NA", "NAMIBIA",
+"NR", "NAURU",
+"NP", "NEPAL",
+"NL", "NETHERLANDS",
+"AN", "NETHERLANDS ANTILLES",
+"NC", "NEW CALEDONIA",
+"NZ", "NEW ZEALAND",
+"NI", "NICARAGUA",
+"NE", "NIGER",
+"NG", "NIGERIA",
+"NU", "NIUE",
+"NF", "NORFOLK ISLAND",
+"MP", "NORTHERN MARIANA ISLANDS",
+"NO", "NORWAY",
+"OM", "OMAN",
+"PK", "PAKISTAN",
+"PW", "PALAU",
+"PA", "PANAMA",
+"PG", "PAPUA NEW GUINEA",
+"PY", "PARAGUAY",
+"PE", "PERU",
+"PH", "PHILIPPINES",
+"PN", "PITCAIRN",
+"PL", "POLAND",
+"PT", "PORTUGAL",
+"PR", "PUERTO RICO",
+"QA", "QATAR",
+"RE", "REUNION",
+"RO", "ROMANIA",
+"RU", "RUSSIA",
+"RW", "RWANDA",
+"KN", "SAINT KITTS AND NEVIS",
+"LC", "SAINT LUCIA",
+"VC", "SAINT VINCENT AND THE GRENADINES",
+"WS", "SAMOA",
+"SM", "SAN MARINO",
+"ST", "SAO TOME AND PRINCIPE",
+"SA", "SAUDI ARABIA",
+"SN", "SENEGAL",
+"SC", "SEYCHELLES",
+"SL", "SIERRA LEONE",
+"SG", "SINGAPORE",
+"SK", "SLOVAKIA (Slovak Republic)",
+"SI", "SLOVENIA",
+"SB", "SOLOMON ISLANDS",
+"SO", "SOMALIA",
+"ZA", "SOUTH AFRICA",
+"GS", "SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS",
+"ES", "SPAIN",
+"LK", "SRI LANKA",
+"SH", "ST. HELENA",
+"PM", "ST. PIERRE AND MIQUELON",
+"SD", "SUDAN",
+"SR", "SURINAME",
+"SJ", "SVALBARD AND JAN MAYEN ISLANDS",
+"SZ", "SWAZILAND",
+"SE", "SWEDEN",
+"CH", "SWITZERLAND",
+"SY", "SYRIAN ARAB REPUBLIC",
+"TW", "TAIWAN, PROVINCE OF CHINA",
+"TJ", "TAJIKISTAN",
+"TZ", "TANZANIA, UNITED REPUBLIC OF",
+"TH", "THAILAND",
+"TG", "TOGO",
+"TK", "TOKELAU",
+"TO", "TONGA",
+"TT", "TRINIDAD AND TOBAGO",
+"TN", "TUNISIA",
+"TR", "TURKEY",
+"TM", "TURKMENISTAN",
+"TC", "TURKS AND CAICOS ISLANDS",
+"TV", "TUVALU",
+"UG", "UGANDA",
+"UA", "UKRAINE",
+"AE", "UNITED ARAB EMIRATES",
+"GB", "UNITED KINGDOM",
+"US", "UNITED STATES",
+"UM", "UNITED STATES MINOR OUTLYING ISLANDS",
+"UY", "URUGUAY",
+"UZ", "UZBEKISTAN",
+"VU", "VANUATU",
+"VE", "VENEZUELA",
+"VN", "VIET NAM",
+"VG", "VIRGIN ISLANDS (BRITISH)",
+"VI", "VIRGIN ISLANDS (U.S.)",
+"WF", "WALLIS AND FUTUNA ISLANDS",
+"EH", "WESTERN SAHARA",
+"YE", "YEMEN",
+"YU", "YUGOSLAVIA",
+"ZM", "ZAMBIA",
+"ZW", "ZIMBABWE",
+
+#added
+"UK", "UNITED KINGDOM",
+);
+}