YZ{|}~x      ""$$&&((**,,..00224b669;=?ACEGIJJLLNNPPRTTVVXXZZ\\^^``bddffhhjlnprtvxy{}$(*,.02468:<>@BFFHHLNNPPRRTTVVXXZZ\$^$`$$$$$$$$$rtv  !#%' ) +-./ "$&(*,.  489;j=?ACrEtGR00)"+" z !]%~  b ln  y{}7   ""$&(*.028:<>@BD$$$$JJL$$$$$$$$$$$$$$$$\$^$`bdfhjlnp$$$$vxz|~   "$&(*,!#%')+-/0  ~0b00000j000000rt0000000000tuG$*"I$," ."\%l& _%`% 6"     j " prt v 3 5 s$8 9 < y$> &,46$$DE0F0G0H0$$$L0M0O0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0 $b$d$f$h$j$l$n$pq0rt$$xz|~$$$$$$$$$3@ABCDEF  00000000000000000000000000!%0p00000000"0"#7%000=%"!"!B%0000"*#"0"    00! V%H$X%Y%![%k&"!n&o&4" c%7"e%f%+!h%  >"! 00`$% & E"d$e$H"g$h$i$L"k$0 m$2 o$4 S"t$u$; x$%z${$|$}$`"a"U!$$I0J0N0P0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0r0s0t0u0v0$$$$$$$$$$$$+,-./$$2345$789:00'&&0'GHIJ000000000%% % %%%%%%`abcdefghi%%%#"%0$%%%# #0000#001%#$"05%6% "9%:%;%" #"@%"C%" !")#H%I%J%" "@$A$ !S%'"("e&W%g&0Z%j&^%a%&!d%g%2<"j%k%l%!2"20C"b$c$'2 0f$ 0 00j$0l$0n$0p$q$6 %: w$ 0%~$$D T!d"V!W!X!Y!\!]!^!n"`!a!f!g!i!j!k!l!m!A0B0C0D0s!u!v!K0{!}!p !!!t u v w x y z { w0x0!"#$%&'()*000000100006000000000KLMNOPQR% % %"&&%%%%%%% %#%&%'% # #+%,%".%""@&2%#"8%<%>%!#A%D%"F%G%K%P%B$%"b&T%F$0f&0i&m&5"i%000#2a$q%r%(2 00}000%r$v$0S!$$e"$$$Z![!k"$$$o"$b!c!d!e!$$h!$$$$$n!"t!%w!x!z!%|!~!!%%%%"| } ~   y0z0{0|0}0~00000000!!!%!%%%%3 %%%%(%)%*%:&;&-%/%#3%4%?%E%Q%C$c&U%0b% 200&2)200$%%$%$j"$$$$$$%%$%%%%%$o!p!q!r!"""y!%%"% ! !!!!!!!%%%  $&&% '<&0%B&`&R%d&$2%2%$%%%%%%%%%!!%%%"%!% a&2%"   !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !!##%%''))++--//11335c77:<>@BDFHIKKMMOOQQSUUWWYY[[]]__aaceeggiikmoqsuwz|~%)+-/13579;=?ACGGIIMOOQQSSUUWWYY[[]$_$a$$$$$$$$$suwQSUWY[^_01345679;=?ACE G I KMNO68:<>@BDFHJLNRTVXZ\^58:<k>@BDsFuHS00)"+" z !]%~  c mo   z|~7 !!##%')+/139;=?ACE$$$$KKM$$$$$$$$$$$$$$$$]$_$acegikmoq$$$$wyR{T}VXZ\28:<>@BDF HJL02479;=?ACEGIKMO0QSUWY[_~0c00000k000000su0000000000tuG$*"I$," ."\%l& _%`% 6"     k " qs u w 3 5 s$8 9 < y$> '-57$$EE0F0G0H0$$$L0M0O0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0 $c$e$g$i$k$m$o$qq0su$$y{}$$$$$$$$$3@ABCDEF  13500000000000000000000000000!%0p00000000"0"#7%000=%"!"!B%0000"*#"0"    00! V%H$X%Y%![%k&"!n&o&4" c%7"e%f%+!h%  >"! 00`$% & E"d$e$H"g$h$i$L"k$0 m$2 o$4 S"t$u$; x$%z${$|$}$`"a"U!$$I0J0N0P0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0r0s0t0u0v0$$$$$$$$$$$$+,-./$$2345$789:00'&&0'GHIJ000000000%% % %%%%%%`abcdefghi%%%#"%0$%%%# #0000#001%#$"05%6% "9%:%;%" #"@%"C%" !")#H%I%J%" "@$A$ !S%'"("e&W%g&0Z%j&^%a%&!d%g%2<"j%k%l%!2"20C"b$c$'2 0f$ 0 00j$0l$0n$0p$q$6 %: w$ 0%~$$D T!d"V!W!X!Y!\!]!^!n"`!a!f!g!i!j!k!l!m!A0B0C0D0s!u!v!K0{!}!p !!!t u v w x y z { w0x0!"#$%&'()*000000100006000000000KLMNOPQR% % %"&&%%%%%%% %#%&%'% # #+%,%".%""@&2%#"8%<%>%!#A%D%"F%G%K%P%B$%"b&T%F$0f&0i&m&5"i%000#2a$q%r%(2 00}000%r$v$0S!$$e"$$$Z![!k"$$$o"$b!c!d!e!$$h!$$$$$n!"t!%w!x!z!%|!~!!%%%%"| } ~   y0z0{0|0}0~00000000!!!%!%%%%3 %%%%(%)%*%:&;&-%/%#3%4%?%E%Q%C$c&U%0b% 200&2)200$%%$%$j"$$$$$$%%$%%%%%$o!p!q!r!"""y!%%"% ! !!!!!!!%%%  $&&% '<&0%B&`&R%d&$2%2%$%%%%%%%%%!!%%%"%!% a&2%" ,6 )07;?CGKOSW[_cgot{nieponwtoroczwpisobniedzielaponiedziaekwtorekrodaczwartekpiteksobotastylutmarkwimajczelipsiewrzpalisgrustyczelutymarzeckwieciemajczerwieclipiecsierpiewrzesiepadzierniklistopadgrudzie%a %d %b %Y %T %Z%Y-%m-%d%TTZif΅p~~CJTJST# @(#)zone.tab 1.18 # # TZ zone descriptions # # From Paul Eggert (1996-08-05): # # This file contains a table with the following columns: # 1. ISO 3166 2-character country code. See the file `iso3166.tab'. # 2. Latitude and longitude of the zone's principal location # in ISO 6709 sign-degrees-minutes-seconds format, # either +-DDMM+-DDDMM or +-DDMMSS+-DDDMMSS, # first latitude (+ is north), then longitude (+ is east). # 3. Zone name used in value of TZ environment variable. # 4. Comments; present if and only if the country has multiple rows. # # Columns are separated by a single tab. # The table is sorted first by country, then an order within the country that # (1) makes some geographical sense, and # (2) puts the most populous zones first, where that does not contradict (1). # # Lines beginning with `#' are comments. # #country- #code coordinates TZ comments AD +4230+00131 Europe/Andorra AE +2518+05518 Asia/Dubai AF +3431+06912 Asia/Kabul AG +1703-06148 America/Antigua AI +1812-06304 America/Anguilla AL +4120+01950 Europe/Tirane AM +4011+04430 Asia/Yerevan AN +1211-06900 America/Curacao AO -0848+01314 Africa/Luanda AQ -7750+16636 Antarctica/McMurdo McMurdo Station, Ross Island AQ -9000+00000 Antarctica/South_Pole Amundsen-Scott Station, South Pole AQ -6448-06406 Antarctica/Palmer Palmer Station, Anvers Island AQ -6736+06253 Antarctica/Mawson Mawson Station, Holme Bay AQ -6835+07758 Antarctica/Davis Davis Station, Vestfold Hills AQ -6617+11031 Antarctica/Casey Casey Station, Bailey Peninsula AQ -6640+14001 Antarctica/DumontDUrville Dumont-d'Urville Base, Terre Adelie AQ -690022+0393524 Antarctica/Syowa Syowa Station, E Ongul I AR -3436-05827 America/Buenos_Aires E Argentina (BA, DF, SC, TF) AR -3257-06040 America/Rosario NE Argentina (SF, ER, CN, MN, CC, FM, LP, CH) AR -3124-06411 America/Cordoba W Argentina (CB, SA, TM, LR, SJ, SL, NQ, RN) AR -2411-06518 America/Jujuy Jujuy (JY) AR -2828-06547 America/Catamarca Catamarca (CT) AR -3253-06849 America/Mendoza Mendoza (MZ) AS -1416-17042 Pacific/Pago_Pago AT +4813+01620 Europe/Vienna AU -3133+15905 Australia/Lord_Howe Lord Howe Island AU -4253+14719 Australia/Hobart Tasmania AU -3749+14458 Australia/Melbourne Victoria AU -3352+15113 Australia/Sydney New South Wales - most locations AU -3157+14127 Australia/Broken_Hill New South Wales - Broken Hill AU -2728+15302 Australia/Brisbane Queensland - most locations AU -2016+14900 Australia/Lindeman Queensland - Holiday Islands AU -3455+13835 Australia/Adelaide South Australia AU -1228+13050 Australia/Darwin Northern Territory AU -3157+11551 Australia/Perth Western Australia AW +1230-06858 America/Aruba AZ +4023+04951 Asia/Baku BA +4352+01825 Europe/Sarajevo BB +1306-05937 America/Barbados BD +2343+09025 Asia/Dacca BE +5050+00420 Europe/Brussels BF +1222-00131 Africa/Ouagadougou BG +4241+02319 Europe/Sofia BH +2623+05035 Asia/Bahrain BI -0323+02922 Africa/Bujumbura BJ +0629+00237 Africa/Porto-Novo BM +3217-06446 Atlantic/Bermuda BN +0456+11455 Asia/Brunei BO -1630-06809 America/La_Paz BR -0351-03225 America/Noronha Fernando de Noronha BR -0127-04829 America/Belem Amapa, E Para BR -0343-03830 America/Fortaleza NE Brazil (MA, PI, CE, RN, PR, PE) BR -0712-04812 America/Araguaina Tocantins BR -0940-03543 America/Maceio Alagoas, Sergipe BR -2332-04637 America/Sao_Paulo S & SE Brazil (BA, GO, DF, MG, ES, RJ, SP, PR, SC, RS) BR -1535-05605 America/Cuiaba Mato Grosso, Mato Grosso do Sul BR -0846-06354 America/Porto_Velho W Para, Rondonia BR +0249-06040 America/Boa_Vista Roraima BR -0308-06001 America/Manaus Amazonas BR -0934-06731 America/Porto_Acre Acre BS +2505-07721 America/Nassau BT +2728+08939 Asia/Thimbu BW -2545+02555 Africa/Gaborone BY +5354+02734 Europe/Minsk BZ +1730-08812 America/Belize CA +4734-05243 America/St_Johns Newfoundland Island CA +4439-06336 America/Halifax Atlantic Time - Nova Scotia (most places), NB, W Labrador, E Quebec & PEI CA +4612-05957 America/Glace_Bay Atlantic Time - Nova Scotia - places that did not observe DST 1966-1971 CA +5320-06025 America/Goose_Bay Atlantic Time - E Labrador CA +4531-07334 America/Montreal Eastern Time - Ontario & Quebec - most locations CA +4901-08816 America/Nipigon Eastern Time - Ontario & Quebec - places that did not observe DST 1967-1973 CA +4823-08915 America/Thunder_Bay Eastern Time - Thunder Bay, Ontario CA +4953-09709 America/Winnipeg Central Time - Manitoba & west Ontario CA +4843-09429 America/Rainy_River Central Time - Rainy River & Fort Frances, Ontario CA +6608-06544 America/Pangnirtung Central Time - Pangnirtung, Nunavut CA +6344-06828 America/Iqaluit Central Time - east Nunavut CA +6245-09210 America/Rankin_Inlet Central Time - central Nunavut CA +6903-10505 America/Cambridge_Bay Central Time - west Nunavut CA +5024-10439 America/Regina Central Standard Time - Saskatchewan - most locations CA +5017-10750 America/Swift_Current Central Standard Time - Saskatchewan - midwest CA +5333-11328 America/Edmonton Mountain Time - Alberta, east British Columbia & west Saskatchewan CA +6227-11421 America/Yellowknife Mountain Time - central Northwest Territories CA +6825-11330 America/Inuvik Mountain Time - west Northwest Territories CA +5946-12014 America/Dawson_Creek Mountain Standard Time - Dawson Creek & Fort Saint John, British Columbia CA +4916-12307 America/Vancouver Pacific Time - west British Columbia CA +6043-13503 America/Whitehorse Pacific Time - south Yukon CA +6404-13925 America/Dawson Pacific Time - north Yukon CC -1210+09655 Indian/Cocos CD -0418+01518 Africa/Kinshasa west Dem. Rep. of Congo CD -1140+02728 Africa/Lubumbashi east Dem. Rep. of Congo CF +0422+01835 Africa/Bangui CG -0416+01517 Africa/Brazzaville CH +4723+00832 Europe/Zurich CI +0519-00402 Africa/Abidjan CK -2114-15946 Pacific/Rarotonga CL -3327-07040 America/Santiago mainland CL -2710-10927 Pacific/Easter Easter Island CM +0403+00942 Africa/Douala CN +4545+12641 Asia/Harbin north Manchuria CN +3114+12128 Asia/Shanghai China coast CN +2934+10635 Asia/Chungking China mountains CN +4348+08735 Asia/Urumqi Tibet & Xinjiang CN +3929+07559 Asia/Kashgar Eastern Turkestan CO +0436-07405 America/Bogota CR +0956-08405 America/Costa_Rica CU +2308-08222 America/Havana CV +1455-02331 Atlantic/Cape_Verde CX -1025+10543 Indian/Christmas CY +3510+03322 Asia/Nicosia CZ +5005+01426 Europe/Prague DE +5230+01322 Europe/Berlin DJ +1136+04309 Africa/Djibouti DK +5540+01235 Europe/Copenhagen DM +1518-06124 America/Dominica DO +1828-06954 America/Santo_Domingo DZ +3647+00303 Africa/Algiers EC -0210-07950 America/Guayaquil mainland EC -0054-08936 Pacific/Galapagos Galapagos Islands EE +5925+02445 Europe/Tallinn EG +3003+03115 Africa/Cairo EH +2709-01312 Africa/El_Aaiun ER +1520+03853 Africa/Asmera ES +4024-00341 Europe/Madrid mainland ES +3553-00519 Africa/Ceuta Ceuta & Melilla ES +2806-01524 Atlantic/Canary Canary Islands ET +0902+03842 Africa/Addis_Ababa FI +6010+02458 Europe/Helsinki FJ -1808+17825 Pacific/Fiji FK -5142-05751 Atlantic/Stanley FM +0931+13808 Pacific/Yap Yap FM +0725+15147 Pacific/Truk Truk (Chuuk) FM +0658+15813 Pacific/Ponape Ponape (Pohnpei) FM +0519+16259 Pacific/Kosrae Kosrae FO +6201-00646 Atlantic/Faeroe FR +4852+00220 Europe/Paris GA +0023+00927 Africa/Libreville GB +512830-0001845 Europe/London Great Britain GB +5435-00555 Europe/Belfast Northern Ireland GD +1203-06145 America/Grenada GE +4143+04449 Asia/Tbilisi GF +0456-05220 America/Cayenne GH +0533-00013 Africa/Accra GI +3608-00521 Europe/Gibraltar GL +7030-02215 America/Scoresbysund east Greenland GL +6411-05144 America/Godthab southwest Greenland GL +7634-06847 America/Thule northwest Greenland GM +1328-01639 Africa/Banjul GN +0931-01343 Africa/Conakry GP +1614-06132 America/Guadeloupe GQ +0345+00847 Africa/Malabo GR +3758+02343 Europe/Athens GS -5416-03632 Atlantic/South_Georgia GT +1438-09031 America/Guatemala GU +1328+14445 Pacific/Guam GW +1151-01535 Africa/Bissau GY +0648-05810 America/Guyana HK +2217+11409 Asia/Hong_Kong HN +1406-08713 America/Tegucigalpa HR +4548+01558 Europe/Zagreb HT +1832-07220 America/Port-au-Prince HU +4730+01905 Europe/Budapest ID -0610+10648 Asia/Jakarta Java & Sumatra ID -0507+11924 Asia/Ujung_Pandang Borneo & Celebes ID -0232+14042 Asia/Jayapura Irian Jaya & the Moluccas IE +5320-00615 Europe/Dublin IL +3146+03514 Asia/Jerusalem IN +2232+08822 Asia/Calcutta IO -0720+07225 Indian/Chagos IQ +3321+04425 Asia/Baghdad IR +3540+05126 Asia/Tehran IS +6409-02151 Atlantic/Reykjavik IT +4154+01229 Europe/Rome JM +1800-07648 America/Jamaica JO +3157+03556 Asia/Amman JP +353916+1394441 Asia/Tokyo KE -0117+03649 Africa/Nairobi KG +4254+07436 Asia/Bishkek KH +1133+10455 Asia/Phnom_Penh KI +0125+17300 Pacific/Tarawa Gilbert Islands KI -0308-17105 Pacific/Enderbury Phoenix Islands KI +0152-15720 Pacific/Kiritimati Line Islands KM -1141+04316 Indian/Comoro KN +1718-06243 America/St_Kitts KP +3901+12545 Asia/Pyongyang KR +3733+12658 Asia/Seoul KW +2920+04759 Asia/Kuwait KY +1918-08123 America/Cayman KZ +4315+07657 Asia/Almaty east Kazakhstan KZ +5017+05710 Asia/Aqtobe central Kazakhstan KZ +4431+05016 Asia/Aqtau west Kazakhstan LA +1758+10236 Asia/Vientiane LB +3353+03530 Asia/Beirut LC +1401-06100 America/St_Lucia LI +4709+00931 Europe/Vaduz LK +0656+07951 Asia/Colombo LR +0618-01047 Africa/Monrovia LS -2928+02730 Africa/Maseru LT +5441+02519 Europe/Vilnius LU +4936+00609 Europe/Luxembourg LV +5657+02406 Europe/Riga LY +3254+01311 Africa/Tripoli MA +3339-00735 Africa/Casablanca MC +4342+00723 Europe/Monaco MD +4700+02850 Europe/Chisinau most locations MD +4651+02938 Europe/Tiraspol Transdniestria MG -1855+04731 Indian/Antananarivo MH +0709+17112 Pacific/Majuro most locations MH +0905+16720 Pacific/Kwajalein Kwajalein MK +4159+02126 Europe/Skopje ML +1239-00800 Africa/Bamako southwest Mali ML +1446-00301 Africa/Timbuktu northeast Mali MM +1647+09610 Asia/Rangoon MN +4755+10653 Asia/Ulaanbaatar most locations MN +4801+09139 Asia/Hovd Bayan-Olgiy, Hovd, Uvs MO +2214+11335 Asia/Macao MP +1512+14545 Pacific/Saipan MQ +1436-06105 America/Martinique MR +1806-01557 Africa/Nouakchott MS +1644-06213 America/Montserrat MT +3554+01431 Europe/Malta MU -2010+05730 Indian/Mauritius MV +0410+07330 Indian/Maldives MW -1547+03500 Africa/Blantyre MX +1924-09909 America/Mexico_City Central Time - most locations MX +2105-08646 America/Cancun Central Time - Quintana Roo MX +2313-10625 America/Mazatlan Mountain Time - S Baja, Nayarit, Sinaloa MX +2838-10605 America/Chihuahua Mountain Time - Chihuahua MX +2904-11058 America/Hermosillo Mountain Standard Time - Sonora MX +3232-11701 America/Tijuana Pacific Time MY +0310+10142 Asia/Kuala_Lumpur peninsular Malaysia MY +0133+11020 Asia/Kuching Sabah & Sarawak MZ -2558+03235 Africa/Maputo NA -2234+01706 Africa/Windhoek NC -2216+16530 Pacific/Noumea NE +1331+00207 Africa/Niamey NF -2903+16758 Pacific/Norfolk NG +0627+00324 Africa/Lagos NI +1209-08617 America/Managua NL +5222+00454 Europe/Amsterdam NO +5955+01045 Europe/Oslo NP +2743+08519 Asia/Katmandu NR -0031+16655 Pacific/Nauru NU -1901+16955 Pacific/Niue NZ -3652+17446 Pacific/Auckland most locations NZ -4355-17630 Pacific/Chatham Chatham Islands OM +2336+05835 Asia/Muscat PA +0858-07932 America/Panama PE -1203-07703 America/Lima PF -1732-14934 Pacific/Tahiti Society Islands PF -0900-13930 Pacific/Marquesas Marquesas Islands PF -2308-13457 Pacific/Gambier Gambier Islands PG -0930+14710 Pacific/Port_Moresby PH +1435+12100 Asia/Manila PK +2452+06703 Asia/Karachi PL +5215+02100 Europe/Warsaw PM +4703-05620 America/Miquelon PN -2504-13005 Pacific/Pitcairn PR +182806-0660622 America/Puerto_Rico PS +3130+03428 Asia/Gaza PT +3843-00908 Europe/Lisbon mainland PT +3238-01654 Atlantic/Madeira Madeira Islands PT +3744-02540 Atlantic/Azores Azores PW +0720+13429 Pacific/Palau PY -2516-05740 America/Asuncion QA +2517+05132 Asia/Qatar RE -2052+05528 Indian/Reunion RO +4426+02606 Europe/Bucharest RU +5443+02030 Europe/Kaliningrad Moscow-01 - Kaliningrad RU +5545+03735 Europe/Moscow Moscow+00 - west Russia RU +5312+05009 Europe/Samara Moscow+01 - Caspian Sea RU +5651+06036 Asia/Yekaterinburg Moscow+02 - Urals RU +5500+07324 Asia/Omsk Moscow+03 - west Siberia RU +5502+08255 Asia/Novosibirsk Moscow+03 - Novosibirsk RU +5601+09250 Asia/Krasnoyarsk Moscow+04 - Yenisei River RU +5216+10420 Asia/Irkutsk Moscow+05 - Lake Baikal RU +6200+12940 Asia/Yakutsk Moscow+06 - Lena River RU +4310+13156 Asia/Vladivostok Moscow+07 - Amur River RU +5934+15048 Asia/Magadan Moscow+08 - Magadan & Sakhalin RU +5301+15839 Asia/Kamchatka Moscow+09 - Kamchatka RU +6445+17729 Asia/Anadyr Moscow+10 - Bering Sea RW -0157+03004 Africa/Kigali SA +2438+04643 Asia/Riyadh SB -0932+16012 Pacific/Guadalcanal SC -0440+05528 Indian/Mahe SD +1536+03232 Africa/Khartoum SE +5920+01803 Europe/Stockholm SG +0117+10351 Asia/Singapore SH -1555-00542 Atlantic/St_Helena SI +4603+01431 Europe/Ljubljana SJ +7800+01600 Arctic/Longyearbyen Svalbard SJ +7059-00805 Atlantic/Jan_Mayen Jan Mayen SK +4809+01707 Europe/Bratislava SL +0830-01315 Africa/Freetown SM +4355+01228 Europe/San_Marino SN +1440-01726 Africa/Dakar SO +0204+04522 Africa/Mogadishu SR +0550-05510 America/Paramaribo ST +0020+00644 Africa/Sao_Tome SV +1342-08912 America/El_Salvador SY +3330+03618 Asia/Damascus SZ -2618+03106 Africa/Mbabane TC +2128-07108 America/Grand_Turk TD +1207+01503 Africa/Ndjamena TF -492110+0701303 Indian/Kerguelen TG +0608+00113 Africa/Lome TH +1345+10031 Asia/Bangkok TJ +3835+06848 Asia/Dushanbe TK -0922-17114 Pacific/Fakaofo TM +3757+05823 Asia/Ashkhabad TN +3648+01011 Africa/Tunis TO -2110+17510 Pacific/Tongatapu TP -0833+12535 Asia/Dili TR +4101+02858 Europe/Istanbul TT +1039-06131 America/Port_of_Spain TV -0831+17913 Pacific/Funafuti TW +2503+12130 Asia/Taipei TZ -0648+03917 Africa/Dar_es_Salaam UA +5026+03031 Europe/Kiev most locations UA +4837+02218 Europe/Uzhgorod Ruthenia UA +4750+03510 Europe/Zaporozhye Zaporozh'ye, E Lugansk UA +4457+03406 Europe/Simferopol central Crimea UG +0019+03225 Africa/Kampala UM +1700-16830 Pacific/Johnston Johnston Atoll UM +2813-17722 Pacific/Midway Midway Islands UM +1917+16637 Pacific/Wake Wake Island US +404251-0740023 America/New_York Eastern Time US +421953-0830245 America/Detroit Eastern Time - Michigan - most locations US +381515-0854534 America/Louisville Eastern Time - Louisville, Kentucky US +394606-0860929 America/Indianapolis Eastern Standard Time - Indiana - most locations US +382232-0862041 America/Indiana/Marengo Eastern Standard Time - Indiana - Crawford County US +411745-0863730 America/Indiana/Knox Eastern Standard Time - Indiana - Starke County US +384452-0850402 America/Indiana/Vevay Eastern Standard Time - Indiana - Switzerland County US +415100-0873900 America/Chicago Central Time US +450628-0873651 America/Menominee Central Time - Michigan - Wisconsin border US +394421-1045903 America/Denver Mountain Time US +433649-1161209 America/Boise Mountain Time - south Idaho & east Oregon US +364708-1084111 America/Shiprock Mountain Time - Navajo US +332654-1120424 America/Phoenix Mountain Standard Time - Arizona US +340308-1181434 America/Los_Angeles Pacific Time US +611305-1495401 America/Anchorage Alaska Time US +581807-1342511 America/Juneau Alaska Time - Alaska panhandle US +593249-1394338 America/Yakutat Alaska Time - Alaska panhandle neck US +643004-1652423 America/Nome Alaska Time - west Alaska US +515248-1763929 America/Adak Aleutian Islands US +211825-1575130 Pacific/Honolulu Hawaii UY -3453-05611 America/Montevideo UZ +3940+06648 Asia/Samarkand west Uzbekistan UZ +4120+06918 Asia/Tashkent east Uzbekistan VA +4154+01227 Europe/Vatican VC +1309-06114 America/St_Vincent VE +1030-06656 America/Caracas VG +1827-06437 America/Tortola VI +1821-06456 America/St_Thomas VN +1045+10640 Asia/Saigon VU -1740+16825 Pacific/Efate WF -1318-17610 Pacific/Wallis WS -1350-17144 Pacific/Apia YE +1245+04512 Asia/Aden YT -1247+04514 Indian/Mayotte YU +4450+02030 Europe/Belgrade ZA -2615+02800 Africa/Johannesburg ZM -1525+02817 Africa/Lusaka ZW -1750+03103 Africa/Harare include ../Makefile.inc #PYTHONLIBDIR = $(DESTDIR)/usr/lib/python1.5/site-packages OBJECTS = rw.o dos.o sun.o bsdlabel.o TARGET = libbalkan.a all: $(TARGET) _balkanmodule.so _balkanmodule.so: _balkanmodule.o libbalkan.a gcc -shared -o $@ _balkanmodule.o libbalkan.a _balkanmodule.o: _balkanmodule.c balkan.h gcc $(CFLAGS) -I/usr/include/python1.5 -c -fPIC -o $@ $< libbalkan.a: libbalkan.a($(OBJECTS)) clean: rm -f *.o *.so $(TARGET) dos.o: dos.h sun.o: sun.h install: all mkdir -p $(DESTDIR)/$(PYTHONLIBDIR) install _balkanmodule.so $(DESTDIR)/$(PYTHONLIBDIR) /* Sun style partitioning */ #include #include #include "balkan.h" #define BSD_DISKMAGIC (0x82564557UL) /* The disk magic number */ #define BSD_MAXPARTITIONS 8 #define BSD_FS_UNUSED 0 /* disklabel unused partition entry ID */ #define BSD_LABEL_OFFSET 64 struct bsd_disklabel { unsigned int d_magic; /* the magic number */ signed short d_type; /* drive type */ signed short d_subtype; /* controller/d_type specific */ char d_typename[16]; /* type name, e.g. "eagle" */ char d_packname[16]; /* pack identifier */ unsigned int d_secsize; /* # of bytes per sector */ unsigned int d_nsectors; /* # of data sectors per track */ unsigned int d_ntracks; /* # of tracks per cylinder */ unsigned int d_ncylinders; /* # of data cylinders per unit */ unsigned int d_secpercyl; /* # of data sectors per cylinder */ unsigned int d_secperunit; /* # of data sectors per unit */ unsigned short d_sparespertrack; /* # of spare sectors per track */ unsigned short d_sparespercyl; /* # of spare sectors per cylinder */ unsigned int d_acylinders; /* # of alt. cylinders per unit */ unsigned short d_rpm; /* rotational speed */ unsigned short d_interleave; /* hardware sector interleave */ unsigned short d_trackskew; /* sector 0 skew, per track */ unsigned short d_cylskew; /* sector 0 skew, per cylinder */ unsigned int d_headswitch; /* head switch time, usec */ unsigned int d_trkseek; /* track-to-track seek, usec */ unsigned int d_flags; /* generic flags */ #define NDDATA 5 unsigned int d_drivedata[NDDATA]; /* drive-type specific information */ #define NSPARE 5 unsigned int d_spare[NSPARE]; /* reserved for future use */ unsigned int d_magic2; /* the magic number (again) */ unsigned short d_checksum; /* xor of data incl. partitions */ /* filesystem and partition information: */ unsigned short d_npartitions; /* number of partitions in following */ unsigned int d_bbsize; /* size of boot area at sn0, bytes */ unsigned int d_sbsize; /* max size of fs superblock, bytes */ struct bsd_partition { /* the partition table */ unsigned int p_size; /* number of sectors in partition */ unsigned int p_offset; /* starting sector */ unsigned int p_fsize; /* filesystem basic fragment size */ unsigned char p_fstype; /* filesystem type, see below */ unsigned char p_frag; /* filesystem fragments per block */ unsigned short p_cpg; /* filesystem cylinders per group */ } d_partitions[BSD_MAXPARTITIONS]; /* actually may be more */ }; long long llseek(int fd, long long offset, int whence); #if 0 static unsigned short xbsd_dkcksum (struct bsd_disklabel *lp) { unsigned short *start, *end; unsigned short sum = 0; lp->d_checksum = 0; start = (u_short *)lp; end = (u_short *)&lp->d_partitions[lp->d_npartitions]; while (start < end) sum ^= *start++; return (sum); } #endif int bsdlReadTable(int fd, struct partitionTable * table) { struct bsd_disklabel label; int i, rc; unsigned short *p, csum; int s; table->maxNumPartitions = 8; for (i = 0; i < table->maxNumPartitions; i++) table->parts[i].type = -1; table->sectorSize = 512; if (lseek(fd, BSD_LABEL_OFFSET, SEEK_SET) < 0) return BALKAN_ERROR_ERRNO; if (read(fd, &label, sizeof(label)) != sizeof(label)) return BALKAN_ERROR_ERRNO; if (label.d_magic != BSD_DISKMAGIC) return BALKAN_ERROR_BADMAGIC; #if 0 /* minlabel doens't write checksums :-( */ if (xbsd_dkcksum(&label)) return BALKAN_ERROR_BADMAGIC; #endif if (label.d_npartitions > 8) label.d_npartitions = 8; for (i = 0; i < label.d_npartitions; i++) { if (label.d_partitions[i].p_size && label.d_partitions[i].p_fstype) { table->parts[i].startSector = label.d_partitions[i].p_offset; table->parts[i].size = label.d_partitions[i].p_size; switch (label.d_partitions[i].p_fstype) { case 1: s = BALKAN_PART_SWAP; break; case 8: s = BALKAN_PART_EXT2; break; default: s = BALKAN_PART_OTHER; break; } table->parts[i].type = s; } } return 0; } #ifdef STANDALONE_TEST void main() { int fd; int i; struct partitionTable table; fd = open("/dev/hda", O_RDONLY); printf("rc= %d\n", bsdlReadTable(fd, &table)); for (i = 0; i < table.maxNumPartitions; i++) { if (table.parts[i].type == -1) continue; printf("%d: %x %d\n", i, table.parts[i].type, table.parts[i].size); } } #endif am na mrei, upiti za vanjske domene rade normalno. Takoer sam dobio informaciju kako bind radi interaktivno s NFS-om i portmapper-om na veinom offline stroju, od Karl-Maxa Wangera: Ja obino pokreem svoj named na svim svojim strojevima koji se tek povremeno vezuju na Internet modemom. Imenski server slui samo kao cache, nema svoju domenu i sve provjerava kod imenskih servera u root.cache datoteci. Kao to je to uobiajeno kod Slackware-a, starta se prije nfsd-a i mountd-a. Na jednom mom stroju (Libretto 30 prijenosnik) imao sam problem takav da sam ga nekad mogao mapirati s drugog stroja na lokalnom LAN-u, ali veinu vremena to nije radilo. Isto se dogaalo neovisno da li sam koristio PLIP, PCMCIA ethernet karticu ili PPP preko serijske veze. Nakon nekog vremena nagaanja i eksperimentiranja shvatio sam izgleda da je named brljao s procesom registracije nfsd-a i mountd-a koji oni moraju proi s portmapperom na dizanju sustava (startam te demone pri dizanju kao i obino). Startanje named-a nakon nfsd-a i mountd-a potpuno je uklonilo ovaj problem. Kako ne treba oekivati bilo kakve probleme pri takvoj izmijenjenoj sekvenci dizanja sustava, preporuio bih svima da to naprave na taj nain i sprijee mogui problem. 7. Gdje caching only imenski server dri svoj cache? Postoji li nain da kontroliram veliinu cachea? Kompletan se cache dri u memoriji, i nikad se ne zapisuje na disk. Svaki put kad ubije named, cache se gubi. Cache se nikako ne moe kontrolirati. named ga nadgleda prema nekim jednostavnim pravilima i to je to. Ne moe kontrolirati cache niti njegovu veliinu ni iz kojeg razloga. Ako to eli, moe to 'popraviti' hackirajui named. Ipak, ovo nije preporueno. 8. Da li named uva cache izmeu restarta? Mogu li ga natjerati da ga sauva? Ne, named ne sauva cache kada umre. To znai da se cache mora ponovo graditi svaki put kada ubije i restarta named. Nema naina da natjera named da sauva cache u datoteku. Ako to eli, moe to 'popraviti' hackirajui named. Ipak, ovo nije preporueno. 99.. KKaakkoo ppoossttaattii vveeii DDNNSS aaddmmiinn.. DDookkuummeennttaacciijjaa ii aallaattii.. Prava Dokumentacija postoji. Na mrei i tiskana. itanje nekoliko knjiga je potrebno da od malog DNS admina postane veliki admin. Od tiskanih izdanja standard je '_D_N_S _a_n_d _B_I_N_D' od C. Liu i P. Albitz, tiskao O'Reilly & Associates, Sebastopol, CA, ISBN 0-937175-82-X. Proitao sam je, odlina je. Postoji i sekcija o DNS-u u '_T_C_P_/_I_P _N_e_t_w_o_r_k _A_d_m_i_n_i_s_t_r_a_t_i_o_n', Craig Hunt, tiskao O'Reilly..., ISBN 0-937175-82-X. Jo jedan must za dobru DNS administraciju (ili bilo to dobro u tom smislu) je '_Z_e_n _a_n_d _t_h_e _A_r_t _o_f _M_o_t_o_r_c_y_c_l_e _M_a_i_n_t_e_n_a_n_c_e', Robert M. Prising :-), ISBN 0688052304, i drugi. Na mrei e nai stvari na , ; _F_A_Q, referentne upute (_B_O_G; _B_i_n_d _O_p_e_r_a_t_i_o_n_s _G_u_i_d_e) kao i papiri i definicije protokola i DNS hackovi (ovi, i veina, ako ne i svi, od RFC-ova navedenih dolje, su distribuirani sa samim bindom). Nisam proitao veinu ovih, pa ni ja nisam veliki DNS admin. Arnt Gulbrandsen je proitao _B_O_G i on je u ekstazi zbog toga :-). USENET grupa comp.protocols.tcp-ip.domains je o DNS-u. U dodatku, postoji i veliki broj RFC-ova o DNSu, a najvaniji su navjerojatnije ovi: RRFFCC 22005522 A. Gulbrandsen, P. Vixie, _A _D_N_S _R_R _f_o_r _s_p_e_c_i_f_y_i_n_g _t_h_e _l_o_c_a_t_i_o_n _o_f _s_e_r_v_i_c_e_s _(_D_N_S _S_R_V_), October 1996 RRFFCC 11991188 Y. Rekhter, R. Moskowitz, D. Karrenberg, G. de Groot, E. Lear, _A_d_d_r_e_s_s _A_l_l_o_c_a_t_i_o_n _f_o_r _P_r_i_v_a_t_e _I_n_t_e_r_n_e_t_s, 02/29/1996. RRFFCC 11991122 D. Barr, _C_o_m_m_o_n _D_N_S _O_p_e_r_a_t_i_o_n_a_l _a_n_d _C_o_n_f_i_g_u_r_a_t_i_o_n _E_r_r_o_r_s, 02/28/1996. RRFFCC 11991122 EErrrroorrss B. Barr _E_r_r_o_r_s _i_n _R_F_C _1_9_1_2, ovo je dostupno na RRFFCC 11771133 A. Romao, _T_o_o_l_s _f_o_r _D_N_S _d_e_b_u_g_g_i_n_g, 11/03/1994. RRFFCC 11771122 C. Farrell, M. Schulze, S. Pleitner, D. Baldoni, _D_N_S _E_n_c_o_d_i_n_g _o_f _G_e_o_g_r_a_p_h_i_c_a_l _L_o_c_a_t_i_o_n, 11/01/1994. RRFFCC 11118833 R. Ullmann, P. Mockapetris, L. Mamakos, C. Everhart, _N_e_w _D_N_S _R_R _D_e_f_i_n_i_t_i_o_n_s, 10/08/1990. RRFFCC 11003355 P. Mockapetris, _D_o_m_a_i_n _n_a_m_e_s _- _i_m_p_l_e_m_e_n_t_a_t_i_o_n _a_n_d _s_p_e_c_i_f_i_c_a_t_i_o_n, 11/01/1987. RRFFCC 11003344 P. Mockapetris, _D_o_m_a_i_n _n_a_m_e_s _- _c_o_n_c_e_p_t_s _a_n_d _f_a_c_i_l_i_t_i_e_s, 11/01/1987. RRFFCC 11003333 M. Lottor, _D_o_m_a_i_n _a_d_m_i_n_i_s_t_r_a_t_o_r_s _o_p_e_r_a_t_i_o_n_s _g_u_i_d_e, 11/01/1987. RRFFCC 11003322 M. Stahl, _D_o_m_a_i_n _a_d_m_i_n_i_s_t_r_a_t_o_r_s _g_u_i_d_e, 11/01/1987. RRFFCC 997744 C. Partridge, _M_a_i_l _r_o_u_t_i_n_g _a_n_d _t_h_e _d_o_m_a_i_n _s_y_s_t_e_m, 01/01/1986.